https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112420
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- We end up using gathers for the strided load which would be OK and avoid the issue noted in the comment. Thus we get true from vect_use_strided_gather_scatters_p (). That has a comment guard: /* As a last resort, trying using a gather load or scatter store. ??? Although the code can handle all group sizes correctly, it probably isn't a win to use separate strided accesses based on nearby locations. Or, even if it's a win over scalar code, it might not be a win over vectorizing at a lower VF, if that allows us to use contiguous accesses. */ if (*memory_access_type == VMAT_ELEMENTWISE && single_element_p && loop_vinfo && vect_use_strided_gather_scatters_p (stmt_info, loop_vinfo, masked_p, gs_info))