[PATCH, rs6000] Fix PR84534: several powerpc test cases fail starting with r257915

Peter Bergner bergner@vnet.ibm.com
Wed Feb 28 15:39:00 GMT 2018


This patch fixes PR84534 by XFAILing one test because we are deprecating
-maltivec=be when run on LE.  The other tests are fixed by not counting
xxlor insns.  We cannot rely on stable counts of xxlor insns, because we
generate them not only when using __builtin_vec_or(), but also whenever
we need to copy one vsx reg to another...which can vary depending on
previous optimizations, moon phases, etc.  Therefore, we just make sure
we generate at least one.  I'll note I did try adding -dp and seeing
which patterns generated the xxlors, but there wasn't a clear match
between the xxlor's generated because of the __builtin_vec_or and the
reg copies.

Ok for trunk?

Peter

gcc/testsuite/
	PR target/84534
	* gcc.target/powerpc/vec-setup-be-long.c: xfail.
	* gcc.target/powerpc/vsx-vector-6-le.c: Do not count xxlor's.
	* gcc.target/powerpc/vsx-vector-6-le.p9.c: Likewise.

Index: gcc/testsuite/gcc.target/powerpc/vec-setup-be-long.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vec-setup-be-long.c	(revision 258038)
+++ gcc/testsuite/gcc.target/powerpc/vec-setup-be-long.c	(working copy)
@@ -1,4 +1,6 @@
-/* { dg-do run { target { powerpc64le*-*-linux* } } } */
+/* Per PR78303, we are deprecating usage of -maltivec=be on little endian,
+   so XFAIL this test until support is actually removed.  */
+/* { dg-do run xfail { powerpc64le*-*-linux* } } } */
 /* { dg-require-effective-target vsx_hw } */
 /* Disable warnings to squelch deprecation message about -maltivec=be.  */
 /* { dg-options "-w -O2 -mvsx -maltivec=be" } */
Index: gcc/testsuite/gcc.target/powerpc/vsx-vector-6-le.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vsx-vector-6-le.c	(revision 258038)
+++ gcc/testsuite/gcc.target/powerpc/vsx-vector-6-le.c	(working copy)
@@ -9,7 +9,7 @@
 /* { dg-final { scan-assembler-times "xvabsdp" 1 } } */
 /* { dg-final { scan-assembler-times "xvadddp" 1 } } */
 /* { dg-final { scan-assembler-times "xxlnor" 8 } } */
-/* { dg-final { scan-assembler-times "xxlor" 30 } } */
+/* { dg-final { scan-assembler "xxlor" } } */
 /* { dg-final { scan-assembler-times "xvcmpeqdp" 5 } } */
 /* { dg-final { scan-assembler-times "xvcmpgtdp" 8 } } */
 /* { dg-final { scan-assembler-times "xvcmpgedp" 6 } } */
Index: gcc/testsuite/gcc.target/powerpc/vsx-vector-6-le.p9.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vsx-vector-6-le.p9.c	(revision 258038)
+++ gcc/testsuite/gcc.target/powerpc/vsx-vector-6-le.p9.c	(working copy)
@@ -9,7 +9,7 @@
 /* { dg-final { scan-assembler-times "xvabsdp" 1 } } */
 /* { dg-final { scan-assembler-times "xvadddp" 1 } } */
 /* { dg-final { scan-assembler-times "xxlnor" 7 } } */
-/* { dg-final { scan-assembler-times "xxlor" 20 } } */
+/* { dg-final { scan-assembler "xxlor" } } */
 /* { dg-final { scan-assembler-times "xvcmpeqdp" 5 } } */
 /* { dg-final { scan-assembler-times "xvcmpgtdp" 8 } } */
 /* { dg-final { scan-assembler-times "xvcmpgedp" 8 } } */



More information about the Gcc-patches mailing list