diff options
author | Craig Topper <craig.topper@gmail.com> | 2016-10-22 21:24:48 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2016-10-22 21:24:48 +0000 |
commit | 3f7a3960e4bb617e60140dbbd9e839297979da88 (patch) | |
tree | a6f4f3235510682af59362ff8d59582520c86064 /test/CodeGen/avx512vlbw-builtins.c | |
parent | 3f2396d40078369f36173478e7380d3694e52565 (diff) | |
download | clang-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.c | 24 |
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); } |