Lines Matching refs:X32
10 …known -mattr=+sse2 | FileCheck %s --check-prefix=ALL --check-prefix=X32-SSE --check-prefix=X32-SSE2
61 ; X32-SSE-LABEL: var_shift_v2i64:
62 ; X32-SSE: # BB#0:
63 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm3 = xmm1[2,3,0,1]
64 ; X32-SSE-NEXT: movdqa %xmm0, %xmm2
65 ; X32-SSE-NEXT: psrlq %xmm3, %xmm2
66 ; X32-SSE-NEXT: movq {{.*#+}} xmm1 = xmm1[0],zero
67 ; X32-SSE-NEXT: psrlq %xmm1, %xmm0
68 ; X32-SSE-NEXT: movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]
69 ; X32-SSE-NEXT: movapd %xmm2, %xmm0
70 ; X32-SSE-NEXT: retl
154 ; X32-SSE-LABEL: var_shift_v4i32:
155 ; X32-SSE: # BB#0:
156 ; X32-SSE-NEXT: movdqa %xmm1, %xmm2
157 ; X32-SSE-NEXT: psrldq {{.*#+}} xmm2 = xmm2[12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero…
158 ; X32-SSE-NEXT: movdqa %xmm0, %xmm3
159 ; X32-SSE-NEXT: psrld %xmm2, %xmm3
160 ; X32-SSE-NEXT: movdqa %xmm1, %xmm2
161 ; X32-SSE-NEXT: psrlq $32, %xmm2
162 ; X32-SSE-NEXT: movdqa %xmm0, %xmm4
163 ; X32-SSE-NEXT: psrld %xmm2, %xmm4
164 ; X32-SSE-NEXT: movsd {{.*#+}} xmm3 = xmm4[0],xmm3[1]
165 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm2 = xmm3[1,3,2,3]
166 ; X32-SSE-NEXT: pxor %xmm3, %xmm3
167 ; X32-SSE-NEXT: movdqa %xmm1, %xmm4
168 ; X32-SSE-NEXT: punpckhdq {{.*#+}} xmm4 = xmm4[2],xmm3[2],xmm4[3],xmm3[3]
169 ; X32-SSE-NEXT: movdqa %xmm0, %xmm5
170 ; X32-SSE-NEXT: psrld %xmm4, %xmm5
171 ; X32-SSE-NEXT: punpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
172 ; X32-SSE-NEXT: psrld %xmm1, %xmm0
173 ; X32-SSE-NEXT: movsd {{.*#+}} xmm5 = xmm0[0],xmm5[1]
174 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm5[0,2,2,3]
175 ; X32-SSE-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
176 ; X32-SSE-NEXT: retl
282 ; X32-SSE-LABEL: var_shift_v8i16:
283 ; X32-SSE: # BB#0:
284 ; X32-SSE-NEXT: psllw $12, %xmm1
285 ; X32-SSE-NEXT: movdqa %xmm1, %xmm2
286 ; X32-SSE-NEXT: psraw $15, %xmm2
287 ; X32-SSE-NEXT: movdqa %xmm2, %xmm3
288 ; X32-SSE-NEXT: pandn %xmm0, %xmm3
289 ; X32-SSE-NEXT: psrlw $8, %xmm0
290 ; X32-SSE-NEXT: pand %xmm2, %xmm0
291 ; X32-SSE-NEXT: por %xmm3, %xmm0
292 ; X32-SSE-NEXT: paddw %xmm1, %xmm1
293 ; X32-SSE-NEXT: movdqa %xmm1, %xmm2
294 ; X32-SSE-NEXT: psraw $15, %xmm2
295 ; X32-SSE-NEXT: movdqa %xmm2, %xmm3
296 ; X32-SSE-NEXT: pandn %xmm0, %xmm3
297 ; X32-SSE-NEXT: psrlw $4, %xmm0
298 ; X32-SSE-NEXT: pand %xmm2, %xmm0
299 ; X32-SSE-NEXT: por %xmm3, %xmm0
300 ; X32-SSE-NEXT: paddw %xmm1, %xmm1
301 ; X32-SSE-NEXT: movdqa %xmm1, %xmm2
302 ; X32-SSE-NEXT: psraw $15, %xmm2
303 ; X32-SSE-NEXT: movdqa %xmm2, %xmm3
304 ; X32-SSE-NEXT: pandn %xmm0, %xmm3
305 ; X32-SSE-NEXT: psrlw $2, %xmm0
306 ; X32-SSE-NEXT: pand %xmm2, %xmm0
307 ; X32-SSE-NEXT: por %xmm3, %xmm0
308 ; X32-SSE-NEXT: paddw %xmm1, %xmm1
309 ; X32-SSE-NEXT: psraw $15, %xmm1
310 ; X32-SSE-NEXT: movdqa %xmm1, %xmm2
311 ; X32-SSE-NEXT: pandn %xmm0, %xmm2
312 ; X32-SSE-NEXT: psrlw $1, %xmm0
313 ; X32-SSE-NEXT: pand %xmm1, %xmm0
314 ; X32-SSE-NEXT: por %xmm2, %xmm0
315 ; X32-SSE-NEXT: retl
399 ; X32-SSE-LABEL: var_shift_v16i8:
400 ; X32-SSE: # BB#0:
401 ; X32-SSE-NEXT: psllw $5, %xmm1
402 ; X32-SSE-NEXT: pxor %xmm2, %xmm2
403 ; X32-SSE-NEXT: pxor %xmm3, %xmm3
404 ; X32-SSE-NEXT: pcmpgtb %xmm1, %xmm3
405 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
406 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
407 ; X32-SSE-NEXT: psrlw $4, %xmm0
408 ; X32-SSE-NEXT: pand .LCPI3_0, %xmm0
409 ; X32-SSE-NEXT: pand %xmm3, %xmm0
410 ; X32-SSE-NEXT: por %xmm4, %xmm0
411 ; X32-SSE-NEXT: paddb %xmm1, %xmm1
412 ; X32-SSE-NEXT: pxor %xmm3, %xmm3
413 ; X32-SSE-NEXT: pcmpgtb %xmm1, %xmm3
414 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
415 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
416 ; X32-SSE-NEXT: psrlw $2, %xmm0
417 ; X32-SSE-NEXT: pand .LCPI3_1, %xmm0
418 ; X32-SSE-NEXT: pand %xmm3, %xmm0
419 ; X32-SSE-NEXT: por %xmm4, %xmm0
420 ; X32-SSE-NEXT: paddb %xmm1, %xmm1
421 ; X32-SSE-NEXT: pcmpgtb %xmm1, %xmm2
422 ; X32-SSE-NEXT: movdqa %xmm2, %xmm1
423 ; X32-SSE-NEXT: pandn %xmm0, %xmm1
424 ; X32-SSE-NEXT: psrlw $1, %xmm0
425 ; X32-SSE-NEXT: pand .LCPI3_2, %xmm0
426 ; X32-SSE-NEXT: pand %xmm2, %xmm0
427 ; X32-SSE-NEXT: por %xmm1, %xmm0
428 ; X32-SSE-NEXT: retl
453 ; X32-SSE-LABEL: splatvar_shift_v2i64:
454 ; X32-SSE: # BB#0:
455 ; X32-SSE-NEXT: movq {{.*#+}} xmm1 = xmm1[0],zero
456 ; X32-SSE-NEXT: psrlq %xmm1, %xmm0
457 ; X32-SSE-NEXT: retl
492 ; X32-SSE-LABEL: splatvar_shift_v4i32:
493 ; X32-SSE: # BB#0:
494 ; X32-SSE-NEXT: xorps %xmm2, %xmm2
495 ; X32-SSE-NEXT: movss {{.*#+}} xmm2 = xmm1[0],xmm2[1,2,3]
496 ; X32-SSE-NEXT: psrld %xmm2, %xmm0
497 ; X32-SSE-NEXT: retl
533 ; X32-SSE-LABEL: splatvar_shift_v8i16:
534 ; X32-SSE: # BB#0:
535 ; X32-SSE-NEXT: movd %xmm1, %eax
536 ; X32-SSE-NEXT: movzwl %ax, %eax
537 ; X32-SSE-NEXT: movd %eax, %xmm1
538 ; X32-SSE-NEXT: psrlw %xmm1, %xmm0
539 ; X32-SSE-NEXT: retl
659 ; X32-SSE-LABEL: splatvar_shift_v16i8:
660 ; X32-SSE: # BB#0:
661 ; X32-SSE-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
662 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,1,0,3]
663 ; X32-SSE-NEXT: pshuflw {{.*#+}} xmm1 = xmm1[0,0,0,0,4,5,6,7]
664 ; X32-SSE-NEXT: pshufhw {{.*#+}} xmm2 = xmm1[0,1,2,3,4,4,4,4]
665 ; X32-SSE-NEXT: psllw $5, %xmm2
666 ; X32-SSE-NEXT: pxor %xmm1, %xmm1
667 ; X32-SSE-NEXT: pxor %xmm3, %xmm3
668 ; X32-SSE-NEXT: pcmpgtb %xmm2, %xmm3
669 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
670 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
671 ; X32-SSE-NEXT: psrlw $4, %xmm0
672 ; X32-SSE-NEXT: pand .LCPI7_0, %xmm0
673 ; X32-SSE-NEXT: pand %xmm3, %xmm0
674 ; X32-SSE-NEXT: por %xmm4, %xmm0
675 ; X32-SSE-NEXT: paddb %xmm2, %xmm2
676 ; X32-SSE-NEXT: pxor %xmm3, %xmm3
677 ; X32-SSE-NEXT: pcmpgtb %xmm2, %xmm3
678 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
679 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
680 ; X32-SSE-NEXT: psrlw $2, %xmm0
681 ; X32-SSE-NEXT: pand .LCPI7_1, %xmm0
682 ; X32-SSE-NEXT: pand %xmm3, %xmm0
683 ; X32-SSE-NEXT: por %xmm4, %xmm0
684 ; X32-SSE-NEXT: paddb %xmm2, %xmm2
685 ; X32-SSE-NEXT: pcmpgtb %xmm2, %xmm1
686 ; X32-SSE-NEXT: movdqa %xmm1, %xmm2
687 ; X32-SSE-NEXT: pandn %xmm0, %xmm2
688 ; X32-SSE-NEXT: psrlw $1, %xmm0
689 ; X32-SSE-NEXT: pand .LCPI7_2, %xmm0
690 ; X32-SSE-NEXT: pand %xmm1, %xmm0
691 ; X32-SSE-NEXT: por %xmm2, %xmm0
692 ; X32-SSE-NEXT: retl
744 ; X32-SSE-LABEL: constant_shift_v2i64:
745 ; X32-SSE: # BB#0:
746 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
747 ; X32-SSE-NEXT: psrlq $7, %xmm1
748 ; X32-SSE-NEXT: psrlq $1, %xmm0
749 ; X32-SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
750 ; X32-SSE-NEXT: movapd %xmm1, %xmm0
751 ; X32-SSE-NEXT: retl
813 ; X32-SSE-LABEL: constant_shift_v4i32:
814 ; X32-SSE: # BB#0:
815 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
816 ; X32-SSE-NEXT: psrld $7, %xmm1
817 ; X32-SSE-NEXT: movdqa %xmm0, %xmm2
818 ; X32-SSE-NEXT: psrld $5, %xmm2
819 ; X32-SSE-NEXT: movsd {{.*#+}} xmm1 = xmm2[0],xmm1[1]
820 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[1,3,2,3]
821 ; X32-SSE-NEXT: movdqa %xmm0, %xmm2
822 ; X32-SSE-NEXT: psrld $6, %xmm2
823 ; X32-SSE-NEXT: psrld $4, %xmm0
824 ; X32-SSE-NEXT: movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]
825 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm2[0,2,2,3]
826 ; X32-SSE-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
827 ; X32-SSE-NEXT: retl
905 ; X32-SSE-LABEL: constant_shift_v8i16:
906 ; X32-SSE: # BB#0:
907 ; X32-SSE-NEXT: movdqa %xmm0, %xmm1
908 ; X32-SSE-NEXT: psrlw $4, %xmm1
909 ; X32-SSE-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
910 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm2 = xmm1[0,2,2,3]
911 ; X32-SSE-NEXT: psrlw $2, %xmm1
912 ; X32-SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,3,2,3]
913 ; X32-SSE-NEXT: punpckldq {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
914 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm0 = [65535,0,65535,0,65535,0,65535,0]
915 ; X32-SSE-NEXT: movdqa %xmm2, %xmm1
916 ; X32-SSE-NEXT: pand %xmm0, %xmm1
917 ; X32-SSE-NEXT: psrlw $1, %xmm2
918 ; X32-SSE-NEXT: pandn %xmm2, %xmm0
919 ; X32-SSE-NEXT: por %xmm1, %xmm0
920 ; X32-SSE-NEXT: retl
1004 ; X32-SSE-LABEL: constant_shift_v16i8:
1005 ; X32-SSE: # BB#0:
1006 ; X32-SSE-NEXT: movdqa {{.*#+}} xmm2 = [0,1,2,3,4,5,6,7,7,6,5,4,3,2,1,0]
1007 ; X32-SSE-NEXT: psllw $5, %xmm2
1008 ; X32-SSE-NEXT: pxor %xmm1, %xmm1
1009 ; X32-SSE-NEXT: pxor %xmm3, %xmm3
1010 ; X32-SSE-NEXT: pcmpgtb %xmm2, %xmm3
1011 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
1012 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
1013 ; X32-SSE-NEXT: psrlw $4, %xmm0
1014 ; X32-SSE-NEXT: pand .LCPI11_1, %xmm0
1015 ; X32-SSE-NEXT: pand %xmm3, %xmm0
1016 ; X32-SSE-NEXT: por %xmm4, %xmm0
1017 ; X32-SSE-NEXT: paddb %xmm2, %xmm2
1018 ; X32-SSE-NEXT: pxor %xmm3, %xmm3
1019 ; X32-SSE-NEXT: pcmpgtb %xmm2, %xmm3
1020 ; X32-SSE-NEXT: movdqa %xmm3, %xmm4
1021 ; X32-SSE-NEXT: pandn %xmm0, %xmm4
1022 ; X32-SSE-NEXT: psrlw $2, %xmm0
1023 ; X32-SSE-NEXT: pand .LCPI11_2, %xmm0
1024 ; X32-SSE-NEXT: pand %xmm3, %xmm0
1025 ; X32-SSE-NEXT: por %xmm4, %xmm0
1026 ; X32-SSE-NEXT: paddb %xmm2, %xmm2
1027 ; X32-SSE-NEXT: pcmpgtb %xmm2, %xmm1
1028 ; X32-SSE-NEXT: movdqa %xmm1, %xmm2
1029 ; X32-SSE-NEXT: pandn %xmm0, %xmm2
1030 ; X32-SSE-NEXT: psrlw $1, %xmm0
1031 ; X32-SSE-NEXT: pand .LCPI11_3, %xmm0
1032 ; X32-SSE-NEXT: pand %xmm1, %xmm0
1033 ; X32-SSE-NEXT: por %xmm2, %xmm0
1034 ; X32-SSE-NEXT: retl
1059 ; X32-SSE-LABEL: splatconstant_shift_v2i64:
1060 ; X32-SSE: # BB#0:
1061 ; X32-SSE-NEXT: psrlq $7, %xmm0
1062 ; X32-SSE-NEXT: retl
1083 ; X32-SSE-LABEL: splatconstant_shift_v4i32:
1084 ; X32-SSE: # BB#0:
1085 ; X32-SSE-NEXT: psrld $5, %xmm0
1086 ; X32-SSE-NEXT: retl
1107 ; X32-SSE-LABEL: splatconstant_shift_v8i16:
1108 ; X32-SSE: # BB#0:
1109 ; X32-SSE-NEXT: psrlw $3, %xmm0
1110 ; X32-SSE-NEXT: retl
1135 ; X32-SSE-LABEL: splatconstant_shift_v16i8:
1136 ; X32-SSE: # BB#0:
1137 ; X32-SSE-NEXT: psrlw $3, %xmm0
1138 ; X32-SSE-NEXT: pand .LCPI15_0, %xmm0
1139 ; X32-SSE-NEXT: retl