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

Reply via email to