summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAsaf Badouh <asaf.badouh@intel.com>2015-06-29 12:51:53 +0000
committerAsaf Badouh <asaf.badouh@intel.com>2015-06-29 12:51:53 +0000
commit55df9e3e26997c0bcf133366600a28dbd3bfd20c (patch)
treee4ae62b3b48d6a3d2f43237aadd0cd492d1718c3 /test
parenta512660678ae78f5c07f4dde2a4d235703e6b2cf (diff)
downloadclang-55df9e3e26997c0bcf133366600a28dbd3bfd20c.tar.gz
[x86][AVX512CD] Add conflict and lzcnt intrinsics in their 512bit versions
include tests review http://reviews.llvm.org/D10795 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240941 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/avx512cdintrin.c62
1 files changed, 62 insertions, 0 deletions
diff --git a/test/CodeGen/avx512cdintrin.c b/test/CodeGen/avx512cdintrin.c
new file mode 100644
index 0000000000..2b31cefe2f
--- /dev/null
+++ b/test/CodeGen/avx512cdintrin.c
@@ -0,0 +1,62 @@
+// RUN: %clang_cc1 %s -O0 -triple=x86_64-apple-darwin -ffreestanding -target-feature +avx512cd -emit-llvm -o - -Werror | FileCheck %s
+#include <immintrin.h>
+__m512i test_mm512_conflict_epi64(__m512i __A) {
+ // CHECK-LABEL: @test_mm512_conflict_epi64
+ // CHECK: @llvm.x86.avx512.mask.conflict.q.512
+ return _mm512_conflict_epi64(__A);
+}
+__m512i test_mm512_mask_conflict_epi64(__m512i __W, __mmask8 __U, __m512i __A) {
+ // CHECK-LABEL: @test_mm512_mask_conflict_epi64
+ // CHECK: @llvm.x86.avx512.mask.conflict.q.512
+ return _mm512_mask_conflict_epi64(__W,__U,__A);
+}
+__m512i test_mm512_maskz_conflict_epi64(__mmask8 __U, __m512i __A) {
+ // CHECK-LABEL: @test_mm512_maskz_conflict_epi64
+ // CHECK: @llvm.x86.avx512.mask.conflict.q.512
+ return _mm512_maskz_conflict_epi64(__U,__A);
+}
+__m512i test_mm512_conflict_epi32(__m512i __A) {
+ // CHECK-LABEL: @test_mm512_conflict_epi32
+ // CHECK: @llvm.x86.avx512.mask.conflict.d.512
+ return _mm512_conflict_epi32(__A);
+}
+__m512i test_mm512_mask_conflict_epi32(__m512i __W, __mmask16 __U, __m512i __A) {
+ // CHECK-LABEL: @test_mm512_mask_conflict_epi32
+ // CHECK: @llvm.x86.avx512.mask.conflict.d.512
+ return _mm512_mask_conflict_epi32(__W,__U,__A);
+}
+__m512i test_mm512_maskz_conflict_epi32(__mmask16 __U, __m512i __A) {
+ // CHECK-LABEL: @test_mm512_maskz_conflict_epi32
+ // CHECK: @llvm.x86.avx512.mask.conflict.d.512
+ return _mm512_maskz_conflict_epi32(__U,__A);
+}
+__m512i test_mm512_lzcnt_epi32(__m512i __A) {
+ // CHECK-LABEL: @test_mm512_lzcnt_epi32
+ // CHECK: @llvm.x86.avx512.mask.lzcnt.d.512
+ return _mm512_lzcnt_epi32(__A);
+}
+__m512i test_mm512_mask_lzcnt_epi32(__m512i __W, __mmask16 __U, __m512i __A) {
+ // CHECK-LABEL: @test_mm512_mask_lzcnt_epi32
+ // CHECK: @llvm.x86.avx512.mask.lzcnt.d.512
+ return _mm512_mask_lzcnt_epi32(__W,__U,__A);
+}
+__m512i test_mm512_maskz_lzcnt_epi32(__mmask16 __U, __m512i __A) {
+ // CHECK-LABEL: @test_mm512_maskz_lzcnt_epi32
+ // CHECK: @llvm.x86.avx512.mask.lzcnt.d.512
+ return _mm512_maskz_lzcnt_epi32(__U,__A);
+}
+__m512i test_mm512_lzcnt_epi64(__m512i __A) {
+ // CHECK-LABEL: @test_mm512_lzcnt_epi64
+ // CHECK: @llvm.x86.avx512.mask.lzcnt.q.512
+ return _mm512_lzcnt_epi64(__A);
+}
+__m512i test_mm512_mask_lzcnt_epi64(__m512i __W, __mmask8 __U, __m512i __A) {
+ // CHECK-LABEL: @test_mm512_mask_lzcnt_epi64
+ // CHECK: @llvm.x86.avx512.mask.lzcnt.q.512
+ return _mm512_mask_lzcnt_epi64(__W,__U,__A);
+}
+__m512i test_mm512_maskz_lzcnt_epi64(__mmask8 __U, __m512i __A) {
+ // CHECK-LABEL: @test_mm512_maskz_lzcnt_epi64
+ // CHECK: @llvm.x86.avx512.mask.lzcnt.q.512
+ return _mm512_maskz_lzcnt_epi64(__U,__A);
+}