This series of patches redefines the way how we handle the options within the ARC backend. Firstly, a number of options got deprecated as they were directed to control the assembler behavior, assembler which got overhaul and ignores the options in question. Secondly, we remove the capitalized cpu names accepted by mcpu option. Finally, we introduced new cpu options, based on the Synopsys predefined CPU templates to make easier the translation from hardware CPU template to gcc options. Those new cpu options are handled by a number of scripts which seamlessly generates gcc options, multilib variants, and checking the allowed hardware extensions against gcc command line options.
Please find two patches, one which is refurbishing the ARC options, and the second one which updates the ARC specific tests. Claudiu Zissulescu (2): New option handling, refurbish multilib support. Update target specific tests. gcc/common/config/arc/arc-common.c | 162 ++++++++++++------ gcc/config.gcc | 47 +++--- gcc/config/arc/arc-arch.h | 120 +++++++++++++ gcc/config/arc/arc-arches.def | 35 ++++ gcc/config/arc/arc-c.def | 4 + gcc/config/arc/arc-cpus.def | 47 ++++++ gcc/config/arc/arc-options.def | 69 ++++++++ gcc/config/arc/arc-opts.h | 47 +++++- gcc/config/arc/arc-protos.h | 1 - gcc/config/arc/arc-tables.opt | 90 ++++++++++ gcc/config/arc/arc.c | 186 +++++++++++---------- gcc/config/arc/arc.h | 91 +++++----- gcc/config/arc/arc.md | 5 - gcc/config/arc/arc.opt | 109 ++++-------- gcc/config/arc/driver-arc.c | 80 +++++++++ gcc/config/arc/genmultilib.awk | 204 +++++++++++++++++++++++ gcc/config/arc/genoptions.awk | 86 ++++++++++ gcc/config/arc/t-arc | 19 +++ gcc/config/arc/t-arc-newlib | 46 ----- gcc/config/arc/t-arc-uClibc | 20 --- gcc/config/arc/t-multilib | 51 ++++++ gcc/config/arc/t-uClibc | 20 +++ gcc/doc/invoke.texi | 86 ++++++++-- gcc/testsuite/gcc.target/arc/abitest.S | 31 ++++ gcc/testsuite/gcc.target/arc/arc.exp | 66 +++++++- gcc/testsuite/gcc.target/arc/barrel-shifter-1.c | 2 +- gcc/testsuite/gcc.target/arc/builtin_simd.c | 1 + gcc/testsuite/gcc.target/arc/builtin_simdarc.c | 1 + gcc/testsuite/gcc.target/arc/cmem-1.c | 1 + gcc/testsuite/gcc.target/arc/cmem-2.c | 1 + gcc/testsuite/gcc.target/arc/cmem-3.c | 1 + gcc/testsuite/gcc.target/arc/cmem-4.c | 1 + gcc/testsuite/gcc.target/arc/cmem-5.c | 1 + gcc/testsuite/gcc.target/arc/cmem-6.c | 1 + gcc/testsuite/gcc.target/arc/cmem-7.c | 1 + gcc/testsuite/gcc.target/arc/extzv-1.c | 1 + gcc/testsuite/gcc.target/arc/insv-1.c | 1 + gcc/testsuite/gcc.target/arc/insv-2.c | 1 + gcc/testsuite/gcc.target/arc/interrupt-1.c | 7 +- gcc/testsuite/gcc.target/arc/interrupt-2.c | 1 + gcc/testsuite/gcc.target/arc/interrupt-3.c | 2 +- gcc/testsuite/gcc.target/arc/jump-around-jump.c | 2 +- gcc/testsuite/gcc.target/arc/mA6.c | 1 + gcc/testsuite/gcc.target/arc/mA7.c | 1 + gcc/testsuite/gcc.target/arc/mARC600.c | 1 + gcc/testsuite/gcc.target/arc/mARC601.c | 3 +- gcc/testsuite/gcc.target/arc/mARC700.c | 1 + gcc/testsuite/gcc.target/arc/mcpu-arc600.c | 3 +- gcc/testsuite/gcc.target/arc/mcpu-arc601.c | 5 +- gcc/testsuite/gcc.target/arc/mcpu-arc700.c | 3 +- gcc/testsuite/gcc.target/arc/mcrc.c | 8 - gcc/testsuite/gcc.target/arc/mdpfp.c | 1 + gcc/testsuite/gcc.target/arc/mdsp-packa.c | 9 - gcc/testsuite/gcc.target/arc/mdvbf.c | 9 - gcc/testsuite/gcc.target/arc/mmac-24.c | 8 - gcc/testsuite/gcc.target/arc/mmac-d16.c | 9 - gcc/testsuite/gcc.target/arc/mno-crc.c | 11 -- gcc/testsuite/gcc.target/arc/mno-dsp-packa.c | 11 -- gcc/testsuite/gcc.target/arc/mno-dvbf.c | 11 -- gcc/testsuite/gcc.target/arc/mno-mac-24.c | 11 -- gcc/testsuite/gcc.target/arc/mno-mac-d16.c | 11 -- gcc/testsuite/gcc.target/arc/mno-rtsc.c | 11 -- gcc/testsuite/gcc.target/arc/mno-xy.c | 10 -- gcc/testsuite/gcc.target/arc/movb-1.c | 1 + gcc/testsuite/gcc.target/arc/movb-2.c | 1 + gcc/testsuite/gcc.target/arc/movb-3.c | 1 + gcc/testsuite/gcc.target/arc/movb-4.c | 1 + gcc/testsuite/gcc.target/arc/movb-5.c | 1 + gcc/testsuite/gcc.target/arc/movb_cl-1.c | 1 + gcc/testsuite/gcc.target/arc/movb_cl-2.c | 1 + gcc/testsuite/gcc.target/arc/movbi_cl-1.c | 1 + gcc/testsuite/gcc.target/arc/movh_cl-1.c | 1 + gcc/testsuite/gcc.target/arc/movl-1.c | 1 + gcc/testsuite/gcc.target/arc/mrtsc.c | 8 - gcc/testsuite/gcc.target/arc/mspfp.c | 1 + gcc/testsuite/gcc.target/arc/mul64.c | 3 +- gcc/testsuite/gcc.target/arc/mulsi3_highpart-1.c | 5 +- gcc/testsuite/gcc.target/arc/mulsi3_highpart-2.c | 4 +- gcc/testsuite/gcc.target/arc/no-dpfp-lrsr.c | 1 + gcc/testsuite/gcc.target/arc/nps400-1.c | 1 + gcc/testsuite/gcc.target/arc/trsub.c | 1 + gcc/testsuite/gcc.target/arc/va_args-1.c | 16 ++ gcc/testsuite/gcc.target/arc/va_args-2.c | 14 ++ gcc/testsuite/gcc.target/arc/va_args-3.c | 15 ++ 84 files changed, 1447 insertions(+), 518 deletions(-) create mode 100644 gcc/config/arc/arc-arch.h create mode 100644 gcc/config/arc/arc-arches.def create mode 100644 gcc/config/arc/arc-cpus.def create mode 100644 gcc/config/arc/arc-options.def create mode 100644 gcc/config/arc/arc-tables.opt create mode 100644 gcc/config/arc/driver-arc.c create mode 100644 gcc/config/arc/genmultilib.awk create mode 100644 gcc/config/arc/genoptions.awk delete mode 100644 gcc/config/arc/t-arc-newlib delete mode 100644 gcc/config/arc/t-arc-uClibc create mode 100644 gcc/config/arc/t-multilib create mode 100644 gcc/config/arc/t-uClibc create mode 100644 gcc/testsuite/gcc.target/arc/abitest.S delete mode 100644 gcc/testsuite/gcc.target/arc/mcrc.c delete mode 100644 gcc/testsuite/gcc.target/arc/mdsp-packa.c delete mode 100644 gcc/testsuite/gcc.target/arc/mdvbf.c delete mode 100644 gcc/testsuite/gcc.target/arc/mmac-24.c delete mode 100644 gcc/testsuite/gcc.target/arc/mmac-d16.c delete mode 100644 gcc/testsuite/gcc.target/arc/mno-crc.c delete mode 100644 gcc/testsuite/gcc.target/arc/mno-dsp-packa.c delete mode 100644 gcc/testsuite/gcc.target/arc/mno-dvbf.c delete mode 100644 gcc/testsuite/gcc.target/arc/mno-mac-24.c delete mode 100644 gcc/testsuite/gcc.target/arc/mno-mac-d16.c delete mode 100644 gcc/testsuite/gcc.target/arc/mno-rtsc.c delete mode 100644 gcc/testsuite/gcc.target/arc/mno-xy.c delete mode 100644 gcc/testsuite/gcc.target/arc/mrtsc.c create mode 100644 gcc/testsuite/gcc.target/arc/va_args-1.c create mode 100644 gcc/testsuite/gcc.target/arc/va_args-2.c create mode 100644 gcc/testsuite/gcc.target/arc/va_args-3.c -- 1.9.1