summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorMichael Zuckerman <Michael.zuckerman@intel.com>2016-03-01 13:03:45 +0000
committerMichael Zuckerman <Michael.zuckerman@intel.com>2016-03-01 13:03:45 +0000
commit0165e7669c5200ed2eb09ce33f5254091d4c39d2 (patch)
tree0ad7457ed07f8156a6b15765eb853d9825707263 /clang/test
parent0000eeceb6c4215c51adf4c5d19a894cc149c248 (diff)
downloadbcm5719-llvm-0165e7669c5200ed2eb09ce33f5254091d4c39d2.tar.gz
bcm5719-llvm-0165e7669c5200ed2eb09ce33f5254091d4c39d2.zip
[CLANG][AVX512][BUILTIN] Adding PSRLV builtin
Differential Revision: http://reviews.llvm.org/D17718 llvm-svn: 262326
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/avx512bw-builtins.c18
-rw-r--r--clang/test/CodeGen/avx512vl-builtins.c48
2 files changed, 66 insertions, 0 deletions
diff --git a/clang/test/CodeGen/avx512bw-builtins.c b/clang/test/CodeGen/avx512bw-builtins.c
index 8520f969e05..4fceab70584 100644
--- a/clang/test/CodeGen/avx512bw-builtins.c
+++ b/clang/test/CodeGen/avx512bw-builtins.c
@@ -1167,4 +1167,22 @@ __m512i test_mm512_maskz_slli_epi16(__mmask32 __U, __m512i __A) {
return _mm512_maskz_slli_epi16(__U, __A, 5);
}
+__m512i test_mm512_srlv_epi16(__m512i __A, __m512i __B) {
+ // CHECK-LABEL: @test_mm512_srlv_epi16
+ // CHECK: @llvm.x86.avx512.mask.psrlv
+ return _mm512_srlv_epi16(__A, __B);
+}
+
+__m512i test_mm512_mask_srlv_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
+ // CHECK-LABEL: @test_mm512_mask_srlv_epi16
+ // CHECK: @llvm.x86.avx512.mask.psrlv
+ return _mm512_mask_srlv_epi16(__W, __U, __A, __B);
+}
+
+__m512i test_mm512_maskz_srlv_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
+ // CHECK-LABEL: @test_mm512_maskz_srlv_epi16
+ // CHECK: @llvm.x86.avx512.mask.psrlv
+ return _mm512_maskz_srlv_epi16(__U, __A, __B);
+}
+
diff --git a/clang/test/CodeGen/avx512vl-builtins.c b/clang/test/CodeGen/avx512vl-builtins.c
index f417aff23eb..2901f261203 100644
--- a/clang/test/CodeGen/avx512vl-builtins.c
+++ b/clang/test/CodeGen/avx512vl-builtins.c
@@ -3732,3 +3732,51 @@ __m256i test_mm256_maskz_sllv_epi32(__mmask8 __U, __m256i __X, __m256i __Y) {
return _mm256_maskz_sllv_epi32(__U, __X, __Y);
}
+__m128i test_mm_mask_srlv_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
+ // CHECK-LABEL: @test_mm_mask_srlv_epi64
+ // CHECK: @llvm.x86.avx512.mask.psrlv
+ return _mm_mask_srlv_epi64(__W, __U, __X, __Y);
+}
+
+__m128i test_mm_maskz_srlv_epi64(__mmask8 __U, __m128i __X, __m128i __Y) {
+ // CHECK-LABEL: @test_mm_maskz_srlv_epi64
+ // CHECK: @llvm.x86.avx512.mask.psrlv
+ return _mm_maskz_srlv_epi64(__U, __X, __Y);
+}
+
+__m256i test_mm256_mask_srlv_epi64(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) {
+ // CHECK-LABEL: @test_mm256_mask_srlv_epi64
+ // CHECK: @llvm.x86.avx512.mask.psrlv
+ return _mm256_mask_srlv_epi64(__W, __U, __X, __Y);
+}
+
+__m256i test_mm256_maskz_srlv_epi64(__mmask8 __U, __m256i __X, __m256i __Y) {
+ // CHECK-LABEL: @test_mm256_maskz_srlv_epi64
+ // CHECK: @llvm.x86.avx512.mask.psrlv
+ return _mm256_maskz_srlv_epi64(__U, __X, __Y);
+}
+
+__m128i test_mm_mask_srlv_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
+ // CHECK-LABEL: @test_mm_mask_srlv_epi32
+ // CHECK: @llvm.x86.avx512.mask.psrlv
+ return _mm_mask_srlv_epi32(__W, __U, __X, __Y);
+}
+
+__m128i test_mm_maskz_srlv_epi32(__mmask8 __U, __m128i __X, __m128i __Y) {
+ // CHECK-LABEL: @test_mm_maskz_srlv_epi32
+ // CHECK: @llvm.x86.avx512.mask.psrlv
+ return _mm_maskz_srlv_epi32(__U, __X, __Y);
+}
+
+__m256i test_mm256_mask_srlv_epi32(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) {
+ // CHECK-LABEL: @test_mm256_mask_srlv_epi32
+ // CHECK: @llvm.x86.avx512.mask.psrlv
+ return _mm256_mask_srlv_epi32(__W, __U, __X, __Y);
+}
+
+__m256i test_mm256_maskz_srlv_epi32(__mmask8 __U, __m256i __X, __m256i __Y) {
+ // CHECK-LABEL: @test_mm256_maskz_srlv_epi32
+ // CHECK: @llvm.x86.avx512.mask.psrlv
+ return _mm256_maskz_srlv_epi32(__U, __X, __Y);
+}
+
OpenPOWER on IntegriCloud