1 // RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -fexperimental-new-pass-manager -triple=x86_64-apple-darwin -target-feature +avx512f -target-feature +avx512vl -emit-llvm -ffp-exception-behavior=strict -o - -Wall -Werror | FileCheck %s
2
3 #include <immintrin.h>
4
test_mm256_cmp_ps_mask_eq_oq(__m256 a,__m256 b)5 __mmask8 test_mm256_cmp_ps_mask_eq_oq(__m256 a, __m256 b) {
6 // CHECK-LABEL: @test_mm256_cmp_ps_mask_eq_oq
7 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 0, <8 x i1> {{.*}})
8 return _mm256_cmp_ps_mask(a, b, _CMP_EQ_OQ);
9 }
10
test_mm256_cmp_ps_mask_lt_os(__m256 a,__m256 b)11 __mmask8 test_mm256_cmp_ps_mask_lt_os(__m256 a, __m256 b) {
12 // CHECK-LABEL: test_mm256_cmp_ps_mask_lt_os
13 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 1, <8 x i1> {{.*}})
14 return _mm256_cmp_ps_mask(a, b, _CMP_LT_OS);
15 }
16
test_mm256_cmp_ps_mask_le_os(__m256 a,__m256 b)17 __mmask8 test_mm256_cmp_ps_mask_le_os(__m256 a, __m256 b) {
18 // CHECK-LABEL: test_mm256_cmp_ps_mask_le_os
19 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 2, <8 x i1> {{.*}})
20 return _mm256_cmp_ps_mask(a, b, _CMP_LE_OS);
21 }
22
test_mm256_cmp_ps_mask_unord_q(__m256 a,__m256 b)23 __mmask8 test_mm256_cmp_ps_mask_unord_q(__m256 a, __m256 b) {
24 // CHECK-LABEL: test_mm256_cmp_ps_mask_unord_q
25 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 3, <8 x i1> {{.*}})
26 return _mm256_cmp_ps_mask(a, b, _CMP_UNORD_Q);
27 }
28
test_mm256_cmp_ps_mask_neq_uq(__m256 a,__m256 b)29 __mmask8 test_mm256_cmp_ps_mask_neq_uq(__m256 a, __m256 b) {
30 // CHECK-LABEL: test_mm256_cmp_ps_mask_neq_uq
31 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 4, <8 x i1> {{.*}})
32 return _mm256_cmp_ps_mask(a, b, _CMP_NEQ_UQ);
33 }
34
test_mm256_cmp_ps_mask_nlt_us(__m256 a,__m256 b)35 __mmask8 test_mm256_cmp_ps_mask_nlt_us(__m256 a, __m256 b) {
36 // CHECK-LABEL: test_mm256_cmp_ps_mask_nlt_us
37 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 5, <8 x i1> {{.*}})
38 return _mm256_cmp_ps_mask(a, b, _CMP_NLT_US);
39 }
40
test_mm256_cmp_ps_mask_nle_us(__m256 a,__m256 b)41 __mmask8 test_mm256_cmp_ps_mask_nle_us(__m256 a, __m256 b) {
42 // CHECK-LABEL: test_mm256_cmp_ps_mask_nle_us
43 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 6, <8 x i1> {{.*}})
44 return _mm256_cmp_ps_mask(a, b, _CMP_NLE_US);
45 }
46
test_mm256_cmp_ps_mask_ord_q(__m256 a,__m256 b)47 __mmask8 test_mm256_cmp_ps_mask_ord_q(__m256 a, __m256 b) {
48 // CHECK-LABEL: test_mm256_cmp_ps_mask_ord_q
49 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 7, <8 x i1> {{.*}})
50 return _mm256_cmp_ps_mask(a, b, _CMP_ORD_Q);
51 }
52
test_mm256_cmp_ps_mask_eq_uq(__m256 a,__m256 b)53 __mmask8 test_mm256_cmp_ps_mask_eq_uq(__m256 a, __m256 b) {
54 // CHECK-LABEL: test_mm256_cmp_ps_mask_eq_uq
55 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 8, <8 x i1> {{.*}})
56 return _mm256_cmp_ps_mask(a, b, _CMP_EQ_UQ);
57 }
58
test_mm256_cmp_ps_mask_nge_us(__m256 a,__m256 b)59 __mmask8 test_mm256_cmp_ps_mask_nge_us(__m256 a, __m256 b) {
60 // CHECK-LABEL: test_mm256_cmp_ps_mask_nge_us
61 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 9, <8 x i1> {{.*}})
62 return _mm256_cmp_ps_mask(a, b, _CMP_NGE_US);
63 }
64
test_mm256_cmp_ps_mask_ngt_us(__m256 a,__m256 b)65 __mmask8 test_mm256_cmp_ps_mask_ngt_us(__m256 a, __m256 b) {
66 // CHECK-LABEL: test_mm256_cmp_ps_mask_ngt_us
67 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 10, <8 x i1> {{.*}})
68 return _mm256_cmp_ps_mask(a, b, _CMP_NGT_US);
69 }
70
test_mm256_cmp_ps_mask_false_oq(__m256 a,__m256 b)71 __mmask8 test_mm256_cmp_ps_mask_false_oq(__m256 a, __m256 b) {
72 // CHECK-LABEL: test_mm256_cmp_ps_mask_false_oq
73 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 11, <8 x i1> {{.*}})
74 return _mm256_cmp_ps_mask(a, b, _CMP_FALSE_OQ);
75 }
76
test_mm256_cmp_ps_mask_neq_oq(__m256 a,__m256 b)77 __mmask8 test_mm256_cmp_ps_mask_neq_oq(__m256 a, __m256 b) {
78 // CHECK-LABEL: test_mm256_cmp_ps_mask_neq_oq
79 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 12, <8 x i1> {{.*}})
80 return _mm256_cmp_ps_mask(a, b, _CMP_NEQ_OQ);
81 }
82
test_mm256_cmp_ps_mask_ge_os(__m256 a,__m256 b)83 __mmask8 test_mm256_cmp_ps_mask_ge_os(__m256 a, __m256 b) {
84 // CHECK-LABEL: test_mm256_cmp_ps_mask_ge_os
85 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 13, <8 x i1> {{.*}})
86 return _mm256_cmp_ps_mask(a, b, _CMP_GE_OS);
87 }
88
test_mm256_cmp_ps_mask_gt_os(__m256 a,__m256 b)89 __mmask8 test_mm256_cmp_ps_mask_gt_os(__m256 a, __m256 b) {
90 // CHECK-LABEL: test_mm256_cmp_ps_mask_gt_os
91 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 14, <8 x i1> {{.*}})
92 return _mm256_cmp_ps_mask(a, b, _CMP_GT_OS);
93 }
94
test_mm256_cmp_ps_mask_true_uq(__m256 a,__m256 b)95 __mmask8 test_mm256_cmp_ps_mask_true_uq(__m256 a, __m256 b) {
96 // CHECK-LABEL: test_mm256_cmp_ps_mask_true_uq
97 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 15, <8 x i1> {{.*}})
98 return _mm256_cmp_ps_mask(a, b, _CMP_TRUE_UQ);
99 }
100
test_mm256_cmp_ps_mask_eq_os(__m256 a,__m256 b)101 __mmask8 test_mm256_cmp_ps_mask_eq_os(__m256 a, __m256 b) {
102 // CHECK-LABEL: test_mm256_cmp_ps_mask_eq_os
103 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 16, <8 x i1> {{.*}})
104 return _mm256_cmp_ps_mask(a, b, _CMP_EQ_OS);
105 }
106
test_mm256_cmp_ps_mask_lt_oq(__m256 a,__m256 b)107 __mmask8 test_mm256_cmp_ps_mask_lt_oq(__m256 a, __m256 b) {
108 // CHECK-LABEL: test_mm256_cmp_ps_mask_lt_oq
109 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 17, <8 x i1> {{.*}})
110 return _mm256_cmp_ps_mask(a, b, _CMP_LT_OQ);
111 }
112
test_mm256_cmp_ps_mask_le_oq(__m256 a,__m256 b)113 __mmask8 test_mm256_cmp_ps_mask_le_oq(__m256 a, __m256 b) {
114 // CHECK-LABEL: test_mm256_cmp_ps_mask_le_oq
115 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 18, <8 x i1> {{.*}})
116 return _mm256_cmp_ps_mask(a, b, _CMP_LE_OQ);
117 }
118
test_mm256_cmp_ps_mask_unord_s(__m256 a,__m256 b)119 __mmask8 test_mm256_cmp_ps_mask_unord_s(__m256 a, __m256 b) {
120 // CHECK-LABEL: test_mm256_cmp_ps_mask_unord_s
121 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 19, <8 x i1> {{.*}})
122 return _mm256_cmp_ps_mask(a, b, _CMP_UNORD_S);
123 }
124
test_mm256_cmp_ps_mask_neq_us(__m256 a,__m256 b)125 __mmask8 test_mm256_cmp_ps_mask_neq_us(__m256 a, __m256 b) {
126 // CHECK-LABEL: test_mm256_cmp_ps_mask_neq_us
127 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 20, <8 x i1> {{.*}})
128 return _mm256_cmp_ps_mask(a, b, _CMP_NEQ_US);
129 }
130
test_mm256_cmp_ps_mask_nlt_uq(__m256 a,__m256 b)131 __mmask8 test_mm256_cmp_ps_mask_nlt_uq(__m256 a, __m256 b) {
132 // CHECK-LABEL: test_mm256_cmp_ps_mask_nlt_uq
133 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 21, <8 x i1> {{.*}})
134 return _mm256_cmp_ps_mask(a, b, _CMP_NLT_UQ);
135 }
136
test_mm256_cmp_ps_mask_nle_uq(__m256 a,__m256 b)137 __mmask8 test_mm256_cmp_ps_mask_nle_uq(__m256 a, __m256 b) {
138 // CHECK-LABEL: test_mm256_cmp_ps_mask_nle_uq
139 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 22, <8 x i1> {{.*}})
140 return _mm256_cmp_ps_mask(a, b, _CMP_NLE_UQ);
141 }
142
test_mm256_cmp_ps_mask_ord_s(__m256 a,__m256 b)143 __mmask8 test_mm256_cmp_ps_mask_ord_s(__m256 a, __m256 b) {
144 // CHECK-LABEL: test_mm256_cmp_ps_mask_ord_s
145 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 23, <8 x i1> {{.*}})
146 return _mm256_cmp_ps_mask(a, b, _CMP_ORD_S);
147 }
148
test_mm256_cmp_ps_mask_eq_us(__m256 a,__m256 b)149 __mmask8 test_mm256_cmp_ps_mask_eq_us(__m256 a, __m256 b) {
150 // CHECK-LABEL: test_mm256_cmp_ps_mask_eq_us
151 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 24, <8 x i1> {{.*}})
152 return _mm256_cmp_ps_mask(a, b, _CMP_EQ_US);
153 }
154
test_mm256_cmp_ps_mask_nge_uq(__m256 a,__m256 b)155 __mmask8 test_mm256_cmp_ps_mask_nge_uq(__m256 a, __m256 b) {
156 // CHECK-LABEL: test_mm256_cmp_ps_mask_nge_uq
157 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 25, <8 x i1> {{.*}})
158 return _mm256_cmp_ps_mask(a, b, _CMP_NGE_UQ);
159 }
160
test_mm256_cmp_ps_mask_ngt_uq(__m256 a,__m256 b)161 __mmask8 test_mm256_cmp_ps_mask_ngt_uq(__m256 a, __m256 b) {
162 // CHECK-LABEL: test_mm256_cmp_ps_mask_ngt_uq
163 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 26, <8 x i1> {{.*}})
164 return _mm256_cmp_ps_mask(a, b, _CMP_NGT_UQ);
165 }
166
test_mm256_cmp_ps_mask_false_os(__m256 a,__m256 b)167 __mmask8 test_mm256_cmp_ps_mask_false_os(__m256 a, __m256 b) {
168 // CHECK-LABEL: test_mm256_cmp_ps_mask_false_os
169 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 27, <8 x i1> {{.*}})
170 return _mm256_cmp_ps_mask(a, b, _CMP_FALSE_OS);
171 }
172
test_mm256_cmp_ps_mask_neq_os(__m256 a,__m256 b)173 __mmask8 test_mm256_cmp_ps_mask_neq_os(__m256 a, __m256 b) {
174 // CHECK-LABEL: test_mm256_cmp_ps_mask_neq_os
175 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 28, <8 x i1> {{.*}})
176 return _mm256_cmp_ps_mask(a, b, _CMP_NEQ_OS);
177 }
178
test_mm256_cmp_ps_mask_ge_oq(__m256 a,__m256 b)179 __mmask8 test_mm256_cmp_ps_mask_ge_oq(__m256 a, __m256 b) {
180 // CHECK-LABEL: test_mm256_cmp_ps_mask_ge_oq
181 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 29, <8 x i1> {{.*}})
182 return _mm256_cmp_ps_mask(a, b, _CMP_GE_OQ);
183 }
184
test_mm256_cmp_ps_mask_gt_oq(__m256 a,__m256 b)185 __mmask8 test_mm256_cmp_ps_mask_gt_oq(__m256 a, __m256 b) {
186 // CHECK-LABEL: test_mm256_cmp_ps_mask_gt_oq
187 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 30, <8 x i1> {{.*}})
188 return _mm256_cmp_ps_mask(a, b, _CMP_GT_OQ);
189 }
190
test_mm256_cmp_ps_mask_true_us(__m256 a,__m256 b)191 __mmask8 test_mm256_cmp_ps_mask_true_us(__m256 a, __m256 b) {
192 // CHECK-LABEL: test_mm256_cmp_ps_mask_true_us
193 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 31, <8 x i1> {{.*}})
194 return _mm256_cmp_ps_mask(a, b, _CMP_TRUE_US);
195 }
196
test_mm256_mask_cmp_ps_mask_eq_oq(__mmask8 m,__m256 a,__m256 b)197 __mmask8 test_mm256_mask_cmp_ps_mask_eq_oq(__mmask8 m, __m256 a, __m256 b) {
198 // CHECK-LABEL: @test_mm256_mask_cmp_ps_mask_eq_oq
199 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 0, <8 x i1> {{.*}})
200 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_EQ_OQ);
201 }
202
test_mm256_mask_cmp_ps_mask_lt_os(__mmask8 m,__m256 a,__m256 b)203 __mmask8 test_mm256_mask_cmp_ps_mask_lt_os(__mmask8 m, __m256 a, __m256 b) {
204 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_lt_os
205 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 1, <8 x i1> {{.*}})
206 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_LT_OS);
207 }
208
test_mm256_mask_cmp_ps_mask_le_os(__mmask8 m,__m256 a,__m256 b)209 __mmask8 test_mm256_mask_cmp_ps_mask_le_os(__mmask8 m, __m256 a, __m256 b) {
210 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_le_os
211 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 2, <8 x i1> {{.*}})
212 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_LE_OS);
213 }
214
test_mm256_mask_cmp_ps_mask_unord_q(__mmask8 m,__m256 a,__m256 b)215 __mmask8 test_mm256_mask_cmp_ps_mask_unord_q(__mmask8 m, __m256 a, __m256 b) {
216 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_unord_q
217 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 3, <8 x i1> {{.*}})
218 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_UNORD_Q);
219 }
220
test_mm256_mask_cmp_ps_mask_neq_uq(__mmask8 m,__m256 a,__m256 b)221 __mmask8 test_mm256_mask_cmp_ps_mask_neq_uq(__mmask8 m, __m256 a, __m256 b) {
222 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_neq_uq
223 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 4, <8 x i1> {{.*}})
224 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_NEQ_UQ);
225 }
226
test_mm256_mask_cmp_ps_mask_nlt_us(__mmask8 m,__m256 a,__m256 b)227 __mmask8 test_mm256_mask_cmp_ps_mask_nlt_us(__mmask8 m, __m256 a, __m256 b) {
228 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_nlt_us
229 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 5, <8 x i1> {{.*}})
230 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_NLT_US);
231 }
232
test_mm256_mask_cmp_ps_mask_nle_us(__mmask8 m,__m256 a,__m256 b)233 __mmask8 test_mm256_mask_cmp_ps_mask_nle_us(__mmask8 m, __m256 a, __m256 b) {
234 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_nle_us
235 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 6, <8 x i1> {{.*}})
236 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_NLE_US);
237 }
238
test_mm256_mask_cmp_ps_mask_ord_q(__mmask8 m,__m256 a,__m256 b)239 __mmask8 test_mm256_mask_cmp_ps_mask_ord_q(__mmask8 m, __m256 a, __m256 b) {
240 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_ord_q
241 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 7, <8 x i1> {{.*}})
242 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_ORD_Q);
243 }
244
test_mm256_mask_cmp_ps_mask_eq_uq(__mmask8 m,__m256 a,__m256 b)245 __mmask8 test_mm256_mask_cmp_ps_mask_eq_uq(__mmask8 m, __m256 a, __m256 b) {
246 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_eq_uq
247 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 8, <8 x i1> {{.*}})
248 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_EQ_UQ);
249 }
250
test_mm256_mask_cmp_ps_mask_nge_us(__mmask8 m,__m256 a,__m256 b)251 __mmask8 test_mm256_mask_cmp_ps_mask_nge_us(__mmask8 m, __m256 a, __m256 b) {
252 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_nge_us
253 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 9, <8 x i1> {{.*}})
254 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_NGE_US);
255 }
256
test_mm256_mask_cmp_ps_mask_ngt_us(__mmask8 m,__m256 a,__m256 b)257 __mmask8 test_mm256_mask_cmp_ps_mask_ngt_us(__mmask8 m, __m256 a, __m256 b) {
258 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_ngt_us
259 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 10, <8 x i1> {{.*}})
260 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_NGT_US);
261 }
262
test_mm256_mask_cmp_ps_mask_false_oq(__mmask8 m,__m256 a,__m256 b)263 __mmask8 test_mm256_mask_cmp_ps_mask_false_oq(__mmask8 m, __m256 a, __m256 b) {
264 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_false_oq
265 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 11, <8 x i1> {{.*}})
266 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_FALSE_OQ);
267 }
268
test_mm256_mask_cmp_ps_mask_neq_oq(__mmask8 m,__m256 a,__m256 b)269 __mmask8 test_mm256_mask_cmp_ps_mask_neq_oq(__mmask8 m, __m256 a, __m256 b) {
270 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_neq_oq
271 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 12, <8 x i1> {{.*}})
272 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_NEQ_OQ);
273 }
274
test_mm256_mask_cmp_ps_mask_ge_os(__mmask8 m,__m256 a,__m256 b)275 __mmask8 test_mm256_mask_cmp_ps_mask_ge_os(__mmask8 m, __m256 a, __m256 b) {
276 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_ge_os
277 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 13, <8 x i1> {{.*}})
278 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_GE_OS);
279 }
280
test_mm256_mask_cmp_ps_mask_gt_os(__mmask8 m,__m256 a,__m256 b)281 __mmask8 test_mm256_mask_cmp_ps_mask_gt_os(__mmask8 m, __m256 a, __m256 b) {
282 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_gt_os
283 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 14, <8 x i1> {{.*}})
284 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_GT_OS);
285 }
286
test_mm256_mask_cmp_ps_mask_true_uq(__mmask8 m,__m256 a,__m256 b)287 __mmask8 test_mm256_mask_cmp_ps_mask_true_uq(__mmask8 m, __m256 a, __m256 b) {
288 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_true_uq
289 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 15, <8 x i1> {{.*}})
290 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_TRUE_UQ);
291 }
292
test_mm256_mask_cmp_ps_mask_eq_os(__mmask8 m,__m256 a,__m256 b)293 __mmask8 test_mm256_mask_cmp_ps_mask_eq_os(__mmask8 m, __m256 a, __m256 b) {
294 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_eq_os
295 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 16, <8 x i1> {{.*}})
296 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_EQ_OS);
297 }
298
test_mm256_mask_cmp_ps_mask_lt_oq(__mmask8 m,__m256 a,__m256 b)299 __mmask8 test_mm256_mask_cmp_ps_mask_lt_oq(__mmask8 m, __m256 a, __m256 b) {
300 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_lt_oq
301 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 17, <8 x i1> {{.*}})
302 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_LT_OQ);
303 }
304
test_mm256_mask_cmp_ps_mask_le_oq(__mmask8 m,__m256 a,__m256 b)305 __mmask8 test_mm256_mask_cmp_ps_mask_le_oq(__mmask8 m, __m256 a, __m256 b) {
306 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_le_oq
307 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 18, <8 x i1> {{.*}})
308 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_LE_OQ);
309 }
310
test_mm256_mask_cmp_ps_mask_unord_s(__mmask8 m,__m256 a,__m256 b)311 __mmask8 test_mm256_mask_cmp_ps_mask_unord_s(__mmask8 m, __m256 a, __m256 b) {
312 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_unord_s
313 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 19, <8 x i1> {{.*}})
314 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_UNORD_S);
315 }
316
test_mm256_mask_cmp_ps_mask_neq_us(__mmask8 m,__m256 a,__m256 b)317 __mmask8 test_mm256_mask_cmp_ps_mask_neq_us(__mmask8 m, __m256 a, __m256 b) {
318 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_neq_us
319 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 20, <8 x i1> {{.*}})
320 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_NEQ_US);
321 }
322
test_mm256_mask_cmp_ps_mask_nlt_uq(__mmask8 m,__m256 a,__m256 b)323 __mmask8 test_mm256_mask_cmp_ps_mask_nlt_uq(__mmask8 m, __m256 a, __m256 b) {
324 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_nlt_uq
325 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 21, <8 x i1> {{.*}})
326 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_NLT_UQ);
327 }
328
test_mm256_mask_cmp_ps_mask_nle_uq(__mmask8 m,__m256 a,__m256 b)329 __mmask8 test_mm256_mask_cmp_ps_mask_nle_uq(__mmask8 m, __m256 a, __m256 b) {
330 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_nle_uq
331 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 22, <8 x i1> {{.*}})
332 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_NLE_UQ);
333 }
334
test_mm256_mask_cmp_ps_mask_ord_s(__mmask8 m,__m256 a,__m256 b)335 __mmask8 test_mm256_mask_cmp_ps_mask_ord_s(__mmask8 m, __m256 a, __m256 b) {
336 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_ord_s
337 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 23, <8 x i1> {{.*}})
338 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_ORD_S);
339 }
340
test_mm256_mask_cmp_ps_mask_eq_us(__mmask8 m,__m256 a,__m256 b)341 __mmask8 test_mm256_mask_cmp_ps_mask_eq_us(__mmask8 m, __m256 a, __m256 b) {
342 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_eq_us
343 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 24, <8 x i1> {{.*}})
344 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_EQ_US);
345 }
346
test_mm256_mask_cmp_ps_mask_nge_uq(__mmask8 m,__m256 a,__m256 b)347 __mmask8 test_mm256_mask_cmp_ps_mask_nge_uq(__mmask8 m, __m256 a, __m256 b) {
348 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_nge_uq
349 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 25, <8 x i1> {{.*}})
350 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_NGE_UQ);
351 }
352
test_mm256_mask_cmp_ps_mask_ngt_uq(__mmask8 m,__m256 a,__m256 b)353 __mmask8 test_mm256_mask_cmp_ps_mask_ngt_uq(__mmask8 m, __m256 a, __m256 b) {
354 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_ngt_uq
355 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 26, <8 x i1> {{.*}})
356 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_NGT_UQ);
357 }
358
test_mm256_mask_cmp_ps_mask_false_os(__mmask8 m,__m256 a,__m256 b)359 __mmask8 test_mm256_mask_cmp_ps_mask_false_os(__mmask8 m, __m256 a, __m256 b) {
360 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_false_os
361 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 27, <8 x i1> {{.*}})
362 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_FALSE_OS);
363 }
364
test_mm256_mask_cmp_ps_mask_neq_os(__mmask8 m,__m256 a,__m256 b)365 __mmask8 test_mm256_mask_cmp_ps_mask_neq_os(__mmask8 m, __m256 a, __m256 b) {
366 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_neq_os
367 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 28, <8 x i1> {{.*}})
368 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_NEQ_OS);
369 }
370
test_mm256_mask_cmp_ps_mask_ge_oq(__mmask8 m,__m256 a,__m256 b)371 __mmask8 test_mm256_mask_cmp_ps_mask_ge_oq(__mmask8 m, __m256 a, __m256 b) {
372 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_ge_oq
373 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 29, <8 x i1> {{.*}})
374 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_GE_OQ);
375 }
376
test_mm256_mask_cmp_ps_mask_gt_oq(__mmask8 m,__m256 a,__m256 b)377 __mmask8 test_mm256_mask_cmp_ps_mask_gt_oq(__mmask8 m, __m256 a, __m256 b) {
378 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_gt_oq
379 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 30, <8 x i1> {{.*}})
380 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_GT_OQ);
381 }
382
test_mm256_mask_cmp_ps_mask_true_us(__mmask8 m,__m256 a,__m256 b)383 __mmask8 test_mm256_mask_cmp_ps_mask_true_us(__mmask8 m, __m256 a, __m256 b) {
384 // CHECK-LABEL: test_mm256_mask_cmp_ps_mask_true_us
385 // CHECK: call <8 x i1> @llvm.x86.avx512.mask.cmp.ps.256(<8 x float> %{{.*}}, <8 x float> %{{.*}}, i32 31, <8 x i1> {{.*}})
386 return _mm256_mask_cmp_ps_mask(m, a, b, _CMP_TRUE_US);
387 }
388
test_mm256_cmp_pd_mask_eq_oq(__m256d a,__m256d b)389 __mmask8 test_mm256_cmp_pd_mask_eq_oq(__m256d a, __m256d b) {
390 // CHECK-LABEL: @test_mm256_cmp_pd_mask_eq_oq
391 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 0, <4 x i1> {{.*}})
392 return _mm256_cmp_pd_mask(a, b, _CMP_EQ_OQ);
393 }
394
test_mm256_cmp_pd_mask_lt_os(__m256d a,__m256d b)395 __mmask8 test_mm256_cmp_pd_mask_lt_os(__m256d a, __m256d b) {
396 // CHECK-LABEL: test_mm256_cmp_pd_mask_lt_os
397 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 1, <4 x i1> {{.*}})
398 return _mm256_cmp_pd_mask(a, b, _CMP_LT_OS);
399 }
400
test_mm256_cmp_pd_mask_le_os(__m256d a,__m256d b)401 __mmask8 test_mm256_cmp_pd_mask_le_os(__m256d a, __m256d b) {
402 // CHECK-LABEL: test_mm256_cmp_pd_mask_le_os
403 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 2, <4 x i1> {{.*}})
404 return _mm256_cmp_pd_mask(a, b, _CMP_LE_OS);
405 }
406
test_mm256_cmp_pd_mask_unord_q(__m256d a,__m256d b)407 __mmask8 test_mm256_cmp_pd_mask_unord_q(__m256d a, __m256d b) {
408 // CHECK-LABEL: test_mm256_cmp_pd_mask_unord_q
409 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 3, <4 x i1> {{.*}})
410 return _mm256_cmp_pd_mask(a, b, _CMP_UNORD_Q);
411 }
412
test_mm256_cmp_pd_mask_neq_uq(__m256d a,__m256d b)413 __mmask8 test_mm256_cmp_pd_mask_neq_uq(__m256d a, __m256d b) {
414 // CHECK-LABEL: test_mm256_cmp_pd_mask_neq_uq
415 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 4, <4 x i1> {{.*}})
416 return _mm256_cmp_pd_mask(a, b, _CMP_NEQ_UQ);
417 }
418
test_mm256_cmp_pd_mask_nlt_us(__m256d a,__m256d b)419 __mmask8 test_mm256_cmp_pd_mask_nlt_us(__m256d a, __m256d b) {
420 // CHECK-LABEL: test_mm256_cmp_pd_mask_nlt_us
421 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 5, <4 x i1> {{.*}})
422 return _mm256_cmp_pd_mask(a, b, _CMP_NLT_US);
423 }
424
test_mm256_cmp_pd_mask_nle_us(__m256d a,__m256d b)425 __mmask8 test_mm256_cmp_pd_mask_nle_us(__m256d a, __m256d b) {
426 // CHECK-LABEL: test_mm256_cmp_pd_mask_nle_us
427 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 6, <4 x i1> {{.*}})
428 return _mm256_cmp_pd_mask(a, b, _CMP_NLE_US);
429 }
430
test_mm256_cmp_pd_mask_ord_q(__m256d a,__m256d b)431 __mmask8 test_mm256_cmp_pd_mask_ord_q(__m256d a, __m256d b) {
432 // CHECK-LABEL: test_mm256_cmp_pd_mask_ord_q
433 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 7, <4 x i1> {{.*}})
434 return _mm256_cmp_pd_mask(a, b, _CMP_ORD_Q);
435 }
436
test_mm256_cmp_pd_mask_eq_uq(__m256d a,__m256d b)437 __mmask8 test_mm256_cmp_pd_mask_eq_uq(__m256d a, __m256d b) {
438 // CHECK-LABEL: test_mm256_cmp_pd_mask_eq_uq
439 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 8, <4 x i1> {{.*}})
440 return _mm256_cmp_pd_mask(a, b, _CMP_EQ_UQ);
441 }
442
test_mm256_cmp_pd_mask_nge_us(__m256d a,__m256d b)443 __mmask8 test_mm256_cmp_pd_mask_nge_us(__m256d a, __m256d b) {
444 // CHECK-LABEL: test_mm256_cmp_pd_mask_nge_us
445 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 9, <4 x i1> {{.*}})
446 return _mm256_cmp_pd_mask(a, b, _CMP_NGE_US);
447 }
448
test_mm256_cmp_pd_mask_ngt_us(__m256d a,__m256d b)449 __mmask8 test_mm256_cmp_pd_mask_ngt_us(__m256d a, __m256d b) {
450 // CHECK-LABEL: test_mm256_cmp_pd_mask_ngt_us
451 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 10, <4 x i1> {{.*}})
452 return _mm256_cmp_pd_mask(a, b, _CMP_NGT_US);
453 }
454
test_mm256_cmp_pd_mask_false_oq(__m256d a,__m256d b)455 __mmask8 test_mm256_cmp_pd_mask_false_oq(__m256d a, __m256d b) {
456 // CHECK-LABEL: test_mm256_cmp_pd_mask_false_oq
457 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 11, <4 x i1> {{.*}})
458 return _mm256_cmp_pd_mask(a, b, _CMP_FALSE_OQ);
459 }
460
test_mm256_cmp_pd_mask_neq_oq(__m256d a,__m256d b)461 __mmask8 test_mm256_cmp_pd_mask_neq_oq(__m256d a, __m256d b) {
462 // CHECK-LABEL: test_mm256_cmp_pd_mask_neq_oq
463 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 12, <4 x i1> {{.*}})
464 return _mm256_cmp_pd_mask(a, b, _CMP_NEQ_OQ);
465 }
466
test_mm256_cmp_pd_mask_ge_os(__m256d a,__m256d b)467 __mmask8 test_mm256_cmp_pd_mask_ge_os(__m256d a, __m256d b) {
468 // CHECK-LABEL: test_mm256_cmp_pd_mask_ge_os
469 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 13, <4 x i1> {{.*}})
470 return _mm256_cmp_pd_mask(a, b, _CMP_GE_OS);
471 }
472
test_mm256_cmp_pd_mask_gt_os(__m256d a,__m256d b)473 __mmask8 test_mm256_cmp_pd_mask_gt_os(__m256d a, __m256d b) {
474 // CHECK-LABEL: test_mm256_cmp_pd_mask_gt_os
475 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 14, <4 x i1> {{.*}})
476 return _mm256_cmp_pd_mask(a, b, _CMP_GT_OS);
477 }
478
test_mm256_cmp_pd_mask_true_uq(__m256d a,__m256d b)479 __mmask8 test_mm256_cmp_pd_mask_true_uq(__m256d a, __m256d b) {
480 // CHECK-LABEL: test_mm256_cmp_pd_mask_true_uq
481 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 15, <4 x i1> {{.*}})
482 return _mm256_cmp_pd_mask(a, b, _CMP_TRUE_UQ);
483 }
484
test_mm256_cmp_pd_mask_eq_os(__m256d a,__m256d b)485 __mmask8 test_mm256_cmp_pd_mask_eq_os(__m256d a, __m256d b) {
486 // CHECK-LABEL: test_mm256_cmp_pd_mask_eq_os
487 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 16, <4 x i1> {{.*}})
488 return _mm256_cmp_pd_mask(a, b, _CMP_EQ_OS);
489 }
490
test_mm256_cmp_pd_mask_lt_oq(__m256d a,__m256d b)491 __mmask8 test_mm256_cmp_pd_mask_lt_oq(__m256d a, __m256d b) {
492 // CHECK-LABEL: test_mm256_cmp_pd_mask_lt_oq
493 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 17, <4 x i1> {{.*}})
494 return _mm256_cmp_pd_mask(a, b, _CMP_LT_OQ);
495 }
496
test_mm256_cmp_pd_mask_le_oq(__m256d a,__m256d b)497 __mmask8 test_mm256_cmp_pd_mask_le_oq(__m256d a, __m256d b) {
498 // CHECK-LABEL: test_mm256_cmp_pd_mask_le_oq
499 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 18, <4 x i1> {{.*}})
500 return _mm256_cmp_pd_mask(a, b, _CMP_LE_OQ);
501 }
502
test_mm256_cmp_pd_mask_unord_s(__m256d a,__m256d b)503 __mmask8 test_mm256_cmp_pd_mask_unord_s(__m256d a, __m256d b) {
504 // CHECK-LABEL: test_mm256_cmp_pd_mask_unord_s
505 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 19, <4 x i1> {{.*}})
506 return _mm256_cmp_pd_mask(a, b, _CMP_UNORD_S);
507 }
508
test_mm256_cmp_pd_mask_neq_us(__m256d a,__m256d b)509 __mmask8 test_mm256_cmp_pd_mask_neq_us(__m256d a, __m256d b) {
510 // CHECK-LABEL: test_mm256_cmp_pd_mask_neq_us
511 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 20, <4 x i1> {{.*}})
512 return _mm256_cmp_pd_mask(a, b, _CMP_NEQ_US);
513 }
514
test_mm256_cmp_pd_mask_nlt_uq(__m256d a,__m256d b)515 __mmask8 test_mm256_cmp_pd_mask_nlt_uq(__m256d a, __m256d b) {
516 // CHECK-LABEL: test_mm256_cmp_pd_mask_nlt_uq
517 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 21, <4 x i1> {{.*}})
518 return _mm256_cmp_pd_mask(a, b, _CMP_NLT_UQ);
519 }
520
test_mm256_cmp_pd_mask_nle_uq(__m256d a,__m256d b)521 __mmask8 test_mm256_cmp_pd_mask_nle_uq(__m256d a, __m256d b) {
522 // CHECK-LABEL: test_mm256_cmp_pd_mask_nle_uq
523 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 22, <4 x i1> {{.*}})
524 return _mm256_cmp_pd_mask(a, b, _CMP_NLE_UQ);
525 }
526
test_mm256_cmp_pd_mask_ord_s(__m256d a,__m256d b)527 __mmask8 test_mm256_cmp_pd_mask_ord_s(__m256d a, __m256d b) {
528 // CHECK-LABEL: test_mm256_cmp_pd_mask_ord_s
529 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 23, <4 x i1> {{.*}})
530 return _mm256_cmp_pd_mask(a, b, _CMP_ORD_S);
531 }
532
test_mm256_cmp_pd_mask_eq_us(__m256d a,__m256d b)533 __mmask8 test_mm256_cmp_pd_mask_eq_us(__m256d a, __m256d b) {
534 // CHECK-LABEL: test_mm256_cmp_pd_mask_eq_us
535 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 24, <4 x i1> {{.*}})
536 return _mm256_cmp_pd_mask(a, b, _CMP_EQ_US);
537 }
538
test_mm256_cmp_pd_mask_nge_uq(__m256d a,__m256d b)539 __mmask8 test_mm256_cmp_pd_mask_nge_uq(__m256d a, __m256d b) {
540 // CHECK-LABEL: test_mm256_cmp_pd_mask_nge_uq
541 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 25, <4 x i1> {{.*}})
542 return _mm256_cmp_pd_mask(a, b, _CMP_NGE_UQ);
543 }
544
test_mm256_cmp_pd_mask_ngt_uq(__m256d a,__m256d b)545 __mmask8 test_mm256_cmp_pd_mask_ngt_uq(__m256d a, __m256d b) {
546 // CHECK-LABEL: test_mm256_cmp_pd_mask_ngt_uq
547 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 26, <4 x i1> {{.*}})
548 return _mm256_cmp_pd_mask(a, b, _CMP_NGT_UQ);
549 }
550
test_mm256_cmp_pd_mask_false_os(__m256d a,__m256d b)551 __mmask8 test_mm256_cmp_pd_mask_false_os(__m256d a, __m256d b) {
552 // CHECK-LABEL: test_mm256_cmp_pd_mask_false_os
553 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 27, <4 x i1> {{.*}})
554 return _mm256_cmp_pd_mask(a, b, _CMP_FALSE_OS);
555 }
556
test_mm256_cmp_pd_mask_neq_os(__m256d a,__m256d b)557 __mmask8 test_mm256_cmp_pd_mask_neq_os(__m256d a, __m256d b) {
558 // CHECK-LABEL: test_mm256_cmp_pd_mask_neq_os
559 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 28, <4 x i1> {{.*}})
560 return _mm256_cmp_pd_mask(a, b, _CMP_NEQ_OS);
561 }
562
test_mm256_cmp_pd_mask_ge_oq(__m256d a,__m256d b)563 __mmask8 test_mm256_cmp_pd_mask_ge_oq(__m256d a, __m256d b) {
564 // CHECK-LABEL: test_mm256_cmp_pd_mask_ge_oq
565 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 29, <4 x i1> {{.*}})
566 return _mm256_cmp_pd_mask(a, b, _CMP_GE_OQ);
567 }
568
test_mm256_cmp_pd_mask_gt_oq(__m256d a,__m256d b)569 __mmask8 test_mm256_cmp_pd_mask_gt_oq(__m256d a, __m256d b) {
570 // CHECK-LABEL: test_mm256_cmp_pd_mask_gt_oq
571 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 30, <4 x i1> {{.*}})
572 return _mm256_cmp_pd_mask(a, b, _CMP_GT_OQ);
573 }
574
test_mm256_cmp_pd_mask_true_us(__m256d a,__m256d b)575 __mmask8 test_mm256_cmp_pd_mask_true_us(__m256d a, __m256d b) {
576 // CHECK-LABEL: test_mm256_cmp_pd_mask_true_us
577 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 31, <4 x i1> {{.*}})
578 return _mm256_cmp_pd_mask(a, b, _CMP_TRUE_US);
579 }
580
test_mm256_mask_cmp_pd_mask_eq_oq(__mmask8 m,__m256d a,__m256d b)581 __mmask8 test_mm256_mask_cmp_pd_mask_eq_oq(__mmask8 m, __m256d a, __m256d b) {
582 // CHECK-LABEL: @test_mm256_mask_cmp_pd_mask_eq_oq
583 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 0, <4 x i1> {{.*}})
584 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_EQ_OQ);
585 }
586
test_mm256_mask_cmp_pd_mask_lt_os(__mmask8 m,__m256d a,__m256d b)587 __mmask8 test_mm256_mask_cmp_pd_mask_lt_os(__mmask8 m, __m256d a, __m256d b) {
588 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_lt_os
589 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 1, <4 x i1> {{.*}})
590 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_LT_OS);
591 }
592
test_mm256_mask_cmp_pd_mask_le_os(__mmask8 m,__m256d a,__m256d b)593 __mmask8 test_mm256_mask_cmp_pd_mask_le_os(__mmask8 m, __m256d a, __m256d b) {
594 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_le_os
595 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 2, <4 x i1> {{.*}})
596 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_LE_OS);
597 }
598
test_mm256_mask_cmp_pd_mask_unord_q(__mmask8 m,__m256d a,__m256d b)599 __mmask8 test_mm256_mask_cmp_pd_mask_unord_q(__mmask8 m, __m256d a, __m256d b) {
600 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_unord_q
601 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 3, <4 x i1> {{.*}})
602 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_UNORD_Q);
603 }
604
test_mm256_mask_cmp_pd_mask_neq_uq(__mmask8 m,__m256d a,__m256d b)605 __mmask8 test_mm256_mask_cmp_pd_mask_neq_uq(__mmask8 m, __m256d a, __m256d b) {
606 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_neq_uq
607 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 4, <4 x i1> {{.*}})
608 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_NEQ_UQ);
609 }
610
test_mm256_mask_cmp_pd_mask_nlt_us(__mmask8 m,__m256d a,__m256d b)611 __mmask8 test_mm256_mask_cmp_pd_mask_nlt_us(__mmask8 m, __m256d a, __m256d b) {
612 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_nlt_us
613 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 5, <4 x i1> {{.*}})
614 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_NLT_US);
615 }
616
test_mm256_mask_cmp_pd_mask_nle_us(__mmask8 m,__m256d a,__m256d b)617 __mmask8 test_mm256_mask_cmp_pd_mask_nle_us(__mmask8 m, __m256d a, __m256d b) {
618 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_nle_us
619 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 6, <4 x i1> {{.*}})
620 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_NLE_US);
621 }
622
test_mm256_mask_cmp_pd_mask_ord_q(__mmask8 m,__m256d a,__m256d b)623 __mmask8 test_mm256_mask_cmp_pd_mask_ord_q(__mmask8 m, __m256d a, __m256d b) {
624 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_ord_q
625 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 7, <4 x i1> {{.*}})
626 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_ORD_Q);
627 }
628
test_mm256_mask_cmp_pd_mask_eq_uq(__mmask8 m,__m256d a,__m256d b)629 __mmask8 test_mm256_mask_cmp_pd_mask_eq_uq(__mmask8 m, __m256d a, __m256d b) {
630 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_eq_uq
631 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 8, <4 x i1> {{.*}})
632 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_EQ_UQ);
633 }
634
test_mm256_mask_cmp_pd_mask_nge_us(__mmask8 m,__m256d a,__m256d b)635 __mmask8 test_mm256_mask_cmp_pd_mask_nge_us(__mmask8 m, __m256d a, __m256d b) {
636 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_nge_us
637 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 9, <4 x i1> {{.*}})
638 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_NGE_US);
639 }
640
test_mm256_mask_cmp_pd_mask_ngt_us(__mmask8 m,__m256d a,__m256d b)641 __mmask8 test_mm256_mask_cmp_pd_mask_ngt_us(__mmask8 m, __m256d a, __m256d b) {
642 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_ngt_us
643 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 10, <4 x i1> {{.*}})
644 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_NGT_US);
645 }
646
test_mm256_mask_cmp_pd_mask_false_oq(__mmask8 m,__m256d a,__m256d b)647 __mmask8 test_mm256_mask_cmp_pd_mask_false_oq(__mmask8 m, __m256d a, __m256d b) {
648 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_false_oq
649 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 11, <4 x i1> {{.*}})
650 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_FALSE_OQ);
651 }
652
test_mm256_mask_cmp_pd_mask_neq_oq(__mmask8 m,__m256d a,__m256d b)653 __mmask8 test_mm256_mask_cmp_pd_mask_neq_oq(__mmask8 m, __m256d a, __m256d b) {
654 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_neq_oq
655 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 12, <4 x i1> {{.*}})
656 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_NEQ_OQ);
657 }
658
test_mm256_mask_cmp_pd_mask_ge_os(__mmask8 m,__m256d a,__m256d b)659 __mmask8 test_mm256_mask_cmp_pd_mask_ge_os(__mmask8 m, __m256d a, __m256d b) {
660 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_ge_os
661 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 13, <4 x i1> {{.*}})
662 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_GE_OS);
663 }
664
test_mm256_mask_cmp_pd_mask_gt_os(__mmask8 m,__m256d a,__m256d b)665 __mmask8 test_mm256_mask_cmp_pd_mask_gt_os(__mmask8 m, __m256d a, __m256d b) {
666 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_gt_os
667 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 14, <4 x i1> {{.*}})
668 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_GT_OS);
669 }
670
test_mm256_mask_cmp_pd_mask_true_uq(__mmask8 m,__m256d a,__m256d b)671 __mmask8 test_mm256_mask_cmp_pd_mask_true_uq(__mmask8 m, __m256d a, __m256d b) {
672 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_true_uq
673 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 15, <4 x i1> {{.*}})
674 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_TRUE_UQ);
675 }
676
test_mm256_mask_cmp_pd_mask_eq_os(__mmask8 m,__m256d a,__m256d b)677 __mmask8 test_mm256_mask_cmp_pd_mask_eq_os(__mmask8 m, __m256d a, __m256d b) {
678 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_eq_os
679 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 16, <4 x i1> {{.*}})
680 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_EQ_OS);
681 }
682
test_mm256_mask_cmp_pd_mask_lt_oq(__mmask8 m,__m256d a,__m256d b)683 __mmask8 test_mm256_mask_cmp_pd_mask_lt_oq(__mmask8 m, __m256d a, __m256d b) {
684 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_lt_oq
685 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 17, <4 x i1> {{.*}})
686 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_LT_OQ);
687 }
688
test_mm256_mask_cmp_pd_mask_le_oq(__mmask8 m,__m256d a,__m256d b)689 __mmask8 test_mm256_mask_cmp_pd_mask_le_oq(__mmask8 m, __m256d a, __m256d b) {
690 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_le_oq
691 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 18, <4 x i1> {{.*}})
692 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_LE_OQ);
693 }
694
test_mm256_mask_cmp_pd_mask_unord_s(__mmask8 m,__m256d a,__m256d b)695 __mmask8 test_mm256_mask_cmp_pd_mask_unord_s(__mmask8 m, __m256d a, __m256d b) {
696 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_unord_s
697 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 19, <4 x i1> {{.*}})
698 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_UNORD_S);
699 }
700
test_mm256_mask_cmp_pd_mask_neq_us(__mmask8 m,__m256d a,__m256d b)701 __mmask8 test_mm256_mask_cmp_pd_mask_neq_us(__mmask8 m, __m256d a, __m256d b) {
702 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_neq_us
703 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 20, <4 x i1> {{.*}})
704 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_NEQ_US);
705 }
706
test_mm256_mask_cmp_pd_mask_nlt_uq(__mmask8 m,__m256d a,__m256d b)707 __mmask8 test_mm256_mask_cmp_pd_mask_nlt_uq(__mmask8 m, __m256d a, __m256d b) {
708 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_nlt_uq
709 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 21, <4 x i1> {{.*}})
710 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_NLT_UQ);
711 }
712
test_mm256_mask_cmp_pd_mask_nle_uq(__mmask8 m,__m256d a,__m256d b)713 __mmask8 test_mm256_mask_cmp_pd_mask_nle_uq(__mmask8 m, __m256d a, __m256d b) {
714 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_nle_uq
715 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 22, <4 x i1> {{.*}})
716 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_NLE_UQ);
717 }
718
test_mm256_mask_cmp_pd_mask_ord_s(__mmask8 m,__m256d a,__m256d b)719 __mmask8 test_mm256_mask_cmp_pd_mask_ord_s(__mmask8 m, __m256d a, __m256d b) {
720 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_ord_s
721 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 23, <4 x i1> {{.*}})
722 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_ORD_S);
723 }
724
test_mm256_mask_cmp_pd_mask_eq_us(__mmask8 m,__m256d a,__m256d b)725 __mmask8 test_mm256_mask_cmp_pd_mask_eq_us(__mmask8 m, __m256d a, __m256d b) {
726 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_eq_us
727 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 24, <4 x i1> {{.*}})
728 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_EQ_US);
729 }
730
test_mm256_mask_cmp_pd_mask_nge_uq(__mmask8 m,__m256d a,__m256d b)731 __mmask8 test_mm256_mask_cmp_pd_mask_nge_uq(__mmask8 m, __m256d a, __m256d b) {
732 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_nge_uq
733 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 25, <4 x i1> {{.*}})
734 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_NGE_UQ);
735 }
736
test_mm256_mask_cmp_pd_mask_ngt_uq(__mmask8 m,__m256d a,__m256d b)737 __mmask8 test_mm256_mask_cmp_pd_mask_ngt_uq(__mmask8 m, __m256d a, __m256d b) {
738 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_ngt_uq
739 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 26, <4 x i1> {{.*}})
740 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_NGT_UQ);
741 }
742
test_mm256_mask_cmp_pd_mask_false_os(__mmask8 m,__m256d a,__m256d b)743 __mmask8 test_mm256_mask_cmp_pd_mask_false_os(__mmask8 m, __m256d a, __m256d b) {
744 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_false_os
745 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 27, <4 x i1> {{.*}})
746 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_FALSE_OS);
747 }
748
test_mm256_mask_cmp_pd_mask_neq_os(__mmask8 m,__m256d a,__m256d b)749 __mmask8 test_mm256_mask_cmp_pd_mask_neq_os(__mmask8 m, __m256d a, __m256d b) {
750 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_neq_os
751 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 28, <4 x i1> {{.*}})
752 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_NEQ_OS);
753 }
754
test_mm256_mask_cmp_pd_mask_ge_oq(__mmask8 m,__m256d a,__m256d b)755 __mmask8 test_mm256_mask_cmp_pd_mask_ge_oq(__mmask8 m, __m256d a, __m256d b) {
756 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_ge_oq
757 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 29, <4 x i1> {{.*}})
758 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_GE_OQ);
759 }
760
test_mm256_mask_cmp_pd_mask_gt_oq(__mmask8 m,__m256d a,__m256d b)761 __mmask8 test_mm256_mask_cmp_pd_mask_gt_oq(__mmask8 m, __m256d a, __m256d b) {
762 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_gt_oq
763 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 30, <4 x i1> {{.*}})
764 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_GT_OQ);
765 }
766
test_mm256_mask_cmp_pd_mask_true_us(__mmask8 m,__m256d a,__m256d b)767 __mmask8 test_mm256_mask_cmp_pd_mask_true_us(__mmask8 m, __m256d a, __m256d b) {
768 // CHECK-LABEL: test_mm256_mask_cmp_pd_mask_true_us
769 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i32 31, <4 x i1> {{.*}})
770 return _mm256_mask_cmp_pd_mask(m, a, b, _CMP_TRUE_US);
771 }
772
test_mm_cmp_ps_mask_eq_oq(__m128 a,__m128 b)773 __mmask8 test_mm_cmp_ps_mask_eq_oq(__m128 a, __m128 b) {
774 // CHECK-LABEL: @test_mm_cmp_ps_mask_eq_oq
775 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 0, <4 x i1> {{.*}})
776 return _mm_cmp_ps_mask(a, b, _CMP_EQ_OQ);
777 }
778
test_mm_cmp_ps_mask_lt_os(__m128 a,__m128 b)779 __mmask8 test_mm_cmp_ps_mask_lt_os(__m128 a, __m128 b) {
780 // CHECK-LABEL: test_mm_cmp_ps_mask_lt_os
781 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 1, <4 x i1> {{.*}})
782 return _mm_cmp_ps_mask(a, b, _CMP_LT_OS);
783 }
784
test_mm_cmp_ps_mask_le_os(__m128 a,__m128 b)785 __mmask8 test_mm_cmp_ps_mask_le_os(__m128 a, __m128 b) {
786 // CHECK-LABEL: test_mm_cmp_ps_mask_le_os
787 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 2, <4 x i1> {{.*}})
788 return _mm_cmp_ps_mask(a, b, _CMP_LE_OS);
789 }
790
test_mm_cmp_ps_mask_unord_q(__m128 a,__m128 b)791 __mmask8 test_mm_cmp_ps_mask_unord_q(__m128 a, __m128 b) {
792 // CHECK-LABEL: test_mm_cmp_ps_mask_unord_q
793 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 3, <4 x i1> {{.*}})
794 return _mm_cmp_ps_mask(a, b, _CMP_UNORD_Q);
795 }
796
test_mm_cmp_ps_mask_neq_uq(__m128 a,__m128 b)797 __mmask8 test_mm_cmp_ps_mask_neq_uq(__m128 a, __m128 b) {
798 // CHECK-LABEL: test_mm_cmp_ps_mask_neq_uq
799 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 4, <4 x i1> {{.*}})
800 return _mm_cmp_ps_mask(a, b, _CMP_NEQ_UQ);
801 }
802
test_mm_cmp_ps_mask_nlt_us(__m128 a,__m128 b)803 __mmask8 test_mm_cmp_ps_mask_nlt_us(__m128 a, __m128 b) {
804 // CHECK-LABEL: test_mm_cmp_ps_mask_nlt_us
805 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 5, <4 x i1> {{.*}})
806 return _mm_cmp_ps_mask(a, b, _CMP_NLT_US);
807 }
808
test_mm_cmp_ps_mask_nle_us(__m128 a,__m128 b)809 __mmask8 test_mm_cmp_ps_mask_nle_us(__m128 a, __m128 b) {
810 // CHECK-LABEL: test_mm_cmp_ps_mask_nle_us
811 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 6, <4 x i1> {{.*}})
812 return _mm_cmp_ps_mask(a, b, _CMP_NLE_US);
813 }
814
test_mm_cmp_ps_mask_ord_q(__m128 a,__m128 b)815 __mmask8 test_mm_cmp_ps_mask_ord_q(__m128 a, __m128 b) {
816 // CHECK-LABEL: test_mm_cmp_ps_mask_ord_q
817 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 7, <4 x i1> {{.*}})
818 return _mm_cmp_ps_mask(a, b, _CMP_ORD_Q);
819 }
820
test_mm_cmp_ps_mask_eq_uq(__m128 a,__m128 b)821 __mmask8 test_mm_cmp_ps_mask_eq_uq(__m128 a, __m128 b) {
822 // CHECK-LABEL: test_mm_cmp_ps_mask_eq_uq
823 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 8, <4 x i1> {{.*}})
824 return _mm_cmp_ps_mask(a, b, _CMP_EQ_UQ);
825 }
826
test_mm_cmp_ps_mask_nge_us(__m128 a,__m128 b)827 __mmask8 test_mm_cmp_ps_mask_nge_us(__m128 a, __m128 b) {
828 // CHECK-LABEL: test_mm_cmp_ps_mask_nge_us
829 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 9, <4 x i1> {{.*}})
830 return _mm_cmp_ps_mask(a, b, _CMP_NGE_US);
831 }
832
test_mm_cmp_ps_mask_ngt_us(__m128 a,__m128 b)833 __mmask8 test_mm_cmp_ps_mask_ngt_us(__m128 a, __m128 b) {
834 // CHECK-LABEL: test_mm_cmp_ps_mask_ngt_us
835 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 10, <4 x i1> {{.*}})
836 return _mm_cmp_ps_mask(a, b, _CMP_NGT_US);
837 }
838
test_mm_cmp_ps_mask_false_oq(__m128 a,__m128 b)839 __mmask8 test_mm_cmp_ps_mask_false_oq(__m128 a, __m128 b) {
840 // CHECK-LABEL: test_mm_cmp_ps_mask_false_oq
841 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 11, <4 x i1> {{.*}})
842 return _mm_cmp_ps_mask(a, b, _CMP_FALSE_OQ);
843 }
844
test_mm_cmp_ps_mask_neq_oq(__m128 a,__m128 b)845 __mmask8 test_mm_cmp_ps_mask_neq_oq(__m128 a, __m128 b) {
846 // CHECK-LABEL: test_mm_cmp_ps_mask_neq_oq
847 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 12, <4 x i1> {{.*}})
848 return _mm_cmp_ps_mask(a, b, _CMP_NEQ_OQ);
849 }
850
test_mm_cmp_ps_mask_ge_os(__m128 a,__m128 b)851 __mmask8 test_mm_cmp_ps_mask_ge_os(__m128 a, __m128 b) {
852 // CHECK-LABEL: test_mm_cmp_ps_mask_ge_os
853 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 13, <4 x i1> {{.*}})
854 return _mm_cmp_ps_mask(a, b, _CMP_GE_OS);
855 }
856
test_mm_cmp_ps_mask_gt_os(__m128 a,__m128 b)857 __mmask8 test_mm_cmp_ps_mask_gt_os(__m128 a, __m128 b) {
858 // CHECK-LABEL: test_mm_cmp_ps_mask_gt_os
859 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 14, <4 x i1> {{.*}})
860 return _mm_cmp_ps_mask(a, b, _CMP_GT_OS);
861 }
862
test_mm_cmp_ps_mask_true_uq(__m128 a,__m128 b)863 __mmask8 test_mm_cmp_ps_mask_true_uq(__m128 a, __m128 b) {
864 // CHECK-LABEL: test_mm_cmp_ps_mask_true_uq
865 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 15, <4 x i1> {{.*}})
866 return _mm_cmp_ps_mask(a, b, _CMP_TRUE_UQ);
867 }
868
test_mm_cmp_ps_mask_eq_os(__m128 a,__m128 b)869 __mmask8 test_mm_cmp_ps_mask_eq_os(__m128 a, __m128 b) {
870 // CHECK-LABEL: test_mm_cmp_ps_mask_eq_os
871 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 16, <4 x i1> {{.*}})
872 return _mm_cmp_ps_mask(a, b, _CMP_EQ_OS);
873 }
874
test_mm_cmp_ps_mask_lt_oq(__m128 a,__m128 b)875 __mmask8 test_mm_cmp_ps_mask_lt_oq(__m128 a, __m128 b) {
876 // CHECK-LABEL: test_mm_cmp_ps_mask_lt_oq
877 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 17, <4 x i1> {{.*}})
878 return _mm_cmp_ps_mask(a, b, _CMP_LT_OQ);
879 }
880
test_mm_cmp_ps_mask_le_oq(__m128 a,__m128 b)881 __mmask8 test_mm_cmp_ps_mask_le_oq(__m128 a, __m128 b) {
882 // CHECK-LABEL: test_mm_cmp_ps_mask_le_oq
883 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 18, <4 x i1> {{.*}})
884 return _mm_cmp_ps_mask(a, b, _CMP_LE_OQ);
885 }
886
test_mm_cmp_ps_mask_unord_s(__m128 a,__m128 b)887 __mmask8 test_mm_cmp_ps_mask_unord_s(__m128 a, __m128 b) {
888 // CHECK-LABEL: test_mm_cmp_ps_mask_unord_s
889 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 19, <4 x i1> {{.*}})
890 return _mm_cmp_ps_mask(a, b, _CMP_UNORD_S);
891 }
892
test_mm_cmp_ps_mask_neq_us(__m128 a,__m128 b)893 __mmask8 test_mm_cmp_ps_mask_neq_us(__m128 a, __m128 b) {
894 // CHECK-LABEL: test_mm_cmp_ps_mask_neq_us
895 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 20, <4 x i1> {{.*}})
896 return _mm_cmp_ps_mask(a, b, _CMP_NEQ_US);
897 }
898
test_mm_cmp_ps_mask_nlt_uq(__m128 a,__m128 b)899 __mmask8 test_mm_cmp_ps_mask_nlt_uq(__m128 a, __m128 b) {
900 // CHECK-LABEL: test_mm_cmp_ps_mask_nlt_uq
901 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 21, <4 x i1> {{.*}})
902 return _mm_cmp_ps_mask(a, b, _CMP_NLT_UQ);
903 }
904
test_mm_cmp_ps_mask_nle_uq(__m128 a,__m128 b)905 __mmask8 test_mm_cmp_ps_mask_nle_uq(__m128 a, __m128 b) {
906 // CHECK-LABEL: test_mm_cmp_ps_mask_nle_uq
907 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 22, <4 x i1> {{.*}})
908 return _mm_cmp_ps_mask(a, b, _CMP_NLE_UQ);
909 }
910
test_mm_cmp_ps_mask_ord_s(__m128 a,__m128 b)911 __mmask8 test_mm_cmp_ps_mask_ord_s(__m128 a, __m128 b) {
912 // CHECK-LABEL: test_mm_cmp_ps_mask_ord_s
913 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 23, <4 x i1> {{.*}})
914 return _mm_cmp_ps_mask(a, b, _CMP_ORD_S);
915 }
916
test_mm_cmp_ps_mask_eq_us(__m128 a,__m128 b)917 __mmask8 test_mm_cmp_ps_mask_eq_us(__m128 a, __m128 b) {
918 // CHECK-LABEL: test_mm_cmp_ps_mask_eq_us
919 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 24, <4 x i1> {{.*}})
920 return _mm_cmp_ps_mask(a, b, _CMP_EQ_US);
921 }
922
test_mm_cmp_ps_mask_nge_uq(__m128 a,__m128 b)923 __mmask8 test_mm_cmp_ps_mask_nge_uq(__m128 a, __m128 b) {
924 // CHECK-LABEL: test_mm_cmp_ps_mask_nge_uq
925 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 25, <4 x i1> {{.*}})
926 return _mm_cmp_ps_mask(a, b, _CMP_NGE_UQ);
927 }
928
test_mm_cmp_ps_mask_ngt_uq(__m128 a,__m128 b)929 __mmask8 test_mm_cmp_ps_mask_ngt_uq(__m128 a, __m128 b) {
930 // CHECK-LABEL: test_mm_cmp_ps_mask_ngt_uq
931 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 26, <4 x i1> {{.*}})
932 return _mm_cmp_ps_mask(a, b, _CMP_NGT_UQ);
933 }
934
test_mm_cmp_ps_mask_false_os(__m128 a,__m128 b)935 __mmask8 test_mm_cmp_ps_mask_false_os(__m128 a, __m128 b) {
936 // CHECK-LABEL: test_mm_cmp_ps_mask_false_os
937 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 27, <4 x i1> {{.*}})
938 return _mm_cmp_ps_mask(a, b, _CMP_FALSE_OS);
939 }
940
test_mm_cmp_ps_mask_neq_os(__m128 a,__m128 b)941 __mmask8 test_mm_cmp_ps_mask_neq_os(__m128 a, __m128 b) {
942 // CHECK-LABEL: test_mm_cmp_ps_mask_neq_os
943 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 28, <4 x i1> {{.*}})
944 return _mm_cmp_ps_mask(a, b, _CMP_NEQ_OS);
945 }
946
test_mm_cmp_ps_mask_ge_oq(__m128 a,__m128 b)947 __mmask8 test_mm_cmp_ps_mask_ge_oq(__m128 a, __m128 b) {
948 // CHECK-LABEL: test_mm_cmp_ps_mask_ge_oq
949 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 29, <4 x i1> {{.*}})
950 return _mm_cmp_ps_mask(a, b, _CMP_GE_OQ);
951 }
952
test_mm_cmp_ps_mask_gt_oq(__m128 a,__m128 b)953 __mmask8 test_mm_cmp_ps_mask_gt_oq(__m128 a, __m128 b) {
954 // CHECK-LABEL: test_mm_cmp_ps_mask_gt_oq
955 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 30, <4 x i1> {{.*}})
956 return _mm_cmp_ps_mask(a, b, _CMP_GT_OQ);
957 }
958
test_mm_cmp_ps_mask_true_us(__m128 a,__m128 b)959 __mmask8 test_mm_cmp_ps_mask_true_us(__m128 a, __m128 b) {
960 // CHECK-LABEL: test_mm_cmp_ps_mask_true_us
961 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 31, <4 x i1> {{.*}})
962 return _mm_cmp_ps_mask(a, b, _CMP_TRUE_US);
963 }
964
test_mm_mask_cmp_ps_mask_eq_oq(__mmask8 m,__m128 a,__m128 b)965 __mmask8 test_mm_mask_cmp_ps_mask_eq_oq(__mmask8 m, __m128 a, __m128 b) {
966 // CHECK-LABEL: @test_mm_mask_cmp_ps_mask_eq_oq
967 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 0, <4 x i1> {{.*}})
968 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_EQ_OQ);
969 }
970
test_mm_mask_cmp_ps_mask_lt_os(__mmask8 m,__m128 a,__m128 b)971 __mmask8 test_mm_mask_cmp_ps_mask_lt_os(__mmask8 m, __m128 a, __m128 b) {
972 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_lt_os
973 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 1, <4 x i1> {{.*}})
974 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_LT_OS);
975 }
976
test_mm_mask_cmp_ps_mask_le_os(__mmask8 m,__m128 a,__m128 b)977 __mmask8 test_mm_mask_cmp_ps_mask_le_os(__mmask8 m, __m128 a, __m128 b) {
978 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_le_os
979 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 2, <4 x i1> {{.*}})
980 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_LE_OS);
981 }
982
test_mm_mask_cmp_ps_mask_unord_q(__mmask8 m,__m128 a,__m128 b)983 __mmask8 test_mm_mask_cmp_ps_mask_unord_q(__mmask8 m, __m128 a, __m128 b) {
984 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_unord_q
985 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 3, <4 x i1> {{.*}})
986 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_UNORD_Q);
987 }
988
test_mm_mask_cmp_ps_mask_neq_uq(__mmask8 m,__m128 a,__m128 b)989 __mmask8 test_mm_mask_cmp_ps_mask_neq_uq(__mmask8 m, __m128 a, __m128 b) {
990 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_neq_uq
991 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 4, <4 x i1> {{.*}})
992 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_NEQ_UQ);
993 }
994
test_mm_mask_cmp_ps_mask_nlt_us(__mmask8 m,__m128 a,__m128 b)995 __mmask8 test_mm_mask_cmp_ps_mask_nlt_us(__mmask8 m, __m128 a, __m128 b) {
996 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_nlt_us
997 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 5, <4 x i1> {{.*}})
998 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_NLT_US);
999 }
1000
test_mm_mask_cmp_ps_mask_nle_us(__mmask8 m,__m128 a,__m128 b)1001 __mmask8 test_mm_mask_cmp_ps_mask_nle_us(__mmask8 m, __m128 a, __m128 b) {
1002 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_nle_us
1003 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 6, <4 x i1> {{.*}})
1004 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_NLE_US);
1005 }
1006
test_mm_mask_cmp_ps_mask_ord_q(__mmask8 m,__m128 a,__m128 b)1007 __mmask8 test_mm_mask_cmp_ps_mask_ord_q(__mmask8 m, __m128 a, __m128 b) {
1008 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_ord_q
1009 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 7, <4 x i1> {{.*}})
1010 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_ORD_Q);
1011 }
1012
test_mm_mask_cmp_ps_mask_eq_uq(__mmask8 m,__m128 a,__m128 b)1013 __mmask8 test_mm_mask_cmp_ps_mask_eq_uq(__mmask8 m, __m128 a, __m128 b) {
1014 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_eq_uq
1015 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 8, <4 x i1> {{.*}})
1016 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_EQ_UQ);
1017 }
1018
test_mm_mask_cmp_ps_mask_nge_us(__mmask8 m,__m128 a,__m128 b)1019 __mmask8 test_mm_mask_cmp_ps_mask_nge_us(__mmask8 m, __m128 a, __m128 b) {
1020 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_nge_us
1021 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 9, <4 x i1> {{.*}})
1022 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_NGE_US);
1023 }
1024
test_mm_mask_cmp_ps_mask_ngt_us(__mmask8 m,__m128 a,__m128 b)1025 __mmask8 test_mm_mask_cmp_ps_mask_ngt_us(__mmask8 m, __m128 a, __m128 b) {
1026 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_ngt_us
1027 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 10, <4 x i1> {{.*}})
1028 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_NGT_US);
1029 }
1030
test_mm_mask_cmp_ps_mask_false_oq(__mmask8 m,__m128 a,__m128 b)1031 __mmask8 test_mm_mask_cmp_ps_mask_false_oq(__mmask8 m, __m128 a, __m128 b) {
1032 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_false_oq
1033 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 11, <4 x i1> {{.*}})
1034 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_FALSE_OQ);
1035 }
1036
test_mm_mask_cmp_ps_mask_neq_oq(__mmask8 m,__m128 a,__m128 b)1037 __mmask8 test_mm_mask_cmp_ps_mask_neq_oq(__mmask8 m, __m128 a, __m128 b) {
1038 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_neq_oq
1039 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 12, <4 x i1> {{.*}})
1040 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_NEQ_OQ);
1041 }
1042
test_mm_mask_cmp_ps_mask_ge_os(__mmask8 m,__m128 a,__m128 b)1043 __mmask8 test_mm_mask_cmp_ps_mask_ge_os(__mmask8 m, __m128 a, __m128 b) {
1044 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_ge_os
1045 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 13, <4 x i1> {{.*}})
1046 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_GE_OS);
1047 }
1048
test_mm_mask_cmp_ps_mask_gt_os(__mmask8 m,__m128 a,__m128 b)1049 __mmask8 test_mm_mask_cmp_ps_mask_gt_os(__mmask8 m, __m128 a, __m128 b) {
1050 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_gt_os
1051 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 14, <4 x i1> {{.*}})
1052 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_GT_OS);
1053 }
1054
test_mm_mask_cmp_ps_mask_true_uq(__mmask8 m,__m128 a,__m128 b)1055 __mmask8 test_mm_mask_cmp_ps_mask_true_uq(__mmask8 m, __m128 a, __m128 b) {
1056 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_true_uq
1057 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 15, <4 x i1> {{.*}})
1058 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_TRUE_UQ);
1059 }
1060
test_mm_mask_cmp_ps_mask_eq_os(__mmask8 m,__m128 a,__m128 b)1061 __mmask8 test_mm_mask_cmp_ps_mask_eq_os(__mmask8 m, __m128 a, __m128 b) {
1062 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_eq_os
1063 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 16, <4 x i1> {{.*}})
1064 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_EQ_OS);
1065 }
1066
test_mm_mask_cmp_ps_mask_lt_oq(__mmask8 m,__m128 a,__m128 b)1067 __mmask8 test_mm_mask_cmp_ps_mask_lt_oq(__mmask8 m, __m128 a, __m128 b) {
1068 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_lt_oq
1069 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 17, <4 x i1> {{.*}})
1070 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_LT_OQ);
1071 }
1072
test_mm_mask_cmp_ps_mask_le_oq(__mmask8 m,__m128 a,__m128 b)1073 __mmask8 test_mm_mask_cmp_ps_mask_le_oq(__mmask8 m, __m128 a, __m128 b) {
1074 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_le_oq
1075 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 18, <4 x i1> {{.*}})
1076 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_LE_OQ);
1077 }
1078
test_mm_mask_cmp_ps_mask_unord_s(__mmask8 m,__m128 a,__m128 b)1079 __mmask8 test_mm_mask_cmp_ps_mask_unord_s(__mmask8 m, __m128 a, __m128 b) {
1080 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_unord_s
1081 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 19, <4 x i1> {{.*}})
1082 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_UNORD_S);
1083 }
1084
test_mm_mask_cmp_ps_mask_neq_us(__mmask8 m,__m128 a,__m128 b)1085 __mmask8 test_mm_mask_cmp_ps_mask_neq_us(__mmask8 m, __m128 a, __m128 b) {
1086 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_neq_us
1087 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 20, <4 x i1> {{.*}})
1088 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_NEQ_US);
1089 }
1090
test_mm_mask_cmp_ps_mask_nlt_uq(__mmask8 m,__m128 a,__m128 b)1091 __mmask8 test_mm_mask_cmp_ps_mask_nlt_uq(__mmask8 m, __m128 a, __m128 b) {
1092 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_nlt_uq
1093 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 21, <4 x i1> {{.*}})
1094 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_NLT_UQ);
1095 }
1096
test_mm_mask_cmp_ps_mask_nle_uq(__mmask8 m,__m128 a,__m128 b)1097 __mmask8 test_mm_mask_cmp_ps_mask_nle_uq(__mmask8 m, __m128 a, __m128 b) {
1098 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_nle_uq
1099 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 22, <4 x i1> {{.*}})
1100 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_NLE_UQ);
1101 }
1102
test_mm_mask_cmp_ps_mask_ord_s(__mmask8 m,__m128 a,__m128 b)1103 __mmask8 test_mm_mask_cmp_ps_mask_ord_s(__mmask8 m, __m128 a, __m128 b) {
1104 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_ord_s
1105 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 23, <4 x i1> {{.*}})
1106 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_ORD_S);
1107 }
1108
test_mm_mask_cmp_ps_mask_eq_us(__mmask8 m,__m128 a,__m128 b)1109 __mmask8 test_mm_mask_cmp_ps_mask_eq_us(__mmask8 m, __m128 a, __m128 b) {
1110 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_eq_us
1111 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 24, <4 x i1> {{.*}})
1112 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_EQ_US);
1113 }
1114
test_mm_mask_cmp_ps_mask_nge_uq(__mmask8 m,__m128 a,__m128 b)1115 __mmask8 test_mm_mask_cmp_ps_mask_nge_uq(__mmask8 m, __m128 a, __m128 b) {
1116 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_nge_uq
1117 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 25, <4 x i1> {{.*}})
1118 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_NGE_UQ);
1119 }
1120
test_mm_mask_cmp_ps_mask_ngt_uq(__mmask8 m,__m128 a,__m128 b)1121 __mmask8 test_mm_mask_cmp_ps_mask_ngt_uq(__mmask8 m, __m128 a, __m128 b) {
1122 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_ngt_uq
1123 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 26, <4 x i1> {{.*}})
1124 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_NGT_UQ);
1125 }
1126
test_mm_mask_cmp_ps_mask_false_os(__mmask8 m,__m128 a,__m128 b)1127 __mmask8 test_mm_mask_cmp_ps_mask_false_os(__mmask8 m, __m128 a, __m128 b) {
1128 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_false_os
1129 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 27, <4 x i1> {{.*}})
1130 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_FALSE_OS);
1131 }
1132
test_mm_mask_cmp_ps_mask_neq_os(__mmask8 m,__m128 a,__m128 b)1133 __mmask8 test_mm_mask_cmp_ps_mask_neq_os(__mmask8 m, __m128 a, __m128 b) {
1134 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_neq_os
1135 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 28, <4 x i1> {{.*}})
1136 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_NEQ_OS);
1137 }
1138
test_mm_mask_cmp_ps_mask_ge_oq(__mmask8 m,__m128 a,__m128 b)1139 __mmask8 test_mm_mask_cmp_ps_mask_ge_oq(__mmask8 m, __m128 a, __m128 b) {
1140 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_ge_oq
1141 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 29, <4 x i1> {{.*}})
1142 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_GE_OQ);
1143 }
1144
test_mm_mask_cmp_ps_mask_gt_oq(__mmask8 m,__m128 a,__m128 b)1145 __mmask8 test_mm_mask_cmp_ps_mask_gt_oq(__mmask8 m, __m128 a, __m128 b) {
1146 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_gt_oq
1147 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 30, <4 x i1> {{.*}})
1148 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_GT_OQ);
1149 }
1150
test_mm_mask_cmp_ps_mask_true_us(__mmask8 m,__m128 a,__m128 b)1151 __mmask8 test_mm_mask_cmp_ps_mask_true_us(__mmask8 m, __m128 a, __m128 b) {
1152 // CHECK-LABEL: test_mm_mask_cmp_ps_mask_true_us
1153 // CHECK: call <4 x i1> @llvm.x86.avx512.mask.cmp.ps.128(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i32 31, <4 x i1> {{.*}})
1154 return _mm_mask_cmp_ps_mask(m, a, b, _CMP_TRUE_US);
1155 }
1156
test_mm_cmp_pd_mask_eq_oq(__m128d a,__m128d b)1157 __mmask8 test_mm_cmp_pd_mask_eq_oq(__m128d a, __m128d b) {
1158 // CHECK-LABEL: @test_mm_cmp_pd_mask_eq_oq
1159 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 0, <2 x i1> {{.*}})
1160 return _mm_cmp_pd_mask(a, b, _CMP_EQ_OQ);
1161 }
1162
test_mm_cmp_pd_mask_lt_os(__m128d a,__m128d b)1163 __mmask8 test_mm_cmp_pd_mask_lt_os(__m128d a, __m128d b) {
1164 // CHECK-LABEL: test_mm_cmp_pd_mask_lt_os
1165 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 1, <2 x i1> {{.*}})
1166 return _mm_cmp_pd_mask(a, b, _CMP_LT_OS);
1167 }
1168
test_mm_cmp_pd_mask_le_os(__m128d a,__m128d b)1169 __mmask8 test_mm_cmp_pd_mask_le_os(__m128d a, __m128d b) {
1170 // CHECK-LABEL: test_mm_cmp_pd_mask_le_os
1171 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 2, <2 x i1> {{.*}})
1172 return _mm_cmp_pd_mask(a, b, _CMP_LE_OS);
1173 }
1174
test_mm_cmp_pd_mask_unord_q(__m128d a,__m128d b)1175 __mmask8 test_mm_cmp_pd_mask_unord_q(__m128d a, __m128d b) {
1176 // CHECK-LABEL: test_mm_cmp_pd_mask_unord_q
1177 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 3, <2 x i1> {{.*}})
1178 return _mm_cmp_pd_mask(a, b, _CMP_UNORD_Q);
1179 }
1180
test_mm_cmp_pd_mask_neq_uq(__m128d a,__m128d b)1181 __mmask8 test_mm_cmp_pd_mask_neq_uq(__m128d a, __m128d b) {
1182 // CHECK-LABEL: test_mm_cmp_pd_mask_neq_uq
1183 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 4, <2 x i1> {{.*}})
1184 return _mm_cmp_pd_mask(a, b, _CMP_NEQ_UQ);
1185 }
1186
test_mm_cmp_pd_mask_nlt_us(__m128d a,__m128d b)1187 __mmask8 test_mm_cmp_pd_mask_nlt_us(__m128d a, __m128d b) {
1188 // CHECK-LABEL: test_mm_cmp_pd_mask_nlt_us
1189 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 5, <2 x i1> {{.*}})
1190 return _mm_cmp_pd_mask(a, b, _CMP_NLT_US);
1191 }
1192
test_mm_cmp_pd_mask_nle_us(__m128d a,__m128d b)1193 __mmask8 test_mm_cmp_pd_mask_nle_us(__m128d a, __m128d b) {
1194 // CHECK-LABEL: test_mm_cmp_pd_mask_nle_us
1195 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 6, <2 x i1> {{.*}})
1196 return _mm_cmp_pd_mask(a, b, _CMP_NLE_US);
1197 }
1198
test_mm_cmp_pd_mask_ord_q(__m128d a,__m128d b)1199 __mmask8 test_mm_cmp_pd_mask_ord_q(__m128d a, __m128d b) {
1200 // CHECK-LABEL: test_mm_cmp_pd_mask_ord_q
1201 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 7, <2 x i1> {{.*}})
1202 return _mm_cmp_pd_mask(a, b, _CMP_ORD_Q);
1203 }
1204
test_mm_cmp_pd_mask_eq_uq(__m128d a,__m128d b)1205 __mmask8 test_mm_cmp_pd_mask_eq_uq(__m128d a, __m128d b) {
1206 // CHECK-LABEL: test_mm_cmp_pd_mask_eq_uq
1207 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 8, <2 x i1> {{.*}})
1208 return _mm_cmp_pd_mask(a, b, _CMP_EQ_UQ);
1209 }
1210
test_mm_cmp_pd_mask_nge_us(__m128d a,__m128d b)1211 __mmask8 test_mm_cmp_pd_mask_nge_us(__m128d a, __m128d b) {
1212 // CHECK-LABEL: test_mm_cmp_pd_mask_nge_us
1213 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 9, <2 x i1> {{.*}})
1214 return _mm_cmp_pd_mask(a, b, _CMP_NGE_US);
1215 }
1216
test_mm_cmp_pd_mask_ngt_us(__m128d a,__m128d b)1217 __mmask8 test_mm_cmp_pd_mask_ngt_us(__m128d a, __m128d b) {
1218 // CHECK-LABEL: test_mm_cmp_pd_mask_ngt_us
1219 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 10, <2 x i1> {{.*}})
1220 return _mm_cmp_pd_mask(a, b, _CMP_NGT_US);
1221 }
1222
test_mm_cmp_pd_mask_false_oq(__m128d a,__m128d b)1223 __mmask8 test_mm_cmp_pd_mask_false_oq(__m128d a, __m128d b) {
1224 // CHECK-LABEL: test_mm_cmp_pd_mask_false_oq
1225 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 11, <2 x i1> {{.*}})
1226 return _mm_cmp_pd_mask(a, b, _CMP_FALSE_OQ);
1227 }
1228
test_mm_cmp_pd_mask_neq_oq(__m128d a,__m128d b)1229 __mmask8 test_mm_cmp_pd_mask_neq_oq(__m128d a, __m128d b) {
1230 // CHECK-LABEL: test_mm_cmp_pd_mask_neq_oq
1231 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 12, <2 x i1> {{.*}})
1232 return _mm_cmp_pd_mask(a, b, _CMP_NEQ_OQ);
1233 }
1234
test_mm_cmp_pd_mask_ge_os(__m128d a,__m128d b)1235 __mmask8 test_mm_cmp_pd_mask_ge_os(__m128d a, __m128d b) {
1236 // CHECK-LABEL: test_mm_cmp_pd_mask_ge_os
1237 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 13, <2 x i1> {{.*}})
1238 return _mm_cmp_pd_mask(a, b, _CMP_GE_OS);
1239 }
1240
test_mm_cmp_pd_mask_gt_os(__m128d a,__m128d b)1241 __mmask8 test_mm_cmp_pd_mask_gt_os(__m128d a, __m128d b) {
1242 // CHECK-LABEL: test_mm_cmp_pd_mask_gt_os
1243 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 14, <2 x i1> {{.*}})
1244 return _mm_cmp_pd_mask(a, b, _CMP_GT_OS);
1245 }
1246
test_mm_cmp_pd_mask_true_uq(__m128d a,__m128d b)1247 __mmask8 test_mm_cmp_pd_mask_true_uq(__m128d a, __m128d b) {
1248 // CHECK-LABEL: test_mm_cmp_pd_mask_true_uq
1249 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 15, <2 x i1> {{.*}})
1250 return _mm_cmp_pd_mask(a, b, _CMP_TRUE_UQ);
1251 }
1252
test_mm_cmp_pd_mask_eq_os(__m128d a,__m128d b)1253 __mmask8 test_mm_cmp_pd_mask_eq_os(__m128d a, __m128d b) {
1254 // CHECK-LABEL: test_mm_cmp_pd_mask_eq_os
1255 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 16, <2 x i1> {{.*}})
1256 return _mm_cmp_pd_mask(a, b, _CMP_EQ_OS);
1257 }
1258
test_mm_cmp_pd_mask_lt_oq(__m128d a,__m128d b)1259 __mmask8 test_mm_cmp_pd_mask_lt_oq(__m128d a, __m128d b) {
1260 // CHECK-LABEL: test_mm_cmp_pd_mask_lt_oq
1261 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 17, <2 x i1> {{.*}})
1262 return _mm_cmp_pd_mask(a, b, _CMP_LT_OQ);
1263 }
1264
test_mm_cmp_pd_mask_le_oq(__m128d a,__m128d b)1265 __mmask8 test_mm_cmp_pd_mask_le_oq(__m128d a, __m128d b) {
1266 // CHECK-LABEL: test_mm_cmp_pd_mask_le_oq
1267 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 18, <2 x i1> {{.*}})
1268 return _mm_cmp_pd_mask(a, b, _CMP_LE_OQ);
1269 }
1270
test_mm_cmp_pd_mask_unord_s(__m128d a,__m128d b)1271 __mmask8 test_mm_cmp_pd_mask_unord_s(__m128d a, __m128d b) {
1272 // CHECK-LABEL: test_mm_cmp_pd_mask_unord_s
1273 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 19, <2 x i1> {{.*}})
1274 return _mm_cmp_pd_mask(a, b, _CMP_UNORD_S);
1275 }
1276
test_mm_cmp_pd_mask_neq_us(__m128d a,__m128d b)1277 __mmask8 test_mm_cmp_pd_mask_neq_us(__m128d a, __m128d b) {
1278 // CHECK-LABEL: test_mm_cmp_pd_mask_neq_us
1279 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 20, <2 x i1> {{.*}})
1280 return _mm_cmp_pd_mask(a, b, _CMP_NEQ_US);
1281 }
1282
test_mm_cmp_pd_mask_nlt_uq(__m128d a,__m128d b)1283 __mmask8 test_mm_cmp_pd_mask_nlt_uq(__m128d a, __m128d b) {
1284 // CHECK-LABEL: test_mm_cmp_pd_mask_nlt_uq
1285 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 21, <2 x i1> {{.*}})
1286 return _mm_cmp_pd_mask(a, b, _CMP_NLT_UQ);
1287 }
1288
test_mm_cmp_pd_mask_nle_uq(__m128d a,__m128d b)1289 __mmask8 test_mm_cmp_pd_mask_nle_uq(__m128d a, __m128d b) {
1290 // CHECK-LABEL: test_mm_cmp_pd_mask_nle_uq
1291 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 22, <2 x i1> {{.*}})
1292 return _mm_cmp_pd_mask(a, b, _CMP_NLE_UQ);
1293 }
1294
test_mm_cmp_pd_mask_ord_s(__m128d a,__m128d b)1295 __mmask8 test_mm_cmp_pd_mask_ord_s(__m128d a, __m128d b) {
1296 // CHECK-LABEL: test_mm_cmp_pd_mask_ord_s
1297 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 23, <2 x i1> {{.*}})
1298 return _mm_cmp_pd_mask(a, b, _CMP_ORD_S);
1299 }
1300
test_mm_cmp_pd_mask_eq_us(__m128d a,__m128d b)1301 __mmask8 test_mm_cmp_pd_mask_eq_us(__m128d a, __m128d b) {
1302 // CHECK-LABEL: test_mm_cmp_pd_mask_eq_us
1303 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 24, <2 x i1> {{.*}})
1304 return _mm_cmp_pd_mask(a, b, _CMP_EQ_US);
1305 }
1306
test_mm_cmp_pd_mask_nge_uq(__m128d a,__m128d b)1307 __mmask8 test_mm_cmp_pd_mask_nge_uq(__m128d a, __m128d b) {
1308 // CHECK-LABEL: test_mm_cmp_pd_mask_nge_uq
1309 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 25, <2 x i1> {{.*}})
1310 return _mm_cmp_pd_mask(a, b, _CMP_NGE_UQ);
1311 }
1312
test_mm_cmp_pd_mask_ngt_uq(__m128d a,__m128d b)1313 __mmask8 test_mm_cmp_pd_mask_ngt_uq(__m128d a, __m128d b) {
1314 // CHECK-LABEL: test_mm_cmp_pd_mask_ngt_uq
1315 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 26, <2 x i1> {{.*}})
1316 return _mm_cmp_pd_mask(a, b, _CMP_NGT_UQ);
1317 }
1318
test_mm_cmp_pd_mask_false_os(__m128d a,__m128d b)1319 __mmask8 test_mm_cmp_pd_mask_false_os(__m128d a, __m128d b) {
1320 // CHECK-LABEL: test_mm_cmp_pd_mask_false_os
1321 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 27, <2 x i1> {{.*}})
1322 return _mm_cmp_pd_mask(a, b, _CMP_FALSE_OS);
1323 }
1324
test_mm_cmp_pd_mask_neq_os(__m128d a,__m128d b)1325 __mmask8 test_mm_cmp_pd_mask_neq_os(__m128d a, __m128d b) {
1326 // CHECK-LABEL: test_mm_cmp_pd_mask_neq_os
1327 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 28, <2 x i1> {{.*}})
1328 return _mm_cmp_pd_mask(a, b, _CMP_NEQ_OS);
1329 }
1330
test_mm_cmp_pd_mask_ge_oq(__m128d a,__m128d b)1331 __mmask8 test_mm_cmp_pd_mask_ge_oq(__m128d a, __m128d b) {
1332 // CHECK-LABEL: test_mm_cmp_pd_mask_ge_oq
1333 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 29, <2 x i1> {{.*}})
1334 return _mm_cmp_pd_mask(a, b, _CMP_GE_OQ);
1335 }
1336
test_mm_cmp_pd_mask_gt_oq(__m128d a,__m128d b)1337 __mmask8 test_mm_cmp_pd_mask_gt_oq(__m128d a, __m128d b) {
1338 // CHECK-LABEL: test_mm_cmp_pd_mask_gt_oq
1339 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 30, <2 x i1> {{.*}})
1340 return _mm_cmp_pd_mask(a, b, _CMP_GT_OQ);
1341 }
1342
test_mm_cmp_pd_mask_true_us(__m128d a,__m128d b)1343 __mmask8 test_mm_cmp_pd_mask_true_us(__m128d a, __m128d b) {
1344 // CHECK-LABEL: test_mm_cmp_pd_mask_true_us
1345 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 31, <2 x i1> {{.*}})
1346 return _mm_cmp_pd_mask(a, b, _CMP_TRUE_US);
1347 }
1348
test_mm_mask_cmp_pd_mask_eq_oq(__mmask8 m,__m128d a,__m128d b)1349 __mmask8 test_mm_mask_cmp_pd_mask_eq_oq(__mmask8 m, __m128d a, __m128d b) {
1350 // CHECK-LABEL: @test_mm_mask_cmp_pd_mask_eq_oq
1351 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 0, <2 x i1> {{.*}})
1352 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_EQ_OQ);
1353 }
1354
test_mm_mask_cmp_pd_mask_lt_os(__mmask8 m,__m128d a,__m128d b)1355 __mmask8 test_mm_mask_cmp_pd_mask_lt_os(__mmask8 m, __m128d a, __m128d b) {
1356 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_lt_os
1357 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 1, <2 x i1> {{.*}})
1358 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_LT_OS);
1359 }
1360
test_mm_mask_cmp_pd_mask_le_os(__mmask8 m,__m128d a,__m128d b)1361 __mmask8 test_mm_mask_cmp_pd_mask_le_os(__mmask8 m, __m128d a, __m128d b) {
1362 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_le_os
1363 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 2, <2 x i1> {{.*}})
1364 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_LE_OS);
1365 }
1366
test_mm_mask_cmp_pd_mask_unord_q(__mmask8 m,__m128d a,__m128d b)1367 __mmask8 test_mm_mask_cmp_pd_mask_unord_q(__mmask8 m, __m128d a, __m128d b) {
1368 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_unord_q
1369 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 3, <2 x i1> {{.*}})
1370 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_UNORD_Q);
1371 }
1372
test_mm_mask_cmp_pd_mask_neq_uq(__mmask8 m,__m128d a,__m128d b)1373 __mmask8 test_mm_mask_cmp_pd_mask_neq_uq(__mmask8 m, __m128d a, __m128d b) {
1374 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_neq_uq
1375 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 4, <2 x i1> {{.*}})
1376 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_NEQ_UQ);
1377 }
1378
test_mm_mask_cmp_pd_mask_nlt_us(__mmask8 m,__m128d a,__m128d b)1379 __mmask8 test_mm_mask_cmp_pd_mask_nlt_us(__mmask8 m, __m128d a, __m128d b) {
1380 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_nlt_us
1381 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 5, <2 x i1> {{.*}})
1382 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_NLT_US);
1383 }
1384
test_mm_mask_cmp_pd_mask_nle_us(__mmask8 m,__m128d a,__m128d b)1385 __mmask8 test_mm_mask_cmp_pd_mask_nle_us(__mmask8 m, __m128d a, __m128d b) {
1386 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_nle_us
1387 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 6, <2 x i1> {{.*}})
1388 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_NLE_US);
1389 }
1390
test_mm_mask_cmp_pd_mask_ord_q(__mmask8 m,__m128d a,__m128d b)1391 __mmask8 test_mm_mask_cmp_pd_mask_ord_q(__mmask8 m, __m128d a, __m128d b) {
1392 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_ord_q
1393 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 7, <2 x i1> {{.*}})
1394 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_ORD_Q);
1395 }
1396
test_mm_mask_cmp_pd_mask_eq_uq(__mmask8 m,__m128d a,__m128d b)1397 __mmask8 test_mm_mask_cmp_pd_mask_eq_uq(__mmask8 m, __m128d a, __m128d b) {
1398 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_eq_uq
1399 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 8, <2 x i1> {{.*}})
1400 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_EQ_UQ);
1401 }
1402
test_mm_mask_cmp_pd_mask_nge_us(__mmask8 m,__m128d a,__m128d b)1403 __mmask8 test_mm_mask_cmp_pd_mask_nge_us(__mmask8 m, __m128d a, __m128d b) {
1404 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_nge_us
1405 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 9, <2 x i1> {{.*}})
1406 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_NGE_US);
1407 }
1408
test_mm_mask_cmp_pd_mask_ngt_us(__mmask8 m,__m128d a,__m128d b)1409 __mmask8 test_mm_mask_cmp_pd_mask_ngt_us(__mmask8 m, __m128d a, __m128d b) {
1410 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_ngt_us
1411 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 10, <2 x i1> {{.*}})
1412 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_NGT_US);
1413 }
1414
test_mm_mask_cmp_pd_mask_false_oq(__mmask8 m,__m128d a,__m128d b)1415 __mmask8 test_mm_mask_cmp_pd_mask_false_oq(__mmask8 m, __m128d a, __m128d b) {
1416 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_false_oq
1417 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 11, <2 x i1> {{.*}})
1418 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_FALSE_OQ);
1419 }
1420
test_mm_mask_cmp_pd_mask_neq_oq(__mmask8 m,__m128d a,__m128d b)1421 __mmask8 test_mm_mask_cmp_pd_mask_neq_oq(__mmask8 m, __m128d a, __m128d b) {
1422 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_neq_oq
1423 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 12, <2 x i1> {{.*}})
1424 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_NEQ_OQ);
1425 }
1426
test_mm_mask_cmp_pd_mask_ge_os(__mmask8 m,__m128d a,__m128d b)1427 __mmask8 test_mm_mask_cmp_pd_mask_ge_os(__mmask8 m, __m128d a, __m128d b) {
1428 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_ge_os
1429 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 13, <2 x i1> {{.*}})
1430 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_GE_OS);
1431 }
1432
test_mm_mask_cmp_pd_mask_gt_os(__mmask8 m,__m128d a,__m128d b)1433 __mmask8 test_mm_mask_cmp_pd_mask_gt_os(__mmask8 m, __m128d a, __m128d b) {
1434 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_gt_os
1435 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 14, <2 x i1> {{.*}})
1436 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_GT_OS);
1437 }
1438
test_mm_mask_cmp_pd_mask_true_uq(__mmask8 m,__m128d a,__m128d b)1439 __mmask8 test_mm_mask_cmp_pd_mask_true_uq(__mmask8 m, __m128d a, __m128d b) {
1440 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_true_uq
1441 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 15, <2 x i1> {{.*}})
1442 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_TRUE_UQ);
1443 }
1444
test_mm_mask_cmp_pd_mask_eq_os(__mmask8 m,__m128d a,__m128d b)1445 __mmask8 test_mm_mask_cmp_pd_mask_eq_os(__mmask8 m, __m128d a, __m128d b) {
1446 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_eq_os
1447 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 16, <2 x i1> {{.*}})
1448 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_EQ_OS);
1449 }
1450
test_mm_mask_cmp_pd_mask_lt_oq(__mmask8 m,__m128d a,__m128d b)1451 __mmask8 test_mm_mask_cmp_pd_mask_lt_oq(__mmask8 m, __m128d a, __m128d b) {
1452 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_lt_oq
1453 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 17, <2 x i1> {{.*}})
1454 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_LT_OQ);
1455 }
1456
test_mm_mask_cmp_pd_mask_le_oq(__mmask8 m,__m128d a,__m128d b)1457 __mmask8 test_mm_mask_cmp_pd_mask_le_oq(__mmask8 m, __m128d a, __m128d b) {
1458 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_le_oq
1459 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 18, <2 x i1> {{.*}})
1460 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_LE_OQ);
1461 }
1462
test_mm_mask_cmp_pd_mask_unord_s(__mmask8 m,__m128d a,__m128d b)1463 __mmask8 test_mm_mask_cmp_pd_mask_unord_s(__mmask8 m, __m128d a, __m128d b) {
1464 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_unord_s
1465 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 19, <2 x i1> {{.*}})
1466 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_UNORD_S);
1467 }
1468
test_mm_mask_cmp_pd_mask_neq_us(__mmask8 m,__m128d a,__m128d b)1469 __mmask8 test_mm_mask_cmp_pd_mask_neq_us(__mmask8 m, __m128d a, __m128d b) {
1470 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_neq_us
1471 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 20, <2 x i1> {{.*}})
1472 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_NEQ_US);
1473 }
1474
test_mm_mask_cmp_pd_mask_nlt_uq(__mmask8 m,__m128d a,__m128d b)1475 __mmask8 test_mm_mask_cmp_pd_mask_nlt_uq(__mmask8 m, __m128d a, __m128d b) {
1476 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_nlt_uq
1477 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 21, <2 x i1> {{.*}})
1478 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_NLT_UQ);
1479 }
1480
test_mm_mask_cmp_pd_mask_nle_uq(__mmask8 m,__m128d a,__m128d b)1481 __mmask8 test_mm_mask_cmp_pd_mask_nle_uq(__mmask8 m, __m128d a, __m128d b) {
1482 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_nle_uq
1483 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 22, <2 x i1> {{.*}})
1484 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_NLE_UQ);
1485 }
1486
test_mm_mask_cmp_pd_mask_ord_s(__mmask8 m,__m128d a,__m128d b)1487 __mmask8 test_mm_mask_cmp_pd_mask_ord_s(__mmask8 m, __m128d a, __m128d b) {
1488 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_ord_s
1489 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 23, <2 x i1> {{.*}})
1490 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_ORD_S);
1491 }
1492
test_mm_mask_cmp_pd_mask_eq_us(__mmask8 m,__m128d a,__m128d b)1493 __mmask8 test_mm_mask_cmp_pd_mask_eq_us(__mmask8 m, __m128d a, __m128d b) {
1494 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_eq_us
1495 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 24, <2 x i1> {{.*}})
1496 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_EQ_US);
1497 }
1498
test_mm_mask_cmp_pd_mask_nge_uq(__mmask8 m,__m128d a,__m128d b)1499 __mmask8 test_mm_mask_cmp_pd_mask_nge_uq(__mmask8 m, __m128d a, __m128d b) {
1500 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_nge_uq
1501 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 25, <2 x i1> {{.*}})
1502 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_NGE_UQ);
1503 }
1504
test_mm_mask_cmp_pd_mask_ngt_uq(__mmask8 m,__m128d a,__m128d b)1505 __mmask8 test_mm_mask_cmp_pd_mask_ngt_uq(__mmask8 m, __m128d a, __m128d b) {
1506 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_ngt_uq
1507 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 26, <2 x i1> {{.*}})
1508 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_NGT_UQ);
1509 }
1510
test_mm_mask_cmp_pd_mask_false_os(__mmask8 m,__m128d a,__m128d b)1511 __mmask8 test_mm_mask_cmp_pd_mask_false_os(__mmask8 m, __m128d a, __m128d b) {
1512 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_false_os
1513 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 27, <2 x i1> {{.*}})
1514 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_FALSE_OS);
1515 }
1516
test_mm_mask_cmp_pd_mask_neq_os(__mmask8 m,__m128d a,__m128d b)1517 __mmask8 test_mm_mask_cmp_pd_mask_neq_os(__mmask8 m, __m128d a, __m128d b) {
1518 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_neq_os
1519 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 28, <2 x i1> {{.*}})
1520 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_NEQ_OS);
1521 }
1522
test_mm_mask_cmp_pd_mask_ge_oq(__mmask8 m,__m128d a,__m128d b)1523 __mmask8 test_mm_mask_cmp_pd_mask_ge_oq(__mmask8 m, __m128d a, __m128d b) {
1524 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_ge_oq
1525 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 29, <2 x i1> {{.*}})
1526 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_GE_OQ);
1527 }
1528
test_mm_mask_cmp_pd_mask_gt_oq(__mmask8 m,__m128d a,__m128d b)1529 __mmask8 test_mm_mask_cmp_pd_mask_gt_oq(__mmask8 m, __m128d a, __m128d b) {
1530 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_gt_oq
1531 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 30, <2 x i1> {{.*}})
1532 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_GT_OQ);
1533 }
1534
test_mm_mask_cmp_pd_mask_true_us(__mmask8 m,__m128d a,__m128d b)1535 __mmask8 test_mm_mask_cmp_pd_mask_true_us(__mmask8 m, __m128d a, __m128d b) {
1536 // CHECK-LABEL: test_mm_mask_cmp_pd_mask_true_us
1537 // CHECK: call <2 x i1> @llvm.x86.avx512.mask.cmp.pd.128(<2 x double> %{{.*}}, <2 x double> %{{.*}}, i32 31, <2 x i1> {{.*}})
1538 return _mm_mask_cmp_pd_mask(m, a, b, _CMP_TRUE_US);
1539 }
1540