From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com [68.232.141.98]) by sourceware.org (Postfix) with ESMTPS id 5BE053857404 for ; Fri, 28 Oct 2022 07:47:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5BE053857404 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.95,220,1661846400"; d="scan'208,223";a="85726193" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa2.mentor.iphmx.com with ESMTP; 27 Oct 2022 23:47:07 -0800 IronPort-SDR: gm7uxoBCgepz3qua1COBkpMc1tq+7TV3rBzcf6jDnQiW6y0ziqg+Hb6cgvOhypGjrJ4rD86mFV hjFKZa/Mmo/a5uBiprgaQjzRwML/RmT7D0zvC99XnKfbFNnSXmFEVFUtNWeFQwaOg+hwJMbiXR Y4y0m4QhfvVfgnQaRK8if2c00EjLxTcyxDsi2qnWlIL67DoRkbPhsMXKTfeq46dSQy8fDdFg9V uA61OCDv96xXn1ts8KlDlaLCJOJcgr0gSvidhTrOSMzzF30wH9mhhb6Xe/u/9t4SeF2/PonGjG FXo= From: Thomas Schwinge To: Andrew Stubbs , Subject: Re: [committed 6/6] amdgcn: vector testsuite tweaks In-Reply-To: References: User-Agent: Notmuch/0.29.3+94~g74c3f1b (https://notmuchmail.org) Emacs/27.1 (x86_64-pc-linux-gnu) Date: Fri, 28 Oct 2022 09:46:58 +0200 Message-ID: <87a65g5r0t.fsf@euler.schwinge.homeip.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-11.mgc.mentorg.com (139.181.222.11) To svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,KAM_LOTSOFHASH,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --=-=-= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi! On 2022-10-11T12:02:08+0100, Andrew Stubbs wrote: > The testsuite needs a few tweaks following my patches to add multiple vec= tor > 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 multi= ple > 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" {xfai= l { vect_no_align && { ! vect_hw_misalign } } } } } */ > -/* { dg-final { scan-tree-dump-times "dependence distance negative" 1 "v= ect" } } */ > +/* { dg-final { scan-tree-dump-times "dependence distance negative" 1 "v= ect" { target { ! vect_multiple_sizes } } } } */ > +/* { dg-final { scan-tree-dump "dependence distance negative" "vect" { t= arget 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 *srcd= ata, int srcwidth, > } > > /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfa= il { vect_no_align && { ! vect_hw_misalign } } } } } */ > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "ve= ct" { xfail { vect_no_align && { ! vect_hw_misalign } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "ve= ct" { target { ! vect_multiple_sizes } xfail { vect_no_align && { ! vect_hw= _misalign } } } } } */ > +/* { dg-final { scan-tree-dump "vectorizing stmts using SLP" "vect" { ta= rget 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 wit= h FOLD_EXTRACT_LAST" 2 "vect" { target vect_fold_extract_last } } } */ > +/* { dg-final { scan-tree-dump-times "optimizing condition reduction wit= h 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_si= zes } } } } */ > /* { dg-final { scan-tree-dump-not "condition expression based on intege= r 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 inte= ger induction." 2 "vect" { xfail vect_fold_extract_last } } } */ > -/* { dg-final { scan-tree-dump-times "optimizing condition reduction wit= h FOLD_EXTRACT_LAST" 2 "vect" { target vect_fold_extract_last } } } */ > +/* { dg-final { scan-tree-dump-times "optimizing condition reduction wit= h 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_si= zes } } } } */ > --- 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 inte= ger induction." 5 "vect" { target vect_condition xfail vect_fold_extract_la= st } } } */ > -/* { dg-final { scan-tree-dump-times "optimizing condition reduction wit= h FOLD_EXTRACT_LAST" 5 "vect" { target vect_fold_extract_last } } } */ > +/* { dg-final { scan-tree-dump-times "optimizing condition reduction wit= h 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_l= ast } } } } */ > --- 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" { xfa= il 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 "ve= ct" { xfail { vect_no_int_min_max || { aarch64_sve && vect_variable_length = } } } } } */ > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "ve= ct" { target { ! vect_multiple_sizes } xfail { vect_no_int_min_max || { aar= ch64_sve && vect_variable_length } } } } } */ > +/* { dg-final { scan-tree-dump "vectorizing stmts using SLP" "vect" { ta= rget { 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 v= ect_multiple_sizes } } } */ > /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { tar= get { ! vect_no_int_min_max } } } } */ > /* { dg-final { scan-tree-dump-times {using an in-order \(fold-left\) re= duction} 1 "vect" } } */ Gr=C3=BC=C3=9Fe Thomas ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename="0001-Fix-target-selector-syntax-in-gcc.dg-vect-bb-slp-con.patch" >From 0607307768b66a90e27c5bc91a247acc938f070e Mon Sep 17 00:00:00 2001 From: Thomas Schwinge 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 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename="0001-Fix-target-selector-syntax-in-gcc.dg-vect-bb-sl.og12.patch" >From 5f4d2a15403d7231d7be673a9d633c0b4a22e19c Mon Sep 17 00:00:00 2001 From: Thomas Schwinge 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 + + Backported from master: + 2022-10-28 Thomas Schwinge + + * gcc.dg/vect/bb-slp-cond-1.c: Fix target selector syntax. + 2022-10-26 Marcel Vollweiler * 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 --=-=-=--