Fix some casts to work without -flax-vector-conversions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72981 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Headers/emmintrin.h b/lib/Headers/emmintrin.h
index 1061bf3..96a67f0 100644
--- a/lib/Headers/emmintrin.h
+++ b/lib/Headers/emmintrin.h
@@ -129,25 +129,25 @@
static inline __m128d __attribute__((__always_inline__, __nodebug__))
_mm_and_pd(__m128d a, __m128d b)
{
- return (__m128)((__v4si)a & (__v4si)b);
+ return (__m128d)((__v4si)a & (__v4si)b);
}
static inline __m128d __attribute__((__always_inline__, __nodebug__))
_mm_andnot_pd(__m128d a, __m128d b)
{
- return (__m128)(~(__v4si)a & (__v4si)b);
+ return (__m128d)(~(__v4si)a & (__v4si)b);
}
static inline __m128d __attribute__((__always_inline__, __nodebug__))
_mm_or_pd(__m128d a, __m128d b)
{
- return (__m128)((__v4si)a | (__v4si)b);
+ return (__m128d)((__v4si)a | (__v4si)b);
}
static inline __m128d __attribute__((__always_inline__, __nodebug__))
_mm_xor_pd(__m128d a, __m128d b)
{
- return (__m128)((__v4si)a ^ (__v4si)b);
+ return (__m128d)((__v4si)a ^ (__v4si)b);
}
static inline __m128d __attribute__((__always_inline__, __nodebug__))
@@ -1190,7 +1190,7 @@
{
__v8hi c = (__v8hi)a;
c[imm & 7] = b;
- return c;
+ return (__m128i)c;
}
static inline int __attribute__((__always_inline__, __nodebug__))
diff --git a/lib/Headers/xmmintrin.h b/lib/Headers/xmmintrin.h
index f896893..96940ef 100644
--- a/lib/Headers/xmmintrin.h
+++ b/lib/Headers/xmmintrin.h
@@ -634,7 +634,7 @@
{
__v4hi b = (__v4hi)a;
b[n & 3] = d;
- return b;
+ return (__m64)b;
}
static inline __m64 __attribute__((__always_inline__, __nodebug__))