diff options
author | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-04-10 12:54:23 +0000 |
---|---|---|
committer | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-04-10 12:54:23 +0000 |
commit | cdd54c83d81f06c46feb5debbc399dc0f5a896a2 (patch) | |
tree | ac4c74c11fca8cf8af665ee585968cba20a21ea0 /clang/test/CodeGen/avx512f-builtins.c | |
parent | fa7ccc5bcfe271e6f03c7e5be3583f7eb06521b8 (diff) | |
download | bcm5719-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.c | 53 |
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); +} |