From bca65bfe319887944725b1e00690f8d002cfc32c Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Tue, 17 May 2016 03:42:31 +0000 Subject: [PATCH] [X86] Add a few missing typecasts to intrinsics. Found by playing with -fno-lax-vector-conversions on the builtin tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269734 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Headers/avx2intrin.h | 4 +++- lib/Headers/smmintrin.h | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/Headers/avx2intrin.h b/lib/Headers/avx2intrin.h index f1ceb1999b..9263392ccc 100644 --- a/lib/Headers/avx2intrin.h +++ b/lib/Headers/avx2intrin.h @@ -32,7 +32,9 @@ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx2"))) /* SSE4 Multiple Packed Sums of Absolute Difference. */ -#define _mm256_mpsadbw_epu8(X, Y, M) __builtin_ia32_mpsadbw256((X), (Y), (M)) +#define _mm256_mpsadbw_epu8(X, Y, M) \ + (__m256i)__builtin_ia32_mpsadbw256((__v32qi)(__m256i)(X), \ + (__v32qi)(__m256i)(Y), (int)(M)) static __inline__ __m256i __DEFAULT_FN_ATTRS _mm256_abs_epi8(__m256i __a) diff --git a/lib/Headers/smmintrin.h b/lib/Headers/smmintrin.h index 69ad07f42a..81c0fcaac1 100644 --- a/lib/Headers/smmintrin.h +++ b/lib/Headers/smmintrin.h @@ -220,16 +220,16 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2) #define _mm_insert_epi8(X, I, N) (__extension__ \ ({ __v16qi __a = (__v16qi)(__m128i)(X); \ __a[(N) & 15] = (I); \ - __a;})) + (__m128i)__a;})) #define _mm_insert_epi32(X, I, N) (__extension__ \ ({ __v4si __a = (__v4si)(__m128i)(X); \ __a[(N) & 3] = (I); \ - __a;})) + (__m128i)__a;})) #ifdef __x86_64__ #define _mm_insert_epi64(X, I, N) (__extension__ \ ({ __v2di __a = (__v2di)(__m128i)(X); \ __a[(N) & 1] = (I); \ - __a;})) + (__m128i)__a;})) #endif /* __x86_64__ */ /* Extract int from packed integer array at index. This returns the element -- 2.40.0