https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105781
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- The issue is cost modeling which is what the existing -funroll-[all-]loops RTL unrolling lacks. The vectorizer meanwhile can unroll vectorized loops by means of increasing the vectorization factor which the target can suggest by adjusting m_suggested_unroll_factor in the finish_cost hook. See the aarch64 port for an example.