This patch moves the vendor and CPU id data from driver-arm.c to the main table of CPU data in arm-cpus.in. It then adds rules to parsecpu.awk to build data tables that can be used by the driver for automatic CPU detection when running natively. This is the last major bit of CPU-specific data that can be usefully moved to the CPU data tables (I don't think it is sensible to move the per-cpu tuning data from its current location).
The syntax and parser can support revision ranges, but at present nothing is done with that data: no supported cpu currently needs that capability.
- config/arm/driver-arm.c: Include arm-native.h. (host_detect_local_cpu): Use auto-generated data tables. (vendors, arm_cpu_table): Delete. Move part information to ...
- config/arm/arm-cpus.in: ... here.
- config/arm/parsecpu.awk (gen_native): New function. (vendor, part): New CPU fields. (END): Add support for building the native CPU detection tables.
- config/arm/t-arm (arm-native.h): Add build rule. (driver-arm.o): Add dependency on arm-native.h.
d83eca59fee arm - Add vendor and CPU id information to arm-cpus.in
gcc/ChangeLog | 12 ++++++++
gcc/config/arm/arm-cpus.in | 72 +++++++++++++++++++++++++++++++++++++++++++++
gcc/config/arm/driver-arm.c | 57 +++++++----------------------------
gcc/config/arm/parsecpu.awk | 48 ++++++++++++++++++++++++++++++
gcc/config/arm/t-arm | 10 +++++++
5 files changed, 152 insertions(+), 47 deletions(-)