On Tue, 2021-05-18 at 16:57 -0400, Michael Meissner wrote: > [PATCH 1/2] Deal with prefixed loads/stores in tests, PR testsuite/100166 >
Hi, > This patch updates the various tests in the testsuite to treat plxv > and pstxv as being vector loads/stores. This shows up if you run the > testsuite with a compiler configured with the option: --with-cpu=power10. > > I have bootstraped this on LE power9 and BE power8 systems. There were no > regressions in the tests. Can I check this into the trunk? > > I would like to back port these patches to GCC 11 after a cooling off period. > Is that ok? > > gcc/testsuite/ > 2021-05-18 Michael Meissner <meiss...@linux.ibm.com> > > PR testsuite/100166 > * gcc/testsuite/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-longlong.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/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c: > Update insn counts to account for power10 prefixed loads and > stores. > --- > .../vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c | 2 +- > .../gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c | 2 +- > .../powerpc/fold-vec-load-builtin_vec_xl-double.c | 2 +- > .../powerpc/fold-vec-load-builtin_vec_xl-float.c | 2 +- > .../gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c | 2 +- > .../powerpc/fold-vec-load-builtin_vec_xl-longlong.c | 2 +- > .../powerpc/fold-vec-load-builtin_vec_xl-short.c | 2 +- > .../gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c | 2 +- > .../gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c | 2 +- > .../gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c | 2 +- > .../gcc.target/powerpc/fold-vec-load-vec_vsx_ld-int.c | 2 +- > .../gcc.target/powerpc/fold-vec-load-vec_vsx_ld-longlong.c | 2 +- > .../gcc.target/powerpc/fold-vec-load-vec_vsx_ld-short.c | 2 +- > .../gcc.target/powerpc/fold-vec-load-vec_xl-char.c | 2 +- > .../gcc.target/powerpc/fold-vec-load-vec_xl-double.c | 2 +- > .../gcc.target/powerpc/fold-vec-load-vec_xl-float.c | 2 +- > .../gcc.target/powerpc/fold-vec-load-vec_xl-int.c | 2 +- > .../gcc.target/powerpc/fold-vec-load-vec_xl-longlong.c | 2 +- > .../gcc.target/powerpc/fold-vec-load-vec_xl-short.c | 2 +- > .../gcc.target/powerpc/fold-vec-splat-floatdouble.c | 7 ++++--- > gcc/testsuite/gcc.target/powerpc/fold-vec-splat-longlong.c | 2 +- > .../powerpc/fold-vec-store-builtin_vec_xst-char.c | 2 +- > .../powerpc/fold-vec-store-builtin_vec_xst-double.c | 2 +- > .../powerpc/fold-vec-store-builtin_vec_xst-float.c | 2 +- > .../powerpc/fold-vec-store-builtin_vec_xst-int.c | 2 +- > .../powerpc/fold-vec-store-builtin_vec_xst-longlong.c | 2 +- > .../powerpc/fold-vec-store-builtin_vec_xst-short.c | 2 +- > .../gcc.target/powerpc/fold-vec-store-vec_vsx_st-char.c | 2 +- > .../gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c | 2 +- > .../gcc.target/powerpc/fold-vec-store-vec_vsx_st-float.c | 2 +- > .../gcc.target/powerpc/fold-vec-store-vec_vsx_st-int.c | 2 +- > .../powerpc/fold-vec-store-vec_vsx_st-longlong.c | 2 +- > .../gcc.target/powerpc/fold-vec-store-vec_vsx_st-short.c | 2 +- > .../gcc.target/powerpc/fold-vec-store-vec_xst-char.c | 2 +- > .../gcc.target/powerpc/fold-vec-store-vec_xst-double.c | 2 +- > .../gcc.target/powerpc/fold-vec-store-vec_xst-float.c | 2 +- > .../gcc.target/powerpc/fold-vec-store-vec_xst-int.c | 2 +- > .../gcc.target/powerpc/fold-vec-store-vec_xst-longlong.c | 2 +- > .../gcc.target/powerpc/fold-vec-store-vec_xst-short.c | 2 +- > gcc/testsuite/gcc.target/powerpc/lvsl-lvsr.c | 2 +- > gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c | 2 +- > 41 files changed, 44 insertions(+), 43 deletions(-) > > 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..d9f173b521e 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|lxv|lvsr|stxv|plxv|pstxv)" } } */ > /* { 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 > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} 12 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c > index c49dfe8d95b..bfb3cfbc081 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c > @@ -28,4 +28,4 @@ BUILD_VAR_TEST( test4, vector double, signed long long, > vector double); > BUILD_VAR_TEST( test5, vector double, signed int, vector double); > BUILD_CST_TEST( test6, vector double, 12, vector double); > > -/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mlxvx\M|\mlvx\M} 6 } } */ > +/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} > 6 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c > index cdded361b12..373bead2e60 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c > @@ -28,4 +28,4 @@ BUILD_VAR_TEST( test4, vector float, signed long long, > vector float); > BUILD_VAR_TEST( test5, vector float, signed int, vector float); > BUILD_CST_TEST( test6, vector float, 12, vector float); > > -/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M} 6 } } */ > +/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} 6 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c > index bc18bebb1d6..744b96780f1 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c > @@ -36,4 +36,4 @@ BUILD_VAR_TEST( test10, vector unsigned int, signed long > long, vector unsigned i > BUILD_VAR_TEST( test11, vector unsigned int, signed int, vector unsigned > int); > BUILD_CST_TEST( test12, vector unsigned int, 12, vector unsigned int); > > -/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} 12 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c > index 66e953a2fbc..249b3eb8cff 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c > @@ -36,4 +36,4 @@ BUILD_VAR_TEST( test10, vector unsigned long long, signed > long long, vector uns > BUILD_VAR_TEST( test11, vector unsigned long long, signed int, vector > unsigned long long); > BUILD_CST_TEST( test12, vector unsigned long long, 12, vector unsigned long > long); > > -/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mlxvx\M|\mlvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} > 12 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c > index 0ef1c590d94..997f6f89a9d 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c > @@ -36,4 +36,4 @@ BUILD_VAR_TEST( test10, vector unsigned short, signed long > long, vector unsigne > BUILD_VAR_TEST( test11, vector unsigned short, signed int, vector unsigned > short); > BUILD_CST_TEST( test12, vector unsigned short, 12, vector unsigned short); > > -/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} 12 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c > index 0b76341b1de..6aae43583f6 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c > @@ -35,5 +35,5 @@ 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, 12, vector unsigned char); > > -/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} 12 } } */ > > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c > index beb6d037a6b..b3f3b7fcd07 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c > @@ -27,4 +27,4 @@ BUILD_VAR_TEST( test4, vector double, int, vector double); > BUILD_VAR_TEST( test5, vector double, long long, vector double); > BUILD_CST_TEST( test6, vector double, 12, vector double); > > -/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mlxvx\M|\mlvx\M} 6 } } */ > +/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} > 6 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c > index 5f9b6d35830..56cbe9ad102 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c > @@ -27,4 +27,4 @@ BUILD_VAR_TEST( test5, vector float, signed long long, > vector float); > BUILD_VAR_TEST( test7, vector float, signed int, vector float); > BUILD_CST_TEST( test8, vector float, 12, vector float); > > -/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M} 6 } } */ > +/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} 6 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-int.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-int.c > index a59f52fbb1e..2cde9f5b6dd 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-int.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-int.c > @@ -35,4 +35,4 @@ BUILD_VAR_TEST( test10, vector unsigned int, signed long > long, vector unsigned > BUILD_VAR_TEST( test11, vector unsigned int, signed int, vector unsigned > int); > BUILD_CST_TEST( test12, vector unsigned int, 12, vector unsigned int); > > -/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} 12 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-longlong.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-longlong.c > index 5c121fa26bd..cf2b7f9b5bc 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-longlong.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-longlong.c > @@ -35,4 +35,4 @@ BUILD_VAR_TEST( test10, vector unsigned long long, signed > long long, vector uns > BUILD_VAR_TEST( test11, vector unsigned long long, signed int, vector > unsigned long long); > BUILD_CST_TEST( test12, vector unsigned long long, 12, vector unsigned long > long); > > -/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mlxvx\M|\mlvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} > 12 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-short.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-short.c > index 07154d811a1..cfc0e307d80 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-short.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-short.c > @@ -35,4 +35,4 @@ BUILD_VAR_TEST( test10, vector unsigned short, signed long > long, vector unsigne > BUILD_VAR_TEST( test11, vector unsigned short, signed int, vector unsigned > short); > BUILD_CST_TEST( test12, vector unsigned short, 12, vector unsigned short); > > -/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} 12 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-char.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-char.c > index 04c4f31deef..7281b3cca7a 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-char.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-char.c > @@ -35,4 +35,4 @@ BUILD_VAR_TEST( test10, vector unsigned char, signed long > long, unsigned char); > BUILD_VAR_TEST( test11, vector unsigned char, signed int, unsigned char); > BUILD_CST_TEST( test12, vector unsigned char, 12, unsigned char); > > -/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} 12 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-double.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-double.c > index 1958d65be89..3f3d985c45b 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-double.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-double.c > @@ -28,4 +28,4 @@ BUILD_VAR_TEST( test4, vector double, signed long long, > double); > BUILD_VAR_TEST( test5, vector double, signed int, double); > BUILD_CST_TEST( test6, vector double, 12, double); > > -/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mlxvx\M|\mlvx\M} 6 } } */ > +/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} > 6 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-float.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-float.c > index 5578138d2f1..eafe3053771 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-float.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-float.c > @@ -27,4 +27,4 @@ BUILD_VAR_TEST( test4, vector float, signed long long, > vector float); > BUILD_VAR_TEST( test5, vector float, signed int, vector float); > BUILD_CST_TEST( test6, vector float, 12, vector float); > > -/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M} 6 } } */ > +/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} 6 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-int.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-int.c > index 8ba880ea61f..a2267218af9 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-int.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-int.c > @@ -35,4 +35,4 @@ BUILD_VAR_TEST( test10, vector unsigned int, signed long > long, vector unsigned > BUILD_VAR_TEST( test11, vector unsigned int, signed int, vector unsigned > int); > BUILD_CST_TEST( test12, vector unsigned int, 12, vector unsigned int); > > -/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} 12 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-longlong.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-longlong.c > index 6df3c79fd1b..f2e5469ab74 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-longlong.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-longlong.c > @@ -35,4 +35,4 @@ BUILD_VAR_TEST( test10, vector unsigned long long, signed > long long, vector uns > BUILD_VAR_TEST( test11, vector unsigned long long, signed int, vector > unsigned long long); > BUILD_CST_TEST( test12, vector unsigned long long, 12, vector unsigned long > long); > > -/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mlxvx\M|\mlvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} > 12 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-short.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-short.c > index c5088ab177e..2d64b4f11d2 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-short.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-short.c > @@ -35,4 +35,4 @@ BUILD_VAR_TEST( test10, vector unsigned short, signed long > long, vector unsigne > BUILD_VAR_TEST( test11, vector unsigned short, signed int, vector unsigned > short); > BUILD_CST_TEST( test12, vector unsigned short, 12, vector unsigned short); > > -/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mlxvw4x\M|\mlxvd2x\M|\mlxvx\M|\mlvx\M|\mplxv\M} 12 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-splat-floatdouble.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-splat-floatdouble.c > index ab396967c3d..76619177388 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-splat-floatdouble.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-splat-floatdouble.c > @@ -20,11 +20,12 @@ vector double testd_01 (vector double x) { return > vec_splat (x, 0b00001); } > vector double test_dc () > { const vector double y = { 3.0, 5.0 }; return vec_splat (y, 0b00010); } > > -/* If the source vector is a known constant, we will generate a load. */ > -/* { dg-final { scan-assembler-times {\mlvx\M|\mlxvd2x\M|\mlxv\M} 2 } } */ > +/* If the source vector is a known constant, we will generate a load or > possibly > + XXSPLTIW. */ > +/* { dg-final { scan-assembler-times > {\mlvx\M|\mlxvd2x\M|\mlxv\M|\mplxv\M|\mxxspltiw\M} 2 } } */ > > /* For float types, we generate a splat. */ > -/* { dg-final { scan-assembler-times "vspltw|xxspltw" 3 } } */ > +/* { dg-final { scan-assembler-times {\mvspltw\M|\mxxspltw\M} 3 } } */ > > /* For double types, we will generate xxpermdi instructions. */ > /* { dg-final { scan-assembler-times "xxpermdi" 3 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-splat-longlong.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-splat-longlong.c > index 4fa06c85ecc..b95b987abce 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-splat-longlong.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-splat-longlong.c > @@ -25,7 +25,7 @@ vector signed long long test_sll () { const vector signed > long long y = {34, 45} > vector unsigned long long test_ull () { const vector unsigned long long y = > {56, 67}; return vec_splat (y, 0b00010); } > > /* Assorted load instructions for the initialization with known constants. */ > -/* { dg-final { scan-assembler-times {\mlvx\M|\mlxvd2x\M|\mlxv\M} 3 } } */ > +/* { dg-final { scan-assembler-times {\mlvx\M|\mlxvd2x\M|\mlxv\M|\mplxv\M} 3 > } } */ > > /* xxpermdi for vec_splat of long long vectors. > At the time of this writing, the number of xxpermdi instructions > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-char.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-char.c > index d1100d01a83..162563caed4 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-char.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-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, 12, vector unsigned char ); > > -/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 12 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-double.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-double.c > index 74e34c307fd..c42a720d361 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-double.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-double.c > @@ -28,4 +28,4 @@ BUILD_VAR_TEST( test4, vector double, signed long long, > double ); > BUILD_VAR_TEST( test5, vector double, signed int, double ); > BUILD_CST_TEST( test6, vector double, 12, double ); > > -/* { dg-final { scan-assembler-times {\mstxvd2x\M|\mstxvx\M|\mstvx\M} 6 } } > */ > +/* { dg-final { scan-assembler-times > {\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 6 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-float.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-float.c > index db6bd331829..b200c47fd2f 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-float.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-float.c > @@ -28,4 +28,4 @@ BUILD_VAR_TEST( test4, vector float, signed long long, > vector float ); > BUILD_VAR_TEST( test5, vector float, signed int, vector float ); > BUILD_CST_TEST( test6, vector float, 12, vector float ); > > -/* { dg-final { scan-assembler-times {\mstxvd2x\M|\mstxvx\M|\mstvx\M} 6 } } > */ > +/* { dg-final { scan-assembler-times > {\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 6 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-int.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-int.c > index 2a328897cbb..d9848820b3a 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-int.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-int.c > @@ -36,4 +36,4 @@ BUILD_VAR_TEST( test10, vector unsigned int, signed long > long, vector unsigned i > BUILD_VAR_TEST( test11, vector unsigned int, signed int, vector unsigned int > ); > BUILD_CST_TEST( test12, vector unsigned int, 12, vector unsigned int ); > > -/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 12 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c > index a62ca516f95..bb72d9b2a99 100644 > --- > a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c > +++ > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c > @@ -36,4 +36,4 @@ BUILD_VAR_TEST( test10, vector unsigned long long, signed > long long, vector uns > BUILD_VAR_TEST( test11, vector unsigned long long, signed int, vector > unsigned long long ); > BUILD_CST_TEST( test12, vector unsigned long long, 12, vector unsigned long > long ); > > -/* { dg-final { scan-assembler-times {\mstxvd2x\M|\mstxvx\M|\mstvx\M} 12 } } > */ > +/* { dg-final { scan-assembler-times > {\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 12 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-short.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-short.c > index 2b1e1c0b90e..f4dbb702583 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-short.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-short.c > @@ -36,4 +36,4 @@ BUILD_VAR_TEST( test10, vector unsigned short, signed long > long, vector unsigned > BUILD_VAR_TEST( test11, vector unsigned short, signed int, vector unsigned > short ); > BUILD_CST_TEST( test12, vector unsigned short, 12, vector unsigned short ); > > -/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 12 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-char.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-char.c > index 82bb891a9c9..ae5cf8ef0b4 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-char.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-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, 12, vector unsigned char ); > > -/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 12 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c > index 34772cfe135..1360f4d4ce9 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c > @@ -28,4 +28,4 @@ BUILD_VAR_TEST( test7, vector double, signed long long, > vector double ); > BUILD_VAR_TEST( test8, vector double, signed int, vector double ); > BUILD_CST_TEST( test9, vector double, 12, vector double ); > > -/* { dg-final { scan-assembler-times {\mstxvd2x\M|\mstxvx\M|\mstvx\M} 6 } } > */ > +/* { dg-final { scan-assembler-times > {\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 6 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-float.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-float.c > index cf13f2a7ec1..1b70f2a80f7 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-float.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-float.c > @@ -28,4 +28,4 @@ BUILD_VAR_TEST( test7, vector float, signed long long, > vector float ); > BUILD_VAR_TEST( test8, vector float, signed int, vector float ); > BUILD_CST_TEST( test9, vector float, 12, vector float ); > > -/* { dg-final { scan-assembler-times {\mstxvd2x\M|\mstxvx\M|\mstvx\M} 6 } } > */ > +/* { dg-final { scan-assembler-times > {\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 6 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-int.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-int.c > index a9e189ddadd..4e4a499eaad 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-int.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-int.c > @@ -36,4 +36,4 @@ BUILD_VAR_TEST( test10, vector unsigned int, signed long > long, vector unsigned i > BUILD_VAR_TEST( test11, vector unsigned int, signed int, vector unsigned int > ); > BUILD_CST_TEST( test12, vector unsigned int, 12, vector unsigned int ); > > -/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 12 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-longlong.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-longlong.c > index f50e2b93da1..b57c126b9ab 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-longlong.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-longlong.c > @@ -36,4 +36,4 @@ BUILD_VAR_TEST( test10, vector unsigned long long, signed > long long, vector unsi > BUILD_VAR_TEST( test11, vector unsigned long long, signed int, vector > unsigned long long ); > BUILD_CST_TEST( test12, vector unsigned long long, 12, vector unsigned long > long ); > > -/* { dg-final { scan-assembler-times {\mstxvd2x\M|\mstxvx\M|\mstvx\M} 12 } } > */ > +/* { dg-final { scan-assembler-times > {\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 12 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-short.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-short.c > index 0f8a93ad371..7593f425258 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-short.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-short.c > @@ -36,4 +36,4 @@ BUILD_VAR_TEST( test10, vector unsigned short, signed long > long, vector unsigned > BUILD_VAR_TEST( test11, vector unsigned short, signed int, vector unsigned > short ); > BUILD_CST_TEST( test12, vector unsigned short, 12, vector unsigned short ); > > -/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 12 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-char.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-char.c > index 4f5930aa909..fdd2ed5648d 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-char.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-char.c > @@ -35,4 +35,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, 12, vector unsigned char ); > > -/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 12 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-double.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-double.c > index 511d5fe7299..62f8552fdde 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-double.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-double.c > @@ -27,4 +27,4 @@ BUILD_VAR_TEST( test7, vector double, signed long long, > vector double ); > BUILD_VAR_TEST( test8, vector double, signed int, vector double ); > BUILD_CST_TEST( test9, vector double, 12, vector double ); > > -/* { dg-final { scan-assembler-times {\mstxvd2x\M|\mstxvx\M|\mstvx\M} 6 } } > */ > +/* { dg-final { scan-assembler-times > {\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 6 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-float.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-float.c > index 13e6cb6e7af..ad15a5a2b51 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-float.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-float.c > @@ -27,4 +27,4 @@ BUILD_VAR_TEST( test7, vector float, signed long long, > vector float ); > BUILD_VAR_TEST( test8, vector float, signed int, vector float ); > BUILD_CST_TEST( test9, vector float, 12, vector float ); > > -/* { dg-final { scan-assembler-times {\mstxvd2x\M|\mstxvx\M|\mstvx\M} 6 } } > */ > +/* { dg-final { scan-assembler-times > {\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 6 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-int.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-int.c > index fd6ff78509b..abe93dfb235 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-int.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-int.c > @@ -35,4 +35,4 @@ BUILD_VAR_TEST( test10, vector unsigned int, signed long > long, vector unsigned i > BUILD_VAR_TEST( test11, vector unsigned int, signed int, vector unsigned int > ); > BUILD_CST_TEST( test12, vector unsigned int, 12, vector unsigned int ); > > -/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 12 } } */ > diff --git > a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-longlong.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-longlong.c > index a669481b0d8..6859593bf0a 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-longlong.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-longlong.c > @@ -35,4 +35,4 @@ BUILD_VAR_TEST( test10, vector unsigned long long, signed > long long, vector unsi > BUILD_VAR_TEST( test11, vector unsigned long long, signed int, vector > unsigned long long ); > BUILD_CST_TEST( test12, vector unsigned long long, 12, vector unsigned long > long ); > > -/* { dg-final { scan-assembler-times {\mstxvd2x\M|\mstxvx\M|\mstvx\M} 12 } } > */ > +/* { dg-final { scan-assembler-times > {\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 12 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-short.c > b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-short.c > index 78eae57fb23..6c54873db20 100644 > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-short.c > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-short.c > @@ -35,4 +35,4 @@ BUILD_VAR_TEST( test10, vector unsigned short, signed long > long, vector unsigned > BUILD_VAR_TEST( test11, vector unsigned short, signed int, vector unsigned > short ); > BUILD_CST_TEST( test12, vector unsigned short, 12, vector unsigned short ); > > -/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M} 12 } } */ > +/* { dg-final { scan-assembler-times > {\mstxvw4x\M|\mstxvd2x\M|\mstxvx\M|\mstvx\M|\mpstxv\M} 12 } } */ > diff --git a/gcc/testsuite/gcc.target/powerpc/lvsl-lvsr.c > b/gcc/testsuite/gcc.target/powerpc/lvsl-lvsr.c > index 93843c09f35..26aadbcbc63 100644 > --- a/gcc/testsuite/gcc.target/powerpc/lvsl-lvsr.c > +++ b/gcc/testsuite/gcc.target/powerpc/lvsl-lvsr.c > @@ -6,7 +6,7 @@ > /* { dg-options "-O0 -Wno-deprecated" } */ > /* { dg-final { scan-assembler-times "lvsl" 2 } } */ > /* { dg-final { scan-assembler-times "lvsr" 2 } } */ > -/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mlxv\M} 2 } } */ > +/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mp?lxv\M} 2 } } */ Caught my eye, looks OK since the "?" means the preceeding char is optional. > /* { dg-final { scan-assembler-times {\m(?:v|xx)permr?\M} 2 } } */ > > > diff --git a/gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c > b/gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c > index 1269fe635c6..d5ed700b9bc 100644 > --- a/gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c > +++ b/gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c > @@ -30,5 +30,5 @@ vector signed long long splats4(void) > > /* { dg-final { scan-assembler-times {\mvspltis[bhw]\M} 0 } } */ > /* { dg-final { scan-assembler-times {\mvsl[bhwd]\M} 0 } } */ > -/* { dg-final { scan-assembler-times {\mlvx\M|\mlxv\M|\mlxvd2x\M} 2 } } */ > +/* { dg-final { scan-assembler-times {\mlvx\M|\mlxv\M|\mlxvd2x\M|\mplvx\M} 2 > } } */ > lgtm, thanks -Will > -- > 2.31.1 >