diff options
author | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-04-10 10:51:04 +0000 |
---|---|---|
committer | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-04-10 10:51:04 +0000 |
commit | fa7ccc5bcfe271e6f03c7e5be3583f7eb06521b8 (patch) | |
tree | 363bbff928216854ad109f4824d6c9124ef880b7 /clang/test | |
parent | 561d36b32011407383ad9f439fe1144101e05092 (diff) | |
download | bcm5719-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.c | 11 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512vl-builtins.c | 72 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512vlbw-builtins.c | 23 |
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); +} |