• Home
  • Raw
  • Download

Lines Matching refs:xmm0

27 ; SSE2-NEXT:    movdqa %xmm0, %xmm2
29 ; SSE2-NEXT: psrlq %xmm1, %xmm0
30 ; SSE2-NEXT: movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]
33 ; SSE2-NEXT: movdqa %xmm2, %xmm0
44 ; SSE41-NEXT: movdqa %xmm0, %xmm3
46 ; SSE41-NEXT: psrlq %xmm4, %xmm0
47 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm3[0,1,2,3],xmm0[4,5,6,7]
48 ; SSE41-NEXT: pxor %xmm2, %xmm0
49 ; SSE41-NEXT: psubq %xmm2, %xmm0
59 ; AVX1-NEXT: vpsrlq %xmm1, %xmm0, %xmm1
60 ; AVX1-NEXT: vpsrlq %xmm4, %xmm0, %xmm0
61 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]
62 ; AVX1-NEXT: vpxor %xmm2, %xmm0, %xmm0
63 ; AVX1-NEXT: vpsubq %xmm2, %xmm0, %xmm0
70 ; AVX2-NEXT: vpxor %xmm2, %xmm0, %xmm0
71 ; AVX2-NEXT: vpsrlvq %xmm1, %xmm0, %xmm0
72 ; AVX2-NEXT: vpsubq %xmm3, %xmm0, %xmm0
79 ; XOP-NEXT: vpshaq %xmm1, %xmm0, %xmm0
86 ; AVX512-NEXT: vpxor %xmm2, %xmm0, %xmm0
87 ; AVX512-NEXT: vpsrlvq %xmm1, %xmm0, %xmm0
88 ; AVX512-NEXT: vpsubq %xmm3, %xmm0, %xmm0
100 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
102 ; X32-SSE-NEXT: psrlq %xmm5, %xmm0
103 ; X32-SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
106 ; X32-SSE-NEXT: movdqa %xmm1, %xmm0
117 ; SSE2-NEXT: movdqa %xmm0, %xmm3
121 ; SSE2-NEXT: movdqa %xmm0, %xmm4
128 ; SSE2-NEXT: movdqa %xmm0, %xmm5
131 ; SSE2-NEXT: psrad %xmm1, %xmm0
132 ; SSE2-NEXT: movsd {{.*#+}} xmm5 = xmm0[0],xmm5[1]
133 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm5[0,2,2,3]
134 ; SSE2-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
141 ; SSE41-NEXT: movdqa %xmm0, %xmm3
145 ; SSE41-NEXT: movdqa %xmm0, %xmm4
151 ; SSE41-NEXT: movdqa %xmm0, %xmm2
153 ; SSE41-NEXT: psrad %xmm3, %xmm0
154 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm2[4,5,6,7]
155 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm4[2,3],xmm0[4,5],xmm4[6,7]
161 ; AVX1-NEXT: vpsrad %xmm2, %xmm0, %xmm2
163 ; AVX1-NEXT: vpsrad %xmm3, %xmm0, %xmm3
167 ; AVX1-NEXT: vpsrad %xmm3, %xmm0, %xmm3
169 ; AVX1-NEXT: vpsrad %xmm1, %xmm0, %xmm0
170 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm3[4,5,6,7]
171 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5],xmm2[6,7]
176 ; AVX2-NEXT: vpsravd %xmm1, %xmm0, %xmm0
183 ; XOPAVX1-NEXT: vpshad %xmm1, %xmm0, %xmm0
188 ; XOPAVX2-NEXT: vpsravd %xmm1, %xmm0, %xmm0
193 ; AVX512-NEXT: vpsravd %xmm1, %xmm0, %xmm0
200 ; X32-SSE-NEXT: movdqa %xmm0, %xmm3
204 ; X32-SSE-NEXT: movdqa %xmm0, %xmm4
211 ; X32-SSE-NEXT: movdqa %xmm0, %xmm5
214 ; X32-SSE-NEXT: psrad %xmm1, %xmm0
215 ; X32-SSE-NEXT: movsd {{.*#+}} xmm5 = xmm0[0],xmm5[1]
216 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm5[0,2,2,3]
217 ; X32-SSE-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
230 ; SSE2-NEXT: pandn %xmm0, %xmm3
231 ; SSE2-NEXT: psraw $8, %xmm0
232 ; SSE2-NEXT: pand %xmm2, %xmm0
233 ; SSE2-NEXT: por %xmm3, %xmm0
238 ; SSE2-NEXT: pandn %xmm0, %xmm3
239 ; SSE2-NEXT: psraw $4, %xmm0
240 ; SSE2-NEXT: pand %xmm2, %xmm0
241 ; SSE2-NEXT: por %xmm3, %xmm0
246 ; SSE2-NEXT: pandn %xmm0, %xmm3
247 ; SSE2-NEXT: psraw $2, %xmm0
248 ; SSE2-NEXT: pand %xmm2, %xmm0
249 ; SSE2-NEXT: por %xmm3, %xmm0
253 ; SSE2-NEXT: pandn %xmm0, %xmm2
254 ; SSE2-NEXT: psraw $1, %xmm0
255 ; SSE2-NEXT: pand %xmm1, %xmm0
256 ; SSE2-NEXT: por %xmm2, %xmm0
261 ; SSE41-NEXT: movdqa %xmm0, %xmm2
262 ; SSE41-NEXT: movdqa %xmm1, %xmm0
263 ; SSE41-NEXT: psllw $12, %xmm0
265 ; SSE41-NEXT: por %xmm0, %xmm1
270 ; SSE41-NEXT: movdqa %xmm1, %xmm0
274 ; SSE41-NEXT: movdqa %xmm3, %xmm0
279 ; SSE41-NEXT: movdqa %xmm3, %xmm0
284 ; SSE41-NEXT: movdqa %xmm3, %xmm0
286 ; SSE41-NEXT: movdqa %xmm2, %xmm0
295 ; AVX1-NEXT: vpsraw $8, %xmm0, %xmm3
296 ; AVX1-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
297 ; AVX1-NEXT: vpsraw $4, %xmm0, %xmm1
298 ; AVX1-NEXT: vpblendvb %xmm2, %xmm1, %xmm0, %xmm0
299 ; AVX1-NEXT: vpsraw $2, %xmm0, %xmm1
301 ; AVX1-NEXT: vpblendvb %xmm2, %xmm1, %xmm0, %xmm0
302 ; AVX1-NEXT: vpsraw $1, %xmm0, %xmm1
304 ; AVX1-NEXT: vpblendvb %xmm2, %xmm1, %xmm0, %xmm0
310 ; AVX2-NEXT: vpmovsxwd %xmm0, %ymm0
322 ; XOP-NEXT: vpshaw %xmm1, %xmm0, %xmm0
339 ; X32-SSE-NEXT: pandn %xmm0, %xmm3
340 ; X32-SSE-NEXT: psraw $8, %xmm0
341 ; X32-SSE-NEXT: pand %xmm2, %xmm0
342 ; X32-SSE-NEXT: por %xmm3, %xmm0
347 ; X32-SSE-NEXT: pandn %xmm0, %xmm3
348 ; X32-SSE-NEXT: psraw $4, %xmm0
349 ; X32-SSE-NEXT: pand %xmm2, %xmm0
350 ; X32-SSE-NEXT: por %xmm3, %xmm0
355 ; X32-SSE-NEXT: pandn %xmm0, %xmm3
356 ; X32-SSE-NEXT: psraw $2, %xmm0
357 ; X32-SSE-NEXT: pand %xmm2, %xmm0
358 ; X32-SSE-NEXT: por %xmm3, %xmm0
362 ; X32-SSE-NEXT: pandn %xmm0, %xmm2
363 ; X32-SSE-NEXT: psraw $1, %xmm0
364 ; X32-SSE-NEXT: pand %xmm1, %xmm0
365 ; X32-SSE-NEXT: por %xmm2, %xmm0
374 …m2 = xmm2[8],xmm0[8],xmm2[9],xmm0[9],xmm2[10],xmm0[10],xmm2[11],xmm0[11],xmm2[12],xmm0[12],xmm2[13…
402 ; SSE2-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
407 ; SSE2-NEXT: pandn %xmm0, %xmm5
408 ; SSE2-NEXT: psraw $4, %xmm0
409 ; SSE2-NEXT: pand %xmm4, %xmm0
410 ; SSE2-NEXT: por %xmm5, %xmm0
415 ; SSE2-NEXT: pandn %xmm0, %xmm5
416 ; SSE2-NEXT: psraw $2, %xmm0
417 ; SSE2-NEXT: pand %xmm4, %xmm0
418 ; SSE2-NEXT: por %xmm5, %xmm0
422 ; SSE2-NEXT: pandn %xmm0, %xmm1
423 ; SSE2-NEXT: psraw $1, %xmm0
424 ; SSE2-NEXT: pand %xmm3, %xmm0
425 ; SSE2-NEXT: por %xmm1, %xmm0
426 ; SSE2-NEXT: psrlw $8, %xmm0
427 ; SSE2-NEXT: packuswb %xmm2, %xmm0
432 ; SSE41-NEXT: movdqa %xmm0, %xmm2
434 … {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1…
441 ; SSE41-NEXT: paddw %xmm0, %xmm0
445 ; SSE41-NEXT: paddw %xmm0, %xmm0
448 …cklbw {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1…
455 ; SSE41-NEXT: paddw %xmm0, %xmm0
459 ; SSE41-NEXT: paddw %xmm0, %xmm0
463 ; SSE41-NEXT: movdqa %xmm1, %xmm0
469 …*#+}} xmm2 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12]…
470 ; AVX-NEXT: vpunpckhbw {{.*#+}} xmm3 = xmm0[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15]
480 …w {{.*#+}} xmm1 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],
481 ; AVX-NEXT: vpunpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
482 ; AVX-NEXT: vpsraw $4, %xmm0, %xmm3
483 ; AVX-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
484 ; AVX-NEXT: vpsraw $2, %xmm0, %xmm3
486 ; AVX-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
487 ; AVX-NEXT: vpsraw $1, %xmm0, %xmm3
489 ; AVX-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
490 ; AVX-NEXT: vpsrlw $8, %xmm0, %xmm0
491 ; AVX-NEXT: vpackuswb %xmm2, %xmm0, %xmm0
498 ; XOP-NEXT: vpshab %xmm1, %xmm0, %xmm0
504 …*#+}} xmm2 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12]…
505 ; AVX512-NEXT: vpunpckhbw {{.*#+}} xmm3 = xmm0[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15]
515 …w {{.*#+}} xmm1 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],
516 ; AVX512-NEXT: vpunpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
517 ; AVX512-NEXT: vpsraw $4, %xmm0, %xmm3
518 ; AVX512-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
519 ; AVX512-NEXT: vpsraw $2, %xmm0, %xmm3
521 ; AVX512-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
522 ; AVX512-NEXT: vpsraw $1, %xmm0, %xmm3
524 ; AVX512-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
525 ; AVX512-NEXT: vpsrlw $8, %xmm0, %xmm0
526 ; AVX512-NEXT: vpackuswb %xmm2, %xmm0, %xmm0
531 …m2 = xmm2[8],xmm0[8],xmm2[9],xmm0[9],xmm2[10],xmm0[10],xmm2[11],xmm0[11],xmm2[12],xmm0[12],xmm2[13…
559 ; X32-SSE-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
564 ; X32-SSE-NEXT: pandn %xmm0, %xmm5
565 ; X32-SSE-NEXT: psraw $4, %xmm0
566 ; X32-SSE-NEXT: pand %xmm4, %xmm0
567 ; X32-SSE-NEXT: por %xmm5, %xmm0
572 ; X32-SSE-NEXT: pandn %xmm0, %xmm5
573 ; X32-SSE-NEXT: psraw $2, %xmm0
574 ; X32-SSE-NEXT: pand %xmm4, %xmm0
575 ; X32-SSE-NEXT: por %xmm5, %xmm0
579 ; X32-SSE-NEXT: pandn %xmm0, %xmm1
580 ; X32-SSE-NEXT: psraw $1, %xmm0
581 ; X32-SSE-NEXT: pand %xmm3, %xmm0
582 ; X32-SSE-NEXT: por %xmm1, %xmm0
583 ; X32-SSE-NEXT: psrlw $8, %xmm0
584 ; X32-SSE-NEXT: packuswb %xmm2, %xmm0
599 ; SSE-NEXT: psrlq %xmm1, %xmm0
600 ; SSE-NEXT: pxor %xmm2, %xmm0
601 ; SSE-NEXT: psubq %xmm2, %xmm0
608 ; AVX-NEXT: vpsrlq %xmm1, %xmm0, %xmm0
609 ; AVX-NEXT: vpxor %xmm2, %xmm0, %xmm0
610 ; AVX-NEXT: vpsubq %xmm2, %xmm0, %xmm0
618 ; XOPAVX1-NEXT: vpshaq %xmm1, %xmm0, %xmm0
626 ; XOPAVX2-NEXT: vpshaq %xmm1, %xmm0, %xmm0
633 ; AVX512-NEXT: vpsrlq %xmm1, %xmm0, %xmm0
634 ; AVX512-NEXT: vpxor %xmm2, %xmm0, %xmm0
635 ; AVX512-NEXT: vpsubq %xmm2, %xmm0, %xmm0
643 ; X32-SSE-NEXT: psrlq %xmm1, %xmm0
644 ; X32-SSE-NEXT: pxor %xmm2, %xmm0
645 ; X32-SSE-NEXT: psubq %xmm2, %xmm0
657 ; SSE2-NEXT: psrad %xmm2, %xmm0
664 ; SSE41-NEXT: psrad %xmm2, %xmm0
671 ; AVX-NEXT: vpsrad %xmm1, %xmm0, %xmm0
678 ; XOP-NEXT: vpsrad %xmm1, %xmm0, %xmm0
685 ; AVX512-NEXT: vpsrad %xmm1, %xmm0, %xmm0
692 ; X32-SSE-NEXT: psrad %xmm2, %xmm0
705 ; SSE2-NEXT: psraw %xmm1, %xmm0
712 ; SSE41-NEXT: psraw %xmm2, %xmm0
719 ; AVX-NEXT: vpsraw %xmm1, %xmm0, %xmm0
726 ; XOP-NEXT: vpsraw %xmm1, %xmm0, %xmm0
733 ; AVX512-NEXT: vpsraw %xmm1, %xmm0, %xmm0
741 ; X32-SSE-NEXT: psraw %xmm1, %xmm0
754 …m1 = xmm1[8],xmm0[8],xmm1[9],xmm0[9],xmm1[10],xmm0[10],xmm1[11],xmm0[11],xmm1[12],xmm0[12],xmm1[13…
782 ; SSE2-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
787 ; SSE2-NEXT: pandn %xmm0, %xmm5
788 ; SSE2-NEXT: psraw $4, %xmm0
789 ; SSE2-NEXT: pand %xmm4, %xmm0
790 ; SSE2-NEXT: por %xmm5, %xmm0
795 ; SSE2-NEXT: pandn %xmm0, %xmm5
796 ; SSE2-NEXT: psraw $2, %xmm0
797 ; SSE2-NEXT: pand %xmm4, %xmm0
798 ; SSE2-NEXT: por %xmm5, %xmm0
802 ; SSE2-NEXT: pandn %xmm0, %xmm3
803 ; SSE2-NEXT: psraw $1, %xmm0
804 ; SSE2-NEXT: pand %xmm2, %xmm0
805 ; SSE2-NEXT: por %xmm3, %xmm0
806 ; SSE2-NEXT: psrlw $8, %xmm0
807 ; SSE2-NEXT: packuswb %xmm1, %xmm0
812 ; SSE41-NEXT: movdqa %xmm0, %xmm2
813 ; SSE41-NEXT: pxor %xmm0, %xmm0
814 ; SSE41-NEXT: pshufb %xmm0, %xmm1
816 … {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1…
823 ; SSE41-NEXT: paddw %xmm0, %xmm0
827 ; SSE41-NEXT: paddw %xmm0, %xmm0
830 …cklbw {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1…
837 ; SSE41-NEXT: paddw %xmm0, %xmm0
841 ; SSE41-NEXT: paddw %xmm0, %xmm0
845 ; SSE41-NEXT: movdqa %xmm1, %xmm0
853 …*#+}} xmm2 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12]…
854 ; AVX1-NEXT: vpunpckhbw {{.*#+}} xmm3 = xmm0[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15]
864 …w {{.*#+}} xmm1 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],
865 ; AVX1-NEXT: vpunpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
866 ; AVX1-NEXT: vpsraw $4, %xmm0, %xmm3
867 ; AVX1-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
868 ; AVX1-NEXT: vpsraw $2, %xmm0, %xmm3
870 ; AVX1-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
871 ; AVX1-NEXT: vpsraw $1, %xmm0, %xmm3
873 ; AVX1-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
874 ; AVX1-NEXT: vpsrlw $8, %xmm0, %xmm0
875 ; AVX1-NEXT: vpackuswb %xmm2, %xmm0, %xmm0
882 …*#+}} xmm2 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12]…
883 ; AVX2-NEXT: vpunpckhbw {{.*#+}} xmm3 = xmm0[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15]
893 …w {{.*#+}} xmm1 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],
894 ; AVX2-NEXT: vpunpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
895 ; AVX2-NEXT: vpsraw $4, %xmm0, %xmm3
896 ; AVX2-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
897 ; AVX2-NEXT: vpsraw $2, %xmm0, %xmm3
899 ; AVX2-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
900 ; AVX2-NEXT: vpsraw $1, %xmm0, %xmm3
902 ; AVX2-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
903 ; AVX2-NEXT: vpsrlw $8, %xmm0, %xmm0
904 ; AVX2-NEXT: vpackuswb %xmm2, %xmm0, %xmm0
912 ; XOPAVX1-NEXT: vpshab %xmm1, %xmm0, %xmm0
920 ; XOPAVX2-NEXT: vpshab %xmm1, %xmm0, %xmm0
927 …*#+}} xmm2 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12]…
928 ; AVX512-NEXT: vpunpckhbw {{.*#+}} xmm3 = xmm0[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15]
938 …w {{.*#+}} xmm1 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],
939 ; AVX512-NEXT: vpunpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
940 ; AVX512-NEXT: vpsraw $4, %xmm0, %xmm3
941 ; AVX512-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
942 ; AVX512-NEXT: vpsraw $2, %xmm0, %xmm3
944 ; AVX512-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
945 ; AVX512-NEXT: vpsraw $1, %xmm0, %xmm3
947 ; AVX512-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
948 ; AVX512-NEXT: vpsrlw $8, %xmm0, %xmm0
949 ; AVX512-NEXT: vpackuswb %xmm2, %xmm0, %xmm0
957 …m1 = xmm1[8],xmm0[8],xmm1[9],xmm0[9],xmm1[10],xmm0[10],xmm1[11],xmm0[11],xmm1[12],xmm0[12],xmm1[13…
985 ; X32-SSE-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
990 ; X32-SSE-NEXT: pandn %xmm0, %xmm5
991 ; X32-SSE-NEXT: psraw $4, %xmm0
992 ; X32-SSE-NEXT: pand %xmm4, %xmm0
993 ; X32-SSE-NEXT: por %xmm5, %xmm0
998 ; X32-SSE-NEXT: pandn %xmm0, %xmm5
999 ; X32-SSE-NEXT: psraw $2, %xmm0
1000 ; X32-SSE-NEXT: pand %xmm4, %xmm0
1001 ; X32-SSE-NEXT: por %xmm5, %xmm0
1005 ; X32-SSE-NEXT: pandn %xmm0, %xmm3
1006 ; X32-SSE-NEXT: psraw $1, %xmm0
1007 ; X32-SSE-NEXT: pand %xmm2, %xmm0
1008 ; X32-SSE-NEXT: por %xmm3, %xmm0
1009 ; X32-SSE-NEXT: psrlw $8, %xmm0
1010 ; X32-SSE-NEXT: packuswb %xmm1, %xmm0
1024 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1026 ; SSE2-NEXT: psrlq $1, %xmm0
1027 ; SSE2-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
1028 ; SSE2-NEXT: movapd {{.*#+}} xmm0 = [4611686018427387904,72057594037927936]
1029 ; SSE2-NEXT: xorpd %xmm0, %xmm1
1030 ; SSE2-NEXT: psubq %xmm0, %xmm1
1031 ; SSE2-NEXT: movdqa %xmm1, %xmm0
1036 ; SSE41-NEXT: movdqa %xmm0, %xmm1
1038 ; SSE41-NEXT: psrlq $1, %xmm0
1039 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]
1041 ; SSE41-NEXT: pxor %xmm1, %xmm0
1042 ; SSE41-NEXT: psubq %xmm1, %xmm0
1047 ; AVX1-NEXT: vpsrlq $7, %xmm0, %xmm1
1048 ; AVX1-NEXT: vpsrlq $1, %xmm0, %xmm0
1049 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]
1051 ; AVX1-NEXT: vpxor %xmm1, %xmm0, %xmm0
1052 ; AVX1-NEXT: vpsubq %xmm1, %xmm0, %xmm0
1057 ; AVX2-NEXT: vpsrlvq {{.*}}(%rip), %xmm0, %xmm0
1059 ; AVX2-NEXT: vpxor %xmm1, %xmm0, %xmm0
1060 ; AVX2-NEXT: vpsubq %xmm1, %xmm0, %xmm0
1067 ; XOP-NEXT: vpshaq %xmm1, %xmm0, %xmm0
1072 ; AVX512-NEXT: vpsrlvq {{.*}}(%rip), %xmm0, %xmm0
1074 ; AVX512-NEXT: vpxor %xmm1, %xmm0, %xmm0
1075 ; AVX512-NEXT: vpsubq %xmm1, %xmm0, %xmm0
1085 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
1087 ; X32-SSE-NEXT: psrlq $1, %xmm0
1088 ; X32-SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
1091 ; X32-SSE-NEXT: movdqa %xmm1, %xmm0
1100 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1102 ; SSE2-NEXT: movdqa %xmm0, %xmm2
1106 ; SSE2-NEXT: movdqa %xmm0, %xmm2
1108 ; SSE2-NEXT: psrad $4, %xmm0
1109 ; SSE2-NEXT: movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]
1110 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[0,2,2,3]
1111 ; SSE2-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
1116 ; SSE41-NEXT: movdqa %xmm0, %xmm1
1118 ; SSE41-NEXT: movdqa %xmm0, %xmm2
1121 ; SSE41-NEXT: movdqa %xmm0, %xmm1
1123 ; SSE41-NEXT: psrad $4, %xmm0
1124 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]
1125 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5],xmm2[6,7]
1130 ; AVX1-NEXT: vpsrad $7, %xmm0, %xmm1
1131 ; AVX1-NEXT: vpsrad $5, %xmm0, %xmm2
1133 ; AVX1-NEXT: vpsrad $6, %xmm0, %xmm2
1134 ; AVX1-NEXT: vpsrad $4, %xmm0, %xmm0
1135 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm2[4,5,6,7]
1136 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5],xmm1[6,7]
1141 ; AVX2-NEXT: vpsravd {{.*}}(%rip), %xmm0, %xmm0
1146 ; XOPAVX1-NEXT: vpshad {{.*}}(%rip), %xmm0, %xmm0
1151 ; XOPAVX2-NEXT: vpsravd {{.*}}(%rip), %xmm0, %xmm0
1156 ; AVX512-NEXT: vpsravd {{.*}}(%rip), %xmm0, %xmm0
1161 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
1163 ; X32-SSE-NEXT: movdqa %xmm0, %xmm2
1167 ; X32-SSE-NEXT: movdqa %xmm0, %xmm2
1169 ; X32-SSE-NEXT: psrad $4, %xmm0
1170 ; X32-SSE-NEXT: movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]
1171 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm2[0,2,2,3]
1172 ; X32-SSE-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
1181 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1183 ; SSE2-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
1186 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,3,2,3]
1187 ; SSE2-NEXT: punpckldq {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
1188 ; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [65535,0,65535,0,65535,0,65535,0]
1190 ; SSE2-NEXT: pand %xmm0, %xmm1
1192 ; SSE2-NEXT: pandn %xmm2, %xmm0
1193 ; SSE2-NEXT: por %xmm1, %xmm0
1198 ; SSE41-NEXT: movdqa %xmm0, %xmm1
1200 ; SSE41-NEXT: pblendw {{.*#+}} xmm1 = xmm0[0,1,2,3],xmm1[4,5,6,7]
1204 ; SSE41-NEXT: movdqa %xmm2, %xmm0
1205 ; SSE41-NEXT: psraw $1, %xmm0
1206 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm2[0],xmm0[1],xmm2[2],xmm0[3],xmm2[4],xmm0[5],xmm2[6],xm…
1211 ; AVX1-NEXT: vpsraw $4, %xmm0, %xmm1
1212 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]
1213 ; AVX1-NEXT: vpsraw $2, %xmm0, %xmm1
1214 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5],xmm1[6,7]
1215 ; AVX1-NEXT: vpsraw $1, %xmm0, %xmm1
1216 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xm…
1221 ; AVX2-NEXT: vpmovsxwd %xmm0, %ymm0
1233 ; XOP-NEXT: vpshaw %xmm1, %xmm0, %xmm0
1246 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
1248 ; X32-SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
1251 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,3,2,3]
1252 ; X32-SSE-NEXT: punpckldq {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
1253 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm0 = [65535,0,65535,0,65535,0,65535,0]
1255 ; X32-SSE-NEXT: pand %xmm0, %xmm1
1257 ; X32-SSE-NEXT: pandn %xmm2, %xmm0
1258 ; X32-SSE-NEXT: por %xmm1, %xmm0
1267 …m1 = xmm1[8],xmm0[8],xmm1[9],xmm0[9],xmm1[10],xmm0[10],xmm1[11],xmm0[11],xmm1[12],xmm0[12],xmm1[13…
1296 ; SSE2-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
1301 ; SSE2-NEXT: pandn %xmm0, %xmm5
1302 ; SSE2-NEXT: psraw $4, %xmm0
1303 ; SSE2-NEXT: pand %xmm4, %xmm0
1304 ; SSE2-NEXT: por %xmm5, %xmm0
1309 ; SSE2-NEXT: pandn %xmm0, %xmm5
1310 ; SSE2-NEXT: psraw $2, %xmm0
1311 ; SSE2-NEXT: pand %xmm4, %xmm0
1312 ; SSE2-NEXT: por %xmm5, %xmm0
1316 ; SSE2-NEXT: pandn %xmm0, %xmm3
1317 ; SSE2-NEXT: psraw $1, %xmm0
1318 ; SSE2-NEXT: pand %xmm2, %xmm0
1319 ; SSE2-NEXT: por %xmm3, %xmm0
1320 ; SSE2-NEXT: psrlw $8, %xmm0
1321 ; SSE2-NEXT: packuswb %xmm1, %xmm0
1326 ; SSE41-NEXT: movdqa %xmm0, %xmm1
1329 … {{.*#+}} xmm0 = xmm0[8],xmm3[8],xmm0[9],xmm3[9],xmm0[10],xmm3[10],xmm0[11],xmm3[11],xmm0[12],xmm3…
1336 ; SSE41-NEXT: paddw %xmm0, %xmm0
1340 ; SSE41-NEXT: paddw %xmm0, %xmm0
1343 …cklbw {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3],xmm0[4],xmm3…
1350 ; SSE41-NEXT: paddw %xmm0, %xmm0
1354 ; SSE41-NEXT: paddw %xmm0, %xmm0
1358 ; SSE41-NEXT: movdqa %xmm1, %xmm0
1365 …*#+}} xmm2 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12]…
1366 ; AVX-NEXT: vpunpckhbw {{.*#+}} xmm3 = xmm0[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15]
1376 …w {{.*#+}} xmm1 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],
1377 ; AVX-NEXT: vpunpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
1378 ; AVX-NEXT: vpsraw $4, %xmm0, %xmm3
1379 ; AVX-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
1380 ; AVX-NEXT: vpsraw $2, %xmm0, %xmm3
1382 ; AVX-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
1383 ; AVX-NEXT: vpsraw $1, %xmm0, %xmm3
1385 ; AVX-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
1386 ; AVX-NEXT: vpsrlw $8, %xmm0, %xmm0
1387 ; AVX-NEXT: vpackuswb %xmm2, %xmm0, %xmm0
1394 ; XOP-NEXT: vpshab %xmm1, %xmm0, %xmm0
1401 …*#+}} xmm2 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12]…
1402 ; AVX512-NEXT: vpunpckhbw {{.*#+}} xmm3 = xmm0[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15]
1412 …w {{.*#+}} xmm1 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],
1413 ; AVX512-NEXT: vpunpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
1414 ; AVX512-NEXT: vpsraw $4, %xmm0, %xmm3
1415 ; AVX512-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
1416 ; AVX512-NEXT: vpsraw $2, %xmm0, %xmm3
1418 ; AVX512-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
1419 ; AVX512-NEXT: vpsraw $1, %xmm0, %xmm3
1421 ; AVX512-NEXT: vpblendvb %xmm1, %xmm3, %xmm0, %xmm0
1422 ; AVX512-NEXT: vpsrlw $8, %xmm0, %xmm0
1423 ; AVX512-NEXT: vpackuswb %xmm2, %xmm0, %xmm0
1428 …m1 = xmm1[8],xmm0[8],xmm1[9],xmm0[9],xmm1[10],xmm0[10],xmm1[11],xmm0[11],xmm1[12],xmm0[12],xmm1[13…
1457 ; X32-SSE-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
1462 ; X32-SSE-NEXT: pandn %xmm0, %xmm5
1463 ; X32-SSE-NEXT: psraw $4, %xmm0
1464 ; X32-SSE-NEXT: pand %xmm4, %xmm0
1465 ; X32-SSE-NEXT: por %xmm5, %xmm0
1470 ; X32-SSE-NEXT: pandn %xmm0, %xmm5
1471 ; X32-SSE-NEXT: psraw $2, %xmm0
1472 ; X32-SSE-NEXT: pand %xmm4, %xmm0
1473 ; X32-SSE-NEXT: por %xmm5, %xmm0
1477 ; X32-SSE-NEXT: pandn %xmm0, %xmm3
1478 ; X32-SSE-NEXT: psraw $1, %xmm0
1479 ; X32-SSE-NEXT: pand %xmm2, %xmm0
1480 ; X32-SSE-NEXT: por %xmm3, %xmm0
1481 ; X32-SSE-NEXT: psrlw $8, %xmm0
1482 ; X32-SSE-NEXT: packuswb %xmm1, %xmm0
1495 ; SSE2-NEXT: movdqa %xmm0, %xmm1
1498 ; SSE2-NEXT: psrlq $7, %xmm0
1499 ; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
1500 ; SSE2-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
1505 ; SSE41-NEXT: movdqa %xmm0, %xmm1
1507 ; SSE41-NEXT: psrlq $7, %xmm0
1508 ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5],xmm1[6,7]
1513 ; AVX1-NEXT: vpsrad $7, %xmm0, %xmm1
1514 ; AVX1-NEXT: vpsrlq $7, %xmm0, %xmm0
1515 ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5],xmm1[6,7]
1520 ; AVX2-NEXT: vpsrad $7, %xmm0, %xmm1
1521 ; AVX2-NEXT: vpsrlq $7, %xmm0, %xmm0
1522 ; AVX2-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3]
1529 ; XOP-NEXT: vpshaq %xmm1, %xmm0, %xmm0
1534 ; AVX512-NEXT: vpsrad $7, %xmm0, %xmm1
1535 ; AVX512-NEXT: vpsrlq $7, %xmm0, %xmm0
1536 ; AVX512-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3]
1541 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
1544 ; X32-SSE-NEXT: psrlq $7, %xmm0
1545 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
1546 ; X32-SSE-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
1555 ; SSE-NEXT: psrad $5, %xmm0
1560 ; AVX-NEXT: vpsrad $5, %xmm0, %xmm0
1565 ; XOP-NEXT: vpsrad $5, %xmm0, %xmm0
1570 ; AVX512-NEXT: vpsrad $5, %xmm0, %xmm0
1575 ; X32-SSE-NEXT: psrad $5, %xmm0
1584 ; SSE-NEXT: psraw $3, %xmm0
1589 ; AVX-NEXT: vpsraw $3, %xmm0, %xmm0
1594 ; XOP-NEXT: vpsraw $3, %xmm0, %xmm0
1599 ; AVX512-NEXT: vpsraw $3, %xmm0, %xmm0
1604 ; X32-SSE-NEXT: psraw $3, %xmm0
1613 ; SSE-NEXT: psrlw $3, %xmm0
1614 ; SSE-NEXT: pand {{.*}}(%rip), %xmm0
1616 ; SSE-NEXT: pxor %xmm1, %xmm0
1617 ; SSE-NEXT: psubb %xmm1, %xmm0
1622 ; AVX-NEXT: vpsrlw $3, %xmm0, %xmm0
1623 ; AVX-NEXT: vpand {{.*}}(%rip), %xmm0, %xmm0
1625 ; AVX-NEXT: vpxor %xmm1, %xmm0, %xmm0
1626 ; AVX-NEXT: vpsubb %xmm1, %xmm0, %xmm0
1633 ; XOP-NEXT: vpshab %xmm1, %xmm0, %xmm0
1638 ; AVX512-NEXT: vpsrlw $3, %xmm0, %xmm0
1639 ; AVX512-NEXT: vpand {{.*}}(%rip), %xmm0, %xmm0
1641 ; AVX512-NEXT: vpxor %xmm1, %xmm0, %xmm0
1642 ; AVX512-NEXT: vpsubb %xmm1, %xmm0, %xmm0
1647 ; X32-SSE-NEXT: psrlw $3, %xmm0
1648 ; X32-SSE-NEXT: pand {{\.LCPI.*}}, %xmm0
1650 ; X32-SSE-NEXT: pxor %xmm1, %xmm0
1651 ; X32-SSE-NEXT: psubb %xmm1, %xmm0