public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Alan Modra <amodra@gmail.com>
To: Segher Boessenkool <segher@kernel.crashing.org>
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [RS6000] Adjust testcases for power10 instructions V3
Date: Fri, 22 Jan 2021 09:42:14 +1030	[thread overview]
Message-ID: <20210121231214.GL26219@bubble.grove.modra.org> (raw)
In-Reply-To: <20210112033318.GG26219@bubble.grove.modra.org>

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-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..867b4f00e76 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,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 {\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..9b0f839ded4 100644
> > --- a/gcc/testsuite/gcc.target/powerpc/fold-vec-splat-floatdouble.c
> > +++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-splat-floatdouble.c
> > @@ -21,7 +21,7 @@ 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 } } */
> > +/* { dg-final { scan-assembler-times {\mlvx\M|\mlxvd2x\M|\mp?lxv\M} 2 } } */
> >  
> >  /* For float types, we generate a splat.  */
> >  /* { dg-final { scan-assembler-times "vspltw|xxspltw" 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..079e9509fd2 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|\mp?lxv\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-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..45cf2c8b352 100644
> > --- a/gcc/testsuite/gcc.target/powerpc/lvsl-lvsr.c
> > +++ b/gcc/testsuite/gcc.target/powerpc/lvsl-lvsr.c
> > @@ -1,12 +1,12 @@
> >  /* Test expected code generation for lvsl and lvsr on little endian.
> > -   Note that lvsl and lvsr are each produced once, but the filename
> > -   causes them to appear twice in the file.  */
> > +   Note that \s is used in the lvsl/lvsr matches so we don't match
> > +   on '.file "lvsl-lvsr.c"'.  */
> >  
> >  /* { dg-do compile { target { powerpc64le-*-* } } } */
> >  /* { 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 {\slvsl\s} 1 } } */
> > +/* { dg-final { scan-assembler-times {\slvsr\s} 1 } } */
> > +/* { dg-final { scan-assembler-times {\mlxvd2x\M|\mp?lxv\M} 2 } } */
> >  /* { dg-final { scan-assembler-times {\m(?:v|xx)permr?\M} 2 } } */
> >  
> >  
> > diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-eq0-1.c b/gcc/testsuite/gcc.target/powerpc/ppc-eq0-1.c
> > index 496a6e340c0..63799a6c8a8 100644
> > --- a/gcc/testsuite/gcc.target/powerpc/ppc-eq0-1.c
> > +++ b/gcc/testsuite/gcc.target/powerpc/ppc-eq0-1.c
> > @@ -7,4 +7,4 @@ int foo(int x)
> >    return x == 0;
> >  }
> >  
> > -/* { dg-final { scan-assembler "cntlzw|isel" } } */
> > +/* { dg-final { scan-assembler {\mcntlzw\M|\misel\M|\msetbc\M} } } */
> > diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-ne0-1.c b/gcc/testsuite/gcc.target/powerpc/ppc-ne0-1.c
> > index 63c4b6087df..dd9597a68fa 100644
> > --- a/gcc/testsuite/gcc.target/powerpc/ppc-ne0-1.c
> > +++ b/gcc/testsuite/gcc.target/powerpc/ppc-ne0-1.c
> > @@ -2,9 +2,11 @@
> >  /* { dg-do compile } */
> >  /* { dg-options "-O2 -mno-isel" } */
> >  
> > -/* { dg-final { scan-assembler-times "addic" 4 } } */
> > -/* { dg-final { scan-assembler-times "subfe" 1 } } */
> > -/* { dg-final { scan-assembler-times "addze" 3 } } */
> > +/* { dg-final { scan-assembler-times {\maddic\M} 4 { target { ! has_arch_pwr10 } } } } */
> > +/* { dg-final { scan-assembler-times {\msubfe\M} 1 { target { ! has_arch_pwr10 } } } } */
> > +/* { dg-final { scan-assembler-times {\maddic\M} 3 { target { has_arch_pwr10 } } } } */
> > +/* { dg-final { scan-assembler-times {\msetbcr\M} 1 { target { has_arch_pwr10 } } } } */
> > +/* { dg-final { scan-assembler-times {\maddze\M} 3 } } */
> >  
> >  long ne0(long a)
> >  {
> > diff --git a/gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c b/gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c
> > index 1269fe635c6..72b83ef9d08 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|\mp?lxv\M|\mlxvd2x\M} 2 } } */
> >  
> > diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
> > index 8439720baea..7e2dd358640 100644
> > --- a/gcc/testsuite/lib/target-supports.exp
> > +++ b/gcc/testsuite/lib/target-supports.exp
> > @@ -5903,6 +5903,16 @@ proc check_effective_target_has_arch_pwr9 { } {
> >  	}]
> >  }
> >  
> > +proc check_effective_target_has_arch_pwr10 { } {
> > +	return [check_no_compiler_messages arch_pwr10 assembly {
> > +		#ifndef _ARCH_PWR10
> > +		#error does not have power10 support.
> > +		#else
> > +		/* "has power10 support" */
> > +		#endif
> > +	}]
> > +}
> > +
> >  # Return 1 if this is a PowerPC target supporting -mcpu=power10.
> >  # Limit this to 64-bit linux systems for now until other targets support
> >  # power10.

-- 
Alan Modra
Australia Development Lab, IBM

      parent reply	other threads:[~2021-01-21 23:12 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-22  7:03 [RS6000] Adjust testcases for power10 instructions Alan Modra
2020-10-22 12:55 ` Alan Modra
2020-10-23  6:15   ` Alan Modra
2020-10-23 18:22     ` Segher Boessenkool
2020-10-24  0:59       ` Alan Modra
2020-10-27  0:29         ` [RS6000] Adjust testcases for power10 instructions V2 Alan Modra
2020-10-30  8:30           ` [RS6000] Adjust testcases for power10 instructions V3 Alan Modra
     [not found]             ` <20210112033318.GG26219@bubble.grove.modra.org>
2021-01-21 23:12               ` Alan Modra [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210121231214.GL26219@bubble.grove.modra.org \
    --to=amodra@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=segher@kernel.crashing.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).