[arm] Permit 'auto' in -mfpu
authorRichard Earnshaw <rearnsha@arm.com>
Thu, 15 Dec 2016 16:04:08 +0000 (16:04 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Thu, 15 Dec 2016 16:04:08 +0000 (16:04 +0000)
commit844af7671ff4805bcbaf42f8b123b6cde2a12cf8
tree161573743b6ded9cdf3c3fa6e9d9923e713821c9
parent7eca7f0b4450e8f57d02bc35137c071e22bea7af
[arm] Permit 'auto' in -mfpu

Now we finally have the infrastructure in place we can now derive
details of the FPU from a CPU entry.  This patch enables this for the
existing cores that already have an explicit FPU in their product names.

* arm-fpus.def: Add CNAME field to all FPU definitions.
* genopt.sh: Use explicit enumeration tags for FPU entries.
* arm-tables.opt: Regenerated.
* arm.opt (mfpu): Provide initial value.
* arm-opts.h (enum fpu_type): Build the enumeration from the list of
available FPUs.  Add 'auto' entry on the end.
* arm.c (arm_configure_build_target): Only do explicit configuration
of the FPU features if the selected FPU is not 'auto'.
(arm_option_override): Adjust initialization of arm_fpu_index.
Emit an error if we have a hard float ABI request, but the processor
does not support floating-point.
(arm_option_print): Handle -mfpu=auto.
(arm_valid_target_attribute_rec): Don't permit fpu=auto in pragmas
or function attributes.
(arm_identify_fpu_from_isa): Handle effective soft-float when
the FPU is automatically detected.
* arm-cores.def (arm1136jf-s): Add feature ISA_FP_DBL.
(arm1176jzf-s): Likewise.
(mpcore): Likewise.
(arm1156t2f-s): Likewise.

From-SVN: r243716
gcc/ChangeLog
gcc/config/arm/arm-cores.def
gcc/config/arm/arm-fpus.def
gcc/config/arm/arm-opts.h
gcc/config/arm/arm-tables.opt
gcc/config/arm/arm.c
gcc/config/arm/arm.opt
gcc/config/arm/genopt.sh