+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.
gcc_assert (cpu || arch);
if (!fpu)
- fpu = FPUTYPE_DEFAULT;
+ fpu = FPUTYPE_AUTO;
if (!abi)
{
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;
(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
#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
} \
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) \
(void) sysarch (0, &s); \
} \
while (0)
-
-#undef FPUTYPE_DEFAULT
-#define FPUTYPE_DEFAULT "vfp"
-
/* There is no default multilib. */
#undef MULTILIB_DEFAULTS
-#define FPUTYPE_DEFAULT "vfp"
-
#undef FUNCTION_PROFILER
#define FUNCTION_PROFILER VXWORKS_FUNCTION_PROFILER