diff options
author | Michael Meissner <meissner@linux.ibm.com> | 2021-07-13 00:36:43 -0400 |
---|---|---|
committer | Michael Meissner <meissner@linux.ibm.com> | 2021-07-13 00:41:21 -0400 |
commit | 063eba7ca73030139a3bf822ed127cf09b2fc226 (patch) | |
tree | f542c00e701e199f566988e8af439f370539b904 /gcc | |
parent | 31ff034a1eadfd4641ce9c44647e30a759cfbbfb (diff) | |
download | gcc-063eba7ca73030139a3bf822ed127cf09b2fc226.zip gcc-063eba7ca73030139a3bf822ed127cf09b2fc226.tar.gz gcc-063eba7ca73030139a3bf822ed127cf09b2fc226.tar.bz2 |
Deal with prefixed loads/stores in tests, PR testsuite/100166
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.
2021-07-13 Michael Meissner <meissner@linux.ibm.com>
gcc/testsuite/
PR testsuite/100166
* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: Update
insn counts to account for power10 prefixed loads and stores.
* gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c:
Likewise.
* gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c:
Likewise.
* gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c:
Likewise.
* gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c:
Likewise.
* gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c:
Likewise.
* gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c:
Likewise.
* gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c: Likewise.
* gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c: Likewise.
* gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c: Likewise.
* gcc.target/powerpc/fold-vec-load-vec_vsx_ld-int.c: Likewise.
* gcc.target/powerpc/fold-vec-load-vec_vsx_ld-longlong.c:
Likewise.
* gcc.target/powerpc/fold-vec-load-vec_vsx_ld-short.c: Likewise.
* gcc.target/powerpc/fold-vec-load-vec_xl-char.c: Likewise.
* gcc.target/powerpc/fold-vec-load-vec_xl-double.c: Likewise.
* gcc.target/powerpc/fold-vec-load-vec_xl-float.c: Likewise.
* gcc.target/powerpc/fold-vec-load-vec_xl-int.c: Likewise.
* gcc.target/powerpc/fold-vec-load-vec_xl-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-load-vec_xl-short.c: Likewise.
* gcc.target/powerpc/fold-vec-splat-floatdouble.c: Likewise.
* gcc.target/powerpc/fold-vec-splat-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-store-builtin_vec_xst-char.c:
Likewise.
* gcc.target/powerpc/fold-vec-store-builtin_vec_xst-double.c:
Likewise.
* gcc.target/powerpc/fold-vec-store-builtin_vec_xst-float.c:
Likewise.
* gcc.target/powerpc/fold-vec-store-builtin_vec_xst-int.c:
Likewise.
* gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c:
Likewise.
* gcc.target/powerpc/fold-vec-store-builtin_vec_xst-short.c:
Likewise.
* gcc.target/powerpc/fold-vec-store-vec_vsx_st-char.c: Likewise.
* gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c:
Likewise.
* gcc.target/powerpc/fold-vec-store-vec_vsx_st-float.c: Likewise.
* gcc.target/powerpc/fold-vec-store-vec_vsx_st-int.c: Likewise.
* gcc.target/powerpc/fold-vec-store-vec_vsx_st-longlong.c:
Likewise.
* gcc.target/powerpc/fold-vec-store-vec_vsx_st-short.c: Likewise.
* gcc.target/powerpc/fold-vec-store-vec_xst-char.c: Likewise.
* gcc.target/powerpc/fold-vec-store-vec_xst-double.c: Likewise.
* gcc.target/powerpc/fold-vec-store-vec_xst-float.c: Likewise.
* gcc.target/powerpc/fold-vec-store-vec_xst-int.c: Likewise.
* gcc.target/powerpc/fold-vec-store-vec_xst-longlong.c: Likewise.
* gcc.target/powerpc/fold-vec-store-vec_xst-short.c: Likewise.
* gcc.target/powerpc/lvsl-lvsr.c: Likewise.
* gcc.target/powerpc/pr86731-fwrapv-longlong.c: Likewise.
Diffstat (limited to 'gcc')
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 246f38f..d9f173b 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 9b199c2..f6eb88f 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|\mp?lvx\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 c49dfe8..66d5445 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|\mp?lvx\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 cdded36..7d84c20 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|\mp?lvx\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 bc18beb..c6a8226 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|\mp?lvx\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 66e953a..6f0cd73 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|\mp?lvx\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 0ef1c59..6c270a9 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|\mp?lvx\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 0b76341..6aae435 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 beb6d03..b3f3b7f 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 5f9b6d3..56cbe9a 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 a59f52f..2cde9f5 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 5c121fa..cf2b7f9 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 07154d8..cfc0e30 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 04c4f31..7281b3c 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 1958d65..3f3d985 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 5578138..eafe305 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 8ba880e..a226721 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 6df3c79..f2e5469 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 c5088ab..2d64b4f 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 ab39696..7661917 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 4fa06c8..b95b987 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 d1100d0..162563c 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 74e34c3..c42a720 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 db6bd33..b200c47 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 2a32889..d984882 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 a62ca51..bb72d9b 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 2b1e1c0..f4dbb70 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 82bb891..ae5cf8e 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 34772cf..1360f4d 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 cf13f2a..1b70f2a 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 a9e189d..4e4a499 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 f50e2b9..b57c126 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 0f8a93a..7593f42 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 4f5930a..fdd2ed5 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 511d5fe..62f8552 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 13e6cb6..ad15a5a 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 fd6ff78..abe93df 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 a669481..6859593 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 78eae57..6c54873 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 93843c0..26aadbc 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 } } */ /* { 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 1269fe6..bd1502b 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 {\mp?lxv\M|\mlxv\M|\mlxvd2x\M} 2 } } */ |