Hi. I'm sending first version of the split, which has following statistics:
gcc/config.gcc | 5 +- gcc/config/i386/i386-builtins.c | 2563 ++++++++++ gcc/config/i386/i386-builtins.h | 314 ++ gcc/config/i386/i386-expand.c | 19868 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gcc/config/i386/i386-expand.h | 40 + gcc/config/i386/i386-features.c | 2854 +++++++++++ gcc/config/i386/i386-features.h | 179 + gcc/config/i386/i386-options.c | 3678 ++++++++++++++ gcc/config/i386/i386-options.h | 76 + gcc/config/i386/i386-protos.h | 4 - gcc/config/i386/i386.c | 62939 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------ gcc/config/i386/i386.h | 9 + gcc/config/i386/t-i386 | 16 + 13 files changed, 46542 insertions(+), 46003 deletions(-) The newly created files have following content: - i386-builtins.c - builtin-in handling, __builtin_cpu_is and __builtin_cpu_supports, target pragma handling - i386-expand.c - all scalar and vector expansion code - i386-features.c - contains isolated target features - vzerotoupper, stv, cet, rpad, multi-versioning, - i386-options.c - option related functions, target attribute handling Now the i386.c file is down in size: 23038 gcc/config/i386/i386.c Question is whether I should continue or not? Remaining content of the file is made of various costing functions, print_reg*, various target hooks, coff, ms_abi, retpolines, output-functions, etc. I don't see any further split point which should define a new file. Patch: https://drive.google.com/file/d/1SiNcR35DHMNBumyg5ltbOozEJ5Q0ajKn/view?usp=sharing Thoughts? Thanks, Martin