Hi!
On 2025-03-14T15:42:48-0700, "H.J. Lu" <[email protected]> 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 <[email protected]>
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