summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/avx512vl-builtins.c
diff options
context:
space:
mode:
authorMichael Zuckerman <Michael.zuckerman@intel.com>2016-04-11 12:32:31 +0000
committerMichael Zuckerman <Michael.zuckerman@intel.com>2016-04-11 12:32:31 +0000
commit1af947a7b31bb9b8ab91d4e3f9ef93550bbfbcd5 (patch)
tree13ff69ee0777db9a2810f7570c3508d9f63f82b5 /clang/test/CodeGen/avx512vl-builtins.c
parent5ffc24e20226267314e13b0f2b82afdf878305e4 (diff)
downloadbcm5719-llvm-1af947a7b31bb9b8ab91d4e3f9ef93550bbfbcd5.tar.gz
bcm5719-llvm-1af947a7b31bb9b8ab91d4e3f9ef93550bbfbcd5.zip
[Clang][AVX512][BuiltIn] Adding avx512 ( punpck{h|l}{dq|qdq}{128|256|512},rndscale{ss|sd}, {scalef{ss|sd|pd512|ps512} ) builtin to clang
Differential Revision: http://reviews.llvm.org/D18929 llvm-svn: 265935
Diffstat (limited to 'clang/test/CodeGen/avx512vl-builtins.c')
-rw-r--r--clang/test/CodeGen/avx512vl-builtins.c95
1 files changed, 95 insertions, 0 deletions
diff --git a/clang/test/CodeGen/avx512vl-builtins.c b/clang/test/CodeGen/avx512vl-builtins.c
index 0a201012407..3de49677f5b 100644
--- a/clang/test/CodeGen/avx512vl-builtins.c
+++ b/clang/test/CodeGen/avx512vl-builtins.c
@@ -4800,3 +4800,98 @@ __mmask8 test_mm256_mask_testn_epi64_mask(__mmask8 __U, __m256i __A, __m256i __B
// CHECK: @llvm.x86.avx512.ptestnm.q.256
return _mm256_mask_testn_epi64_mask(__U, __A, __B);
}
+__m128i test_mm_mask_unpackhi_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
+ // CHECK-LABEL: @test_mm_mask_unpackhi_epi32
+ // CHECK: @llvm.x86.avx512.mask.punpckhd.q.128
+ return _mm_mask_unpackhi_epi32(__W, __U, __A, __B);
+}
+
+__m128i test_mm_maskz_unpackhi_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
+ // CHECK-LABEL: @test_mm_maskz_unpackhi_epi32
+ // CHECK: @llvm.x86.avx512.mask.punpckhd.q.128
+ return _mm_maskz_unpackhi_epi32(__U, __A, __B);
+}
+
+__m256i test_mm256_mask_unpackhi_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
+ // CHECK-LABEL: @test_mm256_mask_unpackhi_epi32
+ // CHECK: @llvm.x86.avx512.mask.punpckhd.q.256
+ return _mm256_mask_unpackhi_epi32(__W, __U, __A, __B);
+}
+
+__m256i test_mm256_maskz_unpackhi_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
+ // CHECK-LABEL: @test_mm256_maskz_unpackhi_epi32
+ // CHECK: @llvm.x86.avx512.mask.punpckhd.q.256
+ return _mm256_maskz_unpackhi_epi32(__U, __A, __B);
+}
+
+__m128i test_mm_mask_unpackhi_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
+ // CHECK-LABEL: @test_mm_mask_unpackhi_epi64
+ // CHECK: @llvm.x86.avx512.mask.punpckhqd.q.128
+ return _mm_mask_unpackhi_epi64(__W, __U, __A, __B);
+}
+
+__m128i test_mm_maskz_unpackhi_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
+ // CHECK-LABEL: @test_mm_maskz_unpackhi_epi64
+ // CHECK: @llvm.x86.avx512.mask.punpckhqd.q.128
+ return _mm_maskz_unpackhi_epi64(__U, __A, __B);
+}
+
+__m256i test_mm256_mask_unpackhi_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
+ // CHECK-LABEL: @test_mm256_mask_unpackhi_epi64
+ // CHECK: @llvm.x86.avx512.mask.punpckhqd.q.256
+ return _mm256_mask_unpackhi_epi64(__W, __U, __A, __B);
+}
+
+__m256i test_mm256_maskz_unpackhi_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
+ // CHECK-LABEL: @test_mm256_maskz_unpackhi_epi64
+ // CHECK: @llvm.x86.avx512.mask.punpckhqd.q.256
+ return _mm256_maskz_unpackhi_epi64(__U, __A, __B);
+}
+
+__m128i test_mm_mask_unpacklo_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
+ // CHECK-LABEL: @test_mm_mask_unpacklo_epi32
+ // CHECK: @llvm.x86.avx512.mask.punpckld.q.128
+ return _mm_mask_unpacklo_epi32(__W, __U, __A, __B);
+}
+
+__m128i test_mm_maskz_unpacklo_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
+ // CHECK-LABEL: @test_mm_maskz_unpacklo_epi32
+ // CHECK: @llvm.x86.avx512.mask.punpckld.q.128
+ return _mm_maskz_unpacklo_epi32(__U, __A, __B);
+}
+
+__m256i test_mm256_mask_unpacklo_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
+ // CHECK-LABEL: @test_mm256_mask_unpacklo_epi32
+ // CHECK: @llvm.x86.avx512.mask.punpckld.q.256
+ return _mm256_mask_unpacklo_epi32(__W, __U, __A, __B);
+}
+
+__m256i test_mm256_maskz_unpacklo_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
+ // CHECK-LABEL: @test_mm256_maskz_unpacklo_epi32
+ // CHECK: @llvm.x86.avx512.mask.punpckld.q.256
+ return _mm256_maskz_unpacklo_epi32(__U, __A, __B);
+}
+
+__m128i test_mm_mask_unpacklo_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
+ // CHECK-LABEL: @test_mm_mask_unpacklo_epi64
+ // CHECK: @llvm.x86.avx512.mask.punpcklqd.q.128
+ return _mm_mask_unpacklo_epi64(__W, __U, __A, __B);
+}
+
+__m128i test_mm_maskz_unpacklo_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
+ // CHECK-LABEL: @test_mm_maskz_unpacklo_epi64
+ // CHECK: @llvm.x86.avx512.mask.punpcklqd.q.128
+ return _mm_maskz_unpacklo_epi64(__U, __A, __B);
+}
+
+__m256i test_mm256_mask_unpacklo_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
+ // CHECK-LABEL: @test_mm256_mask_unpacklo_epi64
+ // CHECK: @llvm.x86.avx512.mask.punpcklqd.q.256
+ return _mm256_mask_unpacklo_epi64(__W, __U, __A, __B);
+}
+
+__m256i test_mm256_maskz_unpacklo_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
+ // CHECK-LABEL: @test_mm256_maskz_unpacklo_epi64
+ // CHECK: @llvm.x86.avx512.mask.punpcklqd.q.256
+ return _mm256_maskz_unpacklo_epi64(__U, __A, __B);
+}
OpenPOWER on IntegriCloud