Re: [RS6000] Adjust testcases for power10 instructions V3
Ping. On Tue, Jan 12, 2021 at 02:03:18PM +1030, Alan Modra wrote: > Ping > https://gcc.gnu.org/pipermail/gcc-patches/2020-October/557587.html > > On Fri, Oct 30, 2020 at 07:00:14PM +1030, Alan Modra wrote: > > And now waking up to what you meant by the lvsl-lvsr.c \s comment, > > plus a revised ppc-ne0-1.c scan-assembler. > > > > I think this covers all previous review corrections. Regression tested > > powerpc64-linux power7 and powerpc64le-linux power10. OK? > > > > * lib/target-supports.exp (check_effective_target_has_arch_pwr10): New. > > * gcc.dg/pr56727-2.c, > > gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c, > > gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c, > > gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c, > > gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c, > > gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c, > > gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c, > > gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c, > > gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c, > > gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c, > > gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c, > > gcc.target/powerpc/fold-vec-load-vec_vsx_ld-int.c, > > gcc.target/powerpc/fold-vec-load-vec_vsx_ld-longlong.c, > > gcc.target/powerpc/fold-vec-load-vec_vsx_ld-short.c, > > gcc.target/powerpc/fold-vec-load-vec_xl-char.c, > > gcc.target/powerpc/fold-vec-load-vec_xl-double.c, > > gcc.target/powerpc/fold-vec-load-vec_xl-float.c, > > gcc.target/powerpc/fold-vec-load-vec_xl-int.c, > > gcc.target/powerpc/fold-vec-load-vec_xl-longlong.c, > > gcc.target/powerpc/fold-vec-load-vec_xl-short.c, > > gcc.target/powerpc/fold-vec-splat-floatdouble.c, > > gcc.target/powerpc/fold-vec-splat-longlong.c, > > gcc.target/powerpc/fold-vec-store-builtin_vec_xst-char.c, > > gcc.target/powerpc/fold-vec-store-builtin_vec_xst-double.c, > > gcc.target/powerpc/fold-vec-store-builtin_vec_xst-float.c, > > gcc.target/powerpc/fold-vec-store-builtin_vec_xst-int.c, > > gcc.target/powerpc/fold-vec-store-builtin_vec_xst-short.c, > > gcc.target/powerpc/fold-vec-store-vec_vsx_st-char.c, > > gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c, > > gcc.target/powerpc/fold-vec-store-vec_vsx_st-float.c, > > gcc.target/powerpc/fold-vec-store-vec_vsx_st-int.c, > > gcc.target/powerpc/fold-vec-store-vec_vsx_st-longlong.c, > > gcc.target/powerpc/fold-vec-store-vec_vsx_st-short.c, > > gcc.target/powerpc/fold-vec-store-vec_xst-char.c, > > gcc.target/powerpc/fold-vec-store-vec_xst-double.c, > > gcc.target/powerpc/fold-vec-store-vec_xst-float.c, > > gcc.target/powerpc/fold-vec-store-vec_xst-int.c, > > gcc.target/powerpc/fold-vec-store-vec_xst-longlong.c, > > gcc.target/powerpc/fold-vec-store-vec_xst-short.c, > > gcc.target/powerpc/lvsl-lvsr.c, > > gcc.target/powerpc/ppc-eq0-1.c, > > gcc.target/powerpc/ppc-ne0-1.c, > > gcc.target/powerpc/pr86731-fwrapv-longlong.c: Match power10 insns. > > * gcc.target/powerpc/lvsl-lvsr.c: Avoid file name match. > > > > diff --git a/gcc/testsuite/gcc.dg/pr56727-2.c > > b/gcc/testsuite/gcc.dg/pr56727-2.c > > index c54369ed25e..f055116772a 100644 > > --- a/gcc/testsuite/gcc.dg/pr56727-2.c > > +++ b/gcc/testsuite/gcc.dg/pr56727-2.c > > @@ -18,4 +18,4 @@ void h () > > > > /* { dg-final { scan-assembler "@(PLT|plt)" { target i?86-*-* x86_64-*-* } > > } } */ > > /* { dg-final { scan-assembler "@(PLT|plt)" { target { powerpc*-*-linux* > > && ilp32 } } } } */ > > -/* { dg-final { scan-assembler "bl f\n\\s*nop" { target { > > powerpc*-*-linux* && lp64 } } } } */ > > +/* { dg-final { scan-assembler {bl f(\n\s*nop|@notoc\n)} { target { > > powerpc*-*-linux* && lp64 } } } } */ > > diff --git > > a/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c > > b/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c > > index 246f38fa6d1..1cff4550f28 100644 > > --- a/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c > > +++ b/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c > > @@ -25,6 +25,6 @@ main1 (void) > > with no word loads (lw, lwu, lwz, lwzu, or their indexed forms) > > or word stores (stw, stwu, stwx, stwux, or their indexed forms). */ > > > > -/* { dg-final { scan-assembler "\t(lvx|lxv|lvsr|stxv)" } } */ > > +/* { dg-final { scan-assembler "\t(lvx|p?lxv|lvsr|p?stxv)" } } */ > > /* { dg-final { scan-assembler-not "\tlwz?u?x? " { xfail { > > powerpc-ibm-aix* } } } } */ > > /* { dg-final { scan-assembler-not "\tstwu?x? " } } */ > > diff --git > > a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c > > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c > > index 9b199c219bf..104710700c8 100644 > > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-cha
[RS6000] Adjust testcases for power10 instructions V3
And now waking up to what you meant by the lvsl-lvsr.c \s comment, plus a revised ppc-ne0-1.c scan-assembler. I think this covers all previous review corrections. Regression tested powerpc64-linux power7 and powerpc64le-linux power10. OK? * lib/target-supports.exp (check_effective_target_has_arch_pwr10): New. * gcc.dg/pr56727-2.c, gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c, gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c, gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c, gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c, gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c, gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c, gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c, gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c, gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c, gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c, gcc.target/powerpc/fold-vec-load-vec_vsx_ld-int.c, gcc.target/powerpc/fold-vec-load-vec_vsx_ld-longlong.c, gcc.target/powerpc/fold-vec-load-vec_vsx_ld-short.c, gcc.target/powerpc/fold-vec-load-vec_xl-char.c, gcc.target/powerpc/fold-vec-load-vec_xl-double.c, gcc.target/powerpc/fold-vec-load-vec_xl-float.c, gcc.target/powerpc/fold-vec-load-vec_xl-int.c, gcc.target/powerpc/fold-vec-load-vec_xl-longlong.c, gcc.target/powerpc/fold-vec-load-vec_xl-short.c, gcc.target/powerpc/fold-vec-splat-floatdouble.c, gcc.target/powerpc/fold-vec-splat-longlong.c, gcc.target/powerpc/fold-vec-store-builtin_vec_xst-char.c, gcc.target/powerpc/fold-vec-store-builtin_vec_xst-double.c, gcc.target/powerpc/fold-vec-store-builtin_vec_xst-float.c, gcc.target/powerpc/fold-vec-store-builtin_vec_xst-int.c, gcc.target/powerpc/fold-vec-store-builtin_vec_xst-short.c, gcc.target/powerpc/fold-vec-store-vec_vsx_st-char.c, gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c, gcc.target/powerpc/fold-vec-store-vec_vsx_st-float.c, gcc.target/powerpc/fold-vec-store-vec_vsx_st-int.c, gcc.target/powerpc/fold-vec-store-vec_vsx_st-longlong.c, gcc.target/powerpc/fold-vec-store-vec_vsx_st-short.c, gcc.target/powerpc/fold-vec-store-vec_xst-char.c, gcc.target/powerpc/fold-vec-store-vec_xst-double.c, gcc.target/powerpc/fold-vec-store-vec_xst-float.c, gcc.target/powerpc/fold-vec-store-vec_xst-int.c, gcc.target/powerpc/fold-vec-store-vec_xst-longlong.c, gcc.target/powerpc/fold-vec-store-vec_xst-short.c, gcc.target/powerpc/lvsl-lvsr.c, gcc.target/powerpc/ppc-eq0-1.c, gcc.target/powerpc/ppc-ne0-1.c, gcc.target/powerpc/pr86731-fwrapv-longlong.c: Match power10 insns. * gcc.target/powerpc/lvsl-lvsr.c: Avoid file name match. diff --git a/gcc/testsuite/gcc.dg/pr56727-2.c b/gcc/testsuite/gcc.dg/pr56727-2.c index c54369ed25e..f055116772a 100644 --- a/gcc/testsuite/gcc.dg/pr56727-2.c +++ b/gcc/testsuite/gcc.dg/pr56727-2.c @@ -18,4 +18,4 @@ void h () /* { dg-final { scan-assembler "@(PLT|plt)" { target i?86-*-* x86_64-*-* } } } */ /* { dg-final { scan-assembler "@(PLT|plt)" { target { powerpc*-*-linux* && ilp32 } } } } */ -/* { dg-final { scan-assembler "bl f\n\\s*nop" { target { powerpc*-*-linux* && lp64 } } } } */ +/* { dg-final { scan-assembler {bl f(\n\s*nop|@notoc\n)} { target { powerpc*-*-linux* && lp64 } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c b/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c index 246f38fa6d1..1cff4550f28 100644 --- a/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c +++ b/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c @@ -25,6 +25,6 @@ main1 (void) with no word loads (lw, lwu, lwz, lwzu, or their indexed forms) or word stores (stw, stwu, stwx, stwux, or their indexed forms). */ -/* { dg-final { scan-assembler "\t(lvx|lxv|lvsr|stxv)" } } */ +/* { dg-final { scan-assembler "\t(lvx|p?lxv|lvsr|p?stxv)" } } */ /* { dg-final { scan-assembler-not "\tlwz?u?x? " { xfail { powerpc-ibm-aix* } } } } */ /* { dg-final { scan-assembler-not "\tstwu?x? " } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c index 9b199c219bf..104710700c8 100644 --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c @@ -36,4 +36,4 @@ BUILD_VAR_TEST( test10, vector unsigned char, signed long long, vector unsigned BUILD_VAR_TEST( test11, vector unsigned char, signed int, vector unsigned char); BUILD_CST_TEST( test12, vector unsigned char, 8, vector unsigned char); -/* { dg-final { scan-assembler-times {\m