]> granicus.if.org Git - clang/commitdiff
[X86] Add a few missing typecasts to intrinsics. Found by playing with -fno-lax-vecto...
authorCraig Topper <craig.topper@gmail.com>
Tue, 17 May 2016 03:42:31 +0000 (03:42 +0000)
committerCraig Topper <craig.topper@gmail.com>
Tue, 17 May 2016 03:42:31 +0000 (03:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269734 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Headers/avx2intrin.h
lib/Headers/smmintrin.h

index f1ceb1999bc6fa907a8489f15c66080ea91d4f21..9263392ccc8029aa78c799c065c6042dd2c653e7 100644 (file)
@@ -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)
index 69ad07f42ad6b8652a5067a6525105af0fa48600..81c0fcaac1505523de3bf01b8eca57b9199a096d 100644 (file)
@@ -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