Hi! On 2022-10-11T12:02:08+0100, Andrew Stubbs <a...@codesourcery.com> wrote: > The testsuite needs a few tweaks following my patches to add multiple vector > sizes for amdgcn.
While 'grep'ping for some other GCN thing, this: > --- a/gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c > +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c > @@ -46,5 +46,6 @@ int main () > } > > /* { dg-final { scan-tree-dump {(no need for alias check [^\n]* when VF is > 1|no alias between [^\n]* when [^\n]* is outside \(-16, 16\))} "vect" { > target vect_element_align } } } */ > -/* { dg-final { scan-tree-dump-times "loop vectorized" 1 "vect" { target > vect_element_align } } } */ > +/* { dg-final { scan-tree-dump-times "loop vectorized" 1 "vect" { target { > vect_element_align && !amdgcn-*-* } } } } */ > +/* { dg-final { scan-tree-dump-times "loop vectorized" 2 "vect" { target > amdgcn-*-* } } } */ ... target selector expression '!amdgcn-*-*' occurred to me as dubious, so I checked, and now pushed to master branch commit 0607307768b66a90e27c5bc91a247acc938f070e "Fix target selector syntax in 'gcc.dg/vect/bb-slp-cond-1.c'", see attached. Cherry-picked pushed to devel/omp/gcc-12 branch commit 5f4d2a15403d7231d7be673a9d633c0b4a22e19c "Fix target selector syntax in 'gcc.dg/vect/bb-slp-cond-1.c'", see attached. Looking into commit r13-3225-gbd9a05594d227cde79a67dc715bd9d82e9c464e9 "amdgcn: vector testsuite tweaks" for a moment, I also did wonder about the following changes, because for 'vect_multiple_sizes' (for example, x86_64-pc-linux-gnu) that seems to lose more specific testing; previously: 'scan-tree-dump-times' exactly once, now: 'scan-tree-dump' any number of times. But I've no clue about that myself, so just mentioning this, in case somebody else has an opinion. ;-) > * gcc.dg/vect/no-vfa-vect-depend-2.c: Change expectations for multiple > vector sizes. > * gcc.dg/vect/pr33953.c: Likewise. > * gcc.dg/vect/pr65947-12.c: Likewise. > * gcc.dg/vect/pr65947-13.c: Likewise. > * gcc.dg/vect/pr80631-2.c: Likewise. > * gcc.dg/vect/slp-reduc-4.c: Likewise. > * gcc.dg/vect/trapv-vect-reduc-4.c: Likewise. > --- a/gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-2.c > +++ b/gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-2.c > @@ -51,4 +51,5 @@ int main (void) > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" {xfail { > vect_no_align && { ! vect_hw_misalign } } } } } */ > -/* { dg-final { scan-tree-dump-times "dependence distance negative" 1 "vect" > } } */ > +/* { dg-final { scan-tree-dump-times "dependence distance negative" 1 "vect" > { target { ! vect_multiple_sizes } } } } */ > +/* { dg-final { scan-tree-dump "dependence distance negative" "vect" { > target vect_multiple_sizes } } } */ > --- a/gcc/testsuite/gcc.dg/vect/pr33953.c > +++ b/gcc/testsuite/gcc.dg/vect/pr33953.c > @@ -29,6 +29,7 @@ void blockmove_NtoN_blend_noremap32 (const UINT32 *srcdata, > int srcwidth, > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { > vect_no_align && { ! vect_hw_misalign } } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" > { xfail { vect_no_align && { ! vect_hw_misalign } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" > { target { ! vect_multiple_sizes } xfail { vect_no_align && { ! > vect_hw_misalign } } } } } */ > +/* { dg-final { scan-tree-dump "vectorizing stmts using SLP" "vect" { target > vect_multiple_sizes xfail { vect_no_align && { ! vect_hw_misalign } } } } } */ > --- a/gcc/testsuite/gcc.dg/vect/pr65947-12.c > +++ b/gcc/testsuite/gcc.dg/vect/pr65947-12.c > @@ -42,5 +42,6 @@ main (void) > } > > /* { dg-final { scan-tree-dump-times "LOOP VECTORIZED" 2 "vect" } } */ > -/* { dg-final { scan-tree-dump-times "optimizing condition reduction with > FOLD_EXTRACT_LAST" 2 "vect" { target vect_fold_extract_last } } } */ > +/* { dg-final { scan-tree-dump-times "optimizing condition reduction with > FOLD_EXTRACT_LAST" 2 "vect" { target { vect_fold_extract_last && { ! > vect_multiple_sizes } } } } } */ > +/* { dg-final { scan-tree-dump "optimizing condition reduction with > FOLD_EXTRACT_LAST" "vect" { target { vect_fold_extract_last && > vect_multiple_sizes } } } } */ > /* { dg-final { scan-tree-dump-not "condition expression based on integer > induction." "vect" } } */ > --- a/gcc/testsuite/gcc.dg/vect/pr65947-13.c > +++ b/gcc/testsuite/gcc.dg/vect/pr65947-13.c > @@ -44,4 +44,5 @@ main (void) > > /* { dg-final { scan-tree-dump-times "LOOP VECTORIZED" 2 "vect" } } */ > /* { dg-final { scan-tree-dump-times "condition expression based on integer > induction." 2 "vect" { xfail vect_fold_extract_last } } } */ > -/* { dg-final { scan-tree-dump-times "optimizing condition reduction with > FOLD_EXTRACT_LAST" 2 "vect" { target vect_fold_extract_last } } } */ > +/* { dg-final { scan-tree-dump-times "optimizing condition reduction with > FOLD_EXTRACT_LAST" 2 "vect" { target { vect_fold_extract_last && { ! > vect_multiple_sizes } } } } } */ > +/* { dg-final { scan-tree-dump "optimizing condition reduction with > FOLD_EXTRACT_LAST" "vect" { target { vect_fold_extract_last && > vect_multiple_sizes } } } } */ > --- a/gcc/testsuite/gcc.dg/vect/pr80631-2.c > +++ b/gcc/testsuite/gcc.dg/vect/pr80631-2.c > @@ -75,4 +75,5 @@ main () > > /* { dg-final { scan-tree-dump-times "LOOP VECTORIZED" 5 "vect" { target > vect_condition } } } */ > /* { dg-final { scan-tree-dump-times "condition expression based on integer > induction." 5 "vect" { target vect_condition xfail vect_fold_extract_last } } > } */ > -/* { dg-final { scan-tree-dump-times "optimizing condition reduction with > FOLD_EXTRACT_LAST" 5 "vect" { target vect_fold_extract_last } } } */ > +/* { dg-final { scan-tree-dump-times "optimizing condition reduction with > FOLD_EXTRACT_LAST" 5 "vect" { target { { ! vect_multiple_sizes } && > vect_fold_extract_last } } } } */ > +/* { dg-final { scan-tree-dump "optimizing condition reduction with > FOLD_EXTRACT_LAST" "vect" { target { vect_multiple_sizes && > vect_fold_extract_last } } } } */ > --- a/gcc/testsuite/gcc.dg/vect/slp-reduc-4.c > +++ b/gcc/testsuite/gcc.dg/vect/slp-reduc-4.c > @@ -59,6 +59,7 @@ int main (void) > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail > vect_no_int_min_max } } } */ > /* For variable-length SVE, the number of scalar statements in the > reduction exceeds the number of elements in a 128-bit granule. */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" > { xfail { vect_no_int_min_max || { aarch64_sve && vect_variable_length } } } > } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" > { target { ! vect_multiple_sizes } xfail { vect_no_int_min_max || { > aarch64_sve && vect_variable_length } } } } } */ > +/* { dg-final { scan-tree-dump "vectorizing stmts using SLP" "vect" { target > { vect_multiple_sizes } } } } */ > /* { dg-final { scan-tree-dump-times "VEC_PERM_EXPR" 0 "vect" { xfail { > aarch64_sve && vect_variable_length } } } } */ > --- a/gcc/testsuite/gcc.dg/vect/trapv-vect-reduc-4.c > +++ b/gcc/testsuite/gcc.dg/vect/trapv-vect-reduc-4.c > @@ -50,6 +50,7 @@ int main (void) > > /* We can't handle the first loop with variable-length vectors and so > fall back to the fixed-length mininum instead. */ > -/* { dg-final { scan-tree-dump-times "Detected reduction\\." 3 "vect" { > xfail vect_variable_length } } } */ > +/* { dg-final { scan-tree-dump-times "Detected reduction\\." 3 "vect" { > target { ! vect_multiple_sizes } xfail vect_variable_length } } } */ > +/* { dg-final { scan-tree-dump "Detected reduction\\." "vect" { target > vect_multiple_sizes } } } */ > /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { target > { ! vect_no_int_min_max } } } } */ > /* { dg-final { scan-tree-dump-times {using an in-order \(fold-left\) > reduction} 1 "vect" } } */ Grüße Thomas ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
>From 0607307768b66a90e27c5bc91a247acc938f070e Mon Sep 17 00:00:00 2001 From: Thomas Schwinge <tho...@codesourcery.com> Date: Tue, 25 Oct 2022 13:10:52 +0200 Subject: [PATCH] Fix target selector syntax in 'gcc.dg/vect/bb-slp-cond-1.c' ... to restore testing lost in recent commit r13-3225-gbd9a05594d227cde79a67dc715bd9d82e9c464e9 "amdgcn: vector testsuite tweaks" (for example, x86_64-pc-linux-gnu): PASS: gcc.dg/vect/bb-slp-cond-1.c (test for excess errors) PASS: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects scan-tree-dump vect "(no need for alias check [^\\n]* when VF is 1|no alias between [^\\n]* when [^\\n]* is outside \\(-16, 16\\))" [-PASS: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects scan-tree-dump-times vect "loop vectorized" 1-] PASS: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects (test for excess errors) PASS: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects execution test PASS: gcc.dg/vect/bb-slp-cond-1.c execution test PASS: gcc.dg/vect/bb-slp-cond-1.c scan-tree-dump vect "(no need for alias check [^\\n]* when VF is 1|no alias between [^\\n]* when [^\\n]* is outside \\(-16, 16\\))" [-PASS: gcc.dg/vect/bb-slp-cond-1.c scan-tree-dump-times vect "loop vectorized" 1-] gcc/testsuite/ * gcc.dg/vect/bb-slp-cond-1.c: Fix target selector syntax. --- gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c b/gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c index 1f5c621e5fd..ccb4ef659e4 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c @@ -46,6 +46,6 @@ int main () } /* { dg-final { scan-tree-dump {(no need for alias check [^\n]* when VF is 1|no alias between [^\n]* when [^\n]* is outside \(-16, 16\))} "vect" { target vect_element_align } } } */ -/* { dg-final { scan-tree-dump-times "loop vectorized" 1 "vect" { target { vect_element_align && !amdgcn-*-* } } } } */ +/* { dg-final { scan-tree-dump-times "loop vectorized" 1 "vect" { target { vect_element_align && { ! amdgcn-*-* } } } } } */ /* { dg-final { scan-tree-dump-times "loop vectorized" 2 "vect" { target amdgcn-*-* } } } */ -- 2.35.1
>From 5f4d2a15403d7231d7be673a9d633c0b4a22e19c Mon Sep 17 00:00:00 2001 From: Thomas Schwinge <tho...@codesourcery.com> Date: Tue, 25 Oct 2022 13:10:52 +0200 Subject: [PATCH] Fix target selector syntax in 'gcc.dg/vect/bb-slp-cond-1.c' ... to restore testing lost in recent commit r13-3225-gbd9a05594d227cde79a67dc715bd9d82e9c464e9 "amdgcn: vector testsuite tweaks" (for example, x86_64-pc-linux-gnu): PASS: gcc.dg/vect/bb-slp-cond-1.c (test for excess errors) PASS: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects scan-tree-dump vect "(no need for alias check [^\\n]* when VF is 1|no alias between [^\\n]* when [^\\n]* is outside \\(-16, 16\\))" [-PASS: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects scan-tree-dump-times vect "loop vectorized" 1-] PASS: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects (test for excess errors) PASS: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects execution test PASS: gcc.dg/vect/bb-slp-cond-1.c execution test PASS: gcc.dg/vect/bb-slp-cond-1.c scan-tree-dump vect "(no need for alias check [^\\n]* when VF is 1|no alias between [^\\n]* when [^\\n]* is outside \\(-16, 16\\))" [-PASS: gcc.dg/vect/bb-slp-cond-1.c scan-tree-dump-times vect "loop vectorized" 1-] gcc/testsuite/ * gcc.dg/vect/bb-slp-cond-1.c: Fix target selector syntax. (cherry picked from commit 0607307768b66a90e27c5bc91a247acc938f070e) --- gcc/testsuite/ChangeLog.omp | 7 +++++++ gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/ChangeLog.omp b/gcc/testsuite/ChangeLog.omp index 265ccd8b59f..0c60381e24c 100644 --- a/gcc/testsuite/ChangeLog.omp +++ b/gcc/testsuite/ChangeLog.omp @@ -1,3 +1,10 @@ +2022-10-28 Thomas Schwinge <tho...@codesourcery.com> + + Backported from master: + 2022-10-28 Thomas Schwinge <tho...@codesourcery.com> + + * gcc.dg/vect/bb-slp-cond-1.c: Fix target selector syntax. + 2022-10-26 Marcel Vollweiler <mar...@codesourcery.com> * gfortran.dg/goacc/orphan-reductions-1.f90: Adjust. diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c b/gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c index 1f5c621e5fd..ccb4ef659e4 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c @@ -46,6 +46,6 @@ int main () } /* { dg-final { scan-tree-dump {(no need for alias check [^\n]* when VF is 1|no alias between [^\n]* when [^\n]* is outside \(-16, 16\))} "vect" { target vect_element_align } } } */ -/* { dg-final { scan-tree-dump-times "loop vectorized" 1 "vect" { target { vect_element_align && !amdgcn-*-* } } } } */ +/* { dg-final { scan-tree-dump-times "loop vectorized" 1 "vect" { target { vect_element_align && { ! amdgcn-*-* } } } } } */ /* { dg-final { scan-tree-dump-times "loop vectorized" 2 "vect" { target amdgcn-*-* } } } */ -- 2.35.1