]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Deal with prefixed loads/stores in tests, PR testsuite/100166
authorMichael Meissner <meissner@linux.ibm.com>
Tue, 13 Jul 2021 04:36:43 +0000 (00:36 -0400)
committerMichael Meissner <meissner@linux.ibm.com>
Tue, 13 Jul 2021 04:41:21 +0000 (00:41 -0400)
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.

41 files changed:
gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-char.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-double.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-float.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-int.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-longlong.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-builtin_vec_xl-short.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-char.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-double.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-float.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-int.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-longlong.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_vsx_ld-short.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-char.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-double.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-float.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-int.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-longlong.c
gcc/testsuite/gcc.target/powerpc/fold-vec-load-vec_xl-short.c
gcc/testsuite/gcc.target/powerpc/fold-vec-splat-floatdouble.c
gcc/testsuite/gcc.target/powerpc/fold-vec-splat-longlong.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-char.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-double.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-float.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-int.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-longlong.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-builtin_vec_xst-short.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-char.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-double.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-float.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-int.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-longlong.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_vsx_st-short.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-char.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-double.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-float.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-int.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-longlong.c
gcc/testsuite/gcc.target/powerpc/fold-vec-store-vec_xst-short.c
gcc/testsuite/gcc.target/powerpc/lvsl-lvsr.c
gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c

index 246f38fa6d14e42cae682dcde3913793afa0b40d..d9f173b521e62109b077942f56306263414cc130 100644 (file)
@@ -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? " } } */
index 9b199c219bf6b49cb535df6a15f3a1dd86f48b51..f6eb88fbe395ce947a2c03339ab9e9480a9f36e7 100644 (file)
@@ -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 } } */
index c49dfe8d95b89430b41981ea6e4087267c9da1c1..66d544530f68d6ce83ed6f199a145b0c1f5f6fdd 100644 (file)
@@ -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 } } */
index cdded361b128e32af630ab03ef489bcf92fe6d18..7d84c2091dfba18abd71077f9d8c46c9d110e8f2 100644 (file)
@@ -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 } } */
index bc18bebb1d6f0119db7745e34635b2a385da3636..c6a8226d012f1d365287452a0753063eeee6a396 100644 (file)
@@ -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 } } */
index 66e953a2fbc8cb484d7f144f612d8706ff3e0280..6f0cd734475b75e7031d9fe86d6117146754b8d8 100644 (file)
@@ -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 } } */
index 0ef1c590d9439d422633a03e068dc01c20781db9..6c270a93fe1f7f8577ef7bfb4d5ff28fb1f580c5 100644 (file)
@@ -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 } } */
index 0b76341b1de3df5de40d1459242885d2128afff9..6aae43583f60e4be7b1be8c5d9c1ce39ad12183b 100644 (file)
@@ -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 } } */
 
