diff options
| author | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-03-02 09:05:46 +0000 |
|---|---|---|
| committer | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-03-02 09:05:46 +0000 |
| commit | d15c95a793d9cea39c9f6d36aaf02e9106e7b200 (patch) | |
| tree | e0185b411effec596217b8f388c699381efb12c4 /clang/test | |
| parent | 1b5b0fd174b28ae4e51433f104daa0057cea5c89 (diff) | |
| download | bcm5719-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.c | 18 | ||||
| -rw-r--r-- | clang/test/CodeGen/avx512vl-builtins.c | 60 |
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); +} + |

