summaryrefslogtreecommitdiffstats
path: root/test/CodeGen/avx512vbmivl-builtin.c
diff options
context:
space:
mode:
authorMichael Zuckerman <Michael.zuckerman@intel.com>2016-04-25 05:32:35 +0000
committerMichael Zuckerman <Michael.zuckerman@intel.com>2016-04-25 05:32:35 +0000
commit84b05ac1901f581f12c05e9cb979f1e60da02017 (patch)
tree0dfbbaea2c6b30c55b56beb6723a47a43c7e60b9 /test/CodeGen/avx512vbmivl-builtin.c
parentc9192fab899a2b4d5b8ae436c9910c4ef6708120 (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.c35
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