index beb6d037a6bae52c05555831c8167f75f1f3c487..b3f3b7fcd0770cc5278d20791592df58d7964c27 100644 (file)
@@ -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 } } */
index 5f9b6d3583061a7f684685c5965939239b8a95d2..56cbe9ad10238baf7c9a915dcf95a2825b1b1dfc 100644 (file)
@@ -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 } } */
index a59f52fbb1e17a7b93ef04855573c8cbc4969e19..2cde9f5b6ddfdcea5421a4cebea2d48951061c9e 100644 (file)
@@ -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 } } */
index 5c121fa26bd79520dd3de1d956f9235504e79246..cf2b7f9b5bc9bd852f60fd887a7f4169f41178b7 100644 (file)
@@ -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 } } */
index 07154d811a1059212da5cf8b615d678a80f7e7c8..cfc0e307d8042390260fc830c55092687f04df0e 100644 (file)
@@ -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 } } */
index 04c4f31deef5dd23f8cf6300f9d9f875d3b0d04f..7281b3cca7ace8eb630061ff47d4becb63edd154 100644 (file)
@@ -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 } } */
index 1958d65be8990d657e79bac985a99076115ea36c..3f3d985c45bf8c6037c02a29550df8822fc15271 100644 (file)
@@ -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 } } */
index 5578138d2f1c4b2b0bc048961c901a626488a740..eafe3053771b6585cf32fd092156fc15091c3414 100644 (file)
@@ -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 } } */
index 8ba880ea61f09fd963672f57039eca524ec3bec4..a2267218af9ac5fc5b17fd58295950f3b1cca560 100644 (file)
@@ -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 } } */
index 6df3c79fd1b1c3f703e13abb478271fd889c1294..f2e5469ab742d4f932e70a0e55a0a52d4f552bb2 100644 (file)
@@ -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 } } */
index c5088ab177ee459bd456e1d951559957eb13ca25..2d64b4f11d2767363fc5737ea5ac47eaa4160e33 100644 (file)
@@ -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 } } */
index ab396967c3d418c6cf38642ae0fb2602d13db561..766191773881d5c2f95ac3a3d18843a2d085e9c5 100644 (file)
@@ -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 } } */
index 4fa06c85ecc61df6d7e9e1acfc3b83fb32f439f8..b95b987abceff22a976fd5ede900ba6b36dc4613 100644 (file)
@@ -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
index d1100d01a83df3bbc98da81558d656bfc687290f..162563caed4aefea15fc57ab21cfde82400a999b 100644 (file)
@@ -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 } } */
index 74e34c307fd8d072ef73e2e02b6cc91f409eeafa..c42a720d361542c91837e6a83de78f66e8c2b120 100644 (file)
@@ -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 } } */
index db6bd33182906fe33ff6a4204ae13e208dcb3451..b200c47fd2f886764ebbc1988d2b4e0bb0ea821b 100644 (file)
@@ -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 } } */
index 2a328897cbba75d99798e15601bf85e93f84a015..d9848820b3afde7d4f4574c7aab49a35d90b9a26 100644 (file)
@@ -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 } } */
index a62ca516f95ad4cfe060ca1040675b7f15912c69..bb72d9b2a9981f094013bf1c594494dd4fe6e9ae 100644 (file)
@@ -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 } } */
index 2b1e1c0b90e5178c78e4b481c0f4696f5fccf633..f4dbb7025830aaad55bf3977b7d3dca0c218fdb4 100644 (file)
@@ -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 } } */
index 82bb891a9c90ede440dfe54145a4072010751f8a..ae5cf8ef0b482e0a29a2ab89dd3f98445f99d305 100644 (file)
@@ -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 } } */
index 34772cfe135fa9f2c4154b44b59d74b6dc2045cb..1360f4d4ce950714e7dfcfc73e5beb3171d1c06a 100644 (file)
@@ -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 } } */
index cf13f2a7ec123d14afca19096b0abd085a6b0521..1b70f2a80f7977bac1f040d78751311f586d438b 100644 (file)
@@ -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 } } */
index a9e189ddaddda25284c0e970549dfcf8226e1944..4e4a499eaad398d8c7de6e2e1ef5dbe65646b471 100644 (file)
@@ -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 } } */
index f50e2b93da198adf36f87e6a82833f4618e52228..b57c126b9ab866f5d680e91975ca11927a521ab3 100644 (file)
@@ -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 } } */
index 0f8a93ad371e92a010c1f4666d95d4f2069ea7d4..7593f42525835b384b82e5e94be642bc7e448feb 100644 (file)
@@ -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 } } */
index 4f5930aa909b3142e98a97b940eb475545b8df62..fdd2ed5648d1aff6c2d9ee2b17f987aa63bcdcd2 100644 (file)
@@ -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 } } */
index 511d5fe72998eecbda057329630e81321ea1bfa6..62f8552fddec06eb54b127713e8c36e7a7be40c0 100644 (file)
@@ -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 } } */
index 13e6cb6e7af2e7ee391f3080025e9bd7b395c952..ad15a5a2b518ea915e32504141953322007aaf9f 100644 (file)
@@ -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 } } */
index fd6ff78509bbadcf6161376f66d43c3f4ef5d303..abe93dfb2351be6f9951629c776d32eb212e9be2 100644 (file)
@@ -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 } } */
index a669481b0d8d8e8ae0f8fae2218e890df5678f72..6859593bf0a828e4db24627178799cff3fcb6751 100644 (file)
@@ -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 } } */
index 78eae57fb23ae0ee525732082366f89f58e55caa..6c54873db2089020f95859fd82275f5ee88fc443 100644 (file)
@@ -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 } } */
index 93843c09f35a1387010081c62ab9912cbfe8a3d4..26aadbcbc6322765c44ea8cd12a665cd09c3ecbd 100644 (file)
@@ -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 } } */
 
 
index 1269fe635c638dc75b4058a7ed945f2a12555039..bd1502bb30a9aa13ba7f9790157b5703adcff137 100644 (file)
@@ -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 } } */