https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94398
--- Comment #3 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> --- (In reply to Richard Biener from comment #2) > But the ICE happens because the result from the function at transform time > does not match that at analysis time. > > Richard? Looks like we're trying to compute: alignment_support_scheme = vect_supportable_dr_alignment (first_dr_info, false); gcc_assert (alignment_support_scheme); even for VMAT_GATHER_SCATTER, which always accesses individual elements. Guess we should set alignment_support_scheme to dr_unaligned_supported instead of calling vect_supportable_dr_alignment. The target hook is probably incorrect for SVE + -mstrict-align.