Hello. I've spent some time reading the i386 back-end and I noticed various boilerplate code can be simplified.
Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed once GCC 11.1 is released? Thanks, Martin Martin Liska (4): Remove DEF_ENUM from stringop.def. Generate PTA features from a def file. Overhaul in isa_flags and handling it. Remove TARGET_foo (ix86_tune == PROCESSOR_foo) macros. gcc/config/i386/i386-expand.c | 2 +- gcc/config/i386/i386-options.c | 305 +++-------------------- gcc/config/i386/i386-opts.h | 4 - gcc/config/i386/i386.c | 16 +- gcc/config/i386/i386.def | 110 ++++++++ gcc/config/i386/i386.h | 344 ++------------------------ gcc/config/i386/i386.md | 8 +- gcc/config/i386/stringop.def | 9 - gcc/config/i386/x86-tune-sched-atom.c | 7 +- gcc/config/i386/x86-tune-sched-bd.c | 5 +- gcc/config/i386/x86-tune-sched.c | 2 +- gcc/opth-gen.awk | 11 +- gcc/wide-int-bitmask.h | 3 + 13 files changed, 196 insertions(+), 630 deletions(-) create mode 100644 gcc/config/i386/i386.def -- 2.31.1