Hi! On Mon, Aug 23, 2021 at 02:03:10PM -0500, Paul A. Clarke wrote: > Some compatibility implementations of x86 intrinsics include > Power intrinsics which require POWER8. Guard them.
> emmintrin.h: > - _mm_cmpord_pd: Remove code which was ostensibly for pre-POWER8, > but which indeed depended on POWER8 (vec_cmpgt(v2du)/vcmpgtud). > The "POWER8" version works fine on pre-POWER8. Huh. It just generates xvcmpeqdp I suppose? > - _mm_mul_epu32: vec_mule(v4su) uses vmuleuw. Did this fail on p7? If not, add a test that *does*? > pmmintrin.h: > - _mm_movehdup_ps: vec_mergeo(v4su) uses vmrgow. > - _mm_moveldup_ps: vec_mergee(v4su) uses vmrgew. Similar. > smmintrin.h: > - _mm_cmpeq_epi64: vec_cmpeq(v2di) uses vcmpequd. > - _mm_mul_epi32: vec_mule(v4si) uses vmuluwm. > - _mm_cmpgt_epi64: vec_cmpgt(v2di) uses vcmpgtsd. > tmmintrin.h: > - _mm_sign_epi8: vec_neg(v4si) uses vsububm. > - _mm_sign_epi16: vec_neg(v4si) uses vsubuhm. > - _mm_sign_epi32: vec_neg(v4si) uses vsubuwm. > Note that the above three could actually be supported pre-POWER8, > but current GCC does not support them before POWER8. > - _mm_sign_pi8: depends on _mm_sign_epi8. > - _mm_sign_pi16: depends on _mm_sign_epi16. > - _mm_sign_pi32: depends on _mm_sign_epi32. And more. > gcc > PR target/101893 This is a different bug (the vgbdd one)? All looks good, but we need such failing tests :-) Segher