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

Reply via email to