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

Reply via email to