Hi! On 2025-03-14T15:42:48-0700, "H.J. Lu" <hjl.to...@gmail.com> wrote: > --- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-16c.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-16c.c > @@ -7,11 +7,8 @@ > > /* Ensure the the in-branch simd clones are used on targets that support > them. > Some targets use another call for the epilogue loops. */ > -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 > "vect" { target { ! { x86_64-*-* || { i?86-*-* || aarch64*-*-* } } } } } } */ > +/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 > "vect" { target { !aarch64*-*-* } } } } */ > /* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 3 > "vect" { target { aarch64*-*-* } } } } */ > > -/* x86_64 fails to use in-branch clones for TYPE=short. */ > -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 0 > "vect" { target x86_64-*-* i?86-*-* } } } */
Here, '!aarch64*-*-*' isn't valid target selector syntax. I've pushed to trunk branch commit c9982eec2d3edc5306291d4628f08825ba46d483 "vect-simd-clone-1[6-8][cd].c: Expect in-branch clones for x86: Fix target selector syntax", see attached. Grüße Thomas > diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-16d.c > b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-16d.c > index 55d3c0afae5..d1f85b0703e 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-16d.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-16d.c > @@ -7,11 +7,9 @@ > > /* Ensure the the in-branch simd clones are used on targets that support > them. > Some targets use another call for the epilogue loops. */ > -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 > "vect" { target { ! { x86_64-*-* || { i?86-*-* || aarch64*-*-* } } } } } } */ > +/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 > "vect" { target { !aarch64*-*-* } } } } */ > /* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 3 > "vect" { target { aarch64*-*-* } } } } */ > > -/* x86_64 fails to use in-branch clones for TYPE=char. */ > -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 0 > "vect" { target x86_64-*-* i?86-*-* } } } */ > > /* The LTO test produces two dump files and we scan the wrong one. */ > /* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17c.c > b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17c.c > index 6afa2fd595e..6148abee806 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17c.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17c.c > @@ -7,11 +7,8 @@ > > /* Ensure the the in-branch simd clones are used on targets that support > them. > Some targets use another call for the epilogue loops. */ > -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 > "vect" { target { ! { x86_64-*-* || { i?86-*-* || aarch64*-*-* } } } } } } */ > +/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 > "vect" { target { !aarch64*-*-* } } } } */ > /* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 3 > "vect" { target { aarch64*-*-* } } } } */ > > -/* x86_64 fails to use in-branch clones for TYPE=short. */ > -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 0 > "vect" { target x86_64-*-* i?86-*-* } } } */ > - > /* The LTO test produces two dump files and we scan the wrong one. */ > /* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17d.c > b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17d.c > index 56177880b6b..63687984598 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17d.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17d.c > @@ -7,11 +7,8 @@ > > /* Ensure the the in-branch simd clones are used on targets that support > them. > Some targets use another call for the epilogue loops. */ > -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 > "vect" { target { ! { x86_64-*-* || { i?86-*-* || aarch64*-*-* } } } } } } */ > +/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 > "vect" { target { !aarch64*-*-* } } } } */ > /* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 3 > "vect" { target { aarch64*-*-* } } } } */ > > -/* x86_64 fails to use in-branch clones for TYPE=char. */ > -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 0 > "vect" { target x86_64-*-* i?86-*-* } } } */ > - > /* The LTO test produces two dump files and we scan the wrong one. */ > /* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18c.c > b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18c.c > index e56e6bca4a0..ee049e7d003 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18c.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18c.c > @@ -7,11 +7,8 @@ > > /* Ensure the the in-branch simd clones are used on targets that support > them. > Some targets use another call for the epilogue loops. */ > -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 > "vect" { target { ! { x86_64-*-* || { i?86-*-* || aarch64*-*-* } } } } } } */ > +/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 > "vect" { target { !aarch64*-*-* } } } } */ > /* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 3 > "vect" { target { aarch64*-*-* } } } } */ > > -/* x86_64 fails to use in-branch clones for TYPE=short. */ > -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 0 > "vect" { target x86_64-*-* i?86-*-* } } } */ > - > /* The LTO test produces two dump files and we scan the wrong one. */ > /* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18d.c > b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18d.c > index 87e7379733e..bad9bcb731f 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18d.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18d.c > @@ -7,11 +7,8 @@ > > /* Ensure the the in-branch simd clones are used on targets that support > them. > Some targets use another call for the epilogue loops. */ > -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 > "vect" { target { ! { x86_64-*-* || { i?86-*-* || aarch64*-*-* } } } } } } */ > +/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 > "vect" { target { !aarch64*-*-* } } } } */ > /* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 3 > "vect" { target { aarch64*-*-* } } } } */ > > -/* x86_64 fails to use in-branch clones for TYPE=char. */ > -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 0 > "vect" { target x86_64-*-* i?86-*-* } } } */ > - > /* The LTO test produces two dump files and we scan the wrong one. */ > /* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */
>From c9982eec2d3edc5306291d4628f08825ba46d483 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge <tschwi...@baylibre.com> Date: Mon, 5 May 2025 10:21:35 +0200 Subject: [PATCH] vect-simd-clone-1[6-8][cd].c: Expect in-branch clones for x86: Fix target selector syntax Fix-up for commit f9f81d5017adc5d860b24f67aeb89b4e79c7ebdb "vect-simd-clone-1[6-8][cd].c: Expect in-branch clones for x86", where we lost the relevant testing, for example, for x86_64, or GCN: PASS: gcc.dg/vect/vect-simd-clone-16c.c (test for excess errors) UNSUPPORTED: gcc.dg/vect/vect-simd-clone-16c.c -flto -ffat-lto-objects PASS: gcc.dg/vect/vect-simd-clone-16c.c execution test -PASS: gcc.dg/vect/vect-simd-clone-16c.c scan-tree-dump-times vect "[\\n\\r] [^\\n]* = foo\\.simdclone" 0 PASS: gcc.dg/vect/vect-simd-clone-16d.c (test for excess errors) UNSUPPORTED: gcc.dg/vect/vect-simd-clone-16d.c -flto -ffat-lto-objects PASS: gcc.dg/vect/vect-simd-clone-16d.c execution test -PASS: gcc.dg/vect/vect-simd-clone-16d.c scan-tree-dump-times vect "[\\n\\r] [^\\n]* = foo\\.simdclone" 0 PASS: gcc.dg/vect/vect-simd-clone-17c.c (test for excess errors) UNSUPPORTED: gcc.dg/vect/vect-simd-clone-17c.c -flto -ffat-lto-objects PASS: gcc.dg/vect/vect-simd-clone-17c.c execution test -PASS: gcc.dg/vect/vect-simd-clone-17c.c scan-tree-dump-times vect "[\\n\\r] [^\\n]* = foo\\.simdclone" 0 PASS: gcc.dg/vect/vect-simd-clone-17d.c (test for excess errors) UNSUPPORTED: gcc.dg/vect/vect-simd-clone-17d.c -flto -ffat-lto-objects PASS: gcc.dg/vect/vect-simd-clone-17d.c execution test -PASS: gcc.dg/vect/vect-simd-clone-17d.c scan-tree-dump-times vect "[\\n\\r] [^\\n]* = foo\\.simdclone" 0 PASS: gcc.dg/vect/vect-simd-clone-18c.c (test for excess errors) UNSUPPORTED: gcc.dg/vect/vect-simd-clone-18c.c -flto -ffat-lto-objects PASS: gcc.dg/vect/vect-simd-clone-18c.c execution test -PASS: gcc.dg/vect/vect-simd-clone-18c.c scan-tree-dump-times vect "[\\n\\r] [^\\n]* = foo\\.simdclone" 0 PASS: gcc.dg/vect/vect-simd-clone-18d.c (test for excess errors) UNSUPPORTED: gcc.dg/vect/vect-simd-clone-18d.c -flto -ffat-lto-objects PASS: gcc.dg/vect/vect-simd-clone-18d.c execution test -PASS: gcc.dg/vect/vect-simd-clone-18d.c scan-tree-dump-times vect "[\\n\\r] [^\\n]* = foo\\.simdclone" 0 ..., which this commit restores. PR middle-end/112877 gcc/testsuite/ * gcc.dg/vect/vect-simd-clone-16c.c: Fix target selector syntax. * gcc.dg/vect/vect-simd-clone-16d.c: Likewise. * gcc.dg/vect/vect-simd-clone-17c.c: Likewise. * gcc.dg/vect/vect-simd-clone-17d.c: Likewise. * gcc.dg/vect/vect-simd-clone-18c.c: Likewise. * gcc.dg/vect/vect-simd-clone-18d.c: Likewise. --- gcc/testsuite/gcc.dg/vect/vect-simd-clone-16c.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-simd-clone-16d.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-simd-clone-17c.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-simd-clone-17d.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-simd-clone-18c.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-simd-clone-18d.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-16c.c b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-16c.c index 628d4575673..0f7d1739377 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-16c.c +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-16c.c @@ -7,7 +7,7 @@ /* Ensure the the in-branch simd clones are used on targets that support them. Some targets use another call for the epilogue loops. */ -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 "vect" { target { !aarch64*-*-* } } } } */ +/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 "vect" { target { ! aarch64*-*-* } } } } */ /* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 3 "vect" { target { aarch64*-*-* } } } } */ /* The LTO test produces two dump files and we scan the wrong one. */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-16d.c b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-16d.c index d1f85b0703e..2127fce0c7e 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-16d.c +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-16d.c @@ -7,7 +7,7 @@ /* Ensure the the in-branch simd clones are used on targets that support them. Some targets use another call for the epilogue loops. */ -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 "vect" { target { !aarch64*-*-* } } } } */ +/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 "vect" { target { ! aarch64*-*-* } } } } */ /* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 3 "vect" { target { aarch64*-*-* } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17c.c b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17c.c index 6148abee806..4a0ca47ee56 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17c.c +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17c.c @@ -7,7 +7,7 @@ /* Ensure the the in-branch simd clones are used on targets that support them. Some targets use another call for the epilogue loops. */ -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 "vect" { target { !aarch64*-*-* } } } } */ +/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 "vect" { target { ! aarch64*-*-* } } } } */ /* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 3 "vect" { target { aarch64*-*-* } } } } */ /* The LTO test produces two dump files and we scan the wrong one. */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17d.c b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17d.c index 63687984598..bc4a9eee9a3 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17d.c +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-17d.c @@ -7,7 +7,7 @@ /* Ensure the the in-branch simd clones are used on targets that support them. Some targets use another call for the epilogue loops. */ -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 "vect" { target { !aarch64*-*-* } } } } */ +/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 "vect" { target { ! aarch64*-*-* } } } } */ /* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 3 "vect" { target { aarch64*-*-* } } } } */ /* The LTO test produces two dump files and we scan the wrong one. */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18c.c b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18c.c index ee049e7d003..9e8e85a94e0 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18c.c +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18c.c @@ -7,7 +7,7 @@ /* Ensure the the in-branch simd clones are used on targets that support them. Some targets use another call for the epilogue loops. */ -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 "vect" { target { !aarch64*-*-* } } } } */ +/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 "vect" { target { ! aarch64*-*-* } } } } */ /* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 3 "vect" { target { aarch64*-*-* } } } } */ /* The LTO test produces two dump files and we scan the wrong one. */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18d.c b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18d.c index bad9bcb731f..59fafe46d7c 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18d.c +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-18d.c @@ -7,7 +7,7 @@ /* Ensure the the in-branch simd clones are used on targets that support them. Some targets use another call for the epilogue loops. */ -/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 "vect" { target { !aarch64*-*-* } } } } */ +/* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 2 "vect" { target { ! aarch64*-*-* } } } } */ /* { dg-final { scan-tree-dump-times {[\n\r] [^\n]* = foo\.simdclone} 3 "vect" { target { aarch64*-*-* } } } } */ /* The LTO test produces two dump files and we scan the wrong one. */ -- 2.34.1