1 | // RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +xop -emit-llvm -o - -Wall -Werror | FileCheck %s |
2 | // RUN: %clang_cc1 -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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |