summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/avx512f-builtins.c
diff options
context:
space:
mode:
authorMichael Zuckerman <Michael.zuckerman@intel.com>2016-04-10 12:54:23 +0000
committerMichael Zuckerman <Michael.zuckerman@intel.com>2016-04-10 12:54:23 +0000
commitcdd54c83d81f06c46feb5debbc399dc0f5a896a2 (patch)
treeac4c74c11fca8cf8af665ee585968cba20a21ea0 /clang/test/CodeGen/avx512f-builtins.c
parentfa7ccc5bcfe271e6f03c7e5be3583f7eb06521b8 (diff)
downloadbcm5719-llvm-cdd54c83d81f06c46feb5debbc399dc0f5a896a2.tar.gz
bcm5719-llvm-cdd54c83d81f06c46feb5debbc399dc0f5a896a2.zip
Adding avx512 (unpck{h|l}{pd|ps}, rcp14{pd|ps}{128|256},vplzcnt{d|q} ) builtin to clang
Differential Revision: http://reviews.llvm.org/D18931 llvm-svn: 265896
Diffstat (limited to 'clang/test/CodeGen/avx512f-builtins.c')
-rw-r--r--clang/test/CodeGen/avx512f-builtins.c53
1 files changed, 49 insertions, 4 deletions
diff --git a/clang/test/CodeGen/avx512f-builtins.c b/clang/test/CodeGen/avx512f-builtins.c
index 71e47b47fbc..5719f77a36c 100644
--- a/clang/test/CodeGen/avx512f-builtins.c
+++ b/clang/test/CodeGen/avx512f-builtins.c
@@ -762,13 +762,13 @@ __m512 test_mm512_unpacklo_ps(__m512 a, __m512 b)
__mmask16 test_mm512_cmp_round_ps_mask(__m512 a, __m512 b) {
// CHECK-LABEL: @test_mm512_cmp_round_ps_mask
// CHECK: @llvm.x86.avx512.mask.cmp.ps.512
- return _mm512_cmp_round_ps_mask(a, b, 0, _MM_FROUND_TO_NEAREST_INT);
+ return _mm512_cmp_round_ps_mask(a, b, 0, _MM_FROUND_CUR_DIRECTION);
}
__mmask16 test_mm512_mask_cmp_round_ps_mask(__mmask16 m, __m512 a, __m512 b) {
// CHECK-LABEL: @test_mm512_mask_cmp_round_ps_mask
// CHECK: @llvm.x86.avx512.mask.cmp.ps.512
- return _mm512_mask_cmp_round_ps_mask(m, a, b, 0, _MM_FROUND_TO_NEAREST_INT);
+ return _mm512_mask_cmp_round_ps_mask(m, a, b, 0, _MM_FROUND_CUR_DIRECTION);
}
__mmask16 test_mm512_cmp_ps_mask(__m512 a, __m512 b) {
@@ -786,13 +786,13 @@ __mmask16 test_mm512_mask_cmp_ps_mask(__mmask16 m, __m512 a, __m512 b) {
__mmask8 test_mm512_cmp_round_pd_mask(__m512d a, __m512d b) {
// CHECK-LABEL: @test_mm512_cmp_round_pd_mask
// CHECK: @llvm.x86.avx512.mask.cmp.pd.512
- return _mm512_cmp_round_pd_mask(a, b, 0, _MM_FROUND_TO_NEAREST_INT);
+ return _mm512_cmp_round_pd_mask(a, b, 0, _MM_FROUND_CUR_DIRECTION);
}
__mmask8 test_mm512_mask_cmp_round_pd_mask(__mmask8 m, __m512d a, __m512d b) {
// CHECK-LABEL: @test_mm512_mask_cmp_round_pd_mask
// CHECK: @llvm.x86.avx512.mask.cmp.pd.512
- return _mm512_mask_cmp_round_pd_mask(m, a, b, 0, _MM_FROUND_TO_NEAREST_INT);
+ return _mm512_mask_cmp_round_pd_mask(m, a, b, 0, _MM_FROUND_CUR_DIRECTION);
}
__mmask8 test_mm512_cmp_pd_mask(__m512d a, __m512d b) {
@@ -2576,5 +2576,50 @@ __mmask16 test_mm512_kmov(__mmask16 __A) {
return _mm512_kmov(__A);
}
+__m512d test_mm512_mask_unpackhi_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
+ // CHECK-LABEL: @test_mm512_mask_unpackhi_pd
+ // CHECK: @llvm.x86.avx512.mask.unpckh.pd.512
+ return _mm512_mask_unpackhi_pd(__W, __U, __A, __B);
+}
+
+__m512d test_mm512_maskz_unpackhi_pd(__mmask8 __U, __m512d __A, __m512d __B) {
+ // CHECK-LABEL: @test_mm512_maskz_unpackhi_pd
+ // CHECK: @llvm.x86.avx512.mask.unpckh.pd.512
+ return _mm512_maskz_unpackhi_pd(__U, __A, __B);
+}
+__m512 test_mm512_mask_unpackhi_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
+ // CHECK-LABEL: @test_mm512_mask_unpackhi_ps
+ // CHECK: @llvm.x86.avx512.mask.unpckh.ps.512
+ return _mm512_mask_unpackhi_ps(__W, __U, __A, __B);
+}
+__m512 test_mm512_maskz_unpackhi_ps(__mmask16 __U, __m512 __A, __m512 __B) {
+ // CHECK-LABEL: @test_mm512_maskz_unpackhi_ps
+ // CHECK: @llvm.x86.avx512.mask.unpckh.ps.512
+ return _mm512_maskz_unpackhi_ps(__U, __A, __B);
+}
+
+__m512d test_mm512_mask_unpacklo_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
+ // CHECK-LABEL: @test_mm512_mask_unpacklo_pd
+ // CHECK: @llvm.x86.avx512.mask.unpckl.pd.512
+ return _mm512_mask_unpacklo_pd(__W, __U, __A, __B);
+}
+
+__m512d test_mm512_maskz_unpacklo_pd(__mmask8 __U, __m512d __A, __m512d __B) {
+ // CHECK-LABEL: @test_mm512_maskz_unpacklo_pd
+ // CHECK: @llvm.x86.avx512.mask.unpckl.pd.512
+ return _mm512_maskz_unpacklo_pd(__U, __A, __B);
+}
+
+__m512 test_mm512_mask_unpacklo_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
+ // CHECK-LABEL: @test_mm512_mask_unpacklo_ps
+ // CHECK: @llvm.x86.avx512.mask.unpckl.ps.512
+ return _mm512_mask_unpacklo_ps(__W, __U, __A, __B);
+}
+
+__m512 test_mm512_maskz_unpacklo_ps(__mmask16 __U, __m512 __A, __m512 __B) {
+ // CHECK-LABEL: @test_mm512_maskz_unpacklo_ps
+ // CHECK: @llvm.x86.avx512.mask.unpckl.ps.512
+ return _mm512_maskz_unpacklo_ps(__U, __A, __B);
+}
OpenPOWER on IntegriCloud