1 // RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +xop -emit-llvm -o - -Wall -Werror | FileCheck %s
2 // RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +xop -fno-signed-char -emit-llvm -o - -Wall -Werror | FileCheck %s
3
4
5 #include <x86intrin.h>
6
7 // _MM_PCOMCTRL_LT
8
test_mm_comlt_epu8(__m128i a,__m128i b)9 __m128i test_mm_comlt_epu8(__m128i a, __m128i b) {
10 // CHECK-LABEL: test_mm_comlt_epu8
11 // CHECK: icmp ult <16 x i8> %{{.*}}, %{{.*}}
12 // CHECK: sext <16 x i1> %{{.*}} to <16 x i8>
13 return _mm_comlt_epu8(a, b);
14 }
15
test_mm_comlt_epu16(__m128i a,__m128i b)16 __m128i test_mm_comlt_epu16(__m128i a, __m128i b) {
17 // CHECK-LABEL: test_mm_comlt_epu16
18 // CHECK: icmp ult <8 x i16> %{{.*}}, %{{.*}}
19 // CHECK: sext <8 x i1> %{{.*}} to <8 x i16>
20 return _mm_comlt_epu16(a, b);
21 }
22
test_mm_comlt_epu32(__m128i a,__m128i b)23 __m128i test_mm_comlt_epu32(__m128i a, __m128i b) {
24 // CHECK-LABEL: test_mm_comlt_epu32
25 // CHECK: icmp ult <4 x i32> %{{.*}}, %{{.*}}
26 // CHECK: sext <4 x i1> %{{.*}} to <4 x i32>
27 return _mm_comlt_epu32(a, b);
28 }
29
test_mm_comlt_epu64(__m128i a,__m128i b)30 __m128i test_mm_comlt_epu64(__m128i a, __m128i b) {
31 // CHECK-LABEL: test_mm_comlt_epu64
32 // CHECK: icmp ult <2 x i64> %{{.*}}, %{{.*}}
33 // CHECK: sext <2 x i1> %{{.*}} to <2 x i64>
34 return _mm_comlt_epu64(a, b);
35 }
36
test_mm_comlt_epi8(__m128i a,__m128i b)37 __m128i test_mm_comlt_epi8(__m128i a, __m128i b) {
38 // CHECK-LABEL: test_mm_comlt_epi8
39 // CHECK: icmp slt <16 x i8> %{{.*}}, %{{.*}}
40 // CHECK: sext <16 x i1> %{{.*}} to <16 x i8>
41 return _mm_comlt_epi8(a, b);
42 }
43
test_mm_comlt_epi16(__m128i a,__m128i b)44 __m128i test_mm_comlt_epi16(__m128i a, __m128i b) {
45 // CHECK-LABEL: test_mm_comlt_epi16
46 // CHECK: icmp slt <8 x i16> %{{.*}}, %{{.*}}
47 // CHECK: sext <8 x i1> %{{.*}} to <8 x i16>
48 return _mm_comlt_epi16(a, b);
49 }
50
test_mm_comlt_epi32(__m128i a,__m128i b)51 __m128i test_mm_comlt_epi32(__m128i a, __m128i b) {
52 // CHECK-LABEL: test_mm_comlt_epi32
53 // CHECK: icmp slt <4 x i32> %{{.*}}, %{{.*}}
54 // CHECK: sext <4 x i1> %{{.*}} to <4 x i32>
55 return _mm_comlt_epi32(a, b);
56 }
57
test_mm_comlt_epi64(__m128i a,__m128i b)58 __m128i test_mm_comlt_epi64(__m128i a, __m128i b) {
59 // CHECK-LABEL: test_mm_comlt_epi64
60 // CHECK: icmp slt <2 x i64> %{{.*}}, %{{.*}}
61 // CHECK: sext <2 x i1> %{{.*}} to <2 x i64>
62 return _mm_comlt_epi64(a, b);
63 }
64
65 // _MM_PCOMCTRL_LE
66
test_mm_comle_epu8(__m128i a,__m128i b)67 __m128i test_mm_comle_epu8(__m128i a, __m128i b) {
68 // CHECK-LABEL: test_mm_comle_epu8
69 // CHECK: icmp ule <16 x i8> %{{.*}}, %{{.*}}
70 // CHECK: sext <16 x i1> %{{.*}} to <16 x i8>
71 return _mm_comle_epu8(a, b);
72 }
73
test_mm_comle_epu16(__m128i a,__m128i b)74 __m128i test_mm_comle_epu16(__m128i a, __m128i b) {
75 // CHECK-LABEL: test_mm_comle_epu16
76 // CHECK: icmp ule <8 x i16> %{{.*}}, %{{.*}}
77 // CHECK: sext <8 x i1> %{{.*}} to <8 x i16>
78 return _mm_comle_epu16(a, b);
79 }
80
test_mm_comle_epu32(__m128i a,__m128i b)81 __m128i test_mm_comle_epu32(__m128i a, __m128i b) {
82 // CHECK-LABEL: test_mm_comle_epu32
83 // CHECK: icmp ule <4 x i32> %{{.*}}, %{{.*}}
84 // CHECK: sext <4 x i1> %{{.*}} to <4 x i32>
85 return _mm_comle_epu32(a, b);
86 }
87
test_mm_comle_epu64(__m128i a,__m128i b)88 __m128i test_mm_comle_epu64(__m128i a, __m128i b) {
89 // CHECK-LABEL: test_mm_comle_epu64
90 // CHECK: icmp ule <2 x i64> %{{.*}}, %{{.*}}
91 // CHECK: sext <2 x i1> %{{.*}} to <2 x i64>
92 return _mm_comle_epu64(a, b);
93 }
94
test_mm_comle_epi8(__m128i a,__m128i b)95 __m128i test_mm_comle_epi8(__m128i a, __m128i b) {
96 // CHECK-LABEL: test_mm_comle_epi8
97 // CHECK: icmp sle <16 x i8> %{{.*}}, %{{.*}}
98 // CHECK: sext <16 x i1> %{{.*}} to <16 x i8>
99 return _mm_comle_epi8(a, b);
100 }
101
test_mm_comle_epi16(__m128i a,__m128i b)102 __m128i test_mm_comle_epi16(__m128i a, __m128i b) {
103 // CHECK-LABEL: test_mm_comle_epi16
104 // CHECK: icmp sle <8 x i16> %{{.*}}, %{{.*}}
105 // CHECK: sext <8 x i1> %{{.*}} to <8 x i16>
106 return _mm_comle_epi16(a, b);
107 }
108
test_mm_comle_epi32(__m128i a,__m128i b)109 __m128i test_mm_comle_epi32(__m128i a, __m128i b) {
110 // CHECK-LABEL: test_mm_comle_epi32
111 // CHECK: icmp sle <4 x i32> %{{.*}}, %{{.*}}
112 // CHECK: sext <4 x i1> %{{.*}} to <4 x i32>
113 return _mm_comle_epi32(a, b);
114 }
115
test_mm_comle_epi64(__m128i a,__m128i b)116 __m128i test_mm_comle_epi64(__m128i a, __m128i b) {
117 // CHECK-LABEL: test_mm_comle_epi64
118 // CHECK: icmp sle <2 x i64> %{{.*}}, %{{.*}}
119 // CHECK: sext <2 x i1> %{{.*}} to <2 x i64>
120 return _mm_comle_epi64(a, b);
121 }
122
123 // _MM_PCOMCTRL_GT
124
test_mm_comgt_epu8(__m128i a,__m128i b)125 __m128i test_mm_comgt_epu8(__m128i a, __m128i b) {
126 // CHECK-LABEL: test_mm_comgt_epu8
127 // CHECK: icmp ugt <16 x i8> %{{.*}}, %{{.*}}
128 // CHECK: sext <16 x i1> %{{.*}} to <16 x i8>
129 return _mm_comgt_epu8(a, b);
130 }
131
test_mm_comgt_epu16(__m128i a,__m128i b)132 __m128i test_mm_comgt_epu16(__m128i a, __m128i b) {
133 // CHECK-LABEL: test_mm_comgt_epu16
134 // CHECK: icmp ugt <8 x i16> %{{.*}}, %{{.*}}
135 // CHECK: sext <8 x i1> %{{.*}} to <8 x i16>
136 return _mm_comgt_epu16(a, b);
137 }
138
test_mm_comgt_epu32(__m128i a,__m128i b)139 __m128i test_mm_comgt_epu32(__m128i a, __m128i b) {
140 // CHECK-LABEL: test_mm_comgt_epu32
141 // CHECK: icmp ugt <4 x i32> %{{.*}}, %{{.*}}
142 // CHECK: sext <4 x i1> %{{.*}} to <4 x i32>
143 return _mm_comgt_epu32(a, b);
144 }
145
test_mm_comgt_epu64(__m128i a,__m128i b)146 __m128i test_mm_comgt_epu64(__m128i a, __m128i b) {
147 // CHECK-LABEL: test_mm_comgt_epu64
148 // CHECK: icmp ugt <2 x i64> %{{.*}}, %{{.*}}
149 // CHECK: sext <2 x i1> %{{.*}} to <2 x i64>
150 return _mm_comgt_epu64(a, b);
151 }
152
test_mm_comgt_epi8(__m128i a,__m128i b)153 __m128i test_mm_comgt_epi8(__m128i a, __m128i b) {
154 // CHECK-LABEL: test_mm_comgt_epi8
155 // CHECK: icmp sgt <16 x i8> %{{.*}}, %{{.*}}
156 // CHECK: sext <16 x i1> %{{.*}} to <16 x i8>
157 return _mm_comgt_epi8(a, b);
158 }
159
test_mm_comgt_epi16(__m128i a,__m128i b)160 __m128i test_mm_comgt_epi16(__m128i a, __m128i b) {
161 // CHECK-LABEL: test_mm_comgt_epi16
162 // CHECK: icmp sgt <8 x i16> %{{.*}}, %{{.*}}
163 // CHECK: sext <8 x i1> %{{.*}} to <8 x i16>
164 return _mm_comgt_epi16(a, b);
165 }
166
test_mm_comgt_epi32(__m128i a,__m128i b)167 __m128i test_mm_comgt_epi32(__m128i a, __m128i b) {
168 // CHECK-LABEL: test_mm_comgt_epi32
169 // CHECK: icmp sgt <4 x i32> %{{.*}}, %{{.*}}
170 // CHECK: sext <4 x i1> %{{.*}} to <4 x i32>
171 return _mm_comgt_epi32(a, b);
172 }
173
test_mm_comgt_epi64(__m128i a,__m128i b)174 __m128i test_mm_comgt_epi64(__m128i a, __m128i b) {
175 // CHECK-LABEL: test_mm_comgt_epi64
176 // CHECK: icmp sgt <2 x i64> %{{.*}}, %{{.*}}
177 // CHECK: sext <2 x i1> %{{.*}} to <2 x i64>
178 return _mm_comgt_epi64(a, b);
179 }
180
181 // _MM_PCOMCTRL_GE
182
test_mm_comge_epu8(__m128i a,__m128i b)183 __m128i test_mm_comge_epu8(__m128i a, __m128i b) {
184 // CHECK-LABEL: test_mm_comge_epu8
185 // CHECK: icmp uge <16 x i8> %{{.*}}, %{{.*}}
186 // CHECK: sext <16 x i1> %{{.*}} to <16 x i8>
187 return _mm_comge_epu8(a, b);
188 }
189
test_mm_comge_epu16(__m128i a,__m128i b)190 __m128i test_mm_comge_epu16(__m128i a, __m128i b) {
191 // CHECK-LABEL: test_mm_comge_epu16
192 // CHECK: icmp uge <8 x i16> %{{.*}}, %{{.*}}
193 // CHECK: sext <8 x i1> %{{.*}} to <8 x i16>
194 return _mm_comge_epu16(a, b);
195 }
196
test_mm_comge_epu32(__m128i a,__m128i b)197 __m128i test_mm_comge_epu32(__m128i a, __m128i b) {
198 // CHECK-LABEL: test_mm_comge_epu32
199 // CHECK: icmp uge <4 x i32> %{{.*}}, %{{.*}}
200 // CHECK: sext <4 x i1> %{{.*}} to <4 x i32>
201 return _mm_comge_epu32(a, b);
202 }
203
test_mm_comge_epu64(__m128i a,__m128i b)204 __m128i test_mm_comge_epu64(__m128i a, __m128i b) {
205 // CHECK-LABEL: test_mm_comge_epu64
206 // CHECK: icmp uge <2 x i64> %{{.*}}, %{{.*}}
207 // CHECK: sext <2 x i1> %{{.*}} to <2 x i64>
208 return _mm_comge_epu64(a, b);
209 }
210
test_mm_comge_epi8(__m128i a,__m128i b)211 __m128i test_mm_comge_epi8(__m128i a, __m128i b) {
212 // CHECK-LABEL: test_mm_comge_epi8
213 // CHECK: icmp sge <16 x i8> %{{.*}}, %{{.*}}
214 // CHECK: sext <16 x i1> %{{.*}} to <16 x i8>
215 return _mm_comge_epi8(a, b);
216 }
217
test_mm_comge_epi16(__m128i a,__m128i b)218 __m128i test_mm_comge_epi16(__m128i a, __m128i b) {
219 // CHECK-LABEL: test_mm_comge_epi16
220 // CHECK: icmp sge <8 x i16> %{{.*}}, %{{.*}}
221 // CHECK: sext <8 x i1> %{{.*}} to <8 x i16>
222 return _mm_comge_epi16(a, b);
223 }
224
test_mm_comge_epi32(__m128i a,__m128i b)225 __m128i test_mm_comge_epi32(__m128i a, __m128i b) {
226 // CHECK-LABEL: test_mm_comge_epi32
227 // CHECK: icmp sge <4 x i32> %{{.*}}, %{{.*}}
228 // CHECK: sext <4 x i1> %{{.*}} to <4 x i32>
229 return _mm_comge_epi32(a, b);
230 }
231
test_mm_comge_epi64(__m128i a,__m128i b)232 __m128i test_mm_comge_epi64(__m128i a, __m128i b) {
233 // CHECK-LABEL: test_mm_comge_epi64
234 // CHECK: icmp sge <2 x i64> %{{.*}}, %{{.*}}
235 // CHECK: sext <2 x i1> %{{.*}} to <2 x i64>
236 return _mm_comge_epi64(a, b);
237 }
238
239 // _MM_PCOMCTRL_EQ
240
test_mm_comeq_epu8(__m128i a,__m128i b)241 __m128i test_mm_comeq_epu8(__m128i a, __m128i b) {
242 // CHECK-LABEL: test_mm_comeq_epu8
243 // CHECK: icmp eq <16 x i8> %{{.*}}, %{{.*}}
244 // CHECK: sext <16 x i1> %{{.*}} to <16 x i8>
245 return _mm_comeq_epu8(a, b);
246 }
247
test_mm_comeq_epu16(__m128i a,__m128i b)248 __m128i test_mm_comeq_epu16(__m128i a, __m128i b) {
249 // CHECK-LABEL: test_mm_comeq_epu16
250 // CHECK: icmp eq <8 x i16> %{{.*}}, %{{.*}}
251 // CHECK: sext <8 x i1> %{{.*}} to <8 x i16>
252 return _mm_comeq_epu16(a, b);
253 }
254
test_mm_comeq_epu32(__m128i a,__m128i b)255 __m128i test_mm_comeq_epu32(__m128i a, __m128i b) {
256 // CHECK-LABEL: test_mm_comeq_epu32
257 // CHECK: icmp eq <4 x i32> %{{.*}}, %{{.*}}
258 // CHECK: sext <4 x i1> %{{.*}} to <4 x i32>
259 return _mm_comeq_epu32(a, b);
260 }
261
test_mm_comeq_epu64(__m128i a,__m128i b)262 __m128i test_mm_comeq_epu64(__m128i a, __m128i b) {
263 // CHECK-LABEL: test_mm_comeq_epu64
264 // CHECK: icmp eq <2 x i64> %{{.*}}, %{{.*}}
265 // CHECK: sext <2 x i1> %{{.*}} to <2 x i64>
266 return _mm_comeq_epu64(a, b);
267 }
268
test_mm_comeq_epi8(__m128i a,__m128i b)269 __m128i test_mm_comeq_epi8(__m128i a, __m128i b) {
270 // CHECK-LABEL: test_mm_comeq_epi8
271 // CHECK: icmp eq <16 x i8> %{{.*}}, %{{.*}}
272 // CHECK: sext <16 x i1> %{{.*}} to <16 x i8>
273 return _mm_comeq_epi8(a, b);
274 }
275
test_mm_comeq_epi16(__m128i a,__m128i b)276 __m128i test_mm_comeq_epi16(__m128i a, __m128i b) {
277 // CHECK-LABEL: test_mm_comeq_epi16
278 // CHECK: icmp eq <8 x i16> %{{.*}}, %{{.*}}
279 // CHECK: sext <8 x i1> %{{.*}} to <8 x i16>
280 return _mm_comeq_epi16(a, b);
281 }
282
test_mm_comeq_epi32(__m128i a,__m128i b)283 __m128i test_mm_comeq_epi32(__m128i a, __m128i b) {
284 // CHECK-LABEL: test_mm_comeq_epi32
285 // CHECK: icmp eq <4 x i32> %{{.*}}, %{{.*}}
286 // CHECK: sext <4 x i1> %{{.*}} to <4 x i32>
287 return _mm_comeq_epi32(a, b);
288 }
289
test_mm_comeq_epi64(__m128i a,__m128i b)290 __m128i test_mm_comeq_epi64(__m128i a, __m128i b) {
291 // CHECK-LABEL: test_mm_comeq_epi64
292 // CHECK: icmp eq <2 x i64> %{{.*}}, %{{.*}}
293 // CHECK: sext <2 x i1> %{{.*}} to <2 x i64>
294 return _mm_comeq_epi64(a, b);
295 }
296
297 // _MM_PCOMCTRL_NEQ
298
test_mm_comneq_epu8(__m128i a,__m128i b)299 __m128i test_mm_comneq_epu8(__m128i a, __m128i b) {
300 // CHECK-LABEL: test_mm_comneq_epu8
301 // CHECK: icmp ne <16 x i8> %{{.*}}, %{{.*}}
302 // CHECK: sext <16 x i1> %{{.*}} to <16 x i8>
303 return _mm_comneq_epu8(a, b);
304 }
305
test_mm_comneq_epu16(__m128i a,__m128i b)306 __m128i test_mm_comneq_epu16(__m128i a, __m128i b) {
307 // CHECK-LABEL: test_mm_comneq_epu16
308 // CHECK: icmp ne <8 x i16> %{{.*}}, %{{.*}}
309 // CHECK: sext <8 x i1> %{{.*}} to <8 x i16>
310 return _mm_comneq_epu16(a, b);
311 }
312
test_mm_comneq_epu32(__m128i a,__m128i b)313 __m128i test_mm_comneq_epu32(__m128i a, __m128i b) {
314 // CHECK-LABEL: test_mm_comneq_epu32
315 // CHECK: icmp ne <4 x i32> %{{.*}}, %{{.*}}
316 // CHECK: sext <4 x i1> %{{.*}} to <4 x i32>
317 return _mm_comneq_epu32(a, b);
318 }
319
test_mm_comneq_epu64(__m128i a,__m128i b)320 __m128i test_mm_comneq_epu64(__m128i a, __m128i b) {
321 // CHECK-LABEL: test_mm_comneq_epu64
322 // CHECK: icmp ne <2 x i64> %{{.*}}, %{{.*}}
323 // CHECK: sext <2 x i1> %{{.*}} to <2 x i64>
324 return _mm_comneq_epu64(a, b);
325 }
326
test_mm_comneq_epi8(__m128i a,__m128i b)327 __m128i test_mm_comneq_epi8(__m128i a, __m128i b) {
328 // CHECK-LABEL: test_mm_comneq_epi8
329 // CHECK: icmp ne <16 x i8> %{{.*}}, %{{.*}}
330 // CHECK: sext <16 x i1> %{{.*}} to <16 x i8>
331 return _mm_comneq_epi8(a, b);
332 }
333
test_mm_comneq_epi16(__m128i a,__m128i b)334 __m128i test_mm_comneq_epi16(__m128i a, __m128i b) {
335 // CHECK-LABEL: test_mm_comneq_epi16
336 // CHECK: icmp ne <8 x i16> %{{.*}}, %{{.*}}
337 // CHECK: sext <8 x i1> %{{.*}} to <8 x i16>
338 return _mm_comneq_epi16(a, b);
339 }
340
test_mm_comneq_epi32(__m128i a,__m128i b)341 __m128i test_mm_comneq_epi32(__m128i a, __m128i b) {
342 // CHECK-LABEL: test_mm_comneq_epi32
343 // CHECK: icmp ne <4 x i32> %{{.*}}, %{{.*}}
344 // CHECK: sext <4 x i1> %{{.*}} to <4 x i32>
345 return _mm_comneq_epi32(a, b);
346 }
347
test_mm_comneq_epi64(__m128i a,__m128i b)348 __m128i test_mm_comneq_epi64(__m128i a, __m128i b) {
349 // CHECK-LABEL: test_mm_comneq_epi64
350 // CHECK: icmp ne <2 x i64> %{{.*}}, %{{.*}}
351 // CHECK: sext <2 x i1> %{{.*}} to <2 x i64>
352 return _mm_comneq_epi64(a, b);
353 }
354
355 // _MM_PCOMCTRL_FALSE
356
test_mm_comfalse_epu8(__m128i a,__m128i b)357 __m128i test_mm_comfalse_epu8(__m128i a, __m128i b) {
358 // CHECK-LABEL: test_mm_comfalse_epu8
359 // CHECK: ret <2 x i64> zeroinitializer
360 return _mm_comfalse_epu8(a, b);
361 }
362
test_mm_comfalse_epu16(__m128i a,__m128i b)363 __m128i test_mm_comfalse_epu16(__m128i a, __m128i b) {
364 // CHECK-LABEL: test_mm_comfalse_epu16
365 // CHECK: ret <2 x i64> zeroinitializer
366 return _mm_comfalse_epu16(a, b);
367 }
368
test_mm_comfalse_epu32(__m128i a,__m128i b)369 __m128i test_mm_comfalse_epu32(__m128i a, __m128i b) {
370 // CHECK-LABEL: test_mm_comfalse_epu32
371 // CHECK: ret <2 x i64> zeroinitializer
372 return _mm_comfalse_epu32(a, b);
373 }
374
test_mm_comfalse_epu64(__m128i a,__m128i b)375 __m128i test_mm_comfalse_epu64(__m128i a, __m128i b) {
376 // CHECK-LABEL: test_mm_comfalse_epu64
377 // CHECK: ret <2 x i64> zeroinitializer
378 return _mm_comfalse_epu64(a, b);
379 }
380
test_mm_comfalse_epi8(__m128i a,__m128i b)381 __m128i test_mm_comfalse_epi8(__m128i a, __m128i b) {
382 // CHECK-LABEL: test_mm_comfalse_epi8
383 // CHECK: ret <2 x i64> zeroinitializer
384 return _mm_comfalse_epi8(a, b);
385 }
386
test_mm_comfalse_epi16(__m128i a,__m128i b)387 __m128i test_mm_comfalse_epi16(__m128i a, __m128i b) {
388 // CHECK-LABEL: test_mm_comfalse_epi16
389 // CHECK: ret <2 x i64> zeroinitializer
390 return _mm_comfalse_epi16(a, b);
391 }
392
test_mm_comfalse_epi32(__m128i a,__m128i b)393 __m128i test_mm_comfalse_epi32(__m128i a, __m128i b) {
394 // CHECK-LABEL: test_mm_comfalse_epi32
395 // CHECK: ret <2 x i64> zeroinitializer
396 return _mm_comfalse_epi32(a, b);
397 }
398
test_mm_comfalse_epi64(__m128i a,__m128i b)399 __m128i test_mm_comfalse_epi64(__m128i a, __m128i b) {
400 // CHECK-LABEL: test_mm_comfalse_epi64
401 // CHECK: ret <2 x i64> zeroinitializer
402 return _mm_comfalse_epi64(a, b);
403 }
404
405 // _MM_PCOMCTRL_TRUE
406
test_mm_comtrue_epu8(__m128i a,__m128i b)407 __m128i test_mm_comtrue_epu8(__m128i a, __m128i b) {
408 // CHECK-LABEL: test_mm_comtrue_epu8
409 // CHECK: ret <2 x i64> <i64 -1, i64 -1>
410 return _mm_comtrue_epu8(a, b);
411 }
412
test_mm_comtrue_epu16(__m128i a,__m128i b)413 __m128i test_mm_comtrue_epu16(__m128i a, __m128i b) {
414 // CHECK-LABEL: test_mm_comtrue_epu16
415 // CHECK: ret <2 x i64> <i64 -1, i64 -1>
416 return _mm_comtrue_epu16(a, b);
417 }
418
test_mm_comtrue_epu32(__m128i a,__m128i b)419 __m128i test_mm_comtrue_epu32(__m128i a, __m128i b) {
420 // CHECK-LABEL: test_mm_comtrue_epu32
421 // CHECK: ret <2 x i64> <i64 -1, i64 -1>
422 return _mm_comtrue_epu32(a, b);
423 }
424
test_mm_comtrue_epu64(__m128i a,__m128i b)425 __m128i test_mm_comtrue_epu64(__m128i a, __m128i b) {
426 // CHECK-LABEL: test_mm_comtrue_epu64
427 // CHECK: ret <2 x i64> <i64 -1, i64 -1>
428 return _mm_comtrue_epu64(a, b);
429 }
430
test_mm_comtrue_epi8(__m128i a,__m128i b)431 __m128i test_mm_comtrue_epi8(__m128i a, __m128i b) {
432 // CHECK-LABEL: test_mm_comtrue_epi8
433 // CHECK: ret <2 x i64> <i64 -1, i64 -1>
434 return _mm_comtrue_epi8(a, b);
435 }
436
test_mm_comtrue_epi16(__m128i a,__m128i b)437 __m128i test_mm_comtrue_epi16(__m128i a, __m128i b) {
438 // CHECK-LABEL: test_mm_comtrue_epi16
439 // CHECK: ret <2 x i64> <i64 -1, i64 -1>
440 return _mm_comtrue_epi16(a, b);
441 }
442
test_mm_comtrue_epi32(__m128i a,__m128i b)443 __m128i test_mm_comtrue_epi32(__m128i a, __m128i b) {
444 // CHECK-LABEL: test_mm_comtrue_epi32
445 // CHECK: ret <2 x i64> <i64 -1, i64 -1>
446 return _mm_comtrue_epi32(a, b);
447 }
448
test_mm_comtrue_epi64(__m128i a,__m128i b)449 __m128i test_mm_comtrue_epi64(__m128i a, __m128i b) {
450 // CHECK-LABEL: test_mm_comtrue_epi64
451 // CHECK: ret <2 x i64> <i64 -1, i64 -1>
452 return _mm_comtrue_epi64(a, b);
453 }
454