1 // RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avx512f -emit-llvm -ffp-exception-behavior=strict -o - -Wall -Werror | FileCheck %s
5 __mmask16
test_mm512_cmp_round_ps_mask(__m512 a
, __m512 b
) {
6 // CHECK-LABEL: @test_mm512_cmp_round_ps_mask
7 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 0, <16 x i1> {{.*}}, i32 8)
8 return _mm512_cmp_round_ps_mask(a
, b
, _CMP_EQ_OQ
, _MM_FROUND_NO_EXC
);
11 __mmask16
test_mm512_mask_cmp_round_ps_mask(__mmask16 m
, __m512 a
, __m512 b
) {
12 // CHECK-LABEL: @test_mm512_mask_cmp_round_ps_mask
13 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 0, <16 x i1> {{.*}}, i32 8)
14 return _mm512_mask_cmp_round_ps_mask(m
, a
, b
, _CMP_EQ_OQ
, _MM_FROUND_NO_EXC
);
17 __mmask16
test_mm512_cmp_ps_mask_eq_oq(__m512 a
, __m512 b
) {
18 // CHECK-LABEL: @test_mm512_cmp_ps_mask_eq_oq
19 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 0, <16 x i1> {{.*}}, i32 4)
20 return _mm512_cmp_ps_mask(a
, b
, _CMP_EQ_OQ
);
23 __mmask16
test_mm512_cmp_ps_mask_lt_os(__m512 a
, __m512 b
) {
24 // CHECK-LABEL: test_mm512_cmp_ps_mask_lt_os
25 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 1, <16 x i1> {{.*}}, i32 4)
26 return _mm512_cmp_ps_mask(a
, b
, _CMP_LT_OS
);
29 __mmask16
test_mm512_cmp_ps_mask_le_os(__m512 a
, __m512 b
) {
30 // CHECK-LABEL: test_mm512_cmp_ps_mask_le_os
31 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 2, <16 x i1> {{.*}}, i32 4)
32 return _mm512_cmp_ps_mask(a
, b
, _CMP_LE_OS
);
35 __mmask16
test_mm512_cmp_ps_mask_unord_q(__m512 a
, __m512 b
) {
36 // CHECK-LABEL: test_mm512_cmp_ps_mask_unord_q
37 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 3, <16 x i1> {{.*}}, i32 4)
38 return _mm512_cmp_ps_mask(a
, b
, _CMP_UNORD_Q
);
41 __mmask16
test_mm512_cmp_ps_mask_neq_uq(__m512 a
, __m512 b
) {
42 // CHECK-LABEL: test_mm512_cmp_ps_mask_neq_uq
43 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 4, <16 x i1> {{.*}}, i32 4)
44 return _mm512_cmp_ps_mask(a
, b
, _CMP_NEQ_UQ
);
47 __mmask16
test_mm512_cmp_ps_mask_nlt_us(__m512 a
, __m512 b
) {
48 // CHECK-LABEL: test_mm512_cmp_ps_mask_nlt_us
49 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 5, <16 x i1> {{.*}}, i32 4)
50 return _mm512_cmp_ps_mask(a
, b
, _CMP_NLT_US
);
53 __mmask16
test_mm512_cmp_ps_mask_nle_us(__m512 a
, __m512 b
) {
54 // CHECK-LABEL: test_mm512_cmp_ps_mask_nle_us
55 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 6, <16 x i1> {{.*}}, i32 4)
56 return _mm512_cmp_ps_mask(a
, b
, _CMP_NLE_US
);
59 __mmask16
test_mm512_cmp_ps_mask_ord_q(__m512 a
, __m512 b
) {
60 // CHECK-LABEL: test_mm512_cmp_ps_mask_ord_q
61 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 7, <16 x i1> {{.*}}, i32 4)
62 return _mm512_cmp_ps_mask(a
, b
, _CMP_ORD_Q
);
65 __mmask16
test_mm512_cmp_ps_mask_eq_uq(__m512 a
, __m512 b
) {
66 // CHECK-LABEL: test_mm512_cmp_ps_mask_eq_uq
67 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 8, <16 x i1> {{.*}}, i32 4)
68 return _mm512_cmp_ps_mask(a
, b
, _CMP_EQ_UQ
);
71 __mmask16
test_mm512_cmp_ps_mask_nge_us(__m512 a
, __m512 b
) {
72 // CHECK-LABEL: test_mm512_cmp_ps_mask_nge_us
73 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 9, <16 x i1> {{.*}}, i32 4)
74 return _mm512_cmp_ps_mask(a
, b
, _CMP_NGE_US
);
77 __mmask16
test_mm512_cmp_ps_mask_ngt_us(__m512 a
, __m512 b
) {
78 // CHECK-LABEL: test_mm512_cmp_ps_mask_ngt_us
79 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 10, <16 x i1> {{.*}}, i32 4)
80 return _mm512_cmp_ps_mask(a
, b
, _CMP_NGT_US
);
83 __mmask16
test_mm512_cmp_ps_mask_false_oq(__m512 a
, __m512 b
) {
84 // CHECK-LABEL: test_mm512_cmp_ps_mask_false_oq
85 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 11, <16 x i1> {{.*}}, i32 4)
86 return _mm512_cmp_ps_mask(a
, b
, _CMP_FALSE_OQ
);
89 __mmask16
test_mm512_cmp_ps_mask_neq_oq(__m512 a
, __m512 b
) {
90 // CHECK-LABEL: test_mm512_cmp_ps_mask_neq_oq
91 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 12, <16 x i1> {{.*}}, i32 4)
92 return _mm512_cmp_ps_mask(a
, b
, _CMP_NEQ_OQ
);
95 __mmask16
test_mm512_cmp_ps_mask_ge_os(__m512 a
, __m512 b
) {
96 // CHECK-LABEL: test_mm512_cmp_ps_mask_ge_os
97 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 13, <16 x i1> {{.*}}, i32 4)
98 return _mm512_cmp_ps_mask(a
, b
, _CMP_GE_OS
);
101 __mmask16
test_mm512_cmp_ps_mask_gt_os(__m512 a
, __m512 b
) {
102 // CHECK-LABEL: test_mm512_cmp_ps_mask_gt_os
103 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 14, <16 x i1> {{.*}}, i32 4)
104 return _mm512_cmp_ps_mask(a
, b
, _CMP_GT_OS
);
107 __mmask16
test_mm512_cmp_ps_mask_true_uq(__m512 a
, __m512 b
) {
108 // CHECK-LABEL: test_mm512_cmp_ps_mask_true_uq
109 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 15, <16 x i1> {{.*}}, i32 4)
110 return _mm512_cmp_ps_mask(a
, b
, _CMP_TRUE_UQ
);
113 __mmask16
test_mm512_cmp_ps_mask_eq_os(__m512 a
, __m512 b
) {
114 // CHECK-LABEL: test_mm512_cmp_ps_mask_eq_os
115 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 16, <16 x i1> {{.*}}, i32 4)
116 return _mm512_cmp_ps_mask(a
, b
, _CMP_EQ_OS
);
119 __mmask16
test_mm512_cmp_ps_mask_lt_oq(__m512 a
, __m512 b
) {
120 // CHECK-LABEL: test_mm512_cmp_ps_mask_lt_oq
121 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 17, <16 x i1> {{.*}}, i32 4)
122 return _mm512_cmp_ps_mask(a
, b
, _CMP_LT_OQ
);
125 __mmask16
test_mm512_cmp_ps_mask_le_oq(__m512 a
, __m512 b
) {
126 // CHECK-LABEL: test_mm512_cmp_ps_mask_le_oq
127 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 18, <16 x i1> {{.*}}, i32 4)
128 return _mm512_cmp_ps_mask(a
, b
, _CMP_LE_OQ
);
131 __mmask16
test_mm512_cmp_ps_mask_unord_s(__m512 a
, __m512 b
) {
132 // CHECK-LABEL: test_mm512_cmp_ps_mask_unord_s
133 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 19, <16 x i1> {{.*}}, i32 4)
134 return _mm512_cmp_ps_mask(a
, b
, _CMP_UNORD_S
);
137 __mmask16
test_mm512_cmp_ps_mask_neq_us(__m512 a
, __m512 b
) {
138 // CHECK-LABEL: test_mm512_cmp_ps_mask_neq_us
139 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 20, <16 x i1> {{.*}}, i32 4)
140 return _mm512_cmp_ps_mask(a
, b
, _CMP_NEQ_US
);
143 __mmask16
test_mm512_cmp_ps_mask_nlt_uq(__m512 a
, __m512 b
) {
144 // CHECK-LABEL: test_mm512_cmp_ps_mask_nlt_uq
145 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 21, <16 x i1> {{.*}}, i32 4)
146 return _mm512_cmp_ps_mask(a
, b
, _CMP_NLT_UQ
);
149 __mmask16
test_mm512_cmp_ps_mask_nle_uq(__m512 a
, __m512 b
) {
150 // CHECK-LABEL: test_mm512_cmp_ps_mask_nle_uq
151 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 22, <16 x i1> {{.*}}, i32 4)
152 return _mm512_cmp_ps_mask(a
, b
, _CMP_NLE_UQ
);
155 __mmask16
test_mm512_cmp_ps_mask_ord_s(__m512 a
, __m512 b
) {
156 // CHECK-LABEL: test_mm512_cmp_ps_mask_ord_s
157 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 23, <16 x i1> {{.*}}, i32 4)
158 return _mm512_cmp_ps_mask(a
, b
, _CMP_ORD_S
);
161 __mmask16
test_mm512_cmp_ps_mask_eq_us(__m512 a
, __m512 b
) {
162 // CHECK-LABEL: test_mm512_cmp_ps_mask_eq_us
163 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 24, <16 x i1> {{.*}}, i32 4)
164 return _mm512_cmp_ps_mask(a
, b
, _CMP_EQ_US
);
167 __mmask16
test_mm512_cmp_ps_mask_nge_uq(__m512 a
, __m512 b
) {
168 // CHECK-LABEL: test_mm512_cmp_ps_mask_nge_uq
169 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 25, <16 x i1> {{.*}}, i32 4)
170 return _mm512_cmp_ps_mask(a
, b
, _CMP_NGE_UQ
);
173 __mmask16
test_mm512_cmp_ps_mask_ngt_uq(__m512 a
, __m512 b
) {
174 // CHECK-LABEL: test_mm512_cmp_ps_mask_ngt_uq
175 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 26, <16 x i1> {{.*}}, i32 4)
176 return _mm512_cmp_ps_mask(a
, b
, _CMP_NGT_UQ
);
179 __mmask16
test_mm512_cmp_ps_mask_false_os(__m512 a
, __m512 b
) {
180 // CHECK-LABEL: test_mm512_cmp_ps_mask_false_os
181 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 27, <16 x i1> {{.*}}, i32 4)
182 return _mm512_cmp_ps_mask(a
, b
, _CMP_FALSE_OS
);
185 __mmask16
test_mm512_cmp_ps_mask_neq_os(__m512 a
, __m512 b
) {
186 // CHECK-LABEL: test_mm512_cmp_ps_mask_neq_os
187 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 28, <16 x i1> {{.*}}, i32 4)
188 return _mm512_cmp_ps_mask(a
, b
, _CMP_NEQ_OS
);
191 __mmask16
test_mm512_cmp_ps_mask_ge_oq(__m512 a
, __m512 b
) {
192 // CHECK-LABEL: test_mm512_cmp_ps_mask_ge_oq
193 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 29, <16 x i1> {{.*}}, i32 4)
194 return _mm512_cmp_ps_mask(a
, b
, _CMP_GE_OQ
);
197 __mmask16
test_mm512_cmp_ps_mask_gt_oq(__m512 a
, __m512 b
) {
198 // CHECK-LABEL: test_mm512_cmp_ps_mask_gt_oq
199 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 30, <16 x i1> {{.*}}, i32 4)
200 return _mm512_cmp_ps_mask(a
, b
, _CMP_GT_OQ
);
203 __mmask16
test_mm512_cmp_ps_mask_true_us(__m512 a
, __m512 b
) {
204 // CHECK-LABEL: test_mm512_cmp_ps_mask_true_us
205 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 31, <16 x i1> {{.*}}, i32 4)
206 return _mm512_cmp_ps_mask(a
, b
, _CMP_TRUE_US
);
209 __mmask16
test_mm512_mask_cmp_ps_mask_eq_oq(__mmask16 m
, __m512 a
, __m512 b
) {
210 // CHECK-LABEL: @test_mm512_mask_cmp_ps_mask_eq_oq
211 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 0, <16 x i1> {{.*}}, i32 4)
212 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_EQ_OQ
);
215 __mmask16
test_mm512_mask_cmp_ps_mask_lt_os(__mmask16 m
, __m512 a
, __m512 b
) {
216 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_lt_os
217 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 1, <16 x i1> {{.*}}, i32 4)
218 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_LT_OS
);
221 __mmask16
test_mm512_mask_cmp_ps_mask_le_os(__mmask16 m
, __m512 a
, __m512 b
) {
222 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_le_os
223 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 2, <16 x i1> {{.*}}, i32 4)
224 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_LE_OS
);
227 __mmask16
test_mm512_mask_cmp_ps_mask_unord_q(__mmask16 m
, __m512 a
, __m512 b
) {
228 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_unord_q
229 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 3, <16 x i1> {{.*}}, i32 4)
230 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_UNORD_Q
);
233 __mmask16
test_mm512_mask_cmp_ps_mask_neq_uq(__mmask16 m
, __m512 a
, __m512 b
) {
234 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_neq_uq
235 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 4, <16 x i1> {{.*}}, i32 4)
236 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_NEQ_UQ
);
239 __mmask16
test_mm512_mask_cmp_ps_mask_nlt_us(__mmask16 m
, __m512 a
, __m512 b
) {
240 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_nlt_us
241 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 5, <16 x i1> {{.*}}, i32 4)
242 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_NLT_US
);
245 __mmask16
test_mm512_mask_cmp_ps_mask_nle_us(__mmask16 m
, __m512 a
, __m512 b
) {
246 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_nle_us
247 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 6, <16 x i1> {{.*}}, i32 4)
248 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_NLE_US
);
251 __mmask16
test_mm512_mask_cmp_ps_mask_ord_q(__mmask16 m
, __m512 a
, __m512 b
) {
252 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_ord_q
253 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 7, <16 x i1> {{.*}}, i32 4)
254 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_ORD_Q
);
257 __mmask16
test_mm512_mask_cmp_ps_mask_eq_uq(__mmask16 m
, __m512 a
, __m512 b
) {
258 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_eq_uq
259 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 8, <16 x i1> {{.*}}, i32 4)
260 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_EQ_UQ
);
263 __mmask16
test_mm512_mask_cmp_ps_mask_nge_us(__mmask16 m
, __m512 a
, __m512 b
) {
264 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_nge_us
265 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 9, <16 x i1> {{.*}}, i32 4)
266 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_NGE_US
);
269 __mmask16
test_mm512_mask_cmp_ps_mask_ngt_us(__mmask16 m
, __m512 a
, __m512 b
) {
270 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_ngt_us
271 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 10, <16 x i1> {{.*}}, i32 4)
272 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_NGT_US
);
275 __mmask16
test_mm512_mask_cmp_ps_mask_false_oq(__mmask16 m
, __m512 a
, __m512 b
) {
276 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_false_oq
277 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 11, <16 x i1> {{.*}}, i32 4)
278 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_FALSE_OQ
);
281 __mmask16
test_mm512_mask_cmp_ps_mask_neq_oq(__mmask16 m
, __m512 a
, __m512 b
) {
282 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_neq_oq
283 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 12, <16 x i1> {{.*}}, i32 4)
284 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_NEQ_OQ
);
287 __mmask16
test_mm512_mask_cmp_ps_mask_ge_os(__mmask16 m
, __m512 a
, __m512 b
) {
288 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_ge_os
289 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 13, <16 x i1> {{.*}}, i32 4)
290 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_GE_OS
);
293 __mmask16
test_mm512_mask_cmp_ps_mask_gt_os(__mmask16 m
, __m512 a
, __m512 b
) {
294 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_gt_os
295 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 14, <16 x i1> {{.*}}, i32 4)
296 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_GT_OS
);
299 __mmask16
test_mm512_mask_cmp_ps_mask_true_uq(__mmask16 m
, __m512 a
, __m512 b
) {
300 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_true_uq
301 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 15, <16 x i1> {{.*}}, i32 4)
302 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_TRUE_UQ
);
305 __mmask16
test_mm512_mask_cmp_ps_mask_eq_os(__mmask16 m
, __m512 a
, __m512 b
) {
306 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_eq_os
307 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 16, <16 x i1> {{.*}}, i32 4)
308 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_EQ_OS
);
311 __mmask16
test_mm512_mask_cmp_ps_mask_lt_oq(__mmask16 m
, __m512 a
, __m512 b
) {
312 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_lt_oq
313 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 17, <16 x i1> {{.*}}, i32 4)
314 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_LT_OQ
);
317 __mmask16
test_mm512_mask_cmp_ps_mask_le_oq(__mmask16 m
, __m512 a
, __m512 b
) {
318 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_le_oq
319 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 18, <16 x i1> {{.*}}, i32 4)
320 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_LE_OQ
);
323 __mmask16
test_mm512_mask_cmp_ps_mask_unord_s(__mmask16 m
, __m512 a
, __m512 b
) {
324 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_unord_s
325 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 19, <16 x i1> {{.*}}, i32 4)
326 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_UNORD_S
);
329 __mmask16
test_mm512_mask_cmp_ps_mask_neq_us(__mmask16 m
, __m512 a
, __m512 b
) {
330 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_neq_us
331 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 20, <16 x i1> {{.*}}, i32 4)
332 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_NEQ_US
);
335 __mmask16
test_mm512_mask_cmp_ps_mask_nlt_uq(__mmask16 m
, __m512 a
, __m512 b
) {
336 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_nlt_uq
337 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 21, <16 x i1> {{.*}}, i32 4)
338 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_NLT_UQ
);
341 __mmask16
test_mm512_mask_cmp_ps_mask_nle_uq(__mmask16 m
, __m512 a
, __m512 b
) {
342 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_nle_uq
343 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 22, <16 x i1> {{.*}}, i32 4)
344 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_NLE_UQ
);
347 __mmask16
test_mm512_mask_cmp_ps_mask_ord_s(__mmask16 m
, __m512 a
, __m512 b
) {
348 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_ord_s
349 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 23, <16 x i1> {{.*}}, i32 4)
350 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_ORD_S
);
353 __mmask16
test_mm512_mask_cmp_ps_mask_eq_us(__mmask16 m
, __m512 a
, __m512 b
) {
354 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_eq_us
355 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 24, <16 x i1> {{.*}}, i32 4)
356 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_EQ_US
);
359 __mmask16
test_mm512_mask_cmp_ps_mask_nge_uq(__mmask16 m
, __m512 a
, __m512 b
) {
360 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_nge_uq
361 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 25, <16 x i1> {{.*}}, i32 4)
362 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_NGE_UQ
);
365 __mmask16
test_mm512_mask_cmp_ps_mask_ngt_uq(__mmask16 m
, __m512 a
, __m512 b
) {
366 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_ngt_uq
367 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 26, <16 x i1> {{.*}}, i32 4)
368 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_NGT_UQ
);
371 __mmask16
test_mm512_mask_cmp_ps_mask_false_os(__mmask16 m
, __m512 a
, __m512 b
) {
372 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_false_os
373 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 27, <16 x i1> {{.*}}, i32 4)
374 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_FALSE_OS
);
377 __mmask16
test_mm512_mask_cmp_ps_mask_neq_os(__mmask16 m
, __m512 a
, __m512 b
) {
378 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_neq_os
379 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 28, <16 x i1> {{.*}}, i32 4)
380 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_NEQ_OS
);
383 __mmask16
test_mm512_mask_cmp_ps_mask_ge_oq(__mmask16 m
, __m512 a
, __m512 b
) {
384 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_ge_oq
385 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 29, <16 x i1> {{.*}}, i32 4)
386 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_GE_OQ
);
389 __mmask16
test_mm512_mask_cmp_ps_mask_gt_oq(__mmask16 m
, __m512 a
, __m512 b
) {
390 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_gt_oq
391 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 30, <16 x i1> {{.*}}, i32 4)
392 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_GT_OQ
);
395 __mmask16
test_mm512_mask_cmp_ps_mask_true_us(__mmask16 m
, __m512 a
, __m512 b
) {
396 // CHECK-LABEL: test_mm512_mask_cmp_ps_mask_true_us
397 // CHECK: call <16 x i1> @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %{{.*}}, <16 x float> %{{.*}}, i32 31, <16 x i1> {{.*}}, i32 4)
398 return _mm512_mask_cmp_ps_mask(m
, a
, b
, _CMP_TRUE_US
);
401 __mmask8
test_mm512_cmp_round_pd_mask(__m512d a
, __m512d b
) {
402 // CHECK-LABEL: @test_mm512_cmp_round_pd_mask
403 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 0, <8 x i1> {{.*}}, i32 8)
404 return _mm512_cmp_round_pd_mask(a
, b
, _CMP_EQ_OQ
, _MM_FROUND_NO_EXC
);
407 __mmask8
test_mm512_mask_cmp_round_pd_mask(__mmask8 m
, __m512d a
, __m512d b
) {
408 // CHECK-LABEL: @test_mm512_mask_cmp_round_pd_mask
409 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 0, <8 x i1> {{.*}}, i32 8)
410 return _mm512_mask_cmp_round_pd_mask(m
, a
, b
, _CMP_EQ_OQ
, _MM_FROUND_NO_EXC
);
413 __mmask8
test_mm512_cmp_pd_mask_eq_oq(__m512d a
, __m512d b
) {
414 // CHECK-LABEL: @test_mm512_cmp_pd_mask_eq_oq
415 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 0, <8 x i1> {{.*}}, i32 4)
416 return _mm512_cmp_pd_mask(a
, b
, _CMP_EQ_OQ
);
419 __mmask8
test_mm512_cmp_pd_mask_lt_os(__m512d a
, __m512d b
) {
420 // CHECK-LABEL: test_mm512_cmp_pd_mask_lt_os
421 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 1, <8 x i1> {{.*}}, i32 4)
422 return _mm512_cmp_pd_mask(a
, b
, _CMP_LT_OS
);
425 __mmask8
test_mm512_cmp_pd_mask_le_os(__m512d a
, __m512d b
) {
426 // CHECK-LABEL: test_mm512_cmp_pd_mask_le_os
427 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 2, <8 x i1> {{.*}}, i32 4)
428 return _mm512_cmp_pd_mask(a
, b
, _CMP_LE_OS
);
431 __mmask8
test_mm512_cmp_pd_mask_unord_q(__m512d a
, __m512d b
) {
432 // CHECK-LABEL: test_mm512_cmp_pd_mask_unord_q
433 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 3, <8 x i1> {{.*}}, i32 4)
434 return _mm512_cmp_pd_mask(a
, b
, _CMP_UNORD_Q
);
437 __mmask8
test_mm512_cmp_pd_mask_neq_uq(__m512d a
, __m512d b
) {
438 // CHECK-LABEL: test_mm512_cmp_pd_mask_neq_uq
439 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 4, <8 x i1> {{.*}}, i32 4)
440 return _mm512_cmp_pd_mask(a
, b
, _CMP_NEQ_UQ
);
443 __mmask8
test_mm512_cmp_pd_mask_nlt_us(__m512d a
, __m512d b
) {
444 // CHECK-LABEL: test_mm512_cmp_pd_mask_nlt_us
445 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 5, <8 x i1> {{.*}}, i32 4)
446 return _mm512_cmp_pd_mask(a
, b
, _CMP_NLT_US
);
449 __mmask8
test_mm512_cmp_pd_mask_nle_us(__m512d a
, __m512d b
) {
450 // CHECK-LABEL: test_mm512_cmp_pd_mask_nle_us
451 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 6, <8 x i1> {{.*}}, i32 4)
452 return _mm512_cmp_pd_mask(a
, b
, _CMP_NLE_US
);
455 __mmask8
test_mm512_cmp_pd_mask_ord_q(__m512d a
, __m512d b
) {
456 // CHECK-LABEL: test_mm512_cmp_pd_mask_ord_q
457 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 7, <8 x i1> {{.*}}, i32 4)
458 return _mm512_cmp_pd_mask(a
, b
, _CMP_ORD_Q
);
461 __mmask8
test_mm512_cmp_pd_mask_eq_uq(__m512d a
, __m512d b
) {
462 // CHECK-LABEL: test_mm512_cmp_pd_mask_eq_uq
463 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 8, <8 x i1> {{.*}}, i32 4)
464 return _mm512_cmp_pd_mask(a
, b
, _CMP_EQ_UQ
);
467 __mmask8
test_mm512_cmp_pd_mask_nge_us(__m512d a
, __m512d b
) {
468 // CHECK-LABEL: test_mm512_cmp_pd_mask_nge_us
469 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 9, <8 x i1> {{.*}}, i32 4)
470 return _mm512_cmp_pd_mask(a
, b
, _CMP_NGE_US
);
473 __mmask8
test_mm512_cmp_pd_mask_ngt_us(__m512d a
, __m512d b
) {
474 // CHECK-LABEL: test_mm512_cmp_pd_mask_ngt_us
475 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 10, <8 x i1> {{.*}}, i32 4)
476 return _mm512_cmp_pd_mask(a
, b
, _CMP_NGT_US
);
479 __mmask8
test_mm512_cmp_pd_mask_false_oq(__m512d a
, __m512d b
) {
480 // CHECK-LABEL: test_mm512_cmp_pd_mask_false_oq
481 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 11, <8 x i1> {{.*}}, i32 4)
482 return _mm512_cmp_pd_mask(a
, b
, _CMP_FALSE_OQ
);
485 __mmask8
test_mm512_cmp_pd_mask_neq_oq(__m512d a
, __m512d b
) {
486 // CHECK-LABEL: test_mm512_cmp_pd_mask_neq_oq
487 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 12, <8 x i1> {{.*}}, i32 4)
488 return _mm512_cmp_pd_mask(a
, b
, _CMP_NEQ_OQ
);
491 __mmask8
test_mm512_cmp_pd_mask_ge_os(__m512d a
, __m512d b
) {
492 // CHECK-LABEL: test_mm512_cmp_pd_mask_ge_os
493 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 13, <8 x i1> {{.*}}, i32 4)
494 return _mm512_cmp_pd_mask(a
, b
, _CMP_GE_OS
);
497 __mmask8
test_mm512_cmp_pd_mask_gt_os(__m512d a
, __m512d b
) {
498 // CHECK-LABEL: test_mm512_cmp_pd_mask_gt_os
499 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 14, <8 x i1> {{.*}}, i32 4)
500 return _mm512_cmp_pd_mask(a
, b
, _CMP_GT_OS
);
503 __mmask8
test_mm512_cmp_pd_mask_true_uq(__m512d a
, __m512d b
) {
504 // CHECK-LABEL: test_mm512_cmp_pd_mask_true_uq
505 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 15, <8 x i1> {{.*}}, i32 4)
506 return _mm512_cmp_pd_mask(a
, b
, _CMP_TRUE_UQ
);
509 __mmask8
test_mm512_cmp_pd_mask_eq_os(__m512d a
, __m512d b
) {
510 // CHECK-LABEL: test_mm512_cmp_pd_mask_eq_os
511 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 16, <8 x i1> {{.*}}, i32 4)
512 return _mm512_cmp_pd_mask(a
, b
, _CMP_EQ_OS
);
515 __mmask8
test_mm512_cmp_pd_mask_lt_oq(__m512d a
, __m512d b
) {
516 // CHECK-LABEL: test_mm512_cmp_pd_mask_lt_oq
517 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 17, <8 x i1> {{.*}}, i32 4)
518 return _mm512_cmp_pd_mask(a
, b
, _CMP_LT_OQ
);
521 __mmask8
test_mm512_cmp_pd_mask_le_oq(__m512d a
, __m512d b
) {
522 // CHECK-LABEL: test_mm512_cmp_pd_mask_le_oq
523 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 18, <8 x i1> {{.*}}, i32 4)
524 return _mm512_cmp_pd_mask(a
, b
, _CMP_LE_OQ
);
527 __mmask8
test_mm512_cmp_pd_mask_unord_s(__m512d a
, __m512d b
) {
528 // CHECK-LABEL: test_mm512_cmp_pd_mask_unord_s
529 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 19, <8 x i1> {{.*}}, i32 4)
530 return _mm512_cmp_pd_mask(a
, b
, _CMP_UNORD_S
);
533 __mmask8
test_mm512_cmp_pd_mask_neq_us(__m512d a
, __m512d b
) {
534 // CHECK-LABEL: test_mm512_cmp_pd_mask_neq_us
535 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 20, <8 x i1> {{.*}}, i32 4)
536 return _mm512_cmp_pd_mask(a
, b
, _CMP_NEQ_US
);
539 __mmask8
test_mm512_cmp_pd_mask_nlt_uq(__m512d a
, __m512d b
) {
540 // CHECK-LABEL: test_mm512_cmp_pd_mask_nlt_uq
541 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 21, <8 x i1> {{.*}}, i32 4)
542 return _mm512_cmp_pd_mask(a
, b
, _CMP_NLT_UQ
);
545 __mmask8
test_mm512_cmp_pd_mask_nle_uq(__m512d a
, __m512d b
) {
546 // CHECK-LABEL: test_mm512_cmp_pd_mask_nle_uq
547 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 22, <8 x i1> {{.*}}, i32 4)
548 return _mm512_cmp_pd_mask(a
, b
, _CMP_NLE_UQ
);
551 __mmask8
test_mm512_cmp_pd_mask_ord_s(__m512d a
, __m512d b
) {
552 // CHECK-LABEL: test_mm512_cmp_pd_mask_ord_s
553 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 23, <8 x i1> {{.*}}, i32 4)
554 return _mm512_cmp_pd_mask(a
, b
, _CMP_ORD_S
);
557 __mmask8
test_mm512_cmp_pd_mask_eq_us(__m512d a
, __m512d b
) {
558 // CHECK-LABEL: test_mm512_cmp_pd_mask_eq_us
559 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 24, <8 x i1> {{.*}}, i32 4)
560 return _mm512_cmp_pd_mask(a
, b
, _CMP_EQ_US
);
563 __mmask8
test_mm512_cmp_pd_mask_nge_uq(__m512d a
, __m512d b
) {
564 // CHECK-LABEL: test_mm512_cmp_pd_mask_nge_uq
565 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 25, <8 x i1> {{.*}}, i32 4)
566 return _mm512_cmp_pd_mask(a
, b
, _CMP_NGE_UQ
);
569 __mmask8
test_mm512_cmp_pd_mask_ngt_uq(__m512d a
, __m512d b
) {
570 // CHECK-LABEL: test_mm512_cmp_pd_mask_ngt_uq
571 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 26, <8 x i1> {{.*}}, i32 4)
572 return _mm512_cmp_pd_mask(a
, b
, _CMP_NGT_UQ
);
575 __mmask8
test_mm512_cmp_pd_mask_false_os(__m512d a
, __m512d b
) {
576 // CHECK-LABEL: test_mm512_cmp_pd_mask_false_os
577 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 27, <8 x i1> {{.*}}, i32 4)
578 return _mm512_cmp_pd_mask(a
, b
, _CMP_FALSE_OS
);
581 __mmask8
test_mm512_cmp_pd_mask_neq_os(__m512d a
, __m512d b
) {
582 // CHECK-LABEL: test_mm512_cmp_pd_mask_neq_os
583 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 28, <8 x i1> {{.*}}, i32 4)
584 return _mm512_cmp_pd_mask(a
, b
, _CMP_NEQ_OS
);
587 __mmask8
test_mm512_cmp_pd_mask_ge_oq(__m512d a
, __m512d b
) {
588 // CHECK-LABEL: test_mm512_cmp_pd_mask_ge_oq
589 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 29, <8 x i1> {{.*}}, i32 4)
590 return _mm512_cmp_pd_mask(a
, b
, _CMP_GE_OQ
);
593 __mmask8
test_mm512_cmp_pd_mask_gt_oq(__m512d a
, __m512d b
) {
594 // CHECK-LABEL: test_mm512_cmp_pd_mask_gt_oq
595 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 30, <8 x i1> {{.*}}, i32 4)
596 return _mm512_cmp_pd_mask(a
, b
, _CMP_GT_OQ
);
599 __mmask8
test_mm512_cmp_pd_mask_true_us(__m512d a
, __m512d b
) {
600 // CHECK-LABEL: test_mm512_cmp_pd_mask_true_us
601 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 31, <8 x i1> {{.*}}, i32 4)
602 return _mm512_cmp_pd_mask(a
, b
, _CMP_TRUE_US
);
605 __mmask8
test_mm512_mask_cmp_pd_mask_eq_oq(__mmask8 m
, __m512d a
, __m512d b
) {
606 // CHECK-LABEL: @test_mm512_mask_cmp_pd_mask_eq_oq
607 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 0, <8 x i1> {{.*}}, i32 4)
608 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_EQ_OQ
);
611 __mmask8
test_mm512_mask_cmp_pd_mask_lt_os(__mmask8 m
, __m512d a
, __m512d b
) {
612 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_lt_os
613 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 1, <8 x i1> {{.*}}, i32 4)
614 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_LT_OS
);
617 __mmask8
test_mm512_mask_cmp_pd_mask_le_os(__mmask8 m
, __m512d a
, __m512d b
) {
618 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_le_os
619 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 2, <8 x i1> {{.*}}, i32 4)
620 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_LE_OS
);
623 __mmask8
test_mm512_mask_cmp_pd_mask_unord_q(__mmask8 m
, __m512d a
, __m512d b
) {
624 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_unord_q
625 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 3, <8 x i1> {{.*}}, i32 4)
626 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_UNORD_Q
);
629 __mmask8
test_mm512_mask_cmp_pd_mask_neq_uq(__mmask8 m
, __m512d a
, __m512d b
) {
630 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_neq_uq
631 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 4, <8 x i1> {{.*}}, i32 4)
632 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_NEQ_UQ
);
635 __mmask8
test_mm512_mask_cmp_pd_mask_nlt_us(__mmask8 m
, __m512d a
, __m512d b
) {
636 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_nlt_us
637 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 5, <8 x i1> {{.*}}, i32 4)
638 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_NLT_US
);
641 __mmask8
test_mm512_mask_cmp_pd_mask_nle_us(__mmask8 m
, __m512d a
, __m512d b
) {
642 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_nle_us
643 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 6, <8 x i1> {{.*}}, i32 4)
644 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_NLE_US
);
647 __mmask8
test_mm512_mask_cmp_pd_mask_ord_q(__mmask8 m
, __m512d a
, __m512d b
) {
648 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_ord_q
649 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 7, <8 x i1> {{.*}}, i32 4)
650 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_ORD_Q
);
653 __mmask8
test_mm512_mask_cmp_pd_mask_eq_uq(__mmask8 m
, __m512d a
, __m512d b
) {
654 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_eq_uq
655 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 8, <8 x i1> {{.*}}, i32 4)
656 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_EQ_UQ
);
659 __mmask8
test_mm512_mask_cmp_pd_mask_nge_us(__mmask8 m
, __m512d a
, __m512d b
) {
660 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_nge_us
661 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 9, <8 x i1> {{.*}}, i32 4)
662 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_NGE_US
);
665 __mmask8
test_mm512_mask_cmp_pd_mask_ngt_us(__mmask8 m
, __m512d a
, __m512d b
) {
666 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_ngt_us
667 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 10, <8 x i1> {{.*}}, i32 4)
668 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_NGT_US
);
671 __mmask8
test_mm512_mask_cmp_pd_mask_false_oq(__mmask8 m
, __m512d a
, __m512d b
) {
672 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_false_oq
673 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 11, <8 x i1> {{.*}}, i32 4)
674 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_FALSE_OQ
);
677 __mmask8
test_mm512_mask_cmp_pd_mask_neq_oq(__mmask8 m
, __m512d a
, __m512d b
) {
678 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_neq_oq
679 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 12, <8 x i1> {{.*}}, i32 4)
680 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_NEQ_OQ
);
683 __mmask8
test_mm512_mask_cmp_pd_mask_ge_os(__mmask8 m
, __m512d a
, __m512d b
) {
684 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_ge_os
685 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 13, <8 x i1> {{.*}}, i32 4)
686 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_GE_OS
);
689 __mmask8
test_mm512_mask_cmp_pd_mask_gt_os(__mmask8 m
, __m512d a
, __m512d b
) {
690 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_gt_os
691 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 14, <8 x i1> {{.*}}, i32 4)
692 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_GT_OS
);
695 __mmask8
test_mm512_mask_cmp_pd_mask_true_uq(__mmask8 m
, __m512d a
, __m512d b
) {
696 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_true_uq
697 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 15, <8 x i1> {{.*}}, i32 4)
698 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_TRUE_UQ
);
701 __mmask8
test_mm512_mask_cmp_pd_mask_eq_os(__mmask8 m
, __m512d a
, __m512d b
) {
702 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_eq_os
703 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 16, <8 x i1> {{.*}}, i32 4)
704 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_EQ_OS
);
707 __mmask8
test_mm512_mask_cmp_pd_mask_lt_oq(__mmask8 m
, __m512d a
, __m512d b
) {
708 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_lt_oq
709 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 17, <8 x i1> {{.*}}, i32 4)
710 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_LT_OQ
);
713 __mmask8
test_mm512_mask_cmp_pd_mask_le_oq(__mmask8 m
, __m512d a
, __m512d b
) {
714 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_le_oq
715 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 18, <8 x i1> {{.*}}, i32 4)
716 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_LE_OQ
);
719 __mmask8
test_mm512_mask_cmp_pd_mask_unord_s(__mmask8 m
, __m512d a
, __m512d b
) {
720 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_unord_s
721 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 19, <8 x i1> {{.*}}, i32 4)
722 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_UNORD_S
);
725 __mmask8
test_mm512_mask_cmp_pd_mask_neq_us(__mmask8 m
, __m512d a
, __m512d b
) {
726 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_neq_us
727 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 20, <8 x i1> {{.*}}, i32 4)
728 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_NEQ_US
);
731 __mmask8
test_mm512_mask_cmp_pd_mask_nlt_uq(__mmask8 m
, __m512d a
, __m512d b
) {
732 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_nlt_uq
733 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 21, <8 x i1> {{.*}}, i32 4)
734 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_NLT_UQ
);
737 __mmask8
test_mm512_mask_cmp_pd_mask_nle_uq(__mmask8 m
, __m512d a
, __m512d b
) {
738 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_nle_uq
739 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 22, <8 x i1> {{.*}}, i32 4)
740 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_NLE_UQ
);
743 __mmask8
test_mm512_mask_cmp_pd_mask_ord_s(__mmask8 m
, __m512d a
, __m512d b
) {
744 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_ord_s
745 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 23, <8 x i1> {{.*}}, i32 4)
746 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_ORD_S
);
749 __mmask8
test_mm512_mask_cmp_pd_mask_eq_us(__mmask8 m
, __m512d a
, __m512d b
) {
750 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_eq_us
751 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 24, <8 x i1> {{.*}}, i32 4)
752 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_EQ_US
);
755 __mmask8
test_mm512_mask_cmp_pd_mask_nge_uq(__mmask8 m
, __m512d a
, __m512d b
) {
756 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_nge_uq
757 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 25, <8 x i1> {{.*}}, i32 4)
758 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_NGE_UQ
);
761 __mmask8
test_mm512_mask_cmp_pd_mask_ngt_uq(__mmask8 m
, __m512d a
, __m512d b
) {
762 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_ngt_uq
763 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 26, <8 x i1> {{.*}}, i32 4)
764 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_NGT_UQ
);
767 __mmask8
test_mm512_mask_cmp_pd_mask_false_os(__mmask8 m
, __m512d a
, __m512d b
) {
768 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_false_os
769 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 27, <8 x i1> {{.*}}, i32 4)
770 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_FALSE_OS
);
773 __mmask8
test_mm512_mask_cmp_pd_mask_neq_os(__mmask8 m
, __m512d a
, __m512d b
) {
774 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_neq_os
775 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 28, <8 x i1> {{.*}}, i32 4)
776 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_NEQ_OS
);
779 __mmask8
test_mm512_mask_cmp_pd_mask_ge_oq(__mmask8 m
, __m512d a
, __m512d b
) {
780 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_ge_oq
781 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 29, <8 x i1> {{.*}}, i32 4)
782 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_GE_OQ
);
785 __mmask8
test_mm512_mask_cmp_pd_mask_gt_oq(__mmask8 m
, __m512d a
, __m512d b
) {
786 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_gt_oq
787 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 30, <8 x i1> {{.*}}, i32 4)
788 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_GT_OQ
);
791 __mmask8
test_mm512_mask_cmp_pd_mask_true_us(__mmask8 m
, __m512d a
, __m512d b
) {
792 // CHECK-LABEL: test_mm512_mask_cmp_pd_mask_true_us
793 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> %{{.*}}, <8 x double> %{{.*}}, i32 31, <8 x i1> {{.*}}, i32 4)
794 return _mm512_mask_cmp_pd_mask(m
, a
, b
, _CMP_TRUE_US
);