summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorMichael Zuckerman <Michael.zuckerman@intel.com>2016-03-02 09:05:46 +0000
committerMichael Zuckerman <Michael.zuckerman@intel.com>2016-03-02 09:05:46 +0000
commitd15c95a793d9cea39c9f6d36aaf02e9106e7b200 (patch)
treee0185b411effec596217b8f388c699381efb12c4 /clang/test
parent1b5b0fd174b28ae4e51433f104daa0057cea5c89 (diff)
downloadbcm5719-llvm-d15c95a793d9cea39c9f6d36aaf02e9106e7b200.tar.gz
bcm5719-llvm-d15c95a793d9cea39c9f6d36aaf02e9106e7b200.zip
[CLANG] [AVX512] [BUILTIN] Adding PSRAV
Differential Revision: http://reviews.llvm.org/D17699 llvm-svn: 262471
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/avx512bw-builtins.c18
-rw-r--r--clang/test/CodeGen/avx512vl-builtins.c60
2 files changed, 78 insertions, 0 deletions
diff --git a/clang/test/CodeGen/avx512bw-builtins.c b/clang/test/CodeGen/avx512bw-builtins.c
index 4fceab70584..1f10109c60e 100644
--- a/clang/test/CodeGen/avx512bw-builtins.c
+++ b/clang/test/CodeGen/avx512bw-builtins.c
@@ -1185,4 +1185,22 @@ __m512i test_mm512_maskz_srlv_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
return _mm512_maskz_srlv_epi16(__U, __A, __B);
}
+__m512i test_mm512_srav_epi16(__m512i __A, __m512i __B) {
+ // CHECK-LABEL: @test_mm512_srav_epi16
+ // CHECK: @llvm.x86.avx512.mask.psrav
+ return _mm512_srav_epi16(__A, __B);
+}
+
+__m512i test_mm512_mask_srav_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
+ // CHECK-LABEL: @test_mm512_mask_srav_epi16
+ // CHECK: @llvm.x86.avx512.mask.psrav
+ return _mm512_mask_srav_epi16(__W, __U, __A, __B);
+}
+
+__m512i test_mm512_maskz_srav_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
+ // CHECK-LABEL: @test_mm512_maskz_srav_epi16
+ // CHECK: @llvm.x86.avx512.mask.psrav
+ return _mm512_maskz_srav_epi16(__U, __A, __B);
+}
+
diff --git a/clang/test/CodeGen/avx512vl-builtins.c b/clang/test/CodeGen/avx512vl-builtins.c
index e28653b56f2..7061369940a 100644
--- a/clang/test/CodeGen/avx512vl-builtins.c
+++ b/clang/test/CodeGen/avx512vl-builtins.c
@@ -3876,3 +3876,63 @@ __m256i test_mm256_maskz_srli_epi64(__mmask8 __U, __m256i __A) {
return _mm256_maskz_srli_epi64(__U, __A, 5);
}
+__m128i test_mm_mask_srav_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
+ // CHECK-LABEL: @test_mm_mask_srav_epi32
+ // CHECK: @llvm.x86.avx512.mask.psrav
+ return _mm_mask_srav_epi32(__W, __U, __X, __Y);
+}
+
+__m128i test_mm_maskz_srav_epi32(__mmask8 __U, __m128i __X, __m128i __Y) {
+ // CHECK-LABEL: @test_mm_maskz_srav_epi32
+ // CHECK: @llvm.x86.avx512.mask.psrav
+ return _mm_maskz_srav_epi32(__U, __X, __Y);
+}
+
+__m256i test_mm256_mask_srav_epi32(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) {
+ // CHECK-LABEL: @test_mm256_mask_srav_epi32
+ // CHECK: @llvm.x86.avx512.mask.psrav
+ return _mm256_mask_srav_epi32(__W, __U, __X, __Y);
+}
+
+__m256i test_mm256_maskz_srav_epi32(__mmask8 __U, __m256i __X, __m256i __Y) {
+ // CHECK-LABEL: @test_mm256_maskz_srav_epi32
+ // CHECK: @llvm.x86.avx512.mask.psrav
+ return _mm256_maskz_srav_epi32(__U, __X, __Y);
+}
+
+__m128i test_mm_srav_epi64(__m128i __X, __m128i __Y) {
+ // CHECK-LABEL: @test_mm_srav_epi64
+ // CHECK: @llvm.x86.avx512.mask.psrav.q.128
+ return _mm_srav_epi64(__X, __Y);
+}
+
+__m128i test_mm_mask_srav_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
+ // CHECK-LABEL: @test_mm_mask_srav_epi64
+ // CHECK: @llvm.x86.avx512.mask.psrav.q.128
+ return _mm_mask_srav_epi64(__W, __U, __X, __Y);
+}
+
+__m128i test_mm_maskz_srav_epi64(__mmask8 __U, __m128i __X, __m128i __Y) {
+ // CHECK-LABEL: @test_mm_maskz_srav_epi64
+ // CHECK: @llvm.x86.avx512.mask.psrav.q.128
+ return _mm_maskz_srav_epi64(__U, __X, __Y);
+}
+
+__m256i test_mm256_srav_epi64(__m256i __X, __m256i __Y) {
+ // CHECK-LABEL: @test_mm256_srav_epi64
+ // CHECK: @llvm.x86.avx512.mask.psrav.q.256
+ return _mm256_srav_epi64(__X, __Y);
+}
+
+__m256i test_mm256_mask_srav_epi64(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) {
+ // CHECK-LABEL: @test_mm256_mask_srav_epi64
+ // CHECK: @llvm.x86.avx512.mask.psrav.q.256
+ return _mm256_mask_srav_epi64(__W, __U, __X, __Y);
+}
+
+__m256i test_mm256_maskz_srav_epi64(__mmask8 __U, __m256i __X, __m256i __Y) {
+ // CHECK-LABEL: @test_mm256_maskz_srav_epi64
+ // CHECK: @llvm.x86.avx512.mask.psrav.q.256
+ return _mm256_maskz_srav_epi64(__U, __X, __Y);
+}
+
OpenPOWER on IntegriCloud