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
> 

Reply via email to