diff options
| author | Craig Topper <craig.topper@gmail.com> | 2016-09-03 18:29:35 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2016-09-03 18:29:35 +0000 |
| commit | 0e18976b8d192e3fd2d9288fd1e6bf46d0c17272 (patch) | |
| tree | 519f4372894a7b4a0686de4e5807577c87171738 /clang/test/CodeGen/avx512vlbw-builtins.c | |
| parent | ac42ba8633dd4938facb5cdc664f8382ec6a203e (diff) | |
| download | bcm5719-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.c | 49 |
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); } |

