https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111600
--- Comment #15 from Richard Biener <rguenth at gcc dot gnu.org> --- I think despite looking at the total size of the files it would be nice to see if some of the large functions take a lot of compile-time (and where) and see whether some more intelligent code emission helps. Like I pointed out stuff like insn_code maybe_code_for_pred_indexed_load (int arg0, machine_mode arg1, machine_mode arg2) { if (arg0 == 84 && arg1 == E_RVVMF8x2QImode && arg2 == E_RVVMF8QImode) return CODE_FOR_pred_indexed_oloadrvvmf8x2qirvvmf8qi; if (arg0 == 85 && arg1 == E_RVVMF8x2QImode && arg2 == E_RVVMF8QImode) return CODE_FOR_pred_indexed_uloadrvvmf8x2qirvvmf8qi; if (arg0 == 84 && arg1 == E_RVVMF8x3QImode && arg2 == E_RVVMF8QImode) return CODE_FOR_pred_indexed_oloadrvvmf8x3qirvvmf8qi; if (arg0 == 85 && arg1 == E_RVVMF8x3QImode && arg2 == E_RVVMF8QImode) ... that requires GCC to do a lot of jump threading to arrive at essentially nested switches or a fancy lookup table (combining all args) to get this to a point where it also behaves in a sane way at runtime (the above at -O0 would also execute very slowly).