diff options
author | Michael Zuckerman <Michael.zuckerman@intel.com> | 2017-04-04 13:29:53 +0000 |
---|---|---|
committer | Michael Zuckerman <Michael.zuckerman@intel.com> | 2017-04-04 13:29:53 +0000 |
commit | 410778090360bf67a7360b42ed4e4f5e0c23c674 (patch) | |
tree | d59d818a4e16ffb8f14e596f8972cd223b853574 /test/CodeGen/avx512vlbw-builtins.c | |
parent | b90806f91c608d403c80f50ab8e052e756b9d8c2 (diff) | |
download | clang-410778090360bf67a7360b42ed4e4f5e0c23c674.tar.gz |
[X86][Clang] Converting __mm{|256|512}_movm_epi{8|16|32|64} LLVMIR call into generic intrinsics.
This patch is a part two of two reviews, one for the clang and the other for LLVM.
In this patch, I covered the clang side, by introducing the intrinsic to the front end.
This is done by creating a generic replacement.
Differential Revision: https://reviews.llvm.org/D31394a
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@299431 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/avx512vlbw-builtins.c')
-rw-r--r-- | test/CodeGen/avx512vlbw-builtins.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/test/CodeGen/avx512vlbw-builtins.c b/test/CodeGen/avx512vlbw-builtins.c index fe363c9ffd..9fc3851ad0 100644 --- a/test/CodeGen/avx512vlbw-builtins.c +++ b/test/CodeGen/avx512vlbw-builtins.c @@ -2521,25 +2521,29 @@ __mmask32 test_mm256_movepi8_mask(__m256i __A) { __m128i test_mm_movm_epi8(__mmask16 __A) { // CHECK-LABEL: @test_mm_movm_epi8 - // CHECK: @llvm.x86.avx512.cvtmask2b.128 + // CHECK: %2 = bitcast i16 %1 to <16 x i1> + // CHECK: %vpmovm2.i = sext <16 x i1> %2 to <16 x i8> return _mm_movm_epi8(__A); } __m256i test_mm256_movm_epi8(__mmask32 __A) { // CHECK-LABEL: @test_mm256_movm_epi8 - // CHECK: @llvm.x86.avx512.cvtmask2b.256 + // CHECK: %2 = bitcast i32 %1 to <32 x i1> + // CHECK: %vpmovm2.i = sext <32 x i1> %2 to <32 x i8> return _mm256_movm_epi8(__A); } __m128i test_mm_movm_epi16(__mmask8 __A) { // CHECK-LABEL: @test_mm_movm_epi16 - // CHECK: @llvm.x86.avx512.cvtmask2w.128 + // CHECK: %2 = bitcast i8 %1 to <8 x i1> + // CHECK: %vpmovm2.i = sext <8 x i1> %2 to <8 x i16> return _mm_movm_epi16(__A); } __m256i test_mm256_movm_epi16(__mmask16 __A) { // CHECK-LABEL: @test_mm256_movm_epi16 - // CHECK: @llvm.x86.avx512.cvtmask2w.256 + // CHECK: %2 = bitcast i16 %1 to <16 x i1> + // CHECK: %vpmovm2.i = sext <16 x i1> %2 to <16 x i16> return _mm256_movm_epi16(__A); } |