summaryrefslogtreecommitdiff
path: root/test/CodeGen/avx512vlbw-builtins.c
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2016-10-22 21:24:48 +0000
committerCraig Topper <craig.topper@gmail.com>2016-10-22 21:24:48 +0000
commit3f7a3960e4bb617e60140dbbd9e839297979da88 (patch)
treea6f4f3235510682af59362ff8d59582520c86064 /test/CodeGen/avx512vlbw-builtins.c
parent3f2396d40078369f36173478e7380d3694e52565 (diff)
downloadclang-3f7a3960e4bb617e60140dbbd9e839297979da88.tar.gz
[AVX-512] Replace masked 128/256-bit vpmovzx/vpmovsx builtins with native IR.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@284927 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/avx512vlbw-builtins.c')
-rw-r--r--test/CodeGen/avx512vlbw-builtins.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/test/CodeGen/avx512vlbw-builtins.c b/test/CodeGen/avx512vlbw-builtins.c
index b1f78a6819..621b6f6ee2 100644
--- a/test/CodeGen/avx512vlbw-builtins.c
+++ b/test/CodeGen/avx512vlbw-builtins.c
@@ -1810,49 +1810,57 @@ __m256i test_mm256_maskz_unpacklo_epi16(__mmask16 __U, __m256i __A, __m256i __B)
__m128i test_mm_mask_cvtepi8_epi16(__m128i __W, __mmask32 __U, __m128i __A) {
// CHECK-LABEL: @test_mm_mask_cvtepi8_epi16
- // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.128
+ // CHECK: sext <8 x i8> %{{.*}} to <8 x i16>
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_mask_cvtepi8_epi16(__W, __U, __A);
}
__m128i test_mm_maskz_cvtepi8_epi16(__mmask8 __U, __m128i __A) {
// CHECK-LABEL: @test_mm_maskz_cvtepi8_epi16
- // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.128
+ // CHECK: sext <8 x i8> %{{.*}} to <8 x i16>
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_maskz_cvtepi8_epi16(__U, __A);
}
__m256i test_mm256_mask_cvtepi8_epi16(__m256i __W, __mmask32 __U, __m128i __A) {
// CHECK-LABEL: @test_mm256_mask_cvtepi8_epi16
- // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.256
+ // CHECK: sext <16 x i8> %{{.*}} to <16 x i16>
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_mask_cvtepi8_epi16(__W, __U, __A);
}
__m256i test_mm256_maskz_cvtepi8_epi16(__mmask16 __U, __m128i __A) {
// CHECK-LABEL: @test_mm256_maskz_cvtepi8_epi16
- // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.256
+ // CHECK: sext <16 x i8> %{{.*}} to <16 x i16>
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_maskz_cvtepi8_epi16(__U, __A);
}
__m128i test_mm_mask_cvtepu8_epi16(__m128i __W, __mmask32 __U, __m128i __A) {
// CHECK-LABEL: @test_mm_mask_cvtepu8_epi16
- // CHECK: @llvm.x86.avx512.mask.pmovzxb.w.128
+ // CHECK: zext <8 x i8> %{{.*}} to <8 x i16>
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_mask_cvtepu8_epi16(__W, __U, __A);
}
__m128i test_mm_maskz_cvtepu8_epi16(__mmask8 __U, __m128i __A) {
// CHECK-LABEL: @test_mm_maskz_cvtepu8_epi16
- // CHECK: @llvm.x86.avx512.mask.pmovzxb.w.128
+ // CHECK: zext <8 x i8> %{{.*}} to <8 x i16>
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_maskz_cvtepu8_epi16(__U, __A);
}
__m256i test_mm256_mask_cvtepu8_epi16(__m256i __W, __mmask32 __U, __m128i __A) {
// CHECK-LABEL: @test_mm256_mask_cvtepu8_epi16
- // CHECK: @llvm.x86.avx512.mask.pmovzxb.w.256
+ // CHECK: zext <16 x i8> %{{.*}} to <16 x i16>
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_mask_cvtepu8_epi16(__W, __U, __A);
}
__m256i test_mm256_maskz_cvtepu8_epi16(__mmask16 __U, __m128i __A) {
// CHECK-LABEL: @test_mm256_maskz_cvtepu8_epi16
- // CHECK: @llvm.x86.avx512.mask.pmovzxb.w.256
+ // CHECK: zext <16 x i8> %{{.*}} to <16 x i16>
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_maskz_cvtepu8_epi16(__U, __A);
}