Home | History | Annotate | Download | only in X86

Lines Matching full:sse41

3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
24 ; SSE41-LABEL: eq_v2i64:
25 ; SSE41: # BB#0:
26 ; SSE41-NEXT: pcmpeqq %xmm1, %xmm0
27 ; SSE41-NEXT: retq
122 ; SSE41-LABEL: ne_v2i64:
123 ; SSE41: # BB#0:
124 ; SSE41-NEXT: pcmpeqq %xmm1, %xmm0
125 ; SSE41-NEXT: pcmpeqd %xmm1, %xmm1
126 ; SSE41-NEXT: pxor %xmm1, %xmm0
127 ; SSE41-NEXT: retq
246 ; SSE41-LABEL: ge_v2i64:
247 ; SSE41: # BB#0:
248 ; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [2147483648,2147483648,2147483648,2147483648]
249 ; SSE41-NEXT: pxor %xmm2, %xmm0
250 ; SSE41-NEXT: pxor %xmm2, %xmm1
251 ; SSE41-NEXT: movdqa %xmm1, %xmm2
252 ; SSE41-NEXT: pcmpgtd %xmm0, %xmm2
253 ; SSE41-NEXT: pshufd {{.*#+}} xmm3 = xmm2[0,0,2,2]
254 ; SSE41-NEXT: pcmpeqd %xmm0, %xmm1
255 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,3,3]
256 ; SSE41-NEXT: pand %xmm3, %xmm0
257 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm2[1,1,3,3]
258 ; SSE41-NEXT: por %xmm0, %xmm1
259 ; SSE41-NEXT: pcmpeqd %xmm0, %xmm0
260 ; SSE41-NEXT: pxor %xmm1, %xmm0
261 ; SSE41-NEXT: retq
303 ; SSE41-LABEL: ge_v4i32:
304 ; SSE41: # BB#0:
305 ; SSE41-NEXT: pmaxud %xmm0, %xmm1
306 ; SSE41-NEXT: pcmpeqd %xmm1, %xmm0
307 ; SSE41-NEXT: retq
338 ; SSE41-LABEL: ge_v8i16:
339 ; SSE41: # BB#0:
340 ; SSE41-NEXT: pmaxuw %xmm0, %xmm1
341 ; SSE41-NEXT: pcmpeqw %xmm1, %xmm0
342 ; SSE41-NEXT: retq
407 ; SSE41-LABEL: gt_v2i64:
408 ; SSE41: # BB#0:
409 ; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [2147483648,2147483648,2147483648,2147483648]
410 ; SSE41-NEXT: pxor %xmm2, %xmm1
411 ; SSE41-NEXT: pxor %xmm2, %xmm0
412 ; SSE41-NEXT: movdqa %xmm0, %xmm2
413 ; SSE41-NEXT: pcmpgtd %xmm1, %xmm2
414 ; SSE41-NEXT: pshufd {{.*#+}} xmm3 = xmm2[0,0,2,2]
415 ; SSE41-NEXT: pcmpeqd %xmm1, %xmm0
416 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,3,3]
417 ; SSE41-NEXT: pand %xmm3, %xmm1
418 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm2[1,1,3,3]
419 ; SSE41-NEXT: por %xmm1, %xmm0
420 ; SSE41-NEXT: retq
563 ; SSE41-LABEL: le_v2i64:
564 ; SSE41: # BB#0:
565 ; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [2147483648,2147483648,2147483648,2147483648]
566 ; SSE41-NEXT: pxor %xmm2, %xmm1
567 ; SSE41-NEXT: pxor %xmm2, %xmm0
568 ; SSE41-NEXT: movdqa %xmm0, %xmm2
569 ; SSE41-NEXT: pcmpgtd %xmm1, %xmm2
570 ; SSE41-NEXT: pshufd {{.*#+}} xmm3 = xmm2[0,0,2,2]
571 ; SSE41-NEXT: pcmpeqd %xmm1, %xmm0
572 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,1,3,3]
573 ; SSE41-NEXT: pand %xmm3, %xmm0
574 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm2[1,1,3,3]
575 ; SSE41-NEXT: por %xmm0, %xmm1
576 ; SSE41-NEXT: pcmpeqd %xmm0, %xmm0
577 ; SSE41-NEXT: pxor %xmm1, %xmm0
578 ; SSE41-NEXT: retq
620 ; SSE41-LABEL: le_v4i32:
621 ; SSE41: # BB#0:
622 ; SSE41-NEXT: pminud %xmm0, %xmm1
623 ; SSE41-NEXT: pcmpeqd %xmm1, %xmm0
624 ; SSE41-NEXT: retq
655 ; SSE41-LABEL: le_v8i16:
656 ; SSE41: # BB#0:
657 ; SSE41-NEXT: pminuw %xmm0, %xmm1
658 ; SSE41-NEXT: pcmpeqw %xmm1, %xmm0
659 ; SSE41-NEXT: retq
724 ; SSE41-LABEL: lt_v2i64:
725 ; SSE41: # BB#0:
726 ; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [2147483648,2147483648,2147483648,2147483648]
727 ; SSE41-NEXT: pxor %xmm2, %xmm0
728 ; SSE41-NEXT: pxor %xmm2, %xmm1
729 ; SSE41-NEXT: movdqa %xmm1, %xmm2
730 ; SSE41-NEXT: pcmpgtd %xmm0, %xmm2
731 ; SSE41-NEXT: pshufd {{.*#+}} xmm3 = xmm2[0,0,2,2]
732 ; SSE41-NEXT: pcmpeqd %xmm0, %xmm1
733 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[1,1,3,3]
734 ; SSE41-NEXT: pand %xmm3, %xmm1
735 ; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm2[1,1,3,3]
736 ; SSE41-NEXT: por %xmm1, %xmm0
737 ; SSE41-NEXT: retq