Hi, 

This test has been flaky on both AIX and in older linux based
environments. Notably, the number of xxlor instructions
generated varies depending on the platform and the specified
bit-size (32/64), with older environments generating either 6 or 24
xxlor instructions.  The behavior appears to level out on power8 targets,
so update this test to target power8-vector and specify the
-mpower8-vector option.

[gcc/testsuite]

2017-05-26  Will Schmidt  <will_schm...@vnet.ibm.com>

        * gcc.target/powerpc/fold-vec-logical-ors-longlong.c:
        Update the target to powerpc_p8vector_ok. Update dg-options
        value to -mpower8-vector.


diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-logical-ors-longlong.c 
b/gcc/testsuite/gcc.target/powerpc/fold-vec-logical-ors-longlong.c
index 7ca23fb..10c69d3 100644
--- a/gcc/testsuite/gcc.target/powerpc/fold-vec-logical-ors-longlong.c
+++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-logical-ors-longlong.c
@@ -2,8 +2,8 @@
  * long long inputs produce the right results.  */
 
 /* { dg-do compile } */
-/* { dg-require-effective-target powerpc_vsx_ok } */
-/* { dg-options "-mvsx -O2" } */
+/* { dg-require-effective-target powerpc_p8vector_ok } */
+/* { dg-options "-mpower8-vector -O2" } */
 
 #include <altivec.h>
 
@@ -151,11 +151,11 @@ test6_nor (vector unsigned long long x, vector unsigned 
long long y)
   return *foo;
 }
 
-// Codegen on power7 is such that the vec_or() tests generate more xxlor
-// instructions than what is seen on power8 or newer.
-// Thus, an additional target clause for the xxlor instruction check.
-/* { dg-final { scan-assembler-times {\mxxlor\M} 6 { target p8vector_hw }  } } 
*/
-/* { dg-final { scan-assembler-times {\mxxlor\M} 24 { target { ! p8vector_hw } 
 }  } } */
+// The number of xxlor instructions generated varies between 6 and 24 for
+// older systems (power6,power7), as well as for 32-bit versus 64-bit targets.
+// For simplicity, this test now only targets "powerpc_p8vector_ok" 
environments
+// where the answer is expected to be 6.
 
+/* { dg-final { scan-assembler-times {\mxxlor\M} 6 } } */
 /* { dg-final { scan-assembler-times {\mxxlxor\M} 6 } } */
 /* { dg-final { scan-assembler-times {\mxxlnor\M} 6 } } */


Reply via email to