diff options
author | Paul Brook <paul@codesourcery.com> | 2004-08-24 11:32:53 +0000 |
---|---|---|
committer | Paul Brook <pbrook@gcc.gnu.org> | 2004-08-24 11:32:53 +0000 |
commit | 72cdc5438dbf7b9531d3b9e5a34714b9c7a20806 (patch) | |
tree | c0158d84f70cdd0db06551148631c601289cf678 | |
parent | bd5ca07e605ff75b70c86d1d1fbca0b2516553e8 (diff) | |
download | gcc-72cdc5438dbf7b9531d3b9e5a34714b9c7a20806.zip gcc-72cdc5438dbf7b9531d3b9e5a34714b9c7a20806.tar.gz gcc-72cdc5438dbf7b9531d3b9e5a34714b9c7a20806.tar.bz2 |
arm.c (arm_override_options): Update error message.
* 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.
From-SVN: r86479
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.h | 14 |
3 files changed, 19 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e6ec760..f6bb1b9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2004-08-24 Paul Brook <paul@codesourcery.com> + + * 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 <inaoka.kazuhiro@renesas.com> PR target/17093 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 63dc849..f2f167c 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 dea88f1..0ba70f9 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 |