[arm] Make 'auto' the default FPU selection option.
authorRichard Earnshaw <rearnsha@arm.com>
Fri, 16 Jun 2017 21:04:23 +0000 (21:04 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Fri, 16 Jun 2017 21:04:23 +0000 (21:04 +0000)
Finally, we can make 'auto' the default choice for the FPU option.  It's
still possible to override this during configure, but we will eventually
deprecate that, moving to the new cpu/architecture selection mechanism.

* config/arm/arm.h (FPUTYPE_AUTO): Define.
* config/arm/arm.c (arm_option_override): Use FPUTYPE_AUTO if the
fpu is not specified by the user/command-line.
* config/arm/bpabi.h (FPUTYPE_DEFAULT): Delete.
* config/arm/netbsd-elf.h (FPUTYPE_DEFAULT): Delete.
* config/arm/linux-elf.h (FPUTYPE_DEFAULT): Delete.
* config/arm/vxworks.h (FPUTYPE_DEFAULT): Delete.
* common/config/arm/arm-common.c (arm_canon_arch_option): Use
FPUTYPE_AUTO insted of FPUTYPE_DEFAULT.

From-SVN: r249295

gcc/ChangeLog
gcc/common/config/arm/arm-common.c
gcc/config/arm/arm.c
gcc/config/arm/arm.h
gcc/config/arm/bpabi.h
gcc/config/arm/linux-elf.h
gcc/config/arm/netbsd-elf.h
gcc/config/arm/vxworks.h

index 1330539..d543614 100644 (file)
@@ -1,5 +1,17 @@
 2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
 
+       * config/arm/arm.h (FPUTYPE_AUTO): Define.
+       * config/arm/arm.c (arm_option_override): Use FPUTYPE_AUTO if the
+       fpu is not specified by the user/command-line.
+       * config/arm/bpabi.h (FPUTYPE_DEFAULT): Delete.
+       * config/arm/netbsd-elf.h (FPUTYPE_DEFAULT): Delete.
+       * config/arm/linux-elf.h (FPUTYPE_DEFAULT): Delete.
+       * config/arm/vxworks.h (FPUTYPE_DEFAULT): Delete.
+       * common/config/arm/arm-common.c (arm_canon_arch_option): Use
+       FPUTYPE_AUTO insted of FPUTYPE_DEFAULT.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
        * config/arm/elf.h (MULTILIB_DEFAULTS): Delete.
        * config/arm/t-arm-elf: Rewritten.
 
index 30cb61e..86170e1 100644 (file)
@@ -520,7 +520,7 @@ arm_canon_arch_option (int argc, const char **argv)
   gcc_assert (cpu || arch);
 
   if (!fpu)
-    fpu = FPUTYPE_DEFAULT;
+    fpu = FPUTYPE_AUTO;
 
   if (!abi)
     {
index 385792d..f3b2715 100644 (file)
@@ -3298,17 +3298,10 @@ arm_option_override (void)
 
   if (!global_options_set.x_arm_fpu_index)
     {
-      const char *target_fpu_name;
       bool ok;
       int fpu_index;
 
-#ifdef FPUTYPE_DEFAULT
-      target_fpu_name = FPUTYPE_DEFAULT;
-#else
-      target_fpu_name = "vfp";
-#endif
-
-      ok = opt_enum_arg_to_value (OPT_mfpu_, target_fpu_name, &fpu_index,
+      ok = opt_enum_arg_to_value (OPT_mfpu_, FPUTYPE_AUTO, &fpu_index,
                                  CL_TARGET);
       gcc_assert (ok);
       arm_fpu_index = (enum fpu_type) fpu_index;
index 92361fc..43d4477 100644 (file)
@@ -2220,6 +2220,9 @@ extern int making_const_table;
   (TARGET_NEON ? (TARGET_ARM_FP & (0xff ^ 0x08)) \
               : 0)
 
+/* Name of the automatic fpu-selection option.  */
+#define FPUTYPE_AUTO "auto"
+
 /* The maximum number of parallel loads or stores we support in an ldm/stm
    instruction.  */
 #define MAX_LDM_STM_OPS 4
index f9f9a92..d38863a 100644 (file)
 #undef ARM_UNWIND_INFO
 #define ARM_UNWIND_INFO 1
 
-/* Section 4.1 of the AAPCS requires the use of VFP format.  */
-#undef  FPUTYPE_DEFAULT
-#define FPUTYPE_DEFAULT "vfp"
-
 /* TARGET_BIG_ENDIAN_DEFAULT is set in
    config.gcc for big endian configurations.  */
 #if TARGET_BIG_ENDIAN_DEFAULT
index 3d62367..cd4fc3b 100644 (file)
@@ -83,9 +83,6 @@
     }                                          \
   while (0)
 
-#undef  FPUTYPE_DEFAULT
-#define FPUTYPE_DEFAULT "vfp"
-
 /* Call the function profiler with a given profile label.  */
 #undef  ARM_FUNCTION_PROFILER
 #define ARM_FUNCTION_PROFILER(STREAM, LABELNO)                         \
index 8811af7..02ff316 100644 (file)
@@ -153,7 +153,3 @@ do                                                                  \
     (void) sysarch (0, &s);                                            \
   }                                                                    \
 while (0)
-
-#undef FPUTYPE_DEFAULT
-#define FPUTYPE_DEFAULT "vfp"
-
index 107863b..9af37c7 100644 (file)
@@ -92,8 +92,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 /* There is no default multilib.  */
 #undef MULTILIB_DEFAULTS
 
-#define FPUTYPE_DEFAULT "vfp"
-
 #undef FUNCTION_PROFILER
 #define FUNCTION_PROFILER VXWORKS_FUNCTION_PROFILER