[arm] Add default FPUs for CPUs.
authorRichard Earnshaw <rearnsha@arm.com>
Fri, 16 Jun 2017 21:02:52 +0000 (21:02 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Fri, 16 Jun 2017 21:02:52 +0000 (21:02 +0000)
commite87afe54b86c478ae63569e51e7abb67d3fe3fce
tree4c4b81420d6d8756c835184d9989e81eedca1814
parent76d7d5334991a5646026e5aa8c3e7d23629f383a
[arm] Add default FPUs for CPUs.

This patch adds the default CPUs for each cpu and provides options for
changing the FPU variant when appropriate.

It turns out to be easier to describe removal options using general
mask operations that disable a concept rather than specific bits.
Sometimes the helper definitions for enabling a feature are not excat
duals when it comes to disabling them - for example, +simd forcibly
turns on double-precision capabilities in the FPU, but disabling just
simd (+nosimd) should not forcibly disable that.

* config/arm/arm-isa.h (ISA_ALL_FPU_INTERNAL): Renamed from ISA_ALL_FPU.
(ISA_ALL_CRYPTO): New macro.
(ISA_ALL_SIMD): New macro
(ISA_ALL_FP): New macro.
* config/arm/arm.c (fpu_bitlist): Update initializer.
* config/arm/arm-cpus.in: Use new ISA_ALL macros to disable crypto,
simd or fp.
(arm9e): Add fpu.  Add option for nofp
(arm946e-s, arm966e-s, arm968e-s, arm10e, arm1020e, arm1022e): Likewise.
(arm926ej-s, arm1026ej-s): Likewise.
(generic-armv7-a): Add fpu.  Add options for simd, vfpv3, vfpv3-d16,
vfpv3-fp16, vfpv3-d16-fp16, vfpv4, vfpv4-d16, neon, neon-vfp3,
neon-fp16, neon-vfpv4, nofp and nosimd.
(cortex-a5, cortex-a7): Add fpu.  Add options for nosimd and nofp.
(cortex-a8): Add fpu.  Add option for nofp.
(cortex-a9): Add fpu.  Add options for nosimd and nofp.
(cortex-a12, cortex-a15, cortex-a17): Add fpu.  Add option for nofp.
(cortex-r4f): Add fpu.
(cortex-r5): Add fpu.  Add options for nofp.dp and nofp.
(cortex-r7): Use idiv option from architecture.  Add fpu.  Add option
for nofp.
(cortex-r8): Likewise.
(cortex-m4): Add fpu.  Add option for nofp.
(cortex-a15.cortex-a7): Add fpu.  Add option for nofp.
(cortex-a17.cortex-a7): Likewise.
(cortex-a32): Add fpu.  Add options for crypto and nofp.
(cortex-a35, cortex-a53): Likewise.
(cortex-a57): Add fpu.  Add option for crypto.
(cortex-a72, cortex-a73): Likewise.
(exynos-m1): Likewise.
(cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
(cortex-a73.cortex-a35, cortex-a73.cortex-a53): Likewise.
(cortex-m33): Add fpu.  Add option for nofp.
* config/arm/arm-cpu-cdata.h: Regenerated
* config/arm/arm-cpu-data.h: Regenerated.

From-SVN: r249284
gcc/ChangeLog
gcc/config/arm/arm-cpu-cdata.h
gcc/config/arm/arm-cpu-data.h
gcc/config/arm/arm-cpus.in
gcc/config/arm/arm-isa.h
gcc/config/arm/arm.c