diff options
author | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-04-25 05:32:35 +0000 |
---|---|---|
committer | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-04-25 05:32:35 +0000 |
commit | 84b05ac1901f581f12c05e9cb979f1e60da02017 (patch) | |
tree | 0dfbbaea2c6b30c55b56beb6723a47a43c7e60b9 /test/CodeGen/avx512vbmivl-builtin.c | |
parent | c9192fab899a2b4d5b8ae436c9910c4ef6708120 (diff) |
[Clang][AVX512][BuiltIn] Adding support to intrinsics of VPERMD and VPERMW instruction set
Differential Revision: http://reviews.llvm.org/D19195
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@267380 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/avx512vbmivl-builtin.c')
-rw-r--r-- | test/CodeGen/avx512vbmivl-builtin.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/CodeGen/avx512vbmivl-builtin.c b/test/CodeGen/avx512vbmivl-builtin.c index 90c5b4cc74..29864eccdf 100644 --- a/test/CodeGen/avx512vbmivl-builtin.c +++ b/test/CodeGen/avx512vbmivl-builtin.c @@ -5,6 +5,41 @@ #include <immintrin.h> +__m128i test_mm_permutexvar_epi8(__m128i __A, __m128i __B) { + // CHECK-LABEL: @test_mm_permutexvar_epi8 + // CHECK: @llvm.x86.avx512.mask.permvar.qi.128 + return _mm_permutexvar_epi8(__A, __B); +} + +__m128i test_mm_maskz_permutexvar_epi8(__mmask16 __M, __m128i __A, __m128i __B) { + // CHECK-LABEL: @test_mm_maskz_permutexvar_epi8 + // CHECK: @llvm.x86.avx512.mask.permvar.qi.128 + return _mm_maskz_permutexvar_epi8(__M, __A, __B); +} + +__m128i test_mm_mask_permutexvar_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) { + // CHECK-LABEL: @test_mm_mask_permutexvar_epi8 + // CHECK: @llvm.x86.avx512.mask.permvar.qi.128 + return _mm_mask_permutexvar_epi8(__W, __M, __A, __B); +} + +__m256i test_mm256_permutexvar_epi8(__m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_permutexvar_epi8 + // CHECK: @llvm.x86.avx512.mask.permvar.qi.256 + return _mm256_permutexvar_epi8(__A, __B); +} + +__m256i test_mm256_maskz_permutexvar_epi8(__mmask32 __M, __m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_maskz_permutexvar_epi8 + // CHECK: @llvm.x86.avx512.mask.permvar.qi.256 + return _mm256_maskz_permutexvar_epi8(__M, __A, __B); +} + +__m256i test_mm256_mask_permutexvar_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_mask_permutexvar_epi8 + // CHECK: @llvm.x86.avx512.mask.permvar.qi.256 + return _mm256_mask_permutexvar_epi8(__W, __M, __A, __B); +} __m128i test_mm_mask2_permutex2var_epi8(__m128i __A, __m128i __I, __mmask16 __U, __m128i __B) { // CHECK-LABEL: @test_mm_mask2_permutex2var_epi8 |