Lines Matching refs:SSE2
2 …RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=SSE,SSE2
15 ; SSE2-LABEL: test_v2i64:
16 ; SSE2: # %bb.0:
17 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
18 ; SSE2-NEXT: movdqa {{.*#+}} xmm2 = [2147483648,2147483648]
19 ; SSE2-NEXT: movdqa %xmm0, %xmm3
20 ; SSE2-NEXT: pxor %xmm2, %xmm3
21 ; SSE2-NEXT: pxor %xmm1, %xmm2
22 ; SSE2-NEXT: movdqa %xmm2, %xmm4
23 ; SSE2-NEXT: pcmpgtd %xmm3, %xmm4
24 ; SSE2-NEXT: pshufd {{.*#+}} xmm5 = xmm4[0,0,2,2]
25 ; SSE2-NEXT: pcmpeqd %xmm3, %xmm2
26 ; SSE2-NEXT: pshufd {{.*#+}} xmm2 = xmm2[1,1,3,3]
27 ; SSE2-NEXT: pand %xmm5, %xmm2
28 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm4[1,1,3,3]
29 ; SSE2-NEXT: por %xmm2, %xmm3
30 ; SSE2-NEXT: pand %xmm3, %xmm0
31 ; SSE2-NEXT: pandn %xmm1, %xmm3
32 ; SSE2-NEXT: por %xmm0, %xmm3
33 ; SSE2-NEXT: movq %xmm3, %rax
34 ; SSE2-NEXT: retq
91 ; SSE2-LABEL: test_v4i64:
92 ; SSE2: # %bb.0:
93 ; SSE2-NEXT: movdqa {{.*#+}} xmm2 = [2147483648,2147483648]
94 ; SSE2-NEXT: movdqa %xmm0, %xmm3
95 ; SSE2-NEXT: pxor %xmm2, %xmm3
96 ; SSE2-NEXT: movdqa %xmm1, %xmm4
97 ; SSE2-NEXT: pxor %xmm2, %xmm4
98 ; SSE2-NEXT: movdqa %xmm4, %xmm5
99 ; SSE2-NEXT: pcmpgtd %xmm3, %xmm5
100 ; SSE2-NEXT: pshufd {{.*#+}} xmm6 = xmm5[0,0,2,2]
101 ; SSE2-NEXT: pcmpeqd %xmm3, %xmm4
102 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm4[1,1,3,3]
103 ; SSE2-NEXT: pand %xmm6, %xmm3
104 ; SSE2-NEXT: pshufd {{.*#+}} xmm4 = xmm5[1,1,3,3]
105 ; SSE2-NEXT: por %xmm3, %xmm4
106 ; SSE2-NEXT: pand %xmm4, %xmm0
107 ; SSE2-NEXT: pandn %xmm1, %xmm4
108 ; SSE2-NEXT: por %xmm0, %xmm4
109 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm4[2,3,2,3]
110 ; SSE2-NEXT: movdqa %xmm4, %xmm1
111 ; SSE2-NEXT: pxor %xmm2, %xmm1
112 ; SSE2-NEXT: pxor %xmm0, %xmm2
113 ; SSE2-NEXT: movdqa %xmm2, %xmm3
114 ; SSE2-NEXT: pcmpgtd %xmm1, %xmm3
115 ; SSE2-NEXT: pshufd {{.*#+}} xmm5 = xmm3[0,0,2,2]
116 ; SSE2-NEXT: pcmpeqd %xmm1, %xmm2
117 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm2[1,1,3,3]
118 ; SSE2-NEXT: pand %xmm5, %xmm1
119 ; SSE2-NEXT: pshufd {{.*#+}} xmm2 = xmm3[1,1,3,3]
120 ; SSE2-NEXT: por %xmm1, %xmm2
121 ; SSE2-NEXT: pand %xmm2, %xmm4
122 ; SSE2-NEXT: pandn %xmm0, %xmm2
123 ; SSE2-NEXT: por %xmm4, %xmm2
124 ; SSE2-NEXT: movq %xmm2, %rax
125 ; SSE2-NEXT: retq
217 ; SSE2-LABEL: test_v8i64:
218 ; SSE2: # %bb.0:
219 ; SSE2-NEXT: movdqa {{.*#+}} xmm4 = [2147483648,2147483648]
220 ; SSE2-NEXT: movdqa %xmm1, %xmm5
221 ; SSE2-NEXT: pxor %xmm4, %xmm5
222 ; SSE2-NEXT: movdqa %xmm3, %xmm6
223 ; SSE2-NEXT: pxor %xmm4, %xmm6
224 ; SSE2-NEXT: movdqa %xmm6, %xmm7
225 ; SSE2-NEXT: pcmpgtd %xmm5, %xmm7
226 ; SSE2-NEXT: pshufd {{.*#+}} xmm8 = xmm7[0,0,2,2]
227 ; SSE2-NEXT: pcmpeqd %xmm5, %xmm6
228 ; SSE2-NEXT: pshufd {{.*#+}} xmm6 = xmm6[1,1,3,3]
229 ; SSE2-NEXT: pand %xmm8, %xmm6
230 ; SSE2-NEXT: pshufd {{.*#+}} xmm5 = xmm7[1,1,3,3]
231 ; SSE2-NEXT: por %xmm6, %xmm5
232 ; SSE2-NEXT: pand %xmm5, %xmm1
233 ; SSE2-NEXT: pandn %xmm3, %xmm5
234 ; SSE2-NEXT: por %xmm1, %xmm5
235 ; SSE2-NEXT: movdqa %xmm0, %xmm1
236 ; SSE2-NEXT: pxor %xmm4, %xmm1
237 ; SSE2-NEXT: movdqa %xmm2, %xmm3
238 ; SSE2-NEXT: pxor %xmm4, %xmm3
239 ; SSE2-NEXT: movdqa %xmm3, %xmm6
240 ; SSE2-NEXT: pcmpgtd %xmm1, %xmm6
241 ; SSE2-NEXT: pshufd {{.*#+}} xmm7 = xmm6[0,0,2,2]
242 ; SSE2-NEXT: pcmpeqd %xmm1, %xmm3
243 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm3[1,1,3,3]
244 ; SSE2-NEXT: pand %xmm7, %xmm1
245 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm6[1,1,3,3]
246 ; SSE2-NEXT: por %xmm1, %xmm3
247 ; SSE2-NEXT: pand %xmm3, %xmm0
248 ; SSE2-NEXT: pandn %xmm2, %xmm3
249 ; SSE2-NEXT: por %xmm0, %xmm3
250 ; SSE2-NEXT: movdqa %xmm3, %xmm0
251 ; SSE2-NEXT: pxor %xmm4, %xmm0
252 ; SSE2-NEXT: movdqa %xmm5, %xmm1
253 ; SSE2-NEXT: pxor %xmm4, %xmm1
254 ; SSE2-NEXT: movdqa %xmm1, %xmm2
255 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm2
256 ; SSE2-NEXT: pshufd {{.*#+}} xmm6 = xmm2[0,0,2,2]
257 ; SSE2-NEXT: pcmpeqd %xmm0, %xmm1
258 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,3,3]
259 ; SSE2-NEXT: pand %xmm6, %xmm0
260 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm2[1,1,3,3]
261 ; SSE2-NEXT: por %xmm0, %xmm1
262 ; SSE2-NEXT: pand %xmm1, %xmm3
263 ; SSE2-NEXT: pandn %xmm5, %xmm1
264 ; SSE2-NEXT: por %xmm3, %xmm1
265 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,2,3]
266 ; SSE2-NEXT: movdqa %xmm1, %xmm2
267 ; SSE2-NEXT: pxor %xmm4, %xmm2
268 ; SSE2-NEXT: pxor %xmm0, %xmm4
269 ; SSE2-NEXT: movdqa %xmm4, %xmm3
270 ; SSE2-NEXT: pcmpgtd %xmm2, %xmm3
271 ; SSE2-NEXT: pshufd {{.*#+}} xmm5 = xmm3[0,0,2,2]
272 ; SSE2-NEXT: pcmpeqd %xmm2, %xmm4
273 ; SSE2-NEXT: pshufd {{.*#+}} xmm2 = xmm4[1,1,3,3]
274 ; SSE2-NEXT: pand %xmm5, %xmm2
275 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm3[1,1,3,3]
276 ; SSE2-NEXT: por %xmm2, %xmm3
277 ; SSE2-NEXT: pand %xmm3, %xmm1
278 ; SSE2-NEXT: pandn %xmm0, %xmm3
279 ; SSE2-NEXT: por %xmm1, %xmm3
280 ; SSE2-NEXT: movq %xmm3, %rax
281 ; SSE2-NEXT: retq
412 ; SSE2-LABEL: test_v16i64:
413 ; SSE2: # %bb.0:
414 ; SSE2-NEXT: movdqa {{.*#+}} xmm8 = [2147483648,2147483648]
415 ; SSE2-NEXT: movdqa %xmm2, %xmm9
416 ; SSE2-NEXT: pxor %xmm8, %xmm9
417 ; SSE2-NEXT: movdqa %xmm6, %xmm10
418 ; SSE2-NEXT: pxor %xmm8, %xmm10
419 ; SSE2-NEXT: movdqa %xmm10, %xmm11
420 ; SSE2-NEXT: pcmpgtd %xmm9, %xmm11
421 ; SSE2-NEXT: pshufd {{.*#+}} xmm12 = xmm11[0,0,2,2]
422 ; SSE2-NEXT: pcmpeqd %xmm9, %xmm10
423 ; SSE2-NEXT: pshufd {{.*#+}} xmm10 = xmm10[1,1,3,3]
424 ; SSE2-NEXT: pand %xmm12, %xmm10
425 ; SSE2-NEXT: pshufd {{.*#+}} xmm9 = xmm11[1,1,3,3]
426 ; SSE2-NEXT: por %xmm10, %xmm9
427 ; SSE2-NEXT: pand %xmm9, %xmm2
428 ; SSE2-NEXT: pandn %xmm6, %xmm9
429 ; SSE2-NEXT: por %xmm2, %xmm9
430 ; SSE2-NEXT: movdqa %xmm0, %xmm2
431 ; SSE2-NEXT: pxor %xmm8, %xmm2
432 ; SSE2-NEXT: movdqa %xmm4, %xmm6
433 ; SSE2-NEXT: pxor %xmm8, %xmm6
434 ; SSE2-NEXT: movdqa %xmm6, %xmm10
435 ; SSE2-NEXT: pcmpgtd %xmm2, %xmm10
436 ; SSE2-NEXT: pshufd {{.*#+}} xmm11 = xmm10[0,0,2,2]
437 ; SSE2-NEXT: pcmpeqd %xmm2, %xmm6
438 ; SSE2-NEXT: pshufd {{.*#+}} xmm6 = xmm6[1,1,3,3]
439 ; SSE2-NEXT: pand %xmm11, %xmm6
440 ; SSE2-NEXT: pshufd {{.*#+}} xmm2 = xmm10[1,1,3,3]
441 ; SSE2-NEXT: por %xmm6, %xmm2
442 ; SSE2-NEXT: pand %xmm2, %xmm0
443 ; SSE2-NEXT: pandn %xmm4, %xmm2
444 ; SSE2-NEXT: por %xmm0, %xmm2
445 ; SSE2-NEXT: movdqa %xmm3, %xmm0
446 ; SSE2-NEXT: pxor %xmm8, %xmm0
447 ; SSE2-NEXT: movdqa %xmm7, %xmm4
448 ; SSE2-NEXT: pxor %xmm8, %xmm4
449 ; SSE2-NEXT: movdqa %xmm4, %xmm6
450 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm6
451 ; SSE2-NEXT: pshufd {{.*#+}} xmm10 = xmm6[0,0,2,2]
452 ; SSE2-NEXT: pcmpeqd %xmm0, %xmm4
453 ; SSE2-NEXT: pshufd {{.*#+}} xmm4 = xmm4[1,1,3,3]
454 ; SSE2-NEXT: pand %xmm10, %xmm4
455 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm6[1,1,3,3]
456 ; SSE2-NEXT: por %xmm4, %xmm0
457 ; SSE2-NEXT: pand %xmm0, %xmm3
458 ; SSE2-NEXT: pandn %xmm7, %xmm0
459 ; SSE2-NEXT: por %xmm3, %xmm0
460 ; SSE2-NEXT: movdqa %xmm1, %xmm3
461 ; SSE2-NEXT: pxor %xmm8, %xmm3
462 ; SSE2-NEXT: movdqa %xmm5, %xmm4
463 ; SSE2-NEXT: pxor %xmm8, %xmm4
464 ; SSE2-NEXT: movdqa %xmm4, %xmm6
465 ; SSE2-NEXT: pcmpgtd %xmm3, %xmm6
466 ; SSE2-NEXT: pshufd {{.*#+}} xmm7 = xmm6[0,0,2,2]
467 ; SSE2-NEXT: pcmpeqd %xmm3, %xmm4
468 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm4[1,1,3,3]
469 ; SSE2-NEXT: pand %xmm7, %xmm3
470 ; SSE2-NEXT: pshufd {{.*#+}} xmm4 = xmm6[1,1,3,3]
471 ; SSE2-NEXT: por %xmm3, %xmm4
472 ; SSE2-NEXT: pand %xmm4, %xmm1
473 ; SSE2-NEXT: pandn %xmm5, %xmm4
474 ; SSE2-NEXT: por %xmm1, %xmm4
475 ; SSE2-NEXT: movdqa %xmm4, %xmm1
476 ; SSE2-NEXT: pxor %xmm8, %xmm1
477 ; SSE2-NEXT: movdqa %xmm0, %xmm3
478 ; SSE2-NEXT: pxor %xmm8, %xmm3
479 ; SSE2-NEXT: movdqa %xmm3, %xmm5
480 ; SSE2-NEXT: pcmpgtd %xmm1, %xmm5
481 ; SSE2-NEXT: pshufd {{.*#+}} xmm6 = xmm5[0,0,2,2]
482 ; SSE2-NEXT: pcmpeqd %xmm1, %xmm3
483 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm3[1,1,3,3]
484 ; SSE2-NEXT: pand %xmm6, %xmm3
485 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm5[1,1,3,3]
486 ; SSE2-NEXT: por %xmm3, %xmm1
487 ; SSE2-NEXT: pand %xmm1, %xmm4
488 ; SSE2-NEXT: pandn %xmm0, %xmm1
489 ; SSE2-NEXT: por %xmm4, %xmm1
490 ; SSE2-NEXT: movdqa %xmm2, %xmm0
491 ; SSE2-NEXT: pxor %xmm8, %xmm0
492 ; SSE2-NEXT: movdqa %xmm9, %xmm3
493 ; SSE2-NEXT: pxor %xmm8, %xmm3
494 ; SSE2-NEXT: movdqa %xmm3, %xmm4
495 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm4
496 ; SSE2-NEXT: pshufd {{.*#+}} xmm5 = xmm4[0,0,2,2]
497 ; SSE2-NEXT: pcmpeqd %xmm0, %xmm3
498 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm3[1,1,3,3]
499 ; SSE2-NEXT: pand %xmm5, %xmm0
500 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm4[1,1,3,3]
501 ; SSE2-NEXT: por %xmm0, %xmm3
502 ; SSE2-NEXT: pand %xmm3, %xmm2
503 ; SSE2-NEXT: pandn %xmm9, %xmm3
504 ; SSE2-NEXT: por %xmm2, %xmm3
505 ; SSE2-NEXT: movdqa %xmm3, %xmm0
506 ; SSE2-NEXT: pxor %xmm8, %xmm0
507 ; SSE2-NEXT: movdqa %xmm1, %xmm2
508 ; SSE2-NEXT: pxor %xmm8, %xmm2
509 ; SSE2-NEXT: movdqa %xmm2, %xmm4
510 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm4
511 ; SSE2-NEXT: pshufd {{.*#+}} xmm5 = xmm4[0,0,2,2]
512 ; SSE2-NEXT: pcmpeqd %xmm0, %xmm2
513 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[1,1,3,3]
514 ; SSE2-NEXT: pand %xmm5, %xmm0
515 ; SSE2-NEXT: pshufd {{.*#+}} xmm2 = xmm4[1,1,3,3]
516 ; SSE2-NEXT: por %xmm0, %xmm2
517 ; SSE2-NEXT: pand %xmm2, %xmm3
518 ; SSE2-NEXT: pandn %xmm1, %xmm2
519 ; SSE2-NEXT: por %xmm3, %xmm2
520 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[2,3,2,3]
521 ; SSE2-NEXT: movdqa %xmm2, %xmm1
522 ; SSE2-NEXT: pxor %xmm8, %xmm1
523 ; SSE2-NEXT: pxor %xmm0, %xmm8
524 ; SSE2-NEXT: movdqa %xmm8, %xmm3
525 ; SSE2-NEXT: pcmpgtd %xmm1, %xmm3
526 ; SSE2-NEXT: pshufd {{.*#+}} xmm4 = xmm3[0,0,2,2]
527 ; SSE2-NEXT: pcmpeqd %xmm1, %xmm8
528 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm8[1,1,3,3]
529 ; SSE2-NEXT: pand %xmm4, %xmm1
530 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm3[1,1,3,3]
531 ; SSE2-NEXT: por %xmm1, %xmm3
532 ; SSE2-NEXT: pand %xmm3, %xmm2
533 ; SSE2-NEXT: pandn %xmm0, %xmm3
534 ; SSE2-NEXT: por %xmm2, %xmm3
535 ; SSE2-NEXT: movq %xmm3, %rax
536 ; SSE2-NEXT: retq
743 ; SSE2-LABEL: test_v2i32:
744 ; SSE2: # %bb.0:
745 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]
746 ; SSE2-NEXT: movdqa %xmm1, %xmm2
747 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm2
748 ; SSE2-NEXT: pand %xmm2, %xmm0
749 ; SSE2-NEXT: pandn %xmm1, %xmm2
750 ; SSE2-NEXT: por %xmm0, %xmm2
751 ; SSE2-NEXT: movd %xmm2, %eax
752 ; SSE2-NEXT: retq
779 ; SSE2-LABEL: test_v4i32:
780 ; SSE2: # %bb.0:
781 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
782 ; SSE2-NEXT: movdqa %xmm1, %xmm2
783 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm2
784 ; SSE2-NEXT: pand %xmm2, %xmm0
785 ; SSE2-NEXT: pandn %xmm1, %xmm2
786 ; SSE2-NEXT: por %xmm0, %xmm2
787 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[1,1,1,1]
788 ; SSE2-NEXT: movdqa %xmm0, %xmm1
789 ; SSE2-NEXT: pcmpgtd %xmm2, %xmm1
790 ; SSE2-NEXT: pand %xmm1, %xmm2
791 ; SSE2-NEXT: pandn %xmm0, %xmm1
792 ; SSE2-NEXT: por %xmm2, %xmm1
793 ; SSE2-NEXT: movd %xmm1, %eax
794 ; SSE2-NEXT: retq
827 ; SSE2-LABEL: test_v8i32:
828 ; SSE2: # %bb.0:
829 ; SSE2-NEXT: movdqa %xmm1, %xmm2
830 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm2
831 ; SSE2-NEXT: pand %xmm2, %xmm0
832 ; SSE2-NEXT: pandn %xmm1, %xmm2
833 ; SSE2-NEXT: por %xmm0, %xmm2
834 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[2,3,2,3]
835 ; SSE2-NEXT: movdqa %xmm0, %xmm1
836 ; SSE2-NEXT: pcmpgtd %xmm2, %xmm1
837 ; SSE2-NEXT: pand %xmm1, %xmm2
838 ; SSE2-NEXT: pandn %xmm0, %xmm1
839 ; SSE2-NEXT: por %xmm2, %xmm1
840 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
841 ; SSE2-NEXT: movdqa %xmm0, %xmm2
842 ; SSE2-NEXT: pcmpgtd %xmm1, %xmm2
843 ; SSE2-NEXT: pand %xmm2, %xmm1
844 ; SSE2-NEXT: pandn %xmm0, %xmm2
845 ; SSE2-NEXT: por %xmm1, %xmm2
846 ; SSE2-NEXT: movd %xmm2, %eax
847 ; SSE2-NEXT: retq
899 ; SSE2-LABEL: test_v16i32:
900 ; SSE2: # %bb.0:
901 ; SSE2-NEXT: movdqa %xmm2, %xmm4
902 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm4
903 ; SSE2-NEXT: pand %xmm4, %xmm0
904 ; SSE2-NEXT: pandn %xmm2, %xmm4
905 ; SSE2-NEXT: por %xmm0, %xmm4
906 ; SSE2-NEXT: movdqa %xmm3, %xmm0
907 ; SSE2-NEXT: pcmpgtd %xmm1, %xmm0
908 ; SSE2-NEXT: pand %xmm0, %xmm1
909 ; SSE2-NEXT: pandn %xmm3, %xmm0
910 ; SSE2-NEXT: por %xmm1, %xmm0
911 ; SSE2-NEXT: movdqa %xmm0, %xmm1
912 ; SSE2-NEXT: pcmpgtd %xmm4, %xmm1
913 ; SSE2-NEXT: pand %xmm1, %xmm4
914 ; SSE2-NEXT: pandn %xmm0, %xmm1
915 ; SSE2-NEXT: por %xmm4, %xmm1
916 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,2,3]
917 ; SSE2-NEXT: movdqa %xmm0, %xmm2
918 ; SSE2-NEXT: pcmpgtd %xmm1, %xmm2
919 ; SSE2-NEXT: pand %xmm2, %xmm1
920 ; SSE2-NEXT: pandn %xmm0, %xmm2
921 ; SSE2-NEXT: por %xmm1, %xmm2
922 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[1,1,1,1]
923 ; SSE2-NEXT: movdqa %xmm0, %xmm1
924 ; SSE2-NEXT: pcmpgtd %xmm2, %xmm1
925 ; SSE2-NEXT: pand %xmm1, %xmm2
926 ; SSE2-NEXT: pandn %xmm0, %xmm1
927 ; SSE2-NEXT: por %xmm2, %xmm1
928 ; SSE2-NEXT: movd %xmm1, %eax
929 ; SSE2-NEXT: retq
989 ; SSE2-LABEL: test_v32i32:
990 ; SSE2: # %bb.0:
991 ; SSE2-NEXT: movdqa %xmm5, %xmm8
992 ; SSE2-NEXT: pcmpgtd %xmm1, %xmm8
993 ; SSE2-NEXT: pand %xmm8, %xmm1
994 ; SSE2-NEXT: pandn %xmm5, %xmm8
995 ; SSE2-NEXT: por %xmm1, %xmm8
996 ; SSE2-NEXT: movdqa %xmm7, %xmm1
997 ; SSE2-NEXT: pcmpgtd %xmm3, %xmm1
998 ; SSE2-NEXT: pand %xmm1, %xmm3
999 ; SSE2-NEXT: pandn %xmm7, %xmm1
1000 ; SSE2-NEXT: por %xmm3, %xmm1
1001 ; SSE2-NEXT: movdqa %xmm4, %xmm3
1002 ; SSE2-NEXT: pcmpgtd %xmm0, %xmm3
1003 ; SSE2-NEXT: pand %xmm3, %xmm0
1004 ; SSE2-NEXT: pandn %xmm4, %xmm3
1005 ; SSE2-NEXT: por %xmm0, %xmm3
1006 ; SSE2-NEXT: movdqa %xmm6, %xmm0
1007 ; SSE2-NEXT: pcmpgtd %xmm2, %xmm0
1008 ; SSE2-NEXT: pand %xmm0, %xmm2
1009 ; SSE2-NEXT: pandn %xmm6, %xmm0
1010 ; SSE2-NEXT: por %xmm2, %xmm0
1011 ; SSE2-NEXT: movdqa %xmm0, %xmm2
1012 ; SSE2-NEXT: pcmpgtd %xmm3, %xmm2
1013 ; SSE2-NEXT: pand %xmm2, %xmm3
1014 ; SSE2-NEXT: pandn %xmm0, %xmm2
1015 ; SSE2-NEXT: por %xmm3, %xmm2
1016 ; SSE2-NEXT: movdqa %xmm1, %xmm0
1017 ; SSE2-NEXT: pcmpgtd %xmm8, %xmm0
1018 ; SSE2-NEXT: pand %xmm0, %xmm8
1019 ; SSE2-NEXT: pandn %xmm1, %xmm0
1020 ; SSE2-NEXT: por %xmm8, %xmm0
1021 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1022 ; SSE2-NEXT: pcmpgtd %xmm2, %xmm1
1023 ; SSE2-NEXT: pand %xmm1, %xmm2
1024 ; SSE2-NEXT: pandn %xmm0, %xmm1
1025 ; SSE2-NEXT: por %xmm2, %xmm1
1026 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,2,3]
1027 ; SSE2-NEXT: movdqa %xmm0, %xmm2
1028 ; SSE2-NEXT: pcmpgtd %xmm1, %xmm2
1029 ; SSE2-NEXT: pand %xmm2, %xmm1
1030 ; SSE2-NEXT: pandn %xmm0, %xmm2
1031 ; SSE2-NEXT: por %xmm1, %xmm2
1032 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[1,1,1,1]
1033 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1034 ; SSE2-NEXT: pcmpgtd %xmm2, %xmm1
1035 ; SSE2-NEXT: pand %xmm1, %xmm2
1036 ; SSE2-NEXT: pandn %xmm0, %xmm1
1037 ; SSE2-NEXT: por %xmm2, %xmm1
1038 ; SSE2-NEXT: movd %xmm1, %eax
1039 ; SSE2-NEXT: retq
1180 ; SSE2-LABEL: test_v8i16:
1181 ; SSE2: # %bb.0:
1182 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
1183 ; SSE2-NEXT: pminsw %xmm0, %xmm1
1184 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
1185 ; SSE2-NEXT: pminsw %xmm1, %xmm0
1186 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1187 ; SSE2-NEXT: psrld $16, %xmm1
1188 ; SSE2-NEXT: pminsw %xmm0, %xmm1
1189 ; SSE2-NEXT: movd %xmm1, %eax
1190 ; SSE2-NEXT: # kill: def $ax killed $ax killed $eax
1191 ; SSE2-NEXT: retq
1224 ; SSE2-LABEL: test_v16i16:
1225 ; SSE2: # %bb.0:
1226 ; SSE2-NEXT: pminsw %xmm1, %xmm0
1227 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
1228 ; SSE2-NEXT: pminsw %xmm0, %xmm1
1229 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
1230 ; SSE2-NEXT: pminsw %xmm1, %xmm0
1231 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1232 ; SSE2-NEXT: psrld $16, %xmm1
1233 ; SSE2-NEXT: pminsw %xmm0, %xmm1
1234 ; SSE2-NEXT: movd %xmm1, %eax
1235 ; SSE2-NEXT: # kill: def $ax killed $ax killed $eax
1236 ; SSE2-NEXT: retq
1288 ; SSE2-LABEL: test_v32i16:
1289 ; SSE2: # %bb.0:
1290 ; SSE2-NEXT: pminsw %xmm3, %xmm1
1291 ; SSE2-NEXT: pminsw %xmm2, %xmm1
1292 ; SSE2-NEXT: pminsw %xmm0, %xmm1
1293 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,2,3]
1294 ; SSE2-NEXT: pminsw %xmm1, %xmm0
1295 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]
1296 ; SSE2-NEXT: pminsw %xmm0, %xmm1
1297 ; SSE2-NEXT: movdqa %xmm1, %xmm0
1298 ; SSE2-NEXT: psrld $16, %xmm0
1299 ; SSE2-NEXT: pminsw %xmm1, %xmm0
1300 ; SSE2-NEXT: movd %xmm0, %eax
1301 ; SSE2-NEXT: # kill: def $ax killed $ax killed $eax
1302 ; SSE2-NEXT: retq
1362 ; SSE2-LABEL: test_v64i16:
1363 ; SSE2: # %bb.0:
1364 ; SSE2-NEXT: pminsw %xmm6, %xmm2
1365 ; SSE2-NEXT: pminsw %xmm7, %xmm3
1366 ; SSE2-NEXT: pminsw %xmm5, %xmm3
1367 ; SSE2-NEXT: pminsw %xmm1, %xmm3
1368 ; SSE2-NEXT: pminsw %xmm4, %xmm2
1369 ; SSE2-NEXT: pminsw %xmm3, %xmm2
1370 ; SSE2-NEXT: pminsw %xmm0, %xmm2
1371 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[2,3,2,3]
1372 ; SSE2-NEXT: pminsw %xmm2, %xmm0
1373 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]
1374 ; SSE2-NEXT: pminsw %xmm0, %xmm1
1375 ; SSE2-NEXT: movdqa %xmm1, %xmm0
1376 ; SSE2-NEXT: psrld $16, %xmm0
1377 ; SSE2-NEXT: pminsw %xmm1, %xmm0
1378 ; SSE2-NEXT: movd %xmm0, %eax
1379 ; SSE2-NEXT: # kill: def $ax killed $ax killed $eax
1380 ; SSE2-NEXT: retq
1457 ; SSE2-LABEL: test_v2i8:
1458 ; SSE2: # %bb.0:
1459 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1460 ; SSE2-NEXT: psrlw $8, %xmm1
1461 ; SSE2-NEXT: movdqa %xmm1, %xmm2
1462 ; SSE2-NEXT: pcmpgtb %xmm0, %xmm2
1463 ; SSE2-NEXT: pand %xmm2, %xmm0
1464 ; SSE2-NEXT: pandn %xmm1, %xmm2
1465 ; SSE2-NEXT: por %xmm0, %xmm2
1466 ; SSE2-NEXT: movd %xmm2, %eax
1467 ; SSE2-NEXT: # kill: def $al killed $al killed $eax
1468 ; SSE2-NEXT: retq
1499 ; SSE2-LABEL: test_v4i8:
1500 ; SSE2: # %bb.0:
1501 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1502 ; SSE2-NEXT: psrld $16, %xmm1
1503 ; SSE2-NEXT: movdqa %xmm1, %xmm2
1504 ; SSE2-NEXT: pcmpgtb %xmm0, %xmm2
1505 ; SSE2-NEXT: pand %xmm2, %xmm0
1506 ; SSE2-NEXT: pandn %xmm1, %xmm2
1507 ; SSE2-NEXT: por %xmm0, %xmm2
1508 ; SSE2-NEXT: movdqa %xmm2, %xmm0
1509 ; SSE2-NEXT: psrlw $8, %xmm0
1510 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1511 ; SSE2-NEXT: pcmpgtb %xmm2, %xmm1
1512 ; SSE2-NEXT: pand %xmm1, %xmm2
1513 ; SSE2-NEXT: pandn %xmm0, %xmm1
1514 ; SSE2-NEXT: por %xmm2, %xmm1
1515 ; SSE2-NEXT: movd %xmm1, %eax
1516 ; SSE2-NEXT: # kill: def $al killed $al killed $eax
1517 ; SSE2-NEXT: retq
1555 ; SSE2-LABEL: test_v8i8:
1556 ; SSE2: # %bb.0:
1557 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]
1558 ; SSE2-NEXT: movdqa %xmm1, %xmm2
1559 ; SSE2-NEXT: pcmpgtb %xmm0, %xmm2
1560 ; SSE2-NEXT: pand %xmm2, %xmm0
1561 ; SSE2-NEXT: pandn %xmm1, %xmm2
1562 ; SSE2-NEXT: por %xmm0, %xmm2
1563 ; SSE2-NEXT: movdqa %xmm2, %xmm0
1564 ; SSE2-NEXT: psrld $16, %xmm0
1565 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1566 ; SSE2-NEXT: pcmpgtb %xmm2, %xmm1
1567 ; SSE2-NEXT: pand %xmm1, %xmm2
1568 ; SSE2-NEXT: pandn %xmm0, %xmm1
1569 ; SSE2-NEXT: por %xmm2, %xmm1
1570 ; SSE2-NEXT: movdqa %xmm1, %xmm0
1571 ; SSE2-NEXT: psrlw $8, %xmm0
1572 ; SSE2-NEXT: movdqa %xmm0, %xmm2
1573 ; SSE2-NEXT: pcmpgtb %xmm1, %xmm2
1574 ; SSE2-NEXT: pand %xmm2, %xmm1
1575 ; SSE2-NEXT: pandn %xmm0, %xmm2
1576 ; SSE2-NEXT: por %xmm1, %xmm2
1577 ; SSE2-NEXT: movd %xmm2, %eax
1578 ; SSE2-NEXT: # kill: def $al killed $al killed $eax
1579 ; SSE2-NEXT: retq
1623 ; SSE2-LABEL: test_v16i8:
1624 ; SSE2: # %bb.0:
1625 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,2,3]
1626 ; SSE2-NEXT: movdqa %xmm1, %xmm2
1627 ; SSE2-NEXT: pcmpgtb %xmm0, %xmm2
1628 ; SSE2-NEXT: pand %xmm2, %xmm0
1629 ; SSE2-NEXT: pandn %xmm1, %xmm2
1630 ; SSE2-NEXT: por %xmm0, %xmm2
1631 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[1,1,1,1]
1632 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1633 ; SSE2-NEXT: pcmpgtb %xmm2, %xmm1
1634 ; SSE2-NEXT: pand %xmm1, %xmm2
1635 ; SSE2-NEXT: pandn %xmm0, %xmm1
1636 ; SSE2-NEXT: por %xmm2, %xmm1
1637 ; SSE2-NEXT: movdqa %xmm1, %xmm0
1638 ; SSE2-NEXT: psrld $16, %xmm0
1639 ; SSE2-NEXT: movdqa %xmm0, %xmm2
1640 ; SSE2-NEXT: pcmpgtb %xmm1, %xmm2
1641 ; SSE2-NEXT: pand %xmm2, %xmm1
1642 ; SSE2-NEXT: pandn %xmm0, %xmm2
1643 ; SSE2-NEXT: por %xmm1, %xmm2
1644 ; SSE2-NEXT: movdqa %xmm2, %xmm0
1645 ; SSE2-NEXT: psrlw $8, %xmm0
1646 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1647 ; SSE2-NEXT: pcmpgtb %xmm2, %xmm1
1648 ; SSE2-NEXT: pand %xmm1, %xmm2
1649 ; SSE2-NEXT: pandn %xmm0, %xmm1
1650 ; SSE2-NEXT: por %xmm2, %xmm1
1651 ; SSE2-NEXT: movd %xmm1, %eax
1652 ; SSE2-NEXT: # kill: def $al killed $al killed $eax
1653 ; SSE2-NEXT: retq
1693 ; SSE2-LABEL: test_v32i8:
1694 ; SSE2: # %bb.0:
1695 ; SSE2-NEXT: movdqa %xmm1, %xmm2
1696 ; SSE2-NEXT: pcmpgtb %xmm0, %xmm2
1697 ; SSE2-NEXT: pand %xmm2, %xmm0
1698 ; SSE2-NEXT: pandn %xmm1, %xmm2
1699 ; SSE2-NEXT: por %xmm0, %xmm2
1700 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[2,3,2,3]
1701 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1702 ; SSE2-NEXT: pcmpgtb %xmm2, %xmm1
1703 ; SSE2-NEXT: pand %xmm1, %xmm2
1704 ; SSE2-NEXT: pandn %xmm0, %xmm1
1705 ; SSE2-NEXT: por %xmm2, %xmm1
1706 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,1]
1707 ; SSE2-NEXT: movdqa %xmm0, %xmm2
1708 ; SSE2-NEXT: pcmpgtb %xmm1, %xmm2
1709 ; SSE2-NEXT: pand %xmm2, %xmm1
1710 ; SSE2-NEXT: pandn %xmm0, %xmm2
1711 ; SSE2-NEXT: por %xmm1, %xmm2
1712 ; SSE2-NEXT: movdqa %xmm2, %xmm0
1713 ; SSE2-NEXT: psrld $16, %xmm0
1714 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1715 ; SSE2-NEXT: pcmpgtb %xmm2, %xmm1
1716 ; SSE2-NEXT: pand %xmm1, %xmm2
1717 ; SSE2-NEXT: pandn %xmm0, %xmm1
1718 ; SSE2-NEXT: por %xmm2, %xmm1
1719 ; SSE2-NEXT: movdqa %xmm1, %xmm0
1720 ; SSE2-NEXT: psrlw $8, %xmm0
1721 ; SSE2-NEXT: movdqa %xmm0, %xmm2
1722 ; SSE2-NEXT: pcmpgtb %xmm1, %xmm2
1723 ; SSE2-NEXT: pand %xmm2, %xmm1
1724 ; SSE2-NEXT: pandn %xmm0, %xmm2
1725 ; SSE2-NEXT: por %xmm1, %xmm2
1726 ; SSE2-NEXT: movd %xmm2, %eax
1727 ; SSE2-NEXT: # kill: def $al killed $al killed $eax
1728 ; SSE2-NEXT: retq
1789 ; SSE2-LABEL: test_v64i8:
1790 ; SSE2: # %bb.0:
1791 ; SSE2-NEXT: movdqa %xmm2, %xmm4
1792 ; SSE2-NEXT: pcmpgtb %xmm0, %xmm4
1793 ; SSE2-NEXT: pand %xmm4, %xmm0
1794 ; SSE2-NEXT: pandn %xmm2, %xmm4
1795 ; SSE2-NEXT: por %xmm0, %xmm4
1796 ; SSE2-NEXT: movdqa %xmm3, %xmm0
1797 ; SSE2-NEXT: pcmpgtb %xmm1, %xmm0
1798 ; SSE2-NEXT: pand %xmm0, %xmm1
1799 ; SSE2-NEXT: pandn %xmm3, %xmm0
1800 ; SSE2-NEXT: por %xmm1, %xmm0
1801 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1802 ; SSE2-NEXT: pcmpgtb %xmm4, %xmm1
1803 ; SSE2-NEXT: pand %xmm1, %xmm4
1804 ; SSE2-NEXT: pandn %xmm0, %xmm1
1805 ; SSE2-NEXT: por %xmm4, %xmm1
1806 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,2,3]
1807 ; SSE2-NEXT: movdqa %xmm0, %xmm2
1808 ; SSE2-NEXT: pcmpgtb %xmm1, %xmm2
1809 ; SSE2-NEXT: pand %xmm2, %xmm1
1810 ; SSE2-NEXT: pandn %xmm0, %xmm2
1811 ; SSE2-NEXT: por %xmm1, %xmm2
1812 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[1,1,1,1]
1813 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1814 ; SSE2-NEXT: pcmpgtb %xmm2, %xmm1
1815 ; SSE2-NEXT: pand %xmm1, %xmm2
1816 ; SSE2-NEXT: pandn %xmm0, %xmm1
1817 ; SSE2-NEXT: por %xmm2, %xmm1
1818 ; SSE2-NEXT: movdqa %xmm1, %xmm0
1819 ; SSE2-NEXT: psrld $16, %xmm0
1820 ; SSE2-NEXT: movdqa %xmm0, %xmm2
1821 ; SSE2-NEXT: pcmpgtb %xmm1, %xmm2
1822 ; SSE2-NEXT: pand %xmm2, %xmm1
1823 ; SSE2-NEXT: pandn %xmm0, %xmm2
1824 ; SSE2-NEXT: por %xmm1, %xmm2
1825 ; SSE2-NEXT: movdqa %xmm2, %xmm0
1826 ; SSE2-NEXT: psrlw $8, %xmm0
1827 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1828 ; SSE2-NEXT: pcmpgtb %xmm2, %xmm1
1829 ; SSE2-NEXT: pand %xmm1, %xmm2
1830 ; SSE2-NEXT: pandn %xmm0, %xmm1
1831 ; SSE2-NEXT: por %xmm2, %xmm1
1832 ; SSE2-NEXT: movd %xmm1, %eax
1833 ; SSE2-NEXT: # kill: def $al killed $al killed $eax
1834 ; SSE2-NEXT: retq
1903 ; SSE2-LABEL: test_v128i8:
1904 ; SSE2: # %bb.0:
1905 ; SSE2-NEXT: movdqa %xmm5, %xmm8
1906 ; SSE2-NEXT: pcmpgtb %xmm1, %xmm8
1907 ; SSE2-NEXT: pand %xmm8, %xmm1
1908 ; SSE2-NEXT: pandn %xmm5, %xmm8
1909 ; SSE2-NEXT: por %xmm1, %xmm8
1910 ; SSE2-NEXT: movdqa %xmm7, %xmm1
1911 ; SSE2-NEXT: pcmpgtb %xmm3, %xmm1
1912 ; SSE2-NEXT: pand %xmm1, %xmm3
1913 ; SSE2-NEXT: pandn %xmm7, %xmm1
1914 ; SSE2-NEXT: por %xmm3, %xmm1
1915 ; SSE2-NEXT: movdqa %xmm4, %xmm3
1916 ; SSE2-NEXT: pcmpgtb %xmm0, %xmm3
1917 ; SSE2-NEXT: pand %xmm3, %xmm0
1918 ; SSE2-NEXT: pandn %xmm4, %xmm3
1919 ; SSE2-NEXT: por %xmm0, %xmm3
1920 ; SSE2-NEXT: movdqa %xmm6, %xmm0
1921 ; SSE2-NEXT: pcmpgtb %xmm2, %xmm0
1922 ; SSE2-NEXT: pand %xmm0, %xmm2
1923 ; SSE2-NEXT: pandn %xmm6, %xmm0
1924 ; SSE2-NEXT: por %xmm2, %xmm0
1925 ; SSE2-NEXT: movdqa %xmm0, %xmm2
1926 ; SSE2-NEXT: pcmpgtb %xmm3, %xmm2
1927 ; SSE2-NEXT: pand %xmm2, %xmm3
1928 ; SSE2-NEXT: pandn %xmm0, %xmm2
1929 ; SSE2-NEXT: por %xmm3, %xmm2
1930 ; SSE2-NEXT: movdqa %xmm1, %xmm0
1931 ; SSE2-NEXT: pcmpgtb %xmm8, %xmm0
1932 ; SSE2-NEXT: pand %xmm0, %xmm8
1933 ; SSE2-NEXT: pandn %xmm1, %xmm0
1934 ; SSE2-NEXT: por %xmm8, %xmm0
1935 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1936 ; SSE2-NEXT: pcmpgtb %xmm2, %xmm1
1937 ; SSE2-NEXT: pand %xmm1, %xmm2
1938 ; SSE2-NEXT: pandn %xmm0, %xmm1
1939 ; SSE2-NEXT: por %xmm2, %xmm1
1940 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,2,3]
1941 ; SSE2-NEXT: movdqa %xmm0, %xmm2
1942 ; SSE2-NEXT: pcmpgtb %xmm1, %xmm2
1943 ; SSE2-NEXT: pand %xmm2, %xmm1
1944 ; SSE2-NEXT: pandn %xmm0, %xmm2
1945 ; SSE2-NEXT: por %xmm1, %xmm2
1946 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[1,1,1,1]
1947 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1948 ; SSE2-NEXT: pcmpgtb %xmm2, %xmm1
1949 ; SSE2-NEXT: pand %xmm1, %xmm2
1950 ; SSE2-NEXT: pandn %xmm0, %xmm1
1951 ; SSE2-NEXT: por %xmm2, %xmm1
1952 ; SSE2-NEXT: movdqa %xmm1, %xmm0
1953 ; SSE2-NEXT: psrld $16, %xmm0
1954 ; SSE2-NEXT: movdqa %xmm0, %xmm2
1955 ; SSE2-NEXT: pcmpgtb %xmm1, %xmm2
1956 ; SSE2-NEXT: pand %xmm2, %xmm1
1957 ; SSE2-NEXT: pandn %xmm0, %xmm2
1958 ; SSE2-NEXT: por %xmm1, %xmm2
1959 ; SSE2-NEXT: movdqa %xmm2, %xmm0
1960 ; SSE2-NEXT: psrlw $8, %xmm0
1961 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1962 ; SSE2-NEXT: pcmpgtb %xmm2, %xmm1
1963 ; SSE2-NEXT: pand %xmm1, %xmm2
1964 ; SSE2-NEXT: pandn %xmm0, %xmm1
1965 ; SSE2-NEXT: por %xmm2, %xmm1
1966 ; SSE2-NEXT: movd %xmm1, %eax
1967 ; SSE2-NEXT: # kill: def $al killed $al killed $eax
1968 ; SSE2-NEXT: retq