summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/avx512dq-builtins.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/CodeGen/avx512dq-builtins.c')
-rw-r--r--clang/test/CodeGen/avx512dq-builtins.c72
1 files changed, 72 insertions, 0 deletions
diff --git a/clang/test/CodeGen/avx512dq-builtins.c b/clang/test/CodeGen/avx512dq-builtins.c
index f9bc504a5e0..c1dea8c69a3 100644
--- a/clang/test/CodeGen/avx512dq-builtins.c
+++ b/clang/test/CodeGen/avx512dq-builtins.c
@@ -743,6 +743,78 @@ __m512 test_mm512_maskz_reduce_round_ps(__mmask16 __U, __m512 __A) {
return _mm512_maskz_reduce_round_ps(__U, __A, 4, 8);
}
+__m128 test_mm_reduce_ss(__m128 __A, __m128 __B) {
+ // CHECK-LABEL: @test_mm_reduce_ss
+ // CHECK: @llvm.x86.avx512.mask.reduce.ss
+ return _mm_reduce_ss(__A, __B, 4);
+}
+
+__m128 test_mm_mask_reduce_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
+ // CHECK-LABEL: @test_mm_mask_reduce_ss
+ // CHECK: @llvm.x86.avx512.mask.reduce.ss
+ return _mm_mask_reduce_ss(__W, __U, __A, __B, 4);
+}
+
+__m128 test_mm_maskz_reduce_ss(__mmask8 __U, __m128 __A, __m128 __B) {
+ // CHECK-LABEL: @test_mm_maskz_reduce_ss
+ // CHECK: @llvm.x86.avx512.mask.reduce.ss
+ return _mm_maskz_reduce_ss(__U, __A, __B, 4);
+}
+
+__m128 test_mm_reduce_round_ss(__m128 __A, __m128 __B) {
+ // CHECK-LABEL: @test_mm_reduce_round_ss
+ // CHECK: @llvm.x86.avx512.mask.reduce.ss
+ return _mm_reduce_round_ss(__A, __B, 4, 8);
+}
+
+__m128 test_mm_mask_reduce_round_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
+ // CHECK-LABEL: @test_mm_mask_reduce_round_ss
+ // CHECK: @llvm.x86.avx512.mask.reduce.ss
+ return _mm_mask_reduce_round_ss(__W, __U, __A, __B, 4, 8);
+}
+
+__m128 test_mm_maskz_reduce_round_ss(__mmask8 __U, __m128 __A, __m128 __B) {
+ // CHECK-LABEL: @test_mm_maskz_reduce_round_ss
+ // CHECK: @llvm.x86.avx512.mask.reduce.ss
+ return _mm_maskz_reduce_round_ss(__U, __A, __B, 4, 8);
+}
+
+__m128d test_mm_reduce_sd(__m128d __A, __m128d __B) {
+ // CHECK-LABEL: @test_mm_reduce_sd
+ // CHECK: @llvm.x86.avx512.mask.reduce.sd
+ return _mm_reduce_sd(__A, __B, 4);
+}
+
+__m128d test_mm_mask_reduce_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
+ // CHECK-LABEL: @test_mm_mask_reduce_sd
+ // CHECK: @llvm.x86.avx512.mask.reduce.sd
+ return _mm_mask_reduce_sd(__W, __U, __A, __B, 4);
+}
+
+__m128d test_mm_maskz_reduce_sd(__mmask8 __U, __m128d __A, __m128d __B) {
+ // CHECK-LABEL: @test_mm_maskz_reduce_sd
+ // CHECK: @llvm.x86.avx512.mask.reduce.sd
+ return _mm_maskz_reduce_sd(__U, __A, __B, 4);
+}
+
+__m128d test_mm_reduce_round_sd(__m128d __A, __m128d __B) {
+ // CHECK-LABEL: @test_mm_reduce_round_sd
+ // CHECK: @llvm.x86.avx512.mask.reduce.sd
+ return _mm_reduce_round_sd(__A, __B, 4, 8);
+}
+
+__m128d test_mm_mask_reduce_round_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
+ // CHECK-LABEL: @test_mm_mask_reduce_round_sd
+ // CHECK: @llvm.x86.avx512.mask.reduce.sd
+ return _mm_mask_reduce_round_sd(__W, __U, __A, __B, 4, 8);
+}
+
+__m128d test_mm_maskz_reduce_round_sd(__mmask8 __U, __m128d __A, __m128d __B) {
+ // CHECK-LABEL: @test_mm_maskz_reduce_round_sd
+ // CHECK: @llvm.x86.avx512.mask.reduce.sd
+ return _mm_maskz_reduce_round_sd(__U, __A, __B, 4, 8);
+}
+
__mmask16 test_mm512_movepi32_mask(__m512i __A) {
// CHECK-LABEL: @test_mm512_movepi32_mask
// CHECK: @llvm.x86.avx512.cvtd2mask.512
OpenPOWER on IntegriCloud