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 {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
217 ; SSE2-NEXT: pcmpgtd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
218 ; SSE2-NEXT: retq
231 ; SSE2-LABEL: ugt_v2i64_splat:
232 ; SSE2: ## %bb.0:
233 ; SSE2-NEXT: pxor {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
234 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,3,3]
235 ; SSE2-NEXT: pcmpgtd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
236 ; SSE2-NEXT: pshufd {{.*#+}} xmm2 = xmm0[0,0,2,2]
237 ; SSE2-NEXT: pcmpeqd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1
238 ; SSE2-NEXT: pand %xmm2, %xmm1
239 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,1,3,3]
240 ; SSE2-NEXT: por %xmm1, %xmm0
241 ; SSE2-NEXT: retq
264 ; SSE2-LABEL: uge_v8i16_splat:
265 ; SSE2: ## %bb.0:
266 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [242,242,242,242,242,242,242,242]
267 ; SSE2-NEXT: psubusw %xmm0, %xmm1
268 ; SSE2-NEXT: pxor %xmm0, %xmm0
269 ; SSE2-NEXT: pcmpeqw %xmm1, %xmm0
270 ; SSE2-NEXT: retq
283 ; SSE2-LABEL: uge_v4i32_splat:
284 ; SSE2: ## %bb.0:
285 ; SSE2-NEXT: pxor {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
286 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [2147483606,2147483606,2147483606,2147483606]
287 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm1
288 ; SSE2-NEXT: pcmpeqd %xmm0, %xmm0
289 ; SSE2-NEXT: pxor %xmm1, %xmm0
290 ; SSE2-NEXT: retq
303 ; SSE2-LABEL: uge_v2i64_splat:
304 ; SSE2: ## %bb.0:
305 ; SSE2-NEXT: pxor {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
306 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [9223372039002259898,9223372039002259898]
307 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm1
308 ; SSE2-NEXT: pshufd {{.*#+}} xmm2 = xmm1[0,0,2,2]
309 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,1,3,3]
310 ; SSE2-NEXT: pcmpeqd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
311 ; SSE2-NEXT: pand %xmm2, %xmm0
312 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm1[1,1,3,3]
313 ; SSE2-NEXT: por %xmm0, %xmm1
314 ; SSE2-NEXT: pcmpeqd %xmm0, %xmm0
315 ; SSE2-NEXT: pxor %xmm1, %xmm0
316 ; SSE2-NEXT: retq
342 ; SSE2-LABEL: ult_v8i16_splat:
343 ; SSE2: ## %bb.0:
344 ; SSE2-NEXT: psubusw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
345 ; SSE2-NEXT: pxor %xmm1, %xmm1
346 ; SSE2-NEXT: pcmpeqw %xmm1, %xmm0
347 ; SSE2-NEXT: retq
360 ; SSE2-LABEL: ult_v4i32_splat:
361 ; SSE2: ## %bb.0:
362 ; SSE2-NEXT: pxor {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
363 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [2147483606,2147483606,2147483606,2147483606]
364 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm1
365 ; SSE2-NEXT: movdqa %xmm1, %xmm0
366 ; SSE2-NEXT: retq
379 ; SSE2-LABEL: ult_v2i64_splat:
380 ; SSE2: ## %bb.0:
381 ; SSE2-NEXT: pxor {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
382 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [9223372039002259898,9223372039002259898]
383 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm1
384 ; SSE2-NEXT: pshufd {{.*#+}} xmm2 = xmm1[0,0,2,2]
385 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm0[1,1,3,3]
386 ; SSE2-NEXT: pcmpeqd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm3
387 ; SSE2-NEXT: pand %xmm2, %xmm3
388 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,3,3]
389 ; SSE2-NEXT: por %xmm3, %xmm0
390 ; SSE2-NEXT: retq
415 ; SSE2-LABEL: ule_v8i16_splat:
416 ; SSE2: ## %bb.0:
417 ; SSE2-NEXT: psubusw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
418 ; SSE2-NEXT: pxor %xmm1, %xmm1
419 ; SSE2-NEXT: pcmpeqw %xmm1, %xmm0
420 ; SSE2-NEXT: retq
433 ; SSE2-LABEL: ule_v4i32_splat:
434 ; SSE2: ## %bb.0:
435 ; SSE2-NEXT: pxor {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
436 ; SSE2-NEXT: pcmpgtd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
437 ; SSE2-NEXT: pcmpeqd %xmm1, %xmm1
438 ; SSE2-NEXT: pxor %xmm1, %xmm0
439 ; SSE2-NEXT: retq
452 ; SSE2-LABEL: ule_v2i64_splat:
453 ; SSE2: ## %bb.0:
454 ; SSE2-NEXT: pxor {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
455 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,3,3]
456 ; SSE2-NEXT: pcmpgtd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
457 ; SSE2-NEXT: pshufd {{.*#+}} xmm2 = xmm0[0,0,2,2]
458 ; SSE2-NEXT: pcmpeqd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1
459 ; SSE2-NEXT: pand %xmm2, %xmm1
460 ; SSE2-NEXT: pshufd {{.*#+}} xmm2 = xmm0[1,1,3,3]
461 ; SSE2-NEXT: por %xmm1, %xmm2
462 ; SSE2-NEXT: pcmpeqd %xmm0, %xmm0
463 ; SSE2-NEXT: pxor %xmm2, %xmm0
464 ; SSE2-NEXT: retq
502 ; SSE2-LABEL: ugt_v4i32_nonsplat:
503 ; SSE2: ## %bb.0:
504 ; SSE2-NEXT: pxor {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
505 ; SSE2-NEXT: pcmpgtd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
506 ; SSE2-NEXT: retq
519 ; SSE2-LABEL: ugt_v4i32_splat_commute:
520 ; SSE2: ## %bb.0:
521 ; SSE2-NEXT: pxor {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
522 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [2147483652,2147483652,2147483652,2147483652]
523 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm1
524 ; SSE2-NEXT: movdqa %xmm1, %xmm0
525 ; SSE2-NEXT: retq
538 ; SSE2-LABEL: PR39859:
539 ; SSE2: ## %bb.0:
540 ; SSE2-NEXT: movdqa {{.*#+}} xmm3 = [43,43,43,43,43,43,43,43]
541 ; SSE2-NEXT: psubusw %xmm0, %xmm3
542 ; SSE2-NEXT: pxor %xmm2, %xmm2
543 ; SSE2-NEXT: pcmpeqw %xmm3, %xmm2
544 ; SSE2-NEXT: pand %xmm2, %xmm1
545 ; SSE2-NEXT: pandn %xmm0, %xmm2
546 ; SSE2-NEXT: por %xmm1, %xmm2
547 ; SSE2-NEXT: movdqa %xmm2, %xmm0
548 ; SSE2-NEXT: retq