arm.c (arm_override_options): Update error message.
authorPaul Brook <paul@codesourcery.com>
Tue, 24 Aug 2004 11:32:53 +0000 (11:32 +0000)
committerPaul Brook <pbrook@gcc.gnu.org>
Tue, 24 Aug 2004 11:32:53 +0000 (11:32 +0000)
* 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

gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm.h

index e6ec76029f620afb3cef4a73017ed8f91db90147..f6bb1b91c042d091d4e65a541a928998f3f5ddc1 100644 (file)
@@ -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
index 63dc8499d10bc6b179e062f1cd19c1f4370cddce..f2f167c55014c72b2d39f13f1b8f6a67cd726d3a 100644 (file)
@@ -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;
index dea88f1ee8c513ebbfb994550c8b891f70a9900d..0ba70f9b9234af9c48a5fc759ac64c67104dbf78 100644 (file)
@@ -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