After a resent GCC change the previously submitted BMI/BMI2 intrinsic test started to fail with the following warning/error.
ppc_cpu_supports_hw_available122373.c: In function 'main': ppc_cpu_supports_hw_available122373.c:9:10: warning: __builtin_cpu_supports need s GLIBC (2.23 and newer) that exports hardware capability bits The does not occur on systems with the newer (2.23) GLIBC but is common on older (stable) distos. As this is coming from the bmi-check.h and bmi2-check.h includes (and not the tests directly) it seems simpler to simply skip the test unless __BUILTIN_CPU_SUPPORTS__ is defined. [gcc/testsuite] 2017-07-17 Steven Munroe <munro...@gcc.gnu.org> *gcc.target/powerpc/bmi-check.h (main): Skip unless __BUILTIN_CPU_SUPPORTS__ defined. *gcc.target/powerpc/bmi2-check.h (main): Skip unless __BUILTIN_CPU_SUPPORTS__ defined. Index: gcc/testsuite/gcc.target/powerpc/bmi-check.h =================================================================== --- gcc/testsuite/gcc.target/powerpc/bmi-check.h (revision 250212) +++ gcc/testsuite/gcc.target/powerpc/bmi-check.h (working copy) @@ -13,6 +13,7 @@ do_test (void) int main () { +#ifdef __BUILTIN_CPU_SUPPORTS__ /* Need 64-bit for 64-bit longs as single instruction. */ if ( __builtin_cpu_supports ("ppc64") ) { @@ -25,6 +26,6 @@ main () else printf ("SKIPPED\n"); #endif - +#endif /* __BUILTIN_CPU_SUPPORTS__ */ return 0; } Index: gcc/testsuite/gcc.target/powerpc/bmi2-check.h =================================================================== --- gcc/testsuite/gcc.target/powerpc/bmi2-check.h (revision 250212) +++ gcc/testsuite/gcc.target/powerpc/bmi2-check.h (working copy) @@ -13,6 +13,7 @@ do_test (void) int main () { +#ifdef __BUILTIN_CPU_SUPPORTS__ /* The BMI2 test for pext test requires the Bit Permute doubleword (bpermd) instruction added in PowerISA 2.06 along with the VSX facility. So we can test for arch_2_06. */ @@ -27,7 +28,7 @@ main () else printf ("SKIPPED\n"); #endif - +#endif /* __BUILTIN_CPU_SUPPORTS__ */ return 0; }