From eb03dcf830611db67f096be197f8b8e01c921cf2 Mon Sep 17 00:00:00 2001 From: pbrook Date: Tue, 24 Aug 2004 11:32:53 +0000 Subject: [PATCH] * config/arm/arm.c (arm_override_options): Update error message. * config/arm/arm.h (TARGET_HARD_FLOAT): Rename to TARGET_HARD_FLOAT_ABI. (TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT. (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86479 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 8 ++++++++ gcc/config/arm/arm.c | 5 +++-- gcc/config/arm/arm.h | 14 ++++++++------ 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e6ec76029f6..f6bb1b91c04 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2004-08-24 Paul Brook + + * config/arm/arm.c (arm_override_options): Update error message. + * config/arm/arm.h (TARGET_HARD_FLOAT): Rename to + TARGET_HARD_FLOAT_ABI. + (TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT. + (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI. + 2004-08-24 Kazuhiro Inaoka PR target/17093 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 63dc8499d10..f2f167c5501 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -1071,8 +1071,9 @@ arm_override_options (void) arm_float_abi = ARM_FLOAT_ABI_HARD; } - if (arm_float_abi == ARM_FLOAT_ABI_SOFTFP) - sorry ("-mfloat-abi=softfp"); + if (arm_float_abi == ARM_FLOAT_ABI_HARD && TARGET_VFP) + sorry ("-mfloat-abi=hard and VFP"); + /* If soft-float is specified then don't use FPU. */ if (TARGET_SOFT_FLOAT) arm_fpu_arch = FPUTYPE_NONE; diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index dea88f1ee8c..0ba70f9b923 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -268,8 +268,10 @@ extern GTY(()) rtx aof_pic_label; #define TARGET_APCS_FLOAT (target_flags & ARM_FLAG_APCS_FLOAT) #define TARGET_APCS_REENT (target_flags & ARM_FLAG_APCS_REENT) #define TARGET_SOFT_FLOAT (arm_float_abi == ARM_FLOAT_ABI_SOFT) -#define TARGET_SOFT_FLOAT_ABI (arm_float_abi != ARM_FLOAT_ABI_HARD) -#define TARGET_HARD_FLOAT (arm_float_abi == ARM_FLOAT_ABI_HARD) +/* Use hardware floating point instructions. */ +#define TARGET_HARD_FLOAT (arm_float_abi != ARM_FLOAT_ABI_SOFT) +/* Use hardware floating point calling convention. */ +#define TARGET_HARD_FLOAT_ABI (arm_float_abi == ARM_FLOAT_ABI_HARD) #define TARGET_FPA (arm_fp_model == ARM_FP_MODEL_FPA) #define TARGET_MAVERICK (arm_fp_model == ARM_FP_MODEL_MAVERICK) #define TARGET_VFP (arm_fp_model == ARM_FP_MODEL_VFP) @@ -1549,10 +1551,10 @@ enum reg_class /* Define how to find the value returned by a library function assuming the value has mode MODE. */ #define LIBCALL_VALUE(MODE) \ - (TARGET_ARM && TARGET_HARD_FLOAT && TARGET_FPA \ + (TARGET_ARM && TARGET_HARD_FLOAT_ABI && TARGET_FPA \ && GET_MODE_CLASS (MODE) == MODE_FLOAT \ ? gen_rtx_REG (MODE, FIRST_FPA_REGNUM) \ - : TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK \ + : TARGET_ARM && TARGET_HARD_FLOAT_ABI && TARGET_MAVERICK \ && GET_MODE_CLASS (MODE) == MODE_FLOAT \ ? gen_rtx_REG (MODE, FIRST_CIRRUS_FP_REGNUM) \ : TARGET_IWMMXT_ABI && arm_vector_mode_supported_p (MODE) \ @@ -1572,10 +1574,10 @@ enum reg_class #define FUNCTION_VALUE_REGNO_P(REGNO) \ ((REGNO) == ARG_REGISTER (1) \ || (TARGET_ARM && ((REGNO) == FIRST_CIRRUS_FP_REGNUM) \ - && TARGET_HARD_FLOAT && TARGET_MAVERICK) \ + && TARGET_HARD_FLOAT_ABI && TARGET_MAVERICK) \ || ((REGNO) == FIRST_IWMMXT_REGNUM && TARGET_IWMMXT_ABI) \ || (TARGET_ARM && ((REGNO) == FIRST_FPA_REGNUM) \ - && TARGET_HARD_FLOAT && TARGET_FPA)) + && TARGET_HARD_FLOAT_ABI && TARGET_FPA)) /* How large values are returned */ /* A C expression which can inhibit the returning of certain function values -- 2.11.0