summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/avx512vlbw-builtins.c
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2016-09-03 18:29:35 +0000
committerCraig Topper <craig.topper@gmail.com>2016-09-03 18:29:35 +0000
commit0e18976b8d192e3fd2d9288fd1e6bf46d0c17272 (patch)
tree519f4372894a7b4a0686de4e5807577c87171738 /clang/test/CodeGen/avx512vlbw-builtins.c
parentac42ba8633dd4938facb5cdc664f8382ec6a203e (diff)
downloadbcm5719-llvm-0e18976b8d192e3fd2d9288fd1e6bf46d0c17272.tar.gz
bcm5719-llvm-0e18976b8d192e3fd2d9288fd1e6bf46d0c17272.zip
[AVX-512] Remove masked integer add/sub builtins and replace with native IR.
llvm-svn: 280596
Diffstat (limited to 'clang/test/CodeGen/avx512vlbw-builtins.c')
-rw-r--r--clang/test/CodeGen/avx512vlbw-builtins.c49
1 files changed, 33 insertions, 16 deletions
diff --git a/clang/test/CodeGen/avx512vlbw-builtins.c b/clang/test/CodeGen/avx512vlbw-builtins.c
index fd3f6f5f513..f3150eaf03e 100644
--- a/clang/test/CodeGen/avx512vlbw-builtins.c
+++ b/clang/test/CodeGen/avx512vlbw-builtins.c
@@ -737,95 +737,112 @@ __mmask16 test_mm256_mask_cmp_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b
__m256i test_mm256_mask_add_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B){
//CHECK-LABEL: @test_mm256_mask_add_epi8
- //CHECK: @llvm.x86.avx512.mask.padd.b.256
+ //CHECK: add <32 x i8> %{{.*}}, %{{.*}}
+ //CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
return _mm256_mask_add_epi8(__W, __U , __A, __B);
}
__m256i test_mm256_maskz_add_epi8 (__mmask32 __U, __m256i __A, __m256i __B) {
//CHECK-LABEL: @test_mm256_maskz_add_epi8
- //CHECK: @llvm.x86.avx512.mask.padd.b.256
+ //CHECK: add <32 x i8> %{{.*}}, %{{.*}}
+ //CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
return _mm256_maskz_add_epi8(__U , __A, __B);
}
__m256i test_mm256_mask_add_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
//CHECK-LABEL: @test_mm256_mask_add_epi16
- //CHECK: @llvm.x86.avx512.mask.padd.w.256
+ //CHECK: add <16 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_mask_add_epi16(__W, __U , __A, __B);
}
__m256i test_mm256_maskz_add_epi16 (__mmask16 __U, __m256i __A, __m256i __B) {
//CHECK-LABEL: @test_mm256_maskz_add_epi16
- //CHECK: @llvm.x86.avx512.mask.padd.w.256
+ //CHECK: add <16 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_maskz_add_epi16(__U , __A, __B);
}
__m256i test_mm256_mask_sub_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
//CHECK-LABEL: @test_mm256_mask_sub_epi8
- //CHECK: @llvm.x86.avx512.mask.psub.b.256
+ //CHECK: sub <32 x i8> %{{.*}}, %{{.*}}
+ //CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
return _mm256_mask_sub_epi8(__W, __U , __A, __B);
}
__m256i test_mm256_maskz_sub_epi8 (__mmask32 __U, __m256i __A, __m256i __B) {
//CHECK-LABEL: @test_mm256_maskz_sub_epi8
- //CHECK: @llvm.x86.avx512.mask.psub.b.256
+ //CHECK: sub <32 x i8> %{{.*}}, %{{.*}}
+ //CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
return _mm256_maskz_sub_epi8(__U , __A, __B);
}
__m256i test_mm256_mask_sub_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
//CHECK-LABEL: @test_mm256_mask_sub_epi16
- //CHECK: @llvm.x86.avx512.mask.psub.w.256
+ //CHECK: sub <16 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_mask_sub_epi16(__W, __U , __A, __B);
}
__m256i test_mm256_maskz_sub_epi16 (__mmask16 __U, __m256i __A, __m256i __B) {
//CHECK-LABEL: @test_mm256_maskz_sub_epi16
- //CHECK: @llvm.x86.avx512.mask.psub.w.256
+ //CHECK: sub <16 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_maskz_sub_epi16(__U , __A, __B);
}
+
__m128i test_mm_mask_add_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_mask_add_epi8
- //CHECK: @llvm.x86.avx512.mask.padd.b.128
+ //CHECK: add <16 x i8> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
return _mm_mask_add_epi8(__W, __U , __A, __B);
}
__m128i test_mm_maskz_add_epi8 (__mmask16 __U, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_maskz_add_epi8
- //CHECK: @llvm.x86.avx512.mask.padd.b.128
+ //CHECK: add <16 x i8> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
return _mm_maskz_add_epi8(__U , __A, __B);
}
__m128i test_mm_mask_add_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_mask_add_epi16
- //CHECK: @llvm.x86.avx512.mask.padd.w.128
+ //CHECK: add <8 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_mask_add_epi16(__W, __U , __A, __B);
}
__m128i test_mm_maskz_add_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_maskz_add_epi16
- //CHECK: @llvm.x86.avx512.mask.padd.w.128
+ //CHECK: add <8 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_maskz_add_epi16(__U , __A, __B);
}
__m128i test_mm_mask_sub_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_mask_sub_epi8
- //CHECK: @llvm.x86.avx512.mask.psub.b.128
+ //CHECK: sub <16 x i8> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
return _mm_mask_sub_epi8(__W, __U , __A, __B);
}
__m128i test_mm_maskz_sub_epi8 (__mmask16 __U, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_maskz_sub_epi8
- //CHECK: @llvm.x86.avx512.mask.psub.b.128
+ //CHECK: sub <16 x i8> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
return _mm_maskz_sub_epi8(__U , __A, __B);
}
__m128i test_mm_mask_sub_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_mask_sub_epi16
- //CHECK: @llvm.x86.avx512.mask.psub.w.128
+ //CHECK: sub <8 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_mask_sub_epi16(__W, __U , __A, __B);
}
__m128i test_mm_maskz_sub_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_maskz_sub_epi16
- //CHECK: @llvm.x86.avx512.mask.psub.w.128
+ //CHECK: sub <8 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_maskz_sub_epi16(__U , __A, __B);
}
OpenPOWER on IntegriCloud