Fix AVX 256-bit intrinsics headers by using the right cast type while dealing with logical ops

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110389 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Headers/avxintrin.h b/lib/Headers/avxintrin.h
index ce74189..95deed4 100644
--- a/lib/Headers/avxintrin.h
+++ b/lib/Headers/avxintrin.h
@@ -169,49 +169,49 @@
 static __inline __m256d __attribute__((__always_inline__, __nodebug__))
 _mm256_and_pd(__m256d a, __m256d b)
 {
-  return (__m256d)((__v4df)a & (__v4df)b);
+  return (__m256d)((__v4di)a & (__v4di)b);
 }
 
 static __inline __m256 __attribute__((__always_inline__, __nodebug__))
 _mm256_and_ps(__m256 a, __m256 b)
 {
-  return (__m256)((__v8sf)a & (__v8sf)b);
+  return (__m256)((__v8si)a & (__v8si)b);
 }
 
 static __inline __m256d __attribute__((__always_inline__, __nodebug__))
 _mm256_andnot_pd(__m256d a, __m256d b)
 {
-  return (__m256d)(~(__v4df)a & (__v4df)b);
+  return (__m256d)(~(__v4di)a & (__v4di)b);
 }
 
 static __inline __m256 __attribute__((__always_inline__, __nodebug__))
 _mm256_andnot_ps(__m256 a, __m256 b)
 {
-  return (__m256)(~(__v8sf)a & (__v8sf)b);
+  return (__m256)(~(__v8si)a & (__v8si)b);
 }
 
 static __inline __m256d __attribute__((__always_inline__, __nodebug__))
 _mm256_or_pd(__m256d a, __m256d b)
 {
-  return (__m256d)((__v4df)a | (__v4df)b);
+  return (__m256d)((__v4di)a | (__v4di)b);
 }
 
 static __inline __m256 __attribute__((__always_inline__, __nodebug__))
 _mm256_or_ps(__m256 a, __m256 b)
 {
-  return (__m256)((__v8sf)a | (__v8sf)b);
+  return (__m256)((__v8si)a | (__v8si)b);
 }
 
 static __inline __m256d __attribute__((__always_inline__, __nodebug__))
 _mm256_xor_pd(__m256d a, __m256d b)
 {
-  return (__m256d)((__v4df)a ^ (__v4df)b);
+  return (__m256d)((__v4di)a ^ (__v4di)b);
 }
 
 static __inline __m256 __attribute__((__always_inline__, __nodebug__))
 _mm256_xor_ps(__m256 a, __m256 b)
 {
-  return (__m256)((__v8sf)a ^ (__v8sf)b);
+  return (__m256)((__v8si)a ^ (__v8si)b);
 }
 
 /* Horizontal arithmetic */