Lines Matching full:xmm1
20 ; SSE2-NEXT: psubq %xmm1, %xmm2
21 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm1[2,3,0,1]
25 ; SSE2-NEXT: psllq %xmm1, %xmm3
28 ; SSE2-NEXT: movdqa %xmm0, %xmm1
29 ; SSE2-NEXT: psrlq %xmm3, %xmm1
31 ; SSE2-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
32 ; SSE2-NEXT: orpd %xmm4, %xmm1
33 ; SSE2-NEXT: movapd %xmm1, %xmm0
39 ; SSE41-NEXT: psubq %xmm1, %xmm2
41 ; SSE41-NEXT: psllq %xmm1, %xmm3
42 ; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
44 ; SSE41-NEXT: psllq %xmm1, %xmm4
46 ; SSE41-NEXT: movdqa %xmm0, %xmm1
47 ; SSE41-NEXT: psrlq %xmm2, %xmm1
50 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]
57 ; AVX1-NEXT: vpsubq %xmm1, %xmm2, %xmm2
58 ; AVX1-NEXT: vpsllq %xmm1, %xmm0, %xmm3
59 ; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
60 ; AVX1-NEXT: vpsllq %xmm1, %xmm0, %xmm1
61 ; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm3[0,1,2,3],xmm1[4,5,6,7]
66 ; AVX1-NEXT: vpor %xmm0, %xmm1, %xmm0
72 ; AVX2-NEXT: vpsubq %xmm1, %xmm2, %xmm2
73 ; AVX2-NEXT: vpsllvq %xmm1, %xmm0, %xmm1
75 ; AVX2-NEXT: vpor %xmm0, %xmm1, %xmm0
80 ; XOP-NEXT: vprotq %xmm1, %xmm0, %xmm0
86 ; X32-SSE-NEXT: psubq %xmm1, %xmm2
87 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm3 = xmm1[2,3,0,1]
90 ; X32-SSE-NEXT: movq {{.*#+}} xmm1 = xmm1[0],zero
92 ; X32-SSE-NEXT: psllq %xmm1, %xmm3
95 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
96 ; X32-SSE-NEXT: psrlq %xmm3, %xmm1
99 ; X32-SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
100 ; X32-SSE-NEXT: orpd %xmm4, %xmm1
101 ; X32-SSE-NEXT: movapd %xmm1, %xmm0
114 ; SSE2-NEXT: psubd %xmm1, %xmm2
115 ; SSE2-NEXT: pslld $23, %xmm1
116 ; SSE2-NEXT: paddd {{.*}}(%rip), %xmm1
117 ; SSE2-NEXT: cvttps2dq %xmm1, %xmm1
118 ; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm1[1,1,3,3]
119 ; SSE2-NEXT: pmuludq %xmm0, %xmm1
120 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
124 ; SSE2-NEXT: punpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
145 ; SSE2-NEXT: por %xmm1, %xmm0
151 ; SSE41-NEXT: psubd %xmm1, %xmm2
152 ; SSE41-NEXT: pslld $23, %xmm1
153 ; SSE41-NEXT: paddd {{.*}}(%rip), %xmm1
154 ; SSE41-NEXT: cvttps2dq %xmm1, %xmm1
155 ; SSE41-NEXT: pmulld %xmm0, %xmm1
173 ; SSE41-NEXT: por %xmm1, %xmm0
179 ; AVX1-NEXT: vpsubd %xmm1, %xmm2, %xmm2
180 ; AVX1-NEXT: vpslld $23, %xmm1, %xmm1
181 ; AVX1-NEXT: vpaddd {{.*}}(%rip), %xmm1, %xmm1
182 ; AVX1-NEXT: vcvttps2dq %xmm1, %xmm1
183 ; AVX1-NEXT: vpmulld %xmm0, %xmm1, %xmm1
196 ; AVX1-NEXT: vpor %xmm0, %xmm1, %xmm0
202 ; AVX2-NEXT: vpsubd %xmm1, %xmm2, %xmm2
203 ; AVX2-NEXT: vpsllvd %xmm1, %xmm0, %xmm1
205 ; AVX2-NEXT: vpor %xmm0, %xmm1, %xmm0
210 ; XOP-NEXT: vprotd %xmm1, %xmm0, %xmm0
216 ; X32-SSE-NEXT: psubd %xmm1, %xmm2
217 ; X32-SSE-NEXT: pslld $23, %xmm1
218 ; X32-SSE-NEXT: paddd .LCPI1_1, %xmm1
219 ; X32-SSE-NEXT: cvttps2dq %xmm1, %xmm1
220 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm3 = xmm1[1,1,3,3]
221 ; X32-SSE-NEXT: pmuludq %xmm0, %xmm1
222 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
226 ; X32-SSE-NEXT: punpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
247 ; X32-SSE-NEXT: por %xmm1, %xmm0
260 ; SSE2-NEXT: psubw %xmm1, %xmm3
261 ; SSE2-NEXT: psllw $12, %xmm1
262 ; SSE2-NEXT: movdqa %xmm1, %xmm2
269 ; SSE2-NEXT: paddw %xmm1, %xmm1
270 ; SSE2-NEXT: movdqa %xmm1, %xmm4
277 ; SSE2-NEXT: paddw %xmm1, %xmm1
278 ; SSE2-NEXT: movdqa %xmm1, %xmm4
285 ; SSE2-NEXT: paddw %xmm1, %xmm1
286 ; SSE2-NEXT: psraw $15, %xmm1
287 ; SSE2-NEXT: movdqa %xmm1, %xmm4
290 ; SSE2-NEXT: pand %xmm1, %xmm2
292 ; SSE2-NEXT: movdqa %xmm3, %xmm1
293 ; SSE2-NEXT: psraw $15, %xmm1
294 ; SSE2-NEXT: movdqa %xmm1, %xmm5
297 ; SSE2-NEXT: pand %xmm1, %xmm0
300 ; SSE2-NEXT: movdqa %xmm3, %xmm1
301 ; SSE2-NEXT: psraw $15, %xmm1
302 ; SSE2-NEXT: movdqa %xmm1, %xmm5
305 ; SSE2-NEXT: pand %xmm1, %xmm0
308 ; SSE2-NEXT: movdqa %xmm3, %xmm1
309 ; SSE2-NEXT: psraw $15, %xmm1
310 ; SSE2-NEXT: movdqa %xmm1, %xmm5
313 ; SSE2-NEXT: pand %xmm1, %xmm0
317 ; SSE2-NEXT: movdqa %xmm3, %xmm1
318 ; SSE2-NEXT: pandn %xmm0, %xmm1
321 ; SSE2-NEXT: por %xmm1, %xmm0
330 ; SSE41-NEXT: psubw %xmm1, %xmm2
331 ; SSE41-NEXT: movdqa %xmm1, %xmm0
333 ; SSE41-NEXT: psllw $4, %xmm1
334 ; SSE41-NEXT: por %xmm0, %xmm1
335 ; SSE41-NEXT: movdqa %xmm1, %xmm4
340 ; SSE41-NEXT: movdqa %xmm1, %xmm0
342 ; SSE41-NEXT: movdqa %xmm5, %xmm1
343 ; SSE41-NEXT: psllw $4, %xmm1
345 ; SSE41-NEXT: pblendvb %xmm1, %xmm5
346 ; SSE41-NEXT: movdqa %xmm5, %xmm1
347 ; SSE41-NEXT: psllw $2, %xmm1
350 ; SSE41-NEXT: pblendvb %xmm1, %xmm5
351 ; SSE41-NEXT: movdqa %xmm5, %xmm1
352 ; SSE41-NEXT: psllw $1, %xmm1
355 ; SSE41-NEXT: pblendvb %xmm1, %xmm5
360 ; SSE41-NEXT: movdqa %xmm2, %xmm1
361 ; SSE41-NEXT: paddw %xmm1, %xmm1
368 ; SSE41-NEXT: movdqa %xmm1, %xmm0
372 ; SSE41-NEXT: paddw %xmm1, %xmm1
373 ; SSE41-NEXT: movdqa %xmm1, %xmm0
377 ; SSE41-NEXT: paddw %xmm1, %xmm1
378 ; SSE41-NEXT: movdqa %xmm1, %xmm0
387 ; AVX1-NEXT: vpsubw %xmm1, %xmm2, %xmm2
388 ; AVX1-NEXT: vpsllw $12, %xmm1, %xmm3
389 ; AVX1-NEXT: vpsllw $4, %xmm1, %xmm1
390 ; AVX1-NEXT: vpor %xmm3, %xmm1, %xmm1
391 ; AVX1-NEXT: vpaddw %xmm1, %xmm1, %xmm3
393 ; AVX1-NEXT: vpblendvb %xmm1, %xmm4, %xmm0, %xmm1
394 ; AVX1-NEXT: vpsllw $4, %xmm1, %xmm4
395 ; AVX1-NEXT: vpblendvb %xmm3, %xmm4, %xmm1, %xmm1
396 ; AVX1-NEXT: vpsllw $2, %xmm1, %xmm4
398 ; AVX1-NEXT: vpblendvb %xmm3, %xmm4, %xmm1, %xmm1
399 ; AVX1-NEXT: vpsllw $1, %xmm1, %xmm4
401 ; AVX1-NEXT: vpblendvb %xmm3, %xmm4, %xmm1, %xmm1
416 ; AVX1-NEXT: vpor %xmm0, %xmm1, %xmm0
422 ; AVX2-NEXT: vpsubw %xmm1, %xmm2, %xmm2
423 ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm1 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xmm1[4],zero,xmm1[5],zero,xmm1[6],zero,xmm1[7],zero
433 ; AVX2-NEXT: vpor %xmm0, %xmm1, %xmm0
439 ; XOP-NEXT: vprotw %xmm1, %xmm0, %xmm0
445 ; X32-SSE-NEXT: psubw %xmm1, %xmm3
446 ; X32-SSE-NEXT: psllw $12, %xmm1
447 ; X32-SSE-NEXT: movdqa %xmm1, %xmm2
454 ; X32-SSE-NEXT: paddw %xmm1, %xmm1
455 ; X32-SSE-NEXT: movdqa %xmm1, %xmm4
462 ; X32-SSE-NEXT: paddw %xmm1, %xmm1
463 ; X32-SSE-NEXT: movdqa %xmm1, %xmm4
470 ; X32-SSE-NEXT: paddw %xmm1, %xmm1
471 ; X32-SSE-NEXT: psraw $15, %xmm1
472 ; X32-SSE-NEXT: movdqa %xmm1, %xmm4
475 ; X32-SSE-NEXT: pand %xmm1, %xmm2
477 ; X32-SSE-NEXT: movdqa %xmm3, %xmm1
478 ; X32-SSE-NEXT: psraw $15, %xmm1
479 ; X32-SSE-NEXT: movdqa %xmm1, %xmm5
482 ; X32-SSE-NEXT: pand %xmm1, %xmm0
485 ; X32-SSE-NEXT: movdqa %xmm3, %xmm1
486 ; X32-SSE-NEXT: psraw $15, %xmm1
487 ; X32-SSE-NEXT: movdqa %xmm1, %xmm5
490 ; X32-SSE-NEXT: pand %xmm1, %xmm0
493 ; X32-SSE-NEXT: movdqa %xmm3, %xmm1
494 ; X32-SSE-NEXT: psraw $15, %xmm1
495 ; X32-SSE-NEXT: movdqa %xmm1, %xmm5
498 ; X32-SSE-NEXT: pand %xmm1, %xmm0
502 ; X32-SSE-NEXT: movdqa %xmm3, %xmm1
503 ; X32-SSE-NEXT: pandn %xmm0, %xmm1
506 ; X32-SSE-NEXT: por %xmm1, %xmm0
521 ; SSE2-NEXT: psubb %xmm1, %xmm4
522 ; SSE2-NEXT: psllw $5, %xmm1
525 ; SSE2-NEXT: pcmpgtb %xmm1, %xmm2
532 ; SSE2-NEXT: paddb %xmm1, %xmm1
534 ; SSE2-NEXT: pcmpgtb %xmm1, %xmm5
541 ; SSE2-NEXT: paddb %xmm1, %xmm1
543 ; SSE2-NEXT: pcmpgtb %xmm1, %xmm5
544 ; SSE2-NEXT: movdqa %xmm5, %xmm1
545 ; SSE2-NEXT: pandn %xmm2, %xmm1
574 ; SSE2-NEXT: por %xmm1, %xmm0
580 ; SSE41-NEXT: movdqa %xmm1, %xmm3
581 ; SSE41-NEXT: movdqa %xmm0, %xmm1
585 ; SSE41-NEXT: movdqa %xmm1, %xmm5
588 ; SSE41-NEXT: movdqa %xmm1, %xmm4
605 ; SSE41-NEXT: movdqa %xmm1, %xmm5
609 ; SSE41-NEXT: pblendvb %xmm5, %xmm1
610 ; SSE41-NEXT: movdqa %xmm1, %xmm2
614 ; SSE41-NEXT: pblendvb %xmm2, %xmm1
615 ; SSE41-NEXT: movdqa %xmm1, %xmm2
620 ; SSE41-NEXT: pblendvb %xmm2, %xmm1
621 ; SSE41-NEXT: por %xmm4, %xmm1
622 ; SSE41-NEXT: movdqa %xmm1, %xmm0
628 ; AVX-NEXT: vpsubb %xmm1, %xmm2, %xmm2
629 ; AVX-NEXT: vpsllw $5, %xmm1, %xmm1
632 ; AVX-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm3
635 ; AVX-NEXT: vpaddb %xmm1, %xmm1, %xmm1
636 ; AVX-NEXT: vpblendvb %xmm1, %xmm4, %xmm3, %xmm3
638 ; AVX-NEXT: vpaddb %xmm1, %xmm1, %xmm1
639 ; AVX-NEXT: vpblendvb %xmm1, %xmm4, %xmm3, %xmm1
652 ; AVX-NEXT: vpor %xmm0, %xmm1, %xmm0
657 ; XOP-NEXT: vprotb %xmm1, %xmm0, %xmm0
663 ; X32-SSE-NEXT: psubb %xmm1, %xmm4
664 ; X32-SSE-NEXT: psllw $5, %xmm1
667 ; X32-SSE-NEXT: pcmpgtb %xmm1, %xmm2
674 ; X32-SSE-NEXT: paddb %xmm1, %xmm1
676 ; X32-SSE-NEXT: pcmpgtb %xmm1, %xmm5
683 ; X32-SSE-NEXT: paddb %xmm1, %xmm1
685 ; X32-SSE-NEXT: pcmpgtb %xmm1, %xmm5
686 ; X32-SSE-NEXT: movdqa %xmm5, %xmm1
687 ; X32-SSE-NEXT: pandn %xmm2, %xmm1
716 ; X32-SSE-NEXT: por %xmm1, %xmm0
735 ; SSE2-NEXT: movdqa %xmm0, %xmm1
736 ; SSE2-NEXT: psllq $4, %xmm1
737 ; SSE2-NEXT: movsd {{.*#+}} xmm2 = xmm1[0],xmm2[1]
738 ; SSE2-NEXT: movdqa %xmm0, %xmm1
739 ; SSE2-NEXT: psrlq $50, %xmm1
741 ; SSE2-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
742 ; SSE2-NEXT: orpd %xmm2, %xmm1
743 ; SSE2-NEXT: movapd %xmm1, %xmm0
748 ; SSE41-NEXT: movdqa %xmm0, %xmm1
749 ; SSE41-NEXT: psllq $14, %xmm1
752 ; SSE41-NEXT: pblendw {{.*#+}} xmm2 = xmm2[0,1,2,3],xmm1[4,5,6,7]
753 ; SSE41-NEXT: movdqa %xmm0, %xmm1
754 ; SSE41-NEXT: psrlq $50, %xmm1
756 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]
762 ; AVX1-NEXT: vpsllq $14, %xmm0, %xmm1
764 ; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3],xmm1[4,5,6,7]
768 ; AVX1-NEXT: vpor %xmm0, %xmm1, %xmm0
773 ; AVX2-NEXT: vpsllvq {{.*}}(%rip), %xmm0, %xmm1
775 ; AVX2-NEXT: vpor %xmm0, %xmm1, %xmm0
780 ; XOPAVX1-NEXT: vpshlq {{.*}}(%rip), %xmm0, %xmm1
784 ; XOPAVX1-NEXT: vpor %xmm0, %xmm1, %xmm0
789 ; XOPAVX2-NEXT: vpsllvq {{.*}}(%rip), %xmm0, %xmm1
791 ; XOPAVX2-NEXT: vpor %xmm0, %xmm1, %xmm0
798 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
799 ; X32-SSE-NEXT: psllq $4, %xmm1
800 ; X32-SSE-NEXT: movsd {{.*#+}} xmm2 = xmm1[0],xmm2[1]
801 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
802 ; X32-SSE-NEXT: psrlq $50, %xmm1
804 ; X32-SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
805 ; X32-SSE-NEXT: orpd %xmm2, %xmm1
806 ; X32-SSE-NEXT: movapd %xmm1, %xmm0
817 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [16,32,64,128]
819 ; SSE2-NEXT: pmuludq %xmm1, %xmm2
821 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm1[1,1,3,3]
823 ; SSE2-NEXT: pmuludq %xmm1, %xmm3
824 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm3[0,2,2,3]
825 ; SSE2-NEXT: punpckldq {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
826 ; SSE2-NEXT: movdqa %xmm0, %xmm1
827 ; SSE2-NEXT: psrld $25, %xmm1
830 ; SSE2-NEXT: movsd {{.*#+}} xmm1 = xmm3[0],xmm1[1]
831 ; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm1[1,3,2,3]
837 xmm1[0],xmm0[1],xmm1[1]
843 ; SSE41-NEXT: movdqa {{.*#+}} xmm1 = [16,32,64,128]
844 ; SSE41-NEXT: pmulld %xmm0, %xmm1
855 ; SSE41-NEXT: por %xmm1, %xmm0
860 ; AVX1-NEXT: vpmulld {{.*}}(%rip), %xmm0, %xmm1
868 ; AVX1-NEXT: vpor %xmm0, %xmm1, %xmm0
873 ; AVX2-NEXT: vpsllvd {{.*}}(%rip), %xmm0, %xmm1
875 ; AVX2-NEXT: vpor %xmm0, %xmm1, %xmm0
880 ; XOPAVX1-NEXT: vpshld {{.*}}(%rip), %xmm0, %xmm1
882 ; XOPAVX1-NEXT: vpor %xmm0, %xmm1, %xmm0
887 ; XOPAVX2-NEXT: vpsllvd {{.*}}(%rip), %xmm0, %xmm1
889 ; XOPAVX2-NEXT: vpor %xmm0, %xmm1, %xmm0
894 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm1 = [16,32,64,128]
896 ; X32-SSE-NEXT: pmuludq %xmm1, %xmm2
898 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[1,1,3,3]
900 ; X32-SSE-NEXT: pmuludq %xmm1, %xmm3
901 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm3[0,2,2,3]
902 ; X32-SSE-NEXT: punpckldq {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
903 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
904 ; X32-SSE-NEXT: psrld $25, %xmm1
907 ; X32-SSE-NEXT: movsd {{.*#+}} xmm1 = xmm3[0],xmm1[1]
908 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[1,3,2,3]
914 ; X32-SSE-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
928 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [0,65535,65535,65535,65535,65535,65535,65535]
929 ; SSE2-NEXT: movdqa %xmm1, %xmm3
932 ; SSE2-NEXT: pand %xmm1, %xmm0
934 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [0,65535,65535,65535,65535,0,0,0]
935 ; SSE2-NEXT: movdqa %xmm1, %xmm3
938 ; SSE2-NEXT: pand %xmm1, %xmm0
940 ; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [0,65535,65535,0,0,65535,65535,0]
941 ; SSE2-NEXT: movdqa %xmm1, %xmm3
944 ; SSE2-NEXT: pand %xmm1, %xmm0
947 ; SSE2-NEXT: movdqa %xmm0, %xmm1
948 ; SSE2-NEXT: pand %xmm3, %xmm1
952 ; SSE2-NEXT: por %xmm3, %xmm1
953 ; SSE2-NEXT: movdqa %xmm1, %xmm0
958 ; SSE41-NEXT: movdqa %xmm0, %xmm1
960 ; SSE41-NEXT: pmullw %xmm1, %xmm2
961 ; SSE41-NEXT: movdqa %xmm1, %xmm3
964 ; SSE41-NEXT: pblendvb %xmm3, %xmm1
965 ; SSE41-NEXT: movdqa %xmm1, %xmm3
968 ; SSE41-NEXT: pblendvb %xmm3, %xmm1
969 ; SSE41-NEXT: movdqa %xmm1, %xmm3
972 ; SSE41-NEXT: pblendvb %xmm3, %xmm1
973 ; SSE41-NEXT: movdqa %xmm1, %xmm3
976 ; SSE41-NEXT: pblendvb %xmm3, %xmm1
977 ; SSE41-NEXT: por %xmm2, %xmm1
978 ; SSE41-NEXT: movdqa %xmm1, %xmm0
983 ; AVX1-NEXT: vpmullw {{.*}}(%rip), %xmm0, %xmm1
996 ; AVX1-NEXT: vpor %xmm0, %xmm1, %xmm0
1001 ; AVX2-NEXT: vpmullw {{.*}}(%rip), %xmm0, %xmm1
1007 ; AVX2-NEXT: vpor %xmm0, %xmm1, %xmm0
1013 ; XOP-NEXT: vpshlw {{.*}}(%rip), %xmm0, %xmm1
1017 ; XOP-NEXT: vpor %xmm0, %xmm1, %xmm0
1024 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm1 = [0,65535,65535,65535,65535,65535,65535,65535]
1025 ; X32-SSE-NEXT: movdqa %xmm1, %xmm3
1028 ; X32-SSE-NEXT: pand %xmm1, %xmm0
1030 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm1 = [0,65535,65535,65535,65535,0,0,0]
1031 ; X32-SSE-NEXT: movdqa %xmm1, %xmm3
1034 ; X32-SSE-NEXT: pand %xmm1, %xmm0
1036 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm1 = [0,65535,65535,0,0,65535,65535,0]
1037 ; X32-SSE-NEXT: movdqa %xmm1, %xmm3
1040 ; X32-SSE-NEXT: pand %xmm1, %xmm0
1043 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
1044 ; X32-SSE-NEXT: pand %xmm3, %xmm1
1048 ; X32-SSE-NEXT: por %xmm3, %xmm1
1049 ; X32-SSE-NEXT: movdqa %xmm1, %xmm0
1063 ; SSE2-NEXT: pxor %xmm1, %xmm1
1064 ; SSE2-NEXT: pcmpgtb %xmm3, %xmm1
1068 ; SSE2-NEXT: pand %xmm1, %xmm4
1069 ; SSE2-NEXT: pandn %xmm0, %xmm1
1070 ; SSE2-NEXT: por %xmm4, %xmm1
1075 ; SSE2-NEXT: pandn %xmm1, %xmm5
1076 ; SSE2-NEXT: psllw $2, %xmm1
1077 ; SSE2-NEXT: pand {{.*}}(%rip), %xmm1
1078 ; SSE2-NEXT: pand %xmm4, %xmm1
1079 ; SSE2-NEXT: por %xmm5, %xmm1
1084 ; SSE2-NEXT: pandn %xmm1, %xmm3
1085 ; SSE2-NEXT: paddb %xmm1, %xmm1
1086 ; SSE2-NEXT: pand %xmm4, %xmm1
1115 ; SSE2-NEXT: por %xmm1, %xmm0
1120 ; SSE41-NEXT: movdqa %xmm0, %xmm1
1123 ; SSE41-NEXT: movdqa %xmm1, %xmm3
1126 ; SSE41-NEXT: movdqa %xmm1, %xmm2
1139 ; SSE41-NEXT: movdqa %xmm1, %xmm3
1142 ; SSE41-NEXT: pblendvb %xmm3, %xmm1
1143 ; SSE41-NEXT: movdqa %xmm1, %xmm3
1147 ; SSE41-NEXT: pblendvb %xmm3, %xmm1
1148 ; SSE41-NEXT: movdqa %xmm1, %xmm3
1152 ; SSE41-NEXT: pblendvb %xmm3, %xmm1
1153 ; SSE41-NEXT: por %xmm2, %xmm1
1154 ; SSE41-NEXT: movdqa %xmm1, %xmm0
1159 ; AVX-NEXT: vmovdqa {{.*#+}} xmm1 = [0,1,2,3,4,5,6,7,8,7,6,5,4,3,2,1]
1160 ; AVX-NEXT: vpsllw $5, %xmm1, %xmm1
1163 ; AVX-NEXT: vpblendvb %xmm1, %xmm2, %xmm0, %xmm2
1166 ; AVX-NEXT: vpaddb %xmm1, %xmm1, %xmm1
1167 ; AVX-NEXT: vpblendvb %xmm1, %xmm3, %xmm2, %xmm2
1169 ; AVX-NEXT: vpaddb %xmm1, %xmm1, %xmm1
1170 ; AVX-NEXT: vpblendvb %xmm1, %xmm3, %xmm2, %xmm1
1184 ; AVX-NEXT: vpor %xmm0, %xmm1, %xmm0
1189 ; XOP-NEXT: vpshlb {{.*}}(%rip), %xmm0, %xmm1
1193 ; XOP-NEXT: vpor %xmm0, %xmm1, %xmm0
1201 ; X32-SSE-NEXT: pxor %xmm1, %xmm1
1202 ; X32-SSE-NEXT: pcmpgtb %xmm3, %xmm1
1206 ; X32-SSE-NEXT: pand %xmm1, %xmm4
1207 ; X32-SSE-NEXT: pandn %xmm0, %xmm1
1208 ; X32-SSE-NEXT: por %xmm4, %xmm1
1213 ; X32-SSE-NEXT: pandn %xmm1, %xmm5
1214 ; X32-SSE-NEXT: psllw $2, %xmm1
1215 ; X32-SSE-NEXT: pand .LCPI7_2, %xmm1
1216 ; X32-SSE-NEXT: pand %xmm4, %xmm1
1217 ; X32-SSE-NEXT: por %xmm5, %xmm1
1222 ; X32-SSE-NEXT: pandn %xmm1, %xmm3
1223 ; X32-SSE-NEXT: paddb %xmm1, %xmm1
1224 ; X32-SSE-NEXT: pand %xmm4, %xmm1
1253 ; X32-SSE-NEXT: por %xmm1, %xmm0
1268 ; SSE-NEXT: movdqa %xmm0, %xmm1
1269 ; SSE-NEXT: psllq $14, %xmm1
1271 ; SSE-NEXT: por %xmm1, %xmm0
1276 ; AVX-NEXT: vpsllq $14, %xmm0, %xmm1
1278 ; AVX-NEXT: vpor %xmm0, %xmm1, %xmm0
1288 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
1289 ; X32-SSE-NEXT: psllq $14, %xmm1
1291 ; X32-SSE-NEXT: por %xmm1, %xmm0
1302 ; SSE-NEXT: movdqa %xmm0, %xmm1
1303 ; SSE-NEXT: pslld $4, %xmm1
1305 ; SSE-NEXT: por %xmm1, %xmm0
1310 ; AVX-NEXT: vpslld $4, %xmm0, %xmm1
1312 ; AVX-NEXT: vpor %xmm0, %xmm1, %xmm0
1322 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
1323 ; X32-SSE-NEXT: pslld $4, %xmm1
1325 ; X32-SSE-NEXT: por %xmm1, %xmm0
1336 ; SSE-NEXT: movdqa %xmm0, %xmm1
1337 ; SSE-NEXT: psllw $7, %xmm1
1339 ; SSE-NEXT: por %xmm1, %xmm0
1344 ; AVX-NEXT: vpsllw $7, %xmm0, %xmm1
1346 ; AVX-NEXT: vpor %xmm0, %xmm1, %xmm0
1356 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
1357 ; X32-SSE-NEXT: psllw $7, %xmm1
1359 ; X32-SSE-NEXT: por %xmm1, %xmm0
1370 ; SSE-NEXT: movdqa %xmm0, %xmm1
1371 ; SSE-NEXT: psllw $4, %xmm1
1372 ; SSE-NEXT: pand {{.*}}(%rip), %xmm1
1375 ; SSE-NEXT: por %xmm1, %xmm0
1380 ; AVX-NEXT: vpsllw $4, %xmm0, %xmm1
1381 ; AVX-NEXT: vpand {{.*}}(%rip), %xmm1, %xmm1
1384 ; AVX-NEXT: vpor %xmm0, %xmm1, %xmm0
1394 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
1395 ; X32-SSE-NEXT: psllw $4, %xmm1
1396 ; X32-SSE-NEXT: pand .LCPI11_0, %xmm1
1399 ; X32-SSE-NEXT: por %xmm1, %xmm0
1414 ; SSE-NEXT: movdqa %xmm0, %xmm1
1415 ; SSE-NEXT: psllq $15, %xmm1
1418 ; SSE-NEXT: pand {{.*}}(%rip), %xmm1
1419 ; SSE-NEXT: por %xmm0, %xmm1
1420 ; SSE-NEXT: movdqa %xmm1, %xmm0
1425 ; AVX-NEXT: vpsllq $15, %xmm0, %xmm1
1428 ; AVX-NEXT: vpand {{.*}}(%rip), %xmm1, %xmm1
1429 ; AVX-NEXT: vpor %xmm0, %xmm1, %xmm0
1440 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
1441 ; X32-SSE-NEXT: psllq $15, %xmm1
1444 ; X32-SSE-NEXT: pand .LCPI12_1, %xmm1
1445 ; X32-SSE-NEXT: por %xmm0, %xmm1
1446 ; X32-SSE-NEXT: movdqa %xmm1, %xmm0
1459 ; SSE-NEXT: movdqa %xmm0, %xmm1
1460 ; SSE-NEXT: pslld $4, %xmm1
1463 ; SSE-NEXT: pand {{.*}}(%rip), %xmm1
1464 ; SSE-NEXT: por %xmm0, %xmm1
1465 ; SSE-NEXT: movdqa %xmm1, %xmm0
1470 ; AVX-NEXT: vpslld $4, %xmm0, %xmm1
1473 ; AVX-NEXT: vpand {{.*}}(%rip), %xmm1, %xmm1
1474 ; AVX-NEXT: vpor %xmm0, %xmm1, %xmm0
1485 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
1486 ; X32-SSE-NEXT: pslld $4, %xmm1
1489 ; X32-SSE-NEXT: pand .LCPI13_1, %xmm1
1490 ; X32-SSE-NEXT: por %xmm0, %xmm1
1491 ; X32-SSE-NEXT: movdqa %xmm1, %xmm0
1504 ; SSE-NEXT: movdqa %xmm0, %xmm1
1505 ; SSE-NEXT: psllw $5, %xmm1
1508 ; SSE-NEXT: pand {{.*}}(%rip), %xmm1
1509 ; SSE-NEXT: por %xmm0, %xmm1
1510 ; SSE-NEXT: movdqa %xmm1, %xmm0
1515 ; AVX-NEXT: vpsllw $5, %xmm0, %xmm1
1518 ; AVX-NEXT: vpand {{.*}}(%rip), %xmm1, %xmm1
1519 ; AVX-NEXT: vpor %xmm0, %xmm1, %xmm0
1530 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
1531 ; X32-SSE-NEXT: psllw $5, %xmm1
1534 ; X32-SSE-NEXT: pand .LCPI14_1, %xmm1
1535 ; X32-SSE-NEXT: por %xmm0, %xmm1
1536 ; X32-SSE-NEXT: movdqa %xmm1, %xmm0
1549 ; SSE-NEXT: movdqa %xmm0, %xmm1
1550 ; SSE-NEXT: psllw $4, %xmm1
1551 ; SSE-NEXT: pand {{.*}}(%rip), %xmm1
1555 ; SSE-NEXT: pand {{.*}}(%rip), %xmm1
1556 ; SSE-NEXT: por %xmm0, %xmm1
1557 ; SSE-NEXT: movdqa %xmm1, %xmm0
1562 ; AVX-NEXT: vpsllw $4, %xmm0, %xmm1
1563 ; AVX-NEXT: vpand {{.*}}(%rip), %xmm1, %xmm1
1567 ; AVX-NEXT: vpand {{.*}}(%rip), %xmm1, %xmm1
1568 ; AVX-NEXT: vpor %xmm0, %xmm1, %xmm0
1579 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
1580 ; X32-SSE-NEXT: psllw $4, %xmm1
1581 ; X32-SSE-NEXT: pand .LCPI15_0, %xmm1
1585 ; X32-SSE-NEXT: pand .LCPI15_3, %xmm1
1586 ; X32-SSE-NEXT: por %xmm0, %xmm1
1587 ; X32-SSE-NEXT: movdqa %xmm1, %xmm0