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).