On Thu, Mar 2, 2023 at 7:24 PM Robin Dapp via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > Hi, > > this patch changes SLP test expectations. As we only vectorize when no > more than one rgroup is present, no vectorization is performed. > > I was also considering using a separate target selector (something like > vect_partial_vectors_bias_m1) but as the number of testcases is limited > that would probably not simplify things much for now. > > Is this OK?
OK > Regards > Robin > > -- > > gcc/testsuite/ChangeLog: > > * gcc.dg/vect/slp-3.c: Adapt test expectation. > * gcc.dg/vect/slp-multitypes-11.c: Likewise. > * gcc.dg/vect/slp-perm-8.c: Likewise. > --- > gcc/testsuite/gcc.dg/vect/slp-3.c | 8 ++++---- > gcc/testsuite/gcc.dg/vect/slp-multitypes-11.c | 4 ++-- > gcc/testsuite/gcc.dg/vect/slp-perm-8.c | 4 ++-- > 3 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/gcc/testsuite/gcc.dg/vect/slp-3.c > b/gcc/testsuite/gcc.dg/vect/slp-3.c > index 80ded1840ad2..4b9a58662305 100644 > --- a/gcc/testsuite/gcc.dg/vect/slp-3.c > +++ b/gcc/testsuite/gcc.dg/vect/slp-3.c > @@ -141,8 +141,8 @@ int main (void) > return 0; > } > > -/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { target > { ! { vect_partial_vectors || vect32 } } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" { target > { vect_partial_vectors || vect32 } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3 "vect" > { target { ! { vect_partial_vectors || vect32 } } } } }*/ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 4 "vect" > { target { vect_partial_vectors || vect32 } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { target > { ! { vect_partial_vectors || vect32 } || s390_vx } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" { target > { vect_partial_vectors || vect32 } && { ! s390_vx } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3 "vect" > { target { ! { vect_partial_vectors || vect32 } || s390_vx } } } }*/ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 4 "vect" > { target { vect_partial_vectors || vect32 } && { ! s390_vx } } } } */ > > diff --git a/gcc/testsuite/gcc.dg/vect/slp-multitypes-11.c > b/gcc/testsuite/gcc.dg/vect/slp-multitypes-11.c > index 96218861cd61..dbf93ee6bb37 100644 > --- a/gcc/testsuite/gcc.dg/vect/slp-multitypes-11.c > +++ b/gcc/testsuite/gcc.dg/vect/slp-multitypes-11.c > @@ -50,6 +50,6 @@ int main (void) > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target > vect_unpack } } } */ > /* The epilogues are vectorized using partial vectors. */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" > { target { vect_unpack && {! vect_partial_vectors_usage_1 } } xfail { > vect_variable_length && vect_load_lanes } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" > { target { vect_unpack && vect_partial_vectors_usage_1 } xfail { > vect_variable_length && vect_load_lanes } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" > { target { vect_unpack && { {! vect_partial_vectors_usage_1 } || s390_vx } } > xfail { vect_variable_length && vect_load_lanes } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" > { target { vect_unpack && vect_partial_vectors_usage_1 && { ! s390_vx } } > xfail { vect_variable_length && vect_load_lanes } } } } */ > > diff --git a/gcc/testsuite/gcc.dg/vect/slp-perm-8.c > b/gcc/testsuite/gcc.dg/vect/slp-perm-8.c > index 9e59832fb8b7..4023670d4459 100644 > --- a/gcc/testsuite/gcc.dg/vect/slp-perm-8.c > +++ b/gcc/testsuite/gcc.dg/vect/slp-perm-8.c > @@ -60,9 +60,9 @@ int main (int argc, const char* argv[]) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target > { vect_perm_byte } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" > { target { vect_perm3_byte && { { ! vect_load_lanes } && {! > vect_partial_vectors_usage_1 } } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" > { target { vect_perm3_byte && { { ! vect_load_lanes } && { {! > vect_partial_vectors_usage_1 } || s390_vx } } } } } } */ > /* The epilogues are vectorized using partial vectors. */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" > { target { vect_perm3_byte && { { ! vect_load_lanes } && > vect_partial_vectors_usage_1 } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "vect" > { target { vect_perm3_byte && { { ! vect_load_lanes } && > vect_partial_vectors_usage_1 && { ! s390_vx } } } } } } */ > /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" > { target vect_load_lanes } } } */ > /* { dg-final { scan-tree-dump "Built SLP cancelled: can use > load/store-lanes" "vect" { target { vect_perm3_byte && vect_load_lanes } } } > } */ > /* { dg-final { scan-tree-dump "LOAD_LANES" "vect" { target vect_load_lanes > } } } */ > -- > 2.39.1