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

--- Comment #4 from Thomas Schwinge <tschwinge at gcc dot gnu.org> ---
The GCN target FAILs that I originally had reported here:

>     [-PASS:-]{+FAIL:+} gcc.dg/vect/slp-11a.c scan-tree-dump-times vect 
> "vectorizing stmts using SLP" [-0-]{+1+}

>     [-PASS:-]{+FAIL:+} gcc.dg/vect/slp-12a.c scan-tree-dump-times vect 
> "vectorizing stmts using SLP" [-0-]{+1+}

... are back to PASS as of recently; should we close this PR?


Andrew, anything to be done anyway, regarding the following?

(In reply to Richard Biener from comment #3)
> Possibly for GCN the issue is the vect_strided8 which is implemented as
> 
> foreach N {2 3 4 5 6 7 8} {
>     eval [string map [list N $N] {
>         # Return 1 if the target supports 2-vector interleaving
>         proc check_effective_target_vect_stridedN { } {
>             return [check_cached_effective_target_indexed vect_stridedN {
>                 if { (N & -N) == N
>                      && [check_effective_target_vect_interleave]
>                      && [check_effective_target_vect_extract_even_odd] } {
>                     return 1
>                 }
>                 if { ([istarget arm*-*-*]
>                       || [istarget aarch64*-*-*]) && N >= 2 && N <= 4 } {
>                     return 1
>                 }
>                 if { ([istarget riscv*-*-*]) && N >= 2 && N <= 8 } {
>                     return 1
>                 }
>                 if [check_effective_target_vect_fully_masked] {
>                     return 1
>                 }
> 
> not sure if gcn really supports a load/store-lane with 8 elements.

Reply via email to