Commit 383321ec by Uros Bizjak Committed by Uros Bizjak

re PR target/72805 (AVX512: invalid code generation involving masks)

	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.

From-SVN: r239152
parent d4f7837c
2016-08-04 Uros Bizjak <ubizjak@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.
2016-08-04 David Malcolm <dmalcolm@redhat.com>
* selftest.h (ASSERT_TRUE): Reimplement in terms of...
......
......@@ -9130,8 +9130,8 @@ _mm_mask_cmp_round_ss_mask (__mmask8 __M, __m128 __X, __m128 __Y,
(__mmask8)-1))
#define _mm512_cmp_epi32_mask(X, Y, P) \
((__mmask8) __builtin_ia32_cmpd512_mask ((__v16si)(__m512i)(X), \
(__v16si)(__m512i)(Y), (int)(P),\
((__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)(__m512i)(X), \
(__v16si)(__m512i)(Y), (int)(P), \
(__mmask16)-1))
#define _mm512_cmp_epu64_mask(X, Y, P) \
......@@ -9140,8 +9140,8 @@ _mm_mask_cmp_round_ss_mask (__mmask8 __M, __m128 __X, __m128 __Y,
(__mmask8)-1))
#define _mm512_cmp_epu32_mask(X, Y, P) \
((__mmask8) __builtin_ia32_ucmpd512_mask ((__v16si)(__m512i)(X), \
(__v16si)(__m512i)(Y), (int)(P),\
((__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)(__m512i)(X), \
(__v16si)(__m512i)(Y), (int)(P), \
(__mmask16)-1))
#define _mm512_cmp_round_pd_mask(X, Y, P, R) \
......@@ -9160,8 +9160,8 @@ _mm_mask_cmp_round_ss_mask (__mmask8 __M, __m128 __X, __m128 __Y,
(__mmask8)M))
#define _mm512_mask_cmp_epi32_mask(M, X, Y, P) \
((__mmask8) __builtin_ia32_cmpd512_mask ((__v16si)(__m512i)(X), \
(__v16si)(__m512i)(Y), (int)(P),\
((__mmask16) __builtin_ia32_cmpd512_mask ((__v16si)(__m512i)(X), \
(__v16si)(__m512i)(Y), (int)(P), \
(__mmask16)M))
#define _mm512_mask_cmp_epu64_mask(M, X, Y, P) \
......@@ -9170,8 +9170,8 @@ _mm_mask_cmp_round_ss_mask (__mmask8 __M, __m128 __X, __m128 __Y,
(__mmask8)M))
#define _mm512_mask_cmp_epu32_mask(M, X, Y, P) \
((__mmask8) __builtin_ia32_ucmpd512_mask ((__v16si)(__m512i)(X), \
(__v16si)(__m512i)(Y), (int)(P),\
((__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si)(__m512i)(X), \
(__v16si)(__m512i)(Y), (int)(P), \
(__mmask16)M))
#define _mm512_mask_cmp_round_pd_mask(M, X, Y, P, R) \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment