This test is failing with older cpus because the included header needs both
altivec and vsx to be enabled to succeed in compiling. Without this (if these
are not defaults for the cpu) there are errors like:
In file included from ... x86intrin.h:41,
from ... bmi2-bzhi64-1a.c:6:
... xmmintrin.h: In function '_mm_loadu_ps':
... xmmintrin.h:122:11:
error: incompatible types when returning type 'int' but '__m128' {aka '__vector(4) float'} was expected
<snip>
... xmmintrin.h: In function '_mm_cvtps_pi32':
... xmmintrin.h:996:3:
error: use of 'long long' in AltiVec types is invalid without '-mvsx'
<snip>
Fixed by adding -maltivec -mvsx to the options.
gcc/testsuite/
2019-07-27 Iain Sandoe <iain@sandoe.co.uk>
* gcc.target/powerpc/bmi2-bzhi64-1a.c: Add options to enable altivec
and vsx.
From-SVN: r273844
+2019-07-27 Iain Sandoe <iain@sandoe.co.uk>
+
+ * gcc.target/powerpc/bmi2-bzhi64-1a.c: Add options to enable altivec
+ and vsx.
+
2019-07-26 Iain Sandoe <iain@sandoe.co.uk>
* lib/scanasm.exp (object-size): Handle Darwin's size command.
/* { dg-do compile } */
-/* { dg-options "-O3" } */
+/* { dg-options "-O3 -maltivec -mvsx" } */
/* { dg-require-effective-target lp64 } */
#define NO_WARN_X86_INTRINSICS 1