testsuite: Enable p9-lxvx-stxvx testcases and fold-vec-extract
authorDavid Edelsohn <dje.gcc@gmail.com>
Wed, 21 Oct 2020 16:24:00 +0000 (12:24 -0400)
committerDavid Edelsohn <dje.gcc@gmail.com>
Wed, 21 Oct 2020 20:17:43 +0000 (16:17 -0400)
This patch enables the p9-lxvx-stxvx testcases with appropriate
requirements.  It also adjusts the expected matching instructions
in the fold-vec-extract testcases for BE.

gcc/testsuite/ChangeLog:

* gcc.target/powerpc/fold-vec-extract-float.p9.c: rldicl and
subfic only for target LE.
* gcc.target/powerpc/fold-vec-extract-longlong.p9.c: xori only
for target LE.  Adjust mfvsrd and add mfvsrld for BE.
* gcc.target/powerpc/fold-vec-extract-short.p9.c: vextuhrx for LE.
vextuhlx for BE.
* gcc.target/powerpc/p9-lxvx-stxvx-1.c: Remove target.
* gcc.target/powerpc/p9-lxvx-stxvx-2.c: Remove target.
* gcc.target/powerpc/p9-lxvx-stxvx-3.c: Remove target. Require
float128

gcc/testsuite/gcc.target/powerpc/fold-vec-extract-float.p9.c
gcc/testsuite/gcc.target/powerpc/fold-vec-extract-longlong.p9.c
gcc/testsuite/gcc.target/powerpc/fold-vec-extract-short.p9.c
gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-1.c
gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-2.c
gcc/testsuite/gcc.target/powerpc/p9-lxvx-stxvx-3.c

index 1acd477ebd68410be83abd9e5d6cc9a25f1bb335..aaa8a92b162954e48d3ac3fd83cbdf491aa59bb7 100644 (file)
@@ -6,8 +6,8 @@
 /* { dg-options "-mdejagnu-cpu=power9 -O2 " } */
 
 /* { dg-final { scan-assembler-times {\mxscvspdp\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mrldicl\M} 1 } } */
-/* { dg-final { scan-assembler-times {\msubfic\M} 1 } } */
+/* { dg-final { scan-assembler-times {\mrldicl\M} 1 { target le } } } */
+/* { dg-final { scan-assembler-times {\msubfic\M} 1 { target le } } } */
 /* { dg-final { scan-assembler-times {\msldi\M} 1 } } */
 /* { dg-final { scan-assembler-times {\mmtvsrdd\M} 1 } } */
 /* { dg-final { scan-assembler-times {\mvslo\M} 1 } } */
index e7e1c5648027d80301f18895231d6359d00eeec9..29814ed13dbee93485213dc94a5c351163344d22 100644 (file)
@@ -1,5 +1,5 @@
 /* Verify that overloaded built-ins for vec_extract() with long long
-   inputs produce the right code for a P9 (LE) target.  */
+   inputs produce the right code for a P9 target.  */
 
 /* { dg-do compile { target lp64 } } */
 /* { dg-require-effective-target powerpc_p9vector_ok } */
 // p9 vars:  xori, rldic, mtvsrdd, vslo, mfvsrd
 
 /* results. */
-/* { dg-final { scan-assembler-times {\mxori\M} 3 } } */
+/* { dg-final { scan-assembler-times {\mxori\M} 3 { target le } } } */
 /* { dg-final { scan-assembler-times {\mrldic\M} 3 } } */
 /* { dg-final { scan-assembler-times {\mmtvsrdd\M} 3 } } */
 /* { dg-final { scan-assembler-times {\mvslo\M} 3 } } */
-/* { dg-final { scan-assembler-times {\mmfvsrd\M} 6 } } */
+/* { dg-final { scan-assembler-times {\mmfvsrd\M} 6 { target le } } } */
+/* { dg-final { scan-assembler-times {\mmfvsrd\M} 3 { target be } } } */
+/* { dg-final { scan-assembler-times {\mmfvsrld\M} 3 { target be } } } */
 
 #include <altivec.h>
 
index 5651986bd0c2906faf2c4e94e5574ebd47c56996..fac35cb792ff714ec0147b4980b5aaf0fe6430d2 100644 (file)
@@ -1,17 +1,18 @@
 /* Verify that overloaded built-ins for vec_extract() with short
-   inputs produce the right code for a P9 (LE) target.  */
+   inputs produce the right code for a P9 target.  */
 
 /* { dg-do compile { target lp64 } } */
 /* { dg-require-effective-target powerpc_p9vector_ok } */
 /* { dg-options "-mdejagnu-cpu=power9 -O2" } */
 
-// six tests total. Targeting P9 LE.
+// six tests total. Targeting P9.
 // p9 (le) variable offset: slwi, vextuhlx, extsh
 // p9 (le) const offset:  li, vextuhlx, extsh
 
 /* { dg-final { scan-assembler-times {\mslwi\M} 3 } } */
 /* { dg-final { scan-assembler-times {\mli\M} 3 } } */
-/* { dg-final { scan-assembler-times "vextuhrx" 6 } } */
+/* { dg-final { scan-assembler-times "vextuhrx" 6 { target le } } } */
+/* { dg-final { scan-assembler-times "vextuhlx" 6 { target be } } } */
 /* { dg-final { scan-assembler-times {\mextsh\M} 2 } } */
 
 #include <altivec.h>
index e302f7196d3a0b3b311815907eda5f6aabe01b94..553942907b65c69266e36a752dd192fdbfce5ae8 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { powerpc64le-*-* } } } */
+/* { dg-do compile } */
 /* { dg-require-effective-target powerpc_p9vector_ok } */
 /* { dg-options "-mdejagnu-cpu=power9 -O3" } */
 /* { dg-final { scan-assembler "lxvx" } } */
index 0da44eb49f9496e3d15c4a971d16fa2151e3eb75..edab6164814055f9d48665178d2e1bc7ea84cc97 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { powerpc64le-*-* } } } */
+/* { dg-do compile } */
 /* { dg-require-effective-target powerpc_p9vector_ok } */
 /* { dg-options "-mdejagnu-cpu=power9 -O1" } */
 /* { dg-final { scan-assembler "lxvx" } } */
index 6d64a1ba42b0100ac3708134411425c541cd079e..3cb28ee5b2a3edd6becd5bb0685064a7037cd89e 100644 (file)
@@ -1,4 +1,5 @@
-/* { dg-do compile { target { powerpc64le-*-* } } } */
+/* { dg-do compile } */
+/* { dg-require-effective-target ppc_float128_sw } */
 /* { dg-options "-mdejagnu-cpu=power9 -O3 -mfloat128" } */
 /* { dg-require-effective-target powerpc_p9vector_ok } */
 /* { dg-final { scan-assembler "lxvx" } } */