2016-08-04 Uros Bizjak <ubiz...@gmail.com> PR target/72805 * config/i386/avx512fintrin.h (_mm512_cmp_epi32_mask) [!__OPTIMIZE__]: Cast builtin function result to __mmask16 instead of __mmask8. (_mm512_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto. (_mm512_mask_cmp_epi32_mask) [!__OPTIMIZE__]: Ditto. (_mm512_mask_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Committed to mainline and release branches. Uros.
Index: config/i386/avx512fintrin.h =================================================================== --- config/i386/avx512fintrin.h (revision 239146) +++ config/i386/avx512fintrin.h (working copy) @@ -9130,7 +9130,7 @@ _mm_mask_cmp_round_ss_mask (__mmask8 __M, __m128 _ (__mmask8)-1)) #define _mm512_cmp_epi32_mask(X, Y, P) \ - ((__mmask8) __builtin_ia32_cmpd512_mask ((__v16si)(__m512i)(X), \ + ((__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)(__m512i)(X), \ (__v16si)(__m512i)(Y), (int)(P),\ (__mmask16)-1)) @@ -9140,7 +9140,7 @@ _mm_mask_cmp_round_ss_mask (__mmask8 __M, __m128 _ (__mmask8)-1)) #define _mm512_cmp_epu32_mask(X, Y, P) \ - ((__mmask8) __builtin_ia32_ucmpd512_mask ((__v16si)(__m512i)(X), \ + ((__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)(__m512i)(X), \ (__v16si)(__m512i)(Y), (int)(P),\ (__mmask16)-1)) @@ -9160,7 +9160,7 @@ _mm_mask_cmp_round_ss_mask (__mmask8 __M, __m128 _ (__mmask8)M)) #define _mm512_mask_cmp_epi32_mask(M, X, Y, P) \ - ((__mmask8) __builtin_ia32_cmpd512_mask ((__v16si)(__m512i)(X), \ + ((__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)(__m512i)(X), \ (__v16si)(__m512i)(Y), (int)(P),\ (__mmask16)M)) @@ -9170,7 +9170,7 @@ _mm_mask_cmp_round_ss_mask (__mmask8 __M, __m128 _ (__mmask8)M)) #define _mm512_mask_cmp_epu32_mask(M, X, Y, P) \ - ((__mmask8) __builtin_ia32_ucmpd512_mask ((__v16si)(__m512i)(X), \ + ((__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)(__m512i)(X), \ (__v16si)(__m512i)(Y), (int)(P),\ (__mmask16)M))