diff options
| author | Craig Topper <craig.topper@gmail.com> | 2015-02-01 22:27:40 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2015-02-01 22:27:40 +0000 |
| commit | 53565c60e7dfe6cb7b7ba347298a0de87ed956af (patch) | |
| tree | 7a4fddca71b74aadcdc3c8e4e1da216cf37c129b /clang/test | |
| parent | 7c6ab93fba16f893acebc9ea9542b56ee7297bdb (diff) | |
| download | bcm5719-llvm-53565c60e7dfe6cb7b7ba347298a0de87ed956af.tar.gz bcm5719-llvm-53565c60e7dfe6cb7b7ba347298a0de87ed956af.zip | |
[X86] Add other flavors of AVX512 cmpps/cmppd intrinsics.
llvm-svn: 227773
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/CodeGen/avx512f-builtins.c | 48 |
1 files changed, 42 insertions, 6 deletions
diff --git a/clang/test/CodeGen/avx512f-builtins.c b/clang/test/CodeGen/avx512f-builtins.c index 1e22da8ba5f..f7f7df54174 100644 --- a/clang/test/CodeGen/avx512f-builtins.c +++ b/clang/test/CodeGen/avx512f-builtins.c @@ -284,16 +284,52 @@ __m512 test_mm512_unpacklo_ps(__m512 a, __m512 b) return _mm512_unpacklo_ps(a, b); } -__mmask16 test_mm512_cmp_ps_mask(__m512 __a, __m512 __b) { - // CHECK-LABEL: @test_mm512_cmp_ps_mask +__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_ps_mask(__a, __b, 0); + return _mm512_cmp_round_ps_mask(a, b, 0, _MM_FROUND_TO_NEAREST_INT); } -__mmask8 test_mm512_cmp_pd_mask(__m512 __a, __m512 __b) { - // CHECK-LABEL: @test_mm512_cmp_pd_mask +__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); +} + +__mmask16 test_mm512_cmp_ps_mask(__m512 a, __m512 b) { + // check-label: @test_mm512_cmp_ps_mask + // check: @llvm.x86.avx512.mask.cmp.ps.512 + return _mm512_cmp_ps_mask(a, b, 0); +} + +__mmask16 test_mm512_mask_cmp_ps_mask(__mmask16 m, __m512 a, __m512 b) { + // CHECK-LABEL: @test_mm512_mask_cmp_ps_mask + // CHECK: @llvm.x86.avx512.mask.cmp.ps.512 + return _mm512_mask_cmp_ps_mask(m, a, b, 0); +} + +__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); +} + +__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); +} + +__mmask8 test_mm512_cmp_pd_mask(__m512d a, __m512d b) { + // check-label: @test_mm512_cmp_pd_mask + // check: @llvm.x86.avx512.mask.cmp.pd.512 + return _mm512_cmp_pd_mask(a, b, 0); +} + +__mmask8 test_mm512_mask_cmp_pd_mask(__mmask8 m, __m512d a, __m512d b) { + // CHECK-LABEL: @test_mm512_mask_cmp_pd_mask // CHECK: @llvm.x86.avx512.mask.cmp.pd.512 - return _mm512_cmp_pd_mask(__a, __b, 0); + return _mm512_mask_cmp_pd_mask(m, a, b, 0); } __m256d test_mm512_extractf64x4_pd(__m512d a) |

