return (__m128i)__builtin_shufflevector(__A, __A , 0, 1);
}
+static __inline __m256i __DEFAULT_FN_ATTRS
+_mm512_castsi512_si256 (__m512i __A)
+{
+ return (__m256i)__builtin_shufflevector(__A, __A , 0, 1, 2, 3);
+}
+
/* Bitwise operators */
static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_and_epi32(__m512i __a, __m512i __b)
return _mm512_castsi512_si128 (__A);
}
+__m256i test_mm512_castsi512_si256 (__m512i __A)
+{
+ // CHECK-LABEL: @test_mm512_castsi512_si256
+ // CHECK: shufflevector <8 x i64> %{{.}}, <8 x i64> %{{.}}, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
+ return _mm512_castsi512_si256 (__A);
+}
+
__m128 test_mm_cvt_roundsd_ss(__m128 __A, __m128d __B) {
// CHECK-LABEL: @test_mm_cvt_roundsd_ss
// CHECK: @llvm.x86.avx512.mask.cvtsd2ss.round