aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2017-06-16 21:04:23 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2017-06-16 21:04:23 +0000
commit11389610242c157e43dd5c1f469970e514efe60a (patch)
treee75c28c061a8ae841a2cc08a8a8805e88668ba99 /gcc
parentaaf8008ce7e980b8f04d6dfaaa2c5ec7f4da1c67 (diff)
downloadgcc-11389610242c157e43dd5c1f469970e514efe60a.zip
gcc-11389610242c157e43dd5c1f469970e514efe60a.tar.gz
gcc-11389610242c157e43dd5c1f469970e514efe60a.tar.bz2
[arm] Make 'auto' the default FPU selection option.
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/common/config/arm/arm-common.c2
-rw-r--r--gcc/config/arm/arm.c9
-rw-r--r--gcc/config/arm/arm.h3
-rw-r--r--gcc/config/arm/bpabi.h4
-rw-r--r--gcc/config/arm/linux-elf.h3
-rw-r--r--gcc/config/arm/netbsd-elf.h4
-rw-r--r--gcc/config/arm/vxworks.h2
8 files changed, 17 insertions, 22 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1330539..d543614 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/common/config/arm/arm-common.c b/gcc/common/config/arm/arm-common.c
index 30cb61e..86170e1 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 385792d..f3b2715 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -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;
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 92361fc..43d4477 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 f9f9a92..d38863a 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