diff options
| author | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-03-01 13:03:45 +0000 |
|---|---|---|
| committer | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-03-01 13:03:45 +0000 |
| commit | 0165e7669c5200ed2eb09ce33f5254091d4c39d2 (patch) | |
| tree | 0ad7457ed07f8156a6b15765eb853d9825707263 /clang/test | |
| parent | 0000eeceb6c4215c51adf4c5d19a894cc149c248 (diff) | |
| download | bcm5719-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.c | 18 | ||||
| -rw-r--r-- | clang/test/CodeGen/avx512vl-builtins.c | 48 |
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); +} + |

