summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorMichael Zuckerman <Michael.zuckerman@intel.com>2016-04-10 10:51:04 +0000
committerMichael Zuckerman <Michael.zuckerman@intel.com>2016-04-10 10:51:04 +0000
commitfa7ccc5bcfe271e6f03c7e5be3583f7eb06521b8 (patch)
tree363bbff928216854ad109f4824d6c9124ef880b7 /clang/test
parent561d36b32011407383ad9f439fe1144101e05092 (diff)
downloadbcm5719-llvm-fa7ccc5bcfe271e6f03c7e5be3583f7eb06521b8.tar.gz
bcm5719-llvm-fa7ccc5bcfe271e6f03c7e5be3583f7eb06521b8.zip
[Clang][AVX512][BuiltIn] Adding avx512 ( store ) builtin to clang
Differential Revision: http://reviews.llvm.org/D18925 llvm-svn: 265895
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/avx512bw-builtins.c11
-rw-r--r--clang/test/CodeGen/avx512vl-builtins.c72
-rw-r--r--clang/test/CodeGen/avx512vlbw-builtins.c23
3 files changed, 105 insertions, 1 deletions
diff --git a/clang/test/CodeGen/avx512bw-builtins.c b/clang/test/CodeGen/avx512bw-builtins.c
index 58a7be913a4..5e39afc6993 100644
--- a/clang/test/CodeGen/avx512bw-builtins.c
+++ b/clang/test/CodeGen/avx512bw-builtins.c
@@ -1346,5 +1346,14 @@ __m512i test_mm512_maskz_loadu_epi8(__mmask64 __U, void const *__P) {
// CHECK: @llvm.x86.avx512.mask.loadu.b.512
return _mm512_maskz_loadu_epi8(__U, __P);
}
+void test_mm512_mask_storeu_epi16(void *__P, __mmask32 __U, __m512i __A) {
+ // CHECK-LABEL: @test_mm512_mask_storeu_epi16
+ // CHECK: @llvm.x86.avx512.mask.storeu.w.
+ return _mm512_mask_storeu_epi16(__P, __U, __A);
+}
-
+void test_mm512_mask_storeu_epi8(void *__P, __mmask64 __U, __m512i __A) {
+ // CHECK-LABEL: @test_mm512_mask_storeu_epi8
+ // CHECK: @llvm.x86.avx512.mask.storeu.b.
+ return _mm512_mask_storeu_epi8(__P, __U, __A);
+}
diff --git a/clang/test/CodeGen/avx512vl-builtins.c b/clang/test/CodeGen/avx512vl-builtins.c
index 95cc5240bc6..e1ab64f2f82 100644
--- a/clang/test/CodeGen/avx512vl-builtins.c
+++ b/clang/test/CodeGen/avx512vl-builtins.c
@@ -4296,3 +4296,75 @@ __m256 test_mm256_maskz_loadu_ps(__mmask8 __U, void const *__P) {
return _mm256_maskz_loadu_ps(__U, __P);
}
+void test_mm_mask_store_pd(void *__P, __mmask8 __U, __m128d __A) {
+ // CHECK-LABEL: @test_mm_mask_store_pd
+ // CHECK: @llvm.x86.avx512.mask.store.pd.128
+ return _mm_mask_store_pd(__P, __U, __A);
+}
+
+void test_mm256_mask_store_pd(void *__P, __mmask8 __U, __m256d __A) {
+ // CHECK-LABEL: @test_mm256_mask_store_pd
+ // CHECK: @llvm.x86.avx512.mask.store.pd.256
+ return _mm256_mask_store_pd(__P, __U, __A);
+}
+
+void test_mm_mask_store_ps(void *__P, __mmask8 __U, __m128 __A) {
+ // CHECK-LABEL: @test_mm_mask_store_ps
+ // CHECK: @llvm.x86.avx512.mask.store.ps.128
+ return _mm_mask_store_ps(__P, __U, __A);
+}
+
+void test_mm256_mask_store_ps(void *__P, __mmask8 __U, __m256 __A) {
+ // CHECK-LABEL: @test_mm256_mask_store_ps
+ // CHECK: @llvm.x86.avx512.mask.store.ps.256
+ return _mm256_mask_store_ps(__P, __U, __A);
+}
+
+void test_mm_mask_storeu_epi64(void *__P, __mmask8 __U, __m128i __A) {
+ // CHECK-LABEL: @test_mm_mask_storeu_epi64
+ // CHECK: @llvm.x86.avx512.mask.storeu
+ return _mm_mask_storeu_epi64(__P, __U, __A);
+}
+
+void test_mm256_mask_storeu_epi64(void *__P, __mmask8 __U, __m256i __A) {
+ // CHECK-LABEL: @test_mm256_mask_storeu_epi64
+ // CHECK: @llvm.x86.avx512.mask.storeu
+ return _mm256_mask_storeu_epi64(__P, __U, __A);
+}
+
+void test_mm_mask_storeu_epi32(void *__P, __mmask8 __U, __m128i __A) {
+ // CHECK-LABEL: @test_mm_mask_storeu_epi32
+ // CHECK: @llvm.x86.avx512.mask.storeu
+ return _mm_mask_storeu_epi32(__P, __U, __A);
+}
+
+void test_mm256_mask_storeu_epi32(void *__P, __mmask8 __U, __m256i __A) {
+ // CHECK-LABEL: @test_mm256_mask_storeu_epi32
+ // CHECK: @llvm.x86.avx512.mask.storeu
+ return _mm256_mask_storeu_epi32(__P, __U, __A);
+}
+
+void test_mm_mask_storeu_pd(void *__P, __mmask8 __U, __m128d __A) {
+ // CHECK-LABEL: @test_mm_mask_storeu_pd
+ // CHECK: @llvm.x86.avx512.mask.storeu.pd.128
+ return _mm_mask_storeu_pd(__P, __U, __A);
+}
+
+void test_mm256_mask_storeu_pd(void *__P, __mmask8 __U, __m256d __A) {
+ // CHECK-LABEL: @test_mm256_mask_storeu_pd
+ // CHECK: @llvm.x86.avx512.mask.storeu.pd.256
+ return _mm256_mask_storeu_pd(__P, __U, __A);
+}
+
+void test_mm_mask_storeu_ps(void *__P, __mmask8 __U, __m128 __A) {
+ // CHECK-LABEL: @test_mm_mask_storeu_ps
+ // CHECK: @llvm.x86.avx512.mask.storeu.ps.128
+ return _mm_mask_storeu_ps(__P, __U, __A);
+}
+
+void test_mm256_mask_storeu_ps(void *__P, __mmask8 __U, __m256 __A) {
+ // CHECK-LABEL: @test_mm256_mask_storeu_ps
+ // CHECK: @llvm.x86.avx512.mask.storeu.ps.256
+ return _mm256_mask_storeu_ps(__P, __U, __A);
+}
+
diff --git a/clang/test/CodeGen/avx512vlbw-builtins.c b/clang/test/CodeGen/avx512vlbw-builtins.c
index 3caa9b340c8..cd7f7a0450d 100644
--- a/clang/test/CodeGen/avx512vlbw-builtins.c
+++ b/clang/test/CodeGen/avx512vlbw-builtins.c
@@ -2053,3 +2053,26 @@ __m256i test_mm256_maskz_loadu_epi8(__mmask32 __U, void const *__P) {
return _mm256_maskz_loadu_epi8(__U, __P);
}
+void test_mm_mask_storeu_epi16(void *__P, __mmask8 __U, __m128i __A) {
+ // CHECK-LABEL: @test_mm_mask_storeu_epi16
+ // CHECK: @llvm.x86.avx512.mask.storeu.w.128
+ return _mm_mask_storeu_epi16(__P, __U, __A);
+}
+
+void test_mm256_mask_storeu_epi16(void *__P, __mmask16 __U, __m256i __A) {
+ // CHECK-LABEL: @test_mm256_mask_storeu_epi16
+ // CHECK: @llvm.x86.avx512.mask.storeu.w.256
+ return _mm256_mask_storeu_epi16(__P, __U, __A);
+}
+
+void test_mm_mask_storeu_epi8(void *__P, __mmask16 __U, __m128i __A) {
+ // CHECK-LABEL: @test_mm_mask_storeu_epi8
+ // CHECK: @llvm.x86.avx512.mask.storeu.b.128
+ return _mm_mask_storeu_epi8(__P, __U, __A);
+}
+
+void test_mm256_mask_storeu_epi8(void *__P, __mmask32 __U, __m256i __A) {
+ // CHECK-LABEL: @test_mm256_mask_storeu_epi8
+ // CHECK: @llvm.x86.avx512.mask.storeu.b.256
+ return _mm256_mask_storeu_epi8(__P, __U, __A);
+}
OpenPOWER on IntegriCloud