[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 1330539b1fd9b8092b0a256c1a025d05b71d9fa5..d543614f9d6e081235c05c884cc6fb1cba0aa884 100644 (file)
@@ -1,3 +1,15 @@
+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.
index 30cb61e51ee69adde42329019bd696c50ec72a39..86170e154085629c1b441d89df671436388c0628 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 385792ddc4db9689d375d9a24f53f915ec6d8c7f..f3b2715185ba42aeac3ee0489a9c6670fda6e5f1 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 92361fc9c30ed358a03fb42c332bd8293431aae1..43d44778bdc4bfc82aad3bdd92ea5e22bc6f45d5 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 f9f9a9248d430b724b57a9e1465be48a177e64a3..d38863a3cd3edd71ef706dd1c48e99e0ff7c9acb 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 3d62367ae6885d210cfac0fb394038b430f6ba45..cd4fc3b347b94ceaf412ffad54c8aeae8bbee2b0 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 8811af7ecca783baf76a51cc4e0d213b788a2946..02ff3163c6cb181f44d20cf533b06d98a02a5159 100644 (file)
@@ -153,7 +153,3 @@ do                                                                  \
     (void) sysarch (0, &s);                                            \
   }                                                                    \
 while (0)
-
-#undef FPUTYPE_DEFAULT
-#define FPUTYPE_DEFAULT "vfp"
-
index 107863bc9a227d0e8678760e7f649af2aca48080..9af37c7f4f5747d1cd064103a4c3f91b31984c48 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