summaryrefslogtreecommitdiffstats
path: root/clang/test
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
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')
-rw-r--r--clang/test/CodeGen/avx512bw-builtins.c24
-rw-r--r--clang/test/CodeGen/avx512f-builtins.c24
-rw-r--r--clang/test/CodeGen/avx512vl-builtins.c50
-rw-r--r--clang/test/CodeGen/avx512vlbw-builtins.c49
4 files changed, 98 insertions, 49 deletions
diff --git a/clang/test/CodeGen/avx512bw-builtins.c b/clang/test/CodeGen/avx512bw-builtins.c
index 7cb2a70e353..ebf981447b8 100644
--- a/clang/test/CodeGen/avx512bw-builtins.c
+++ b/clang/test/CodeGen/avx512bw-builtins.c
@@ -378,13 +378,15 @@ __m512i test_mm512_add_epi8 (__m512i __A, __m512i __B) {
__m512i test_mm512_mask_add_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_mask_add_epi8
- //CHECK: @llvm.x86.avx512.mask.padd.b.512
+ //CHECK: add <64 x i8> %{{.*}}, %{{.*}}
+ //CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}}
return _mm512_mask_add_epi8(__W, __U, __A, __B);
}
__m512i test_mm512_maskz_add_epi8 (__mmask64 __U, __m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_maskz_add_epi8
- //CHECK: @llvm.x86.avx512.mask.padd.b.512
+ //CHECK: add <64 x i8> %{{.*}}, %{{.*}}
+ //CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}}
return _mm512_maskz_add_epi8(__U, __A, __B);
}
@@ -396,13 +398,15 @@ __m512i test_mm512_sub_epi8 (__m512i __A, __m512i __B) {
__m512i test_mm512_mask_sub_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_mask_sub_epi8
- //CHECK: @llvm.x86.avx512.mask.psub.b.512
+ //CHECK: sub <64 x i8> %{{.*}}, %{{.*}}
+ //CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}}
return _mm512_mask_sub_epi8(__W, __U, __A, __B);
}
__m512i test_mm512_maskz_sub_epi8 (__mmask64 __U, __m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_maskz_sub_epi8
- //CHECK: @llvm.x86.avx512.mask.psub.b.512
+ //CHECK: sub <64 x i8> %{{.*}}, %{{.*}}
+ //CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}}
return _mm512_maskz_sub_epi8(__U, __A, __B);
}
@@ -414,13 +418,15 @@ __m512i test_mm512_add_epi16 (__m512i __A, __m512i __B) {
__m512i test_mm512_mask_add_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_mask_add_epi16
- //CHECK: @llvm.x86.avx512.mask.padd.w.512
+ //CHECK: add <32 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
return _mm512_mask_add_epi16(__W, __U, __A, __B);
}
__m512i test_mm512_maskz_add_epi16 (__mmask32 __U, __m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_maskz_add_epi16
- //CHECK: @llvm.x86.avx512.mask.padd.w.512
+ //CHECK: add <32 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
return _mm512_maskz_add_epi16(__U, __A, __B);
}
@@ -432,13 +438,15 @@ __m512i test_mm512_sub_epi16 (__m512i __A, __m512i __B) {
__m512i test_mm512_mask_sub_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_mask_sub_epi16
- //CHECK: @llvm.x86.avx512.mask.psub.w.512
+ //CHECK: sub <32 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
return _mm512_mask_sub_epi16(__W, __U, __A, __B);
}
__m512i test_mm512_maskz_sub_epi16 (__mmask32 __U, __m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_maskz_sub_epi16
- //CHECK: @llvm.x86.avx512.mask.psub.w.512
+ //CHECK: sub <32 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
return _mm512_maskz_sub_epi16(__U, __A, __B);
}
diff --git a/clang/test/CodeGen/avx512f-builtins.c b/clang/test/CodeGen/avx512f-builtins.c
index a51a485620e..46d0b1a3300 100644
--- a/clang/test/CodeGen/avx512f-builtins.c
+++ b/clang/test/CodeGen/avx512f-builtins.c
@@ -1587,14 +1587,16 @@ __m512i test_mm512_andnot_epi64(__m512i __A, __m512i __B) {
__m512i test_mm512_maskz_sub_epi32 (__mmask16 __k,__m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_maskz_sub_epi32
- //CHECK: @llvm.x86.avx512.mask.psub.d.512
+ //CHECK: sub <16 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
return _mm512_maskz_sub_epi32(__k,__A,__B);
}
__m512i test_mm512_mask_sub_epi32 (__mmask16 __k,__m512i __A, __m512i __B,
__m512i __src) {
//CHECK-LABEL: @test_mm512_mask_sub_epi32
- //CHECK: @llvm.x86.avx512.mask.psub.d.512
+ //CHECK: sub <16 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
return _mm512_mask_sub_epi32(__src,__k,__A,__B);
}
@@ -1606,14 +1608,16 @@ __m512i test_mm512_sub_epi32(__m512i __A, __m512i __B) {
__m512i test_mm512_maskz_sub_epi64 (__mmask8 __k,__m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_maskz_sub_epi64
- //CHECK: @llvm.x86.avx512.mask.psub.q.512
+ //CHECK: sub <8 x i64> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
return _mm512_maskz_sub_epi64(__k,__A,__B);
}
__m512i test_mm512_mask_sub_epi64 (__mmask8 __k,__m512i __A, __m512i __B,
__m512i __src) {
//CHECK-LABEL: @test_mm512_mask_sub_epi64
- //CHECK: @llvm.x86.avx512.mask.psub.q.512
+ //CHECK: sub <8 x i64> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
return _mm512_mask_sub_epi64(__src,__k,__A,__B);
}
@@ -1625,14 +1629,16 @@ __m512i test_mm512_sub_epi64(__m512i __A, __m512i __B) {
__m512i test_mm512_maskz_add_epi32 (__mmask16 __k,__m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_maskz_add_epi32
- //CHECK: @llvm.x86.avx512.mask.padd.d.512
+ //CHECK: add <16 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
return _mm512_maskz_add_epi32(__k,__A,__B);
}
__m512i test_mm512_mask_add_epi32 (__mmask16 __k,__m512i __A, __m512i __B,
__m512i __src) {
//CHECK-LABEL: @test_mm512_mask_add_epi32
- //CHECK: @llvm.x86.avx512.mask.padd.d.512
+ //CHECK: add <16 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
return _mm512_mask_add_epi32(__src,__k,__A,__B);
}
@@ -1644,14 +1650,16 @@ __m512i test_mm512_add_epi32(__m512i __A, __m512i __B) {
__m512i test_mm512_maskz_add_epi64 (__mmask8 __k,__m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_maskz_add_epi64
- //CHECK: @llvm.x86.avx512.mask.padd.q.512
+ //CHECK: add <8 x i64> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
return _mm512_maskz_add_epi64(__k,__A,__B);
}
__m512i test_mm512_mask_add_epi64 (__mmask8 __k,__m512i __A, __m512i __B,
__m512i __src) {
//CHECK-LABEL: @test_mm512_mask_add_epi64
- //CHECK: @llvm.x86.avx512.mask.padd.q.512
+ //CHECK: add <8 x i64> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
return _mm512_mask_add_epi64(__src,__k,__A,__B);
}
diff --git a/clang/test/CodeGen/avx512vl-builtins.c b/clang/test/CodeGen/avx512vl-builtins.c
index d9031fe1680..11a927412e8 100644
--- a/clang/test/CodeGen/avx512vl-builtins.c
+++ b/clang/test/CodeGen/avx512vl-builtins.c
@@ -608,105 +608,121 @@ __mmask8 test_mm256_mask_cmp_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b)
__m256i test_mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B) {
//CHECK-LABEL: @test_mm256_mask_add_epi32
- //CHECK: @llvm.x86.avx512.mask.padd.d.256
+ //CHECK: add <8 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
return _mm256_mask_add_epi32(__W, __U, __A, __B);
}
__m256i test_mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
//CHECK-LABEL: @test_mm256_maskz_add_epi32
- //CHECK: @llvm.x86.avx512.mask.padd.d.256
+ //CHECK: add <8 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
return _mm256_maskz_add_epi32(__U, __A, __B);
}
__m256i test_mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B) {
//CHECK-LABEL: @test_mm256_mask_add_epi64
- //CHECK: @llvm.x86.avx512.mask.padd.q.256
+ //CHECK: add <4 x i64> %{{.*}}, %{{.*}}
+ //CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
return _mm256_mask_add_epi64(__W,__U,__A,__B);
}
__m256i test_mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
//CHECK-LABEL: @test_mm256_maskz_add_epi64
- //CHECK: @llvm.x86.avx512.mask.padd.q.256
+ //CHECK: add <4 x i64> %{{.*}}, %{{.*}}
+ //CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
return _mm256_maskz_add_epi64 (__U,__A,__B);
}
__m256i test_mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B) {
//CHECK-LABEL: @test_mm256_mask_sub_epi32
- //CHECK: @llvm.x86.avx512.mask.psub.d.256
+ //CHECK: sub <8 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
return _mm256_mask_sub_epi32 (__W,__U,__A,__B);
}
__m256i test_mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
//CHECK-LABEL: @test_mm256_maskz_sub_epi32
- //CHECK: @llvm.x86.avx512.mask.psub.d.256
+ //CHECK: sub <8 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
return _mm256_maskz_sub_epi32 (__U,__A,__B);
}
__m256i test_mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B) {
//CHECK-LABEL: @test_mm256_mask_sub_epi64
- //CHECK: @llvm.x86.avx512.mask.psub.q.256
+ //CHECK: sub <4 x i64> %{{.*}}, %{{.*}}
+ //CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
return _mm256_mask_sub_epi64 (__W,__U,__A,__B);
}
__m256i test_mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
//CHECK-LABEL: @test_mm256_maskz_sub_epi64
- //CHECK: @llvm.x86.avx512.mask.psub.q.256
+ //CHECK: sub <4 x i64> %{{.*}}, %{{.*}}
+ //CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
return _mm256_maskz_sub_epi64 (__U,__A,__B);
}
__m128i test_mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B) {
//CHECK-LABEL: @test_mm_mask_add_epi32
- //CHECK: @llvm.x86.avx512.mask.padd.d.128
+ //CHECK: add <4 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
return _mm_mask_add_epi32(__W,__U,__A,__B);
}
__m128i test_mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_maskz_add_epi32
- //CHECK: @llvm.x86.avx512.mask.padd.d.128
+ //CHECK: add <4 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
return _mm_maskz_add_epi32 (__U,__A,__B);
}
__m128i test_mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B) {
-//CHECK-LABEL: @test_mm_mask_add_epi64
- //CHECK: @llvm.x86.avx512.mask.padd.q.128
+ //CHECK-LABEL: @test_mm_mask_add_epi64
+ //CHECK: add <2 x i64> %{{.*}}, %{{.*}}
+ //CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
return _mm_mask_add_epi64 (__W,__U,__A,__B);
}
__m128i test_mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_maskz_add_epi64
- //CHECK: @llvm.x86.avx512.mask.padd.q.128
+ //CHECK: add <2 x i64> %{{.*}}, %{{.*}}
+ //CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
return _mm_maskz_add_epi64 (__U,__A,__B);
}
__m128i test_mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B) {
//CHECK-LABEL: @test_mm_mask_sub_epi32
- //CHECK: @llvm.x86.avx512.mask.psub.d.128
+ //CHECK: sub <4 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
return _mm_mask_sub_epi32(__W, __U, __A, __B);
}
__m128i test_mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_maskz_sub_epi32
- //CHECK: @llvm.x86.avx512.mask.psub.d.128
+ //CHECK: sub <4 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
return _mm_maskz_sub_epi32(__U, __A, __B);
}
__m128i test_mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B) {
//CHECK-LABEL: @test_mm_mask_sub_epi64
- //CHECK: @llvm.x86.avx512.mask.psub.q.128
+ //CHECK: sub <2 x i64> %{{.*}}, %{{.*}}
+ //CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
return _mm_mask_sub_epi64 (__W, __U, __A, __B);
}
__m128i test_mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_maskz_sub_epi64
- //CHECK: @llvm.x86.avx512.mask.psub.q.128
+ //CHECK: sub <2 x i64> %{{.*}}, %{{.*}}
+ //CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
return _mm_maskz_sub_epi64 (__U, __A, __B);
}
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