On Sun, Nov 10, 2024 at 1:56 PM H.J. Lu <hjl.to...@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.to...@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 >