diff options
author | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2015-05-07 11:26:36 +0000 |
---|---|---|
committer | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2015-05-07 11:26:36 +0000 |
commit | bd5c8b9be9cec9cf737d867d4ce8dea8c7d1a747 (patch) | |
tree | 117fc099568dde52265119e8324b96e4cc894544 /clang/test | |
parent | 29792e9a80a1ccbe3d7c923dafb2a69e66cada35 (diff) | |
download | bcm5719-llvm-bd5c8b9be9cec9cf737d867d4ce8dea8c7d1a747.tar.gz bcm5719-llvm-bd5c8b9be9cec9cf737d867d4ce8dea8c7d1a747.zip |
AVX-512: FP compare intrinsics - changed type of CC parameter from i8 to i32 according to the spec.
Added FP compare intrinsics for SKX.
llvm-svn: 236715
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/CodeGen/avx512vl-builtins.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/clang/test/CodeGen/avx512vl-builtins.c b/clang/test/CodeGen/avx512vl-builtins.c index 99cab9100ad..e9b65ae0e89 100644 --- a/clang/test/CodeGen/avx512vl-builtins.c +++ b/clang/test/CodeGen/avx512vl-builtins.c @@ -1074,3 +1074,50 @@ __m128i test_mm_maskz_xor_epi64 (__mmask8 __U, __m128i __A, __m128i __B) { return _mm_maskz_xor_epi64( __U, __A, __B); } +__mmask8 test_mm256_cmp_ps_mask(__m256 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_cmp_ps_mask + // CHECK: @llvm.x86.avx512.mask.cmp.ps.256 + return (__mmask8)_mm256_cmp_ps_mask(__A, __B, 0); +} + +__mmask8 test_mm256_mask_cmp_ps_mask(__mmask8 m, __m256 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_mask_cmp_ps_mask + // CHECK: @llvm.x86.avx512.mask.cmp.ps.256 + return _mm256_mask_cmp_ps_mask(m, __A, __B, 0); +} + +__mmask8 test_mm128_cmp_ps_mask(__m128 __A, __m128 __B) { + // CHECK-LABEL: @test_mm128_cmp_ps_mask + // CHECK: @llvm.x86.avx512.mask.cmp.ps.128 + return (__mmask8)_mm128_cmp_ps_mask(__A, __B, 0); +} + +__mmask8 test_mm128_mask_cmp_ps_mask(__mmask8 m, __m128 __A, __m128 __B) { + // CHECK-LABEL: @test_mm128_mask_cmp_ps_mask + // CHECK: @llvm.x86.avx512.mask.cmp.ps.128 + return _mm128_mask_cmp_ps_mask(m, __A, __B, 0); +} + +__mmask8 test_mm256_cmp_pd_mask(__m256d __A, __m256d __B) { + // CHECK-LABEL: @test_mm256_cmp_pd_mask + // CHECK: @llvm.x86.avx512.mask.cmp.pd.256 + return (__mmask8)_mm256_cmp_pd_mask(__A, __B, 0); +} + +__mmask8 test_mm256_mask_cmp_pd_mask(__mmask8 m, __m256d __A, __m256d __B) { + // CHECK-LABEL: @test_mm256_mask_cmp_pd_mask + // CHECK: @llvm.x86.avx512.mask.cmp.pd.256 + return _mm256_mask_cmp_pd_mask(m, __A, __B, 0); +} + +__mmask8 test_mm128_cmp_pd_mask(__m128d __A, __m128d __B) { + // CHECK-LABEL: @test_mm128_cmp_pd_mask + // CHECK: @llvm.x86.avx512.mask.cmp.pd.128 + return (__mmask8)_mm128_cmp_pd_mask(__A, __B, 0); +} + +__mmask8 test_mm128_mask_cmp_pd_mask(__mmask8 m, __m128d __A, __m128d __B) { + // CHECK-LABEL: @test_mm128_mask_cmp_pd_mask + // CHECK: @llvm.x86.avx512.mask.cmp.pd.128 + return _mm128_mask_cmp_pd_mask(m, __A, __B, 0); +} |