summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/CodeGen')
-rw-r--r--clang/test/CodeGen/avx512bw-builtins.c47
-rw-r--r--clang/test/CodeGen/avx512dq-builtins.c107
-rw-r--r--clang/test/CodeGen/avx512vl-builtins.c120
-rw-r--r--clang/test/CodeGen/avx512vlbw-builtins.c71
-rw-r--r--clang/test/CodeGen/avx512vldq-builtins.c90
5 files changed, 435 insertions, 0 deletions
diff --git a/clang/test/CodeGen/avx512bw-builtins.c b/clang/test/CodeGen/avx512bw-builtins.c
index 246bccc5e33..5de57929dc6 100644
--- a/clang/test/CodeGen/avx512bw-builtins.c
+++ b/clang/test/CodeGen/avx512bw-builtins.c
@@ -1423,3 +1423,50 @@ __m512i test_mm512_movm_epi16(__mmask32 __A) {
}
+__m512i test_mm512_broadcastb_epi8(__m128i __A) {
+ // CHECK-LABEL: @test_mm512_broadcastb_epi8
+ // CHECK: @llvm.x86.avx512.pbroadcastb.512
+ return _mm512_broadcastb_epi8(__A);
+}
+
+__m512i test_mm512_mask_broadcastb_epi8(__m512i __O, __mmask64 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm512_mask_broadcastb_epi8
+ // CHECK: @llvm.x86.avx512.pbroadcastb.512
+ return _mm512_mask_broadcastb_epi8(__O, __M, __A);
+}
+
+__m512i test_mm512_maskz_broadcastb_epi8(__mmask64 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm512_maskz_broadcastb_epi8
+ // CHECK: @llvm.x86.avx512.pbroadcastb.512
+ return _mm512_maskz_broadcastb_epi8(__M, __A);
+}
+
+__m512i test_mm512_broadcastw_epi16(__m128i __A) {
+ // CHECK-LABEL: @test_mm512_broadcastw_epi16
+ // CHECK: @llvm.x86.avx512.pbroadcastw.512
+ return _mm512_broadcastw_epi16(__A);
+}
+
+__m512i test_mm512_mask_broadcastw_epi16(__m512i __O, __mmask32 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm512_mask_broadcastw_epi16
+ // CHECK: @llvm.x86.avx512.pbroadcastw.512
+ return _mm512_mask_broadcastw_epi16(__O, __M, __A);
+}
+
+__m512i test_mm512_maskz_broadcastw_epi16(__mmask32 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm512_maskz_broadcastw_epi16
+ // CHECK: @llvm.x86.avx512.pbroadcastw.512
+ return _mm512_maskz_broadcastw_epi16(__M, __A);
+}
+
+__m512i test_mm512_mask_set1_epi16(__m512i __O, __mmask32 __M, short __A) {
+ // CHECK-LABEL: @test_mm512_mask_set1_epi16
+ // CHECK: @llvm.x86.avx512.mask.pbroadcast.w.gpr.512
+ return _mm512_mask_set1_epi16(__O, __M, __A);
+}
+
+__m512i test_mm512_maskz_set1_epi16(__mmask32 __M, short __A) {
+ // CHECK-LABEL: @test_mm512_maskz_set1_epi16
+ // CHECK: @llvm.x86.avx512.mask.pbroadcast.w.gpr.512
+ return _mm512_maskz_set1_epi16(__M, __A);
+}
diff --git a/clang/test/CodeGen/avx512dq-builtins.c b/clang/test/CodeGen/avx512dq-builtins.c
index 0be0e54488a..6f21717bec8 100644
--- a/clang/test/CodeGen/avx512dq-builtins.c
+++ b/clang/test/CodeGen/avx512dq-builtins.c
@@ -767,3 +767,110 @@ __mmask8 test_mm512_movepi64_mask(__m512i __A) {
return _mm512_movepi64_mask(__A);
}
+__m512 test_mm512_broadcast_f32x2(__m128 __A) {
+ // CHECK-LABEL: @test_mm512_broadcast_f32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcastf32x2
+ return _mm512_broadcast_f32x2(__A);
+}
+
+__m512 test_mm512_mask_broadcast_f32x2(__m512 __O, __mmask16 __M, __m128 __A) {
+ // CHECK-LABEL: @test_mm512_mask_broadcast_f32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcastf32x2
+ return _mm512_mask_broadcast_f32x2(__O, __M, __A);
+}
+
+__m512 test_mm512_maskz_broadcast_f32x2(__mmask16 __M, __m128 __A) {
+ // CHECK-LABEL: @test_mm512_maskz_broadcast_f32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcastf32x2
+ return _mm512_maskz_broadcast_f32x2(__M, __A);
+}
+
+__m512 test_mm512_broadcast_f32x8(__m256 __A) {
+ // CHECK-LABEL: @test_mm512_broadcast_f32x8
+ // CHECK: @llvm.x86.avx512.mask.broadcastf32x8
+ return _mm512_broadcast_f32x8(__A);
+}
+
+__m512 test_mm512_mask_broadcast_f32x8(__m512 __O, __mmask16 __M, __m256 __A) {
+ // CHECK-LABEL: @test_mm512_mask_broadcast_f32x8
+ // CHECK: @llvm.x86.avx512.mask.broadcastf32x8
+ return _mm512_mask_broadcast_f32x8(__O, __M, __A);
+}
+
+__m512 test_mm512_maskz_broadcast_f32x8(__mmask16 __M, __m256 __A) {
+ // CHECK-LABEL: @test_mm512_maskz_broadcast_f32x8
+ // CHECK: @llvm.x86.avx512.mask.broadcastf32x8
+ return _mm512_maskz_broadcast_f32x8(__M, __A);
+}
+
+__m512d test_mm512_broadcast_f64x2(__m128d __A) {
+ // CHECK-LABEL: @test_mm512_broadcast_f64x2
+ // CHECK: @llvm.x86.avx512.mask.broadcastf64x2
+ return _mm512_broadcast_f64x2(__A);
+}
+
+__m512d test_mm512_mask_broadcast_f64x2(__m512d __O, __mmask8 __M, __m128d __A) {
+ // CHECK-LABEL: @test_mm512_mask_broadcast_f64x2
+ // CHECK: @llvm.x86.avx512.mask.broadcastf64x2
+ return _mm512_mask_broadcast_f64x2(__O, __M, __A);
+}
+
+__m512d test_mm512_maskz_broadcast_f64x2(__mmask8 __M, __m128d __A) {
+ // CHECK-LABEL: @test_mm512_maskz_broadcast_f64x2
+ // CHECK: @llvm.x86.avx512.mask.broadcastf64x2
+ return _mm512_maskz_broadcast_f64x2(__M, __A);
+}
+
+__m512i test_mm512_broadcast_i32x2(__m128i __A) {
+ // CHECK-LABEL: @test_mm512_broadcast_i32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
+ return _mm512_broadcast_i32x2(__A);
+}
+
+__m512i test_mm512_mask_broadcast_i32x2(__m512i __O, __mmask16 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm512_mask_broadcast_i32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
+ return _mm512_mask_broadcast_i32x2(__O, __M, __A);
+}
+
+__m512i test_mm512_maskz_broadcast_i32x2(__mmask16 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm512_maskz_broadcast_i32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
+ return _mm512_maskz_broadcast_i32x2(__M, __A);
+}
+
+__m512i test_mm512_broadcast_i32x8(__m256i __A) {
+ // CHECK-LABEL: @test_mm512_broadcast_i32x8
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x8
+ return _mm512_broadcast_i32x8(__A);
+}
+
+__m512i test_mm512_mask_broadcast_i32x8(__m512i __O, __mmask16 __M, __m256i __A) {
+ // CHECK-LABEL: @test_mm512_mask_broadcast_i32x8
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x8
+ return _mm512_mask_broadcast_i32x8(__O, __M, __A);
+}
+
+__m512i test_mm512_maskz_broadcast_i32x8(__mmask16 __M, __m256i __A) {
+ // CHECK-LABEL: @test_mm512_maskz_broadcast_i32x8
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x8
+ return _mm512_maskz_broadcast_i32x8(__M, __A);
+}
+
+__m512i test_mm512_broadcast_i64x2(__m128i __A) {
+ // CHECK-LABEL: @test_mm512_broadcast_i64x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti64x2
+ return _mm512_broadcast_i64x2(__A);
+}
+
+__m512i test_mm512_mask_broadcast_i64x2(__m512i __O, __mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm512_mask_broadcast_i64x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti64x2
+ return _mm512_mask_broadcast_i64x2(__O, __M, __A);
+}
+
+__m512i test_mm512_maskz_broadcast_i64x2(__mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm512_maskz_broadcast_i64x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti64x2
+ return _mm512_maskz_broadcast_i64x2(__M, __A);
+}
diff --git a/clang/test/CodeGen/avx512vl-builtins.c b/clang/test/CodeGen/avx512vl-builtins.c
index 76741b78f8c..6a2156d3bfc 100644
--- a/clang/test/CodeGen/avx512vl-builtins.c
+++ b/clang/test/CodeGen/avx512vl-builtins.c
@@ -5278,3 +5278,123 @@ __m256 test_mm256_maskz_rsqrt14_ps(__mmask8 __U, __m256 __A) {
// CHECK: @llvm.x86.avx512.rsqrt14.ps.256
return _mm256_maskz_rsqrt14_ps(__U, __A);
}
+
+__m256 test_mm256_broadcast_f32x4(__m128 __A) {
+ // CHECK-LABEL: @test_mm256_broadcast_f32x4
+ // CHECK: @llvm.x86.avx512.mask.broadcastf32x4
+ return _mm256_broadcast_f32x4(__A);
+}
+
+__m256 test_mm256_mask_broadcast_f32x4(__m256 __O, __mmask8 __M, __m128 __A) {
+ // CHECK-LABEL: @test_mm256_mask_broadcast_f32x4
+ // CHECK: @llvm.x86.avx512.mask.broadcastf32x4
+ return _mm256_mask_broadcast_f32x4(__O, __M, __A);
+}
+
+__m256 test_mm256_maskz_broadcast_f32x4(__mmask8 __M, __m128 __A) {
+ // CHECK-LABEL: @test_mm256_maskz_broadcast_f32x4
+ // CHECK: @llvm.x86.avx512.mask.broadcastf32x4
+ return _mm256_maskz_broadcast_f32x4(__M, __A);
+}
+
+__m256i test_mm256_broadcast_i32x4(__m128i __A) {
+ // CHECK-LABEL: @test_mm256_broadcast_i32x4
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x4
+ return _mm256_broadcast_i32x4(__A);
+}
+
+__m256i test_mm256_mask_broadcast_i32x4(__m256i __O, __mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm256_mask_broadcast_i32x4
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x4
+ return _mm256_mask_broadcast_i32x4(__O, __M, __A);
+}
+
+__m256i test_mm256_maskz_broadcast_i32x4(__mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm256_maskz_broadcast_i32x4
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x4
+ return _mm256_maskz_broadcast_i32x4(__M, __A);
+}
+
+__m256d test_mm256_mask_broadcastsd_pd(__m256d __O, __mmask8 __M, __m128d __A) {
+ // CHECK-LABEL: @test_mm256_mask_broadcastsd_pd
+ // CHECK: @llvm.x86.avx512.mask.broadcast.sd.pd.256
+ return _mm256_mask_broadcastsd_pd(__O, __M, __A);
+}
+
+__m256d test_mm256_maskz_broadcastsd_pd(__mmask8 __M, __m128d __A) {
+ // CHECK-LABEL: @test_mm256_maskz_broadcastsd_pd
+ // CHECK: @llvm.x86.avx512.mask.broadcast.sd.pd.256
+ return _mm256_maskz_broadcastsd_pd(__M, __A);
+}
+
+__m128 test_mm_mask_broadcastss_ps(__m128 __O, __mmask8 __M, __m128 __A) {
+ // CHECK-LABEL: @test_mm_mask_broadcastss_ps
+ // CHECK: @llvm.x86.avx512.mask.broadcast.ss.ps.128
+ return _mm_mask_broadcastss_ps(__O, __M, __A);
+}
+
+__m128 test_mm_maskz_broadcastss_ps(__mmask8 __M, __m128 __A) {
+ // CHECK-LABEL: @test_mm_maskz_broadcastss_ps
+ // CHECK: @llvm.x86.avx512.mask.broadcast.ss.ps.128
+ return _mm_maskz_broadcastss_ps(__M, __A);
+}
+
+__m256 test_mm256_mask_broadcastss_ps(__m256 __O, __mmask8 __M, __m128 __A) {
+ // CHECK-LABEL: @test_mm256_mask_broadcastss_ps
+ // CHECK: @llvm.x86.avx512.mask.broadcast.ss.ps.256
+ return _mm256_mask_broadcastss_ps(__O, __M, __A);
+}
+
+__m256 test_mm256_maskz_broadcastss_ps(__mmask8 __M, __m128 __A) {
+ // CHECK-LABEL: @test_mm256_maskz_broadcastss_ps
+ // CHECK: @llvm.x86.avx512.mask.broadcast.ss.ps.256
+ return _mm256_maskz_broadcastss_ps(__M, __A);
+}
+
+__m128i test_mm_mask_broadcastd_epi32(__m128i __O, __mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm_mask_broadcastd_epi32
+ // CHECK: @llvm.x86.avx512.pbroadcastd.128
+ return _mm_mask_broadcastd_epi32(__O, __M, __A);
+}
+
+__m128i test_mm_maskz_broadcastd_epi32(__mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm_maskz_broadcastd_epi32
+ // CHECK: @llvm.x86.avx512.pbroadcastd.128
+ return _mm_maskz_broadcastd_epi32(__M, __A);
+}
+
+__m256i test_mm256_mask_broadcastd_epi32(__m256i __O, __mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm256_mask_broadcastd_epi32
+ // CHECK: @llvm.x86.avx512.pbroadcastd.256
+ return _mm256_mask_broadcastd_epi32(__O, __M, __A);
+}
+
+__m256i test_mm256_maskz_broadcastd_epi32(__mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm256_maskz_broadcastd_epi32
+ // CHECK: @llvm.x86.avx512.pbroadcastd.256
+ return _mm256_maskz_broadcastd_epi32(__M, __A);
+}
+
+__m128i test_mm_mask_broadcastq_epi64(__m128i __O, __mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm_mask_broadcastq_epi64
+ // CHECK: @llvm.x86.avx512.pbroadcastq.128
+ return _mm_mask_broadcastq_epi64(__O, __M, __A);
+}
+
+__m128i test_mm_maskz_broadcastq_epi64(__mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm_maskz_broadcastq_epi64
+ // CHECK: @llvm.x86.avx512.pbroadcastq.128
+ return _mm_maskz_broadcastq_epi64(__M, __A);
+}
+
+__m256i test_mm256_mask_broadcastq_epi64(__m256i __O, __mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm256_mask_broadcastq_epi64
+ // CHECK: @llvm.x86.avx512.pbroadcastq.256
+ return _mm256_mask_broadcastq_epi64(__O, __M, __A);
+}
+
+__m256i test_mm256_maskz_broadcastq_epi64(__mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm256_maskz_broadcastq_epi64
+ // CHECK: @llvm.x86.avx512.pbroadcastq.256
+ return _mm256_maskz_broadcastq_epi64(__M, __A);
+}
diff --git a/clang/test/CodeGen/avx512vlbw-builtins.c b/clang/test/CodeGen/avx512vlbw-builtins.c
index 399ad0b4af9..b063badf2b5 100644
--- a/clang/test/CodeGen/avx512vlbw-builtins.c
+++ b/clang/test/CodeGen/avx512vlbw-builtins.c
@@ -2210,3 +2210,74 @@ __m256i test_mm256_movm_epi16(__mmask16 __A) {
+__m128i test_mm_mask_broadcastb_epi8(__m128i __O, __mmask16 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm_mask_broadcastb_epi8
+ // CHECK: @llvm.x86.avx512.pbroadcastb.128
+ return _mm_mask_broadcastb_epi8(__O, __M, __A);
+}
+
+__m128i test_mm_maskz_broadcastb_epi8(__mmask16 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm_maskz_broadcastb_epi8
+ // CHECK: @llvm.x86.avx512.pbroadcastb.128
+ return _mm_maskz_broadcastb_epi8(__M, __A);
+}
+
+__m256i test_mm256_mask_broadcastb_epi8(__m256i __O, __mmask32 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm256_mask_broadcastb_epi8
+ // CHECK: @llvm.x86.avx512.pbroadcastb.256
+ return _mm256_mask_broadcastb_epi8(__O, __M, __A);
+}
+
+__m256i test_mm256_maskz_broadcastb_epi8(__mmask32 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm256_maskz_broadcastb_epi8
+ // CHECK: @llvm.x86.avx512.pbroadcastb.256
+ return _mm256_maskz_broadcastb_epi8(__M, __A);
+}
+
+__m128i test_mm_mask_broadcastw_epi16(__m128i __O, __mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm_mask_broadcastw_epi16
+ // CHECK: @llvm.x86.avx512.pbroadcastw.128
+ return _mm_mask_broadcastw_epi16(__O, __M, __A);
+}
+
+__m128i test_mm_maskz_broadcastw_epi16(__mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm_maskz_broadcastw_epi16
+ // CHECK: @llvm.x86.avx512.pbroadcastw.128
+ return _mm_maskz_broadcastw_epi16(__M, __A);
+}
+
+__m256i test_mm256_mask_broadcastw_epi16(__m256i __O, __mmask16 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm256_mask_broadcastw_epi16
+ // CHECK: @llvm.x86.avx512.pbroadcastw.256
+ return _mm256_mask_broadcastw_epi16(__O, __M, __A);
+}
+
+__m256i test_mm256_maskz_broadcastw_epi16(__mmask16 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm256_maskz_broadcastw_epi16
+ // CHECK: @llvm.x86.avx512.pbroadcastw.256
+ return _mm256_maskz_broadcastw_epi16(__M, __A);
+}
+
+__m256i test_mm256_mask_set1_epi16(__m256i __O, __mmask16 __M, short __A) {
+ // CHECK-LABEL: @test_mm256_mask_set1_epi16
+ // CHECK: @llvm.x86.avx512.mask.pbroadcast.w.gpr.256
+ return _mm256_mask_set1_epi16(__O, __M, __A);
+}
+
+__m256i test_mm256_maskz_set1_epi16(__mmask16 __M, short __A) {
+ // CHECK-LABEL: @test_mm256_maskz_set1_epi16
+ // CHECK: @llvm.x86.avx512.mask.pbroadcast.w.gpr.256
+ return _mm256_maskz_set1_epi16(__M, __A);
+}
+
+__m128i test_mm_mask_set1_epi16(__m128i __O, __mmask8 __M, short __A) {
+ // CHECK-LABEL: @test_mm_mask_set1_epi16
+ // CHECK: @llvm.x86.avx512.mask.pbroadcast.w.gpr.128
+ return _mm_mask_set1_epi16(__O, __M, __A);
+}
+
+__m128i test_mm_maskz_set1_epi16(__mmask8 __M, short __A) {
+ // CHECK-LABEL: @test_mm_maskz_set1_epi16
+ // CHECK: @llvm.x86.avx512.mask.pbroadcast.w.gpr.128
+ return _mm_maskz_set1_epi16(__M, __A);
+}
diff --git a/clang/test/CodeGen/avx512vldq-builtins.c b/clang/test/CodeGen/avx512vldq-builtins.c
index 5e765f93774..dc3f318ea82 100644
--- a/clang/test/CodeGen/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/avx512vldq-builtins.c
@@ -857,3 +857,93 @@ __mmask8 test_mm256_movepi64_mask(__m256i __A) {
return _mm256_movepi64_mask(__A);
}
+
+__m256 test_mm256_broadcast_f32x2(__m128 __A) {
+ // CHECK-LABEL: @test_mm256_broadcast_f32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcastf32x2
+ return _mm256_broadcast_f32x2(__A);
+}
+
+__m256 test_mm256_mask_broadcast_f32x2(__m256 __O, __mmask8 __M, __m128 __A) {
+ // CHECK-LABEL: @test_mm256_mask_broadcast_f32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcastf32x2
+ return _mm256_mask_broadcast_f32x2(__O, __M, __A);
+}
+
+__m256 test_mm256_maskz_broadcast_f32x2(__mmask8 __M, __m128 __A) {
+ // CHECK-LABEL: @test_mm256_maskz_broadcast_f32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcastf32x2
+ return _mm256_maskz_broadcast_f32x2(__M, __A);
+}
+
+__m256d test_mm256_broadcast_f64x2(__m128d __A) {
+ // CHECK-LABEL: @test_mm256_broadcast_f64x2
+ // CHECK: @llvm.x86.avx512.mask.broadcastf64x2
+ return _mm256_broadcast_f64x2(__A);
+}
+
+__m256d test_mm256_mask_broadcast_f64x2(__m256d __O, __mmask8 __M, __m128d __A) {
+ // CHECK-LABEL: @test_mm256_mask_broadcast_f64x2
+ // CHECK: @llvm.x86.avx512.mask.broadcastf64x2
+ return _mm256_mask_broadcast_f64x2(__O, __M, __A);
+}
+
+__m256d test_mm256_maskz_broadcast_f64x2(__mmask8 __M, __m128d __A) {
+ // CHECK-LABEL: @test_mm256_maskz_broadcast_f64x2
+ // CHECK: @llvm.x86.avx512.mask.broadcastf64x2
+ return _mm256_maskz_broadcast_f64x2(__M, __A);
+}
+
+__m128i test_mm_broadcast_i32x2(__m128i __A) {
+ // CHECK-LABEL: @test_mm_broadcast_i32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
+ return _mm_broadcast_i32x2(__A);
+}
+
+__m128i test_mm_mask_broadcast_i32x2(__m128i __O, __mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm_mask_broadcast_i32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
+ return _mm_mask_broadcast_i32x2(__O, __M, __A);
+}
+
+__m128i test_mm_maskz_broadcast_i32x2(__mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm_maskz_broadcast_i32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
+ return _mm_maskz_broadcast_i32x2(__M, __A);
+}
+
+__m256i test_mm256_broadcast_i32x2(__m128i __A) {
+ // CHECK-LABEL: @test_mm256_broadcast_i32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
+ return _mm256_broadcast_i32x2(__A);
+}
+
+__m256i test_mm256_mask_broadcast_i32x2(__m256i __O, __mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm256_mask_broadcast_i32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
+ return _mm256_mask_broadcast_i32x2(__O, __M, __A);
+}
+
+__m256i test_mm256_maskz_broadcast_i32x2(__mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm256_maskz_broadcast_i32x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
+ return _mm256_maskz_broadcast_i32x2(__M, __A);
+}
+
+__m256i test_mm256_broadcast_i64x2(__m128i __A) {
+ // CHECK-LABEL: @test_mm256_broadcast_i64x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti64x2
+ return _mm256_broadcast_i64x2(__A);
+}
+
+__m256i test_mm256_mask_broadcast_i64x2(__m256i __O, __mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm256_mask_broadcast_i64x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti64x2
+ return _mm256_mask_broadcast_i64x2(__O, __M, __A);
+}
+
+__m256i test_mm256_maskz_broadcast_i64x2(__mmask8 __M, __m128i __A) {
+ // CHECK-LABEL: @test_mm256_maskz_broadcast_i64x2
+ // CHECK: @llvm.x86.avx512.mask.broadcasti64x2
+ return _mm256_maskz_broadcast_i64x2(__M, __A);
+}
OpenPOWER on IntegriCloud