• Home
  • Raw
  • Download

Lines Matching refs:SSE2

2 … llc < %s -o - -mtriple=x86_64-apple-darwin -mattr=+sse2 | FileCheck %s --check-prefixes=CHECK,SSE2
8 ; SSE2-LABEL: loop_no_const_reload:
9 ; SSE2: ## %bb.0: ## %entry
10 ; SSE2-NEXT: testl %edx, %edx
11 ; SSE2-NEXT: je LBB0_3
12 ; SSE2-NEXT: ## %bb.1: ## %for.body.preheader
13 ; SSE2-NEXT: xorl %eax, %eax
14 ; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [25,25,25,25,25,25,25,25]
15 ; SSE2-NEXT: pxor %xmm1, %xmm1
16 ; SSE2-NEXT: .p2align 4, 0x90
17 ; SSE2-NEXT: LBB0_2: ## %for.body
18 ; SSE2-NEXT: ## =>This Inner Loop Header: Depth=1
19 ; SSE2-NEXT: movdqa (%rdi,%rax), %xmm2
20 ; SSE2-NEXT: psubusw %xmm0, %xmm2
21 ; SSE2-NEXT: pcmpeqw %xmm1, %xmm2
22 ; SSE2-NEXT: movdqa %xmm2, (%rsi,%rax)
23 ; SSE2-NEXT: addq $16, %rax
24 ; SSE2-NEXT: decl %edx
25 ; SSE2-NEXT: jne LBB0_2
26 ; SSE2-NEXT: LBB0_3: ## %for.end
27 ; SSE2-NEXT: retq
75 ; SSE2-LABEL: loop_const_folding_underflow:
76 ; SSE2: ## %bb.0: ## %entry
77 ; SSE2-NEXT: testl %edx, %edx
78 ; SSE2-NEXT: je LBB1_3
79 ; SSE2-NEXT: ## %bb.1: ## %for.body.preheader
80 ; SSE2-NEXT: xorl %eax, %eax
81 ; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [32768,32768,32768,32768,32768,32768,32768,32768]
82 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [32768,32794,32794,32794,32794,32794,32794,32794]
83 ; SSE2-NEXT: .p2align 4, 0x90
84 ; SSE2-NEXT: LBB1_2: ## %for.body
85 ; SSE2-NEXT: ## =>This Inner Loop Header: Depth=1
86 ; SSE2-NEXT: movdqa (%rdi,%rax), %xmm2
87 ; SSE2-NEXT: pxor %xmm0, %xmm2
88 ; SSE2-NEXT: movdqa %xmm1, %xmm3
89 ; SSE2-NEXT: pcmpgtw %xmm2, %xmm3
90 ; SSE2-NEXT: movdqa %xmm3, (%rsi,%rax)
91 ; SSE2-NEXT: addq $16, %rax
92 ; SSE2-NEXT: decl %edx
93 ; SSE2-NEXT: jne LBB1_2
94 ; SSE2-NEXT: LBB1_3: ## %for.end
95 ; SSE2-NEXT: retq
161 ; SSE2-LABEL: test_ult_register:
162 ; SSE2: ## %bb.0: ## %entry
163 ; SSE2-NEXT: movdqa {{.*#+}} xmm2 = [32768,32768,32768,32768,32768,32768,32768,32768]
164 ; SSE2-NEXT: pxor %xmm2, %xmm0
165 ; SSE2-NEXT: pxor %xmm1, %xmm2
166 ; SSE2-NEXT: pcmpgtw %xmm0, %xmm2
167 ; SSE2-NEXT: movdqa %xmm2, %xmm0
168 ; SSE2-NEXT: retq
195 ; SSE2-LABEL: ugt_v8i16_splat:
196 ; SSE2: ## %bb.0:
197 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [243,243,243,243,243,243,243,243]
198 ; SSE2-NEXT: psubusw %xmm0, %xmm1
199 ; SSE2-NEXT: pxor %xmm0, %xmm0
200 ; SSE2-NEXT: pcmpeqw %xmm1, %xmm0
201 ; SSE2-NEXT: retq
214 ; SSE2-LABEL: ugt_v4i32_splat:
215 ; SSE2: ## %bb.0:
216 ; SSE2-NEXT: pxor {{.*}}(%rip), %xmm0
217 ; SSE2-NEXT: pcmpgtd {{.*}}(%rip), %xmm0
218 ; SSE2-NEXT: retq
231 ; SSE2-LABEL: ugt_v2i64_splat:
232 ; SSE2: ## %bb.0:
233 ; SSE2-NEXT: pxor {{.*}}(%rip), %xmm0
234 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [9223372039002259898,9223372039002259898]
235 ; SSE2-NEXT: movdqa %xmm0, %xmm2
236 ; SSE2-NEXT: pcmpgtd %xmm1, %xmm2
237 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm2[0,0,2,2]
238 ; SSE2-NEXT: pcmpeqd %xmm1, %xmm0
239 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,3,3]
240 ; SSE2-NEXT: pand %xmm3, %xmm1
241 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[1,1,3,3]
242 ; SSE2-NEXT: por %xmm1, %xmm0
243 ; SSE2-NEXT: retq
266 ; SSE2-LABEL: uge_v8i16_splat:
267 ; SSE2: ## %bb.0:
268 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [242,242,242,242,242,242,242,242]
269 ; SSE2-NEXT: psubusw %xmm0, %xmm1
270 ; SSE2-NEXT: pxor %xmm0, %xmm0
271 ; SSE2-NEXT: pcmpeqw %xmm1, %xmm0
272 ; SSE2-NEXT: retq
285 ; SSE2-LABEL: uge_v4i32_splat:
286 ; SSE2: ## %bb.0:
287 ; SSE2-NEXT: pxor {{.*}}(%rip), %xmm0
288 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [2147483606,2147483606,2147483606,2147483606]
289 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm1
290 ; SSE2-NEXT: pcmpeqd %xmm0, %xmm0
291 ; SSE2-NEXT: pxor %xmm1, %xmm0
292 ; SSE2-NEXT: retq
305 ; SSE2-LABEL: uge_v2i64_splat:
306 ; SSE2: ## %bb.0:
307 ; SSE2-NEXT: pxor {{.*}}(%rip), %xmm0
308 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [9223372039002259898,9223372039002259898]
309 ; SSE2-NEXT: movdqa %xmm1, %xmm2
310 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm2
311 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm2[0,0,2,2]
312 ; SSE2-NEXT: pcmpeqd %xmm1, %xmm0
313 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,1,3,3]
314 ; SSE2-NEXT: pand %xmm3, %xmm0
315 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm2[1,1,3,3]
316 ; SSE2-NEXT: por %xmm0, %xmm1
317 ; SSE2-NEXT: pcmpeqd %xmm0, %xmm0
318 ; SSE2-NEXT: pxor %xmm1, %xmm0
319 ; SSE2-NEXT: retq
345 ; SSE2-LABEL: ult_v8i16_splat:
346 ; SSE2: ## %bb.0:
347 ; SSE2-NEXT: psubusw {{.*}}(%rip), %xmm0
348 ; SSE2-NEXT: pxor %xmm1, %xmm1
349 ; SSE2-NEXT: pcmpeqw %xmm1, %xmm0
350 ; SSE2-NEXT: retq
363 ; SSE2-LABEL: ult_v4i32_splat:
364 ; SSE2: ## %bb.0:
365 ; SSE2-NEXT: pxor {{.*}}(%rip), %xmm0
366 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [2147483606,2147483606,2147483606,2147483606]
367 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm1
368 ; SSE2-NEXT: movdqa %xmm1, %xmm0
369 ; SSE2-NEXT: retq
382 ; SSE2-LABEL: ult_v2i64_splat:
383 ; SSE2: ## %bb.0:
384 ; SSE2-NEXT: pxor {{.*}}(%rip), %xmm0
385 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [9223372039002259898,9223372039002259898]
386 ; SSE2-NEXT: movdqa %xmm1, %xmm2
387 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm2
388 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm2[0,0,2,2]
389 ; SSE2-NEXT: pcmpeqd %xmm1, %xmm0
390 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,3,3]
391 ; SSE2-NEXT: pand %xmm3, %xmm1
392 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[1,1,3,3]
393 ; SSE2-NEXT: por %xmm1, %xmm0
394 ; SSE2-NEXT: retq
419 ; SSE2-LABEL: ule_v8i16_splat:
420 ; SSE2: ## %bb.0:
421 ; SSE2-NEXT: psubusw {{.*}}(%rip), %xmm0
422 ; SSE2-NEXT: pxor %xmm1, %xmm1
423 ; SSE2-NEXT: pcmpeqw %xmm1, %xmm0
424 ; SSE2-NEXT: retq
437 ; SSE2-LABEL: ule_v4i32_splat:
438 ; SSE2: ## %bb.0:
439 ; SSE2-NEXT: pxor {{.*}}(%rip), %xmm0
440 ; SSE2-NEXT: pcmpgtd {{.*}}(%rip), %xmm0
441 ; SSE2-NEXT: pcmpeqd %xmm1, %xmm1
442 ; SSE2-NEXT: pxor %xmm1, %xmm0
443 ; SSE2-NEXT: retq
456 ; SSE2-LABEL: ule_v2i64_splat:
457 ; SSE2: ## %bb.0:
458 ; SSE2-NEXT: pxor {{.*}}(%rip), %xmm0
459 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [9223372039002259898,9223372039002259898]
460 ; SSE2-NEXT: movdqa %xmm0, %xmm2
461 ; SSE2-NEXT: pcmpgtd %xmm1, %xmm2
462 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm2[0,0,2,2]
463 ; SSE2-NEXT: pcmpeqd %xmm1, %xmm0
464 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,1,3,3]
465 ; SSE2-NEXT: pand %xmm3, %xmm0
466 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm2[1,1,3,3]
467 ; SSE2-NEXT: por %xmm0, %xmm1
468 ; SSE2-NEXT: pcmpeqd %xmm0, %xmm0
469 ; SSE2-NEXT: pxor %xmm1, %xmm0
470 ; SSE2-NEXT: retq
508 ; SSE2-LABEL: ugt_v4i32_nonsplat:
509 ; SSE2: ## %bb.0:
510 ; SSE2-NEXT: pxor {{.*}}(%rip), %xmm0
511 ; SSE2-NEXT: pcmpgtd {{.*}}(%rip), %xmm0
512 ; SSE2-NEXT: retq
525 ; SSE2-LABEL: ugt_v4i32_splat_commute:
526 ; SSE2: ## %bb.0:
527 ; SSE2-NEXT: pxor {{.*}}(%rip), %xmm0
528 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [2147483652,2147483652,2147483652,2147483652]
529 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm1
530 ; SSE2-NEXT: movdqa %xmm1, %xmm0
531 ; SSE2-NEXT: retq
544 ; SSE2-LABEL: PR39859:
545 ; SSE2: ## %bb.0:
546 ; SSE2-NEXT: movdqa {{.*#+}} xmm3 = [43,43,43,43,43,43,43,43]
547 ; SSE2-NEXT: psubusw %xmm0, %xmm3
548 ; SSE2-NEXT: pxor %xmm2, %xmm2
549 ; SSE2-NEXT: pcmpeqw %xmm3, %xmm2
550 ; SSE2-NEXT: pand %xmm2, %xmm1
551 ; SSE2-NEXT: pandn %xmm0, %xmm2
552 ; SSE2-NEXT: por %xmm1, %xmm2
553 ; SSE2-NEXT: movdqa %xmm2, %xmm0
554 ; SSE2-NEXT: retq