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.
---
 gcc/common/config/arm/arm-common.c | 2 +-
 gcc/config/arm/arm.c               | 9 +--------
 gcc/config/arm/arm.h               | 3 +++
 gcc/config/arm/bpabi.h             | 4 ----
 gcc/config/arm/linux-elf.h         | 3 ---
 gcc/config/arm/netbsd-elf.h        | 4 ----
 gcc/config/arm/vxworks.h           | 2 --
 7 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/gcc/common/config/arm/arm-common.c b/gcc/common/config/arm/arm-common.c
index c4ab482..2188b77 100644
--- a/gcc/common/config/arm/arm-common.c
+++ b/gcc/common/config/arm/arm-common.c
@@ -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)
     {
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 97d2fbd..af02800 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -3316,17 +3316,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;
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 570bcd7..9153d44 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -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
diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h
index 56a4a47..64db83c 100644
--- a/gcc/config/arm/bpabi.h
+++ b/gcc/config/arm/bpabi.h
@@ -33,10 +33,6 @@
 #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
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index 3d62367..cd4fc3b 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -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)  			\
diff --git a/gcc/config/arm/netbsd-elf.h b/gcc/config/arm/netbsd-elf.h
index 8811af7..02ff316 100644
--- a/gcc/config/arm/netbsd-elf.h
+++ b/gcc/config/arm/netbsd-elf.h
@@ -153,7 +153,3 @@ do									\
     (void) sysarch (0, &s);						\
   }									\
 while (0)
-
-#undef FPUTYPE_DEFAULT
-#define FPUTYPE_DEFAULT "vfp"
-
diff --git a/gcc/config/arm/vxworks.h b/gcc/config/arm/vxworks.h
index 107863b..9af37c7 100644
--- a/gcc/config/arm/vxworks.h
+++ b/gcc/config/arm/vxworks.h
@@ -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
 

Reply via email to