https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112420

--- Comment #2 from JuzheZhong <juzhe.zhong at rivai dot ai> ---
(In reply to Richard Biener from comment #1)
> 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))

Thanks Richi.

So, do you mean I need to fix test to fix the FAIL?

Is this following reasonable ?

/* { dg-final { scan-tree-dump-times "vectorized 0 loops in function" 2 "vect"
target {! riscv*-*-* } } } */

Reply via email to