https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103977
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- /* For epilogues start the analysis from the first mode. The motivation behind starting from the beginning comes from cases where the VECTOR_MODES array may contain length-agnostic and length-specific modes. Their ordering is not guaranteed, so we could end up picking a mode for the main loop that is after the epilogue's optimal mode. */ mode_i = 1; that's only valid if vector_modes.length () > 1 but for the testcase it only contains the artificial VOIDmode aka autodetect mode. I wonder why we don't start from 0?