diff mbox series

[v3,5/7] vect-simd-clone-1[6-8][cd].c: Expect in-branch clones for x86

Message ID 20241110125550.787007-6-hjl.tools@gmail.com
State New
Headers show
Series Improve outgoing integer argument promotion | expand

Commit Message

H.J. Lu Nov. 10, 2024, 12:55 p.m. UTC
Since the C frontend no longer promotes char and short arguments, expect
in-branch clones for x86.

	PR middle-end/14907
	* gcc.dg/vect/vect-simd-clone-16c.c: Expect in-branch clones for
	x86.
	* 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.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
---
 gcc/testsuite/gcc.dg/vect/vect-simd-clone-16c.c | 5 +----
 gcc/testsuite/gcc.dg/vect/vect-simd-clone-16d.c | 4 +---
 gcc/testsuite/gcc.dg/vect/vect-simd-clone-17c.c | 5 +----
 gcc/testsuite/gcc.dg/vect/vect-simd-clone-17d.c | 5 +----
 gcc/testsuite/gcc.dg/vect/vect-simd-clone-18c.c | 5 +----
 gcc/testsuite/gcc.dg/vect/vect-simd-clone-18d.c | 5 +----
 6 files changed, 6 insertions(+), 23 deletions(-)

Comments

Richard Biener Nov. 20, 2024, 2:19 p.m. UTC | #1
On Sun, Nov 10, 2024 at 1:56 PM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> Since the C frontend no longer promotes char and short arguments, expect
> in-branch clones for x86.

This is OK once the prerequisites are approved.

Richard.

>         PR middle-end/14907
>         * gcc.dg/vect/vect-simd-clone-16c.c: Expect in-branch clones for
>         x86.
>         * 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.
>
> Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
> ---
>  gcc/testsuite/gcc.dg/vect/vect-simd-clone-16c.c | 5 +----
>  gcc/testsuite/gcc.dg/vect/vect-simd-clone-16d.c | 4 +---
>  gcc/testsuite/gcc.dg/vect/vect-simd-clone-17c.c | 5 +----
>  gcc/testsuite/gcc.dg/vect/vect-simd-clone-17d.c | 5 +----
>  gcc/testsuite/gcc.dg/vect/vect-simd-clone-18c.c | 5 +----
>  gcc/testsuite/gcc.dg/vect/vect-simd-clone-18d.c | 5 +----
>  6 files changed, 6 insertions(+), 23 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 4fdf25d06c6..628d4575673 100644
> --- 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-*-* } } } */
> -
>  /* 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-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" } { "" } } */
> --
> 2.47.0
>
diff mbox series

Patch

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 4fdf25d06c6..628d4575673 100644
--- 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-*-* } } } */
-
 /* 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-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" } { "" } } */