Adding missing _mm512_castsi512_si256 intrinsic.

llvm-svn: 270851
This commit is contained in:
Michael Zuckerman 2016-05-26 14:32:11 +00:00
parent 28c03b56ec
commit 22c47e606a
2 changed files with 13 additions and 0 deletions

View File

@ -445,6 +445,12 @@ _mm512_castsi512_si128 (__m512i __A)
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)

View File

@ -6041,6 +6041,13 @@ __m128i test_mm512_castsi512_si128 (__m512i __A)
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