Lines Matching refs:SSE3

3 …known-unknown -mattr=+sse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE3
31 ; SSE3-LABEL: testv2i64:
32 ; SSE3: # BB#0:
33 ; SSE3-NEXT: movd %xmm0, %rax
34 ; SSE3-NEXT: bsfq %rax, %rax
35 ; SSE3-NEXT: movl $64, %ecx
36 ; SSE3-NEXT: cmoveq %rcx, %rax
37 ; SSE3-NEXT: movd %rax, %xmm1
38 ; SSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
39 ; SSE3-NEXT: movd %xmm0, %rax
40 ; SSE3-NEXT: bsfq %rax, %rax
41 ; SSE3-NEXT: cmoveq %rcx, %rax
42 ; SSE3-NEXT: movd %rax, %xmm0
43 ; SSE3-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
44 ; SSE3-NEXT: movdqa %xmm1, %xmm0
45 ; SSE3-NEXT: retq
134 ; SSE3-LABEL: testv2i64u:
135 ; SSE3: # BB#0:
136 ; SSE3-NEXT: movd %xmm0, %rax
137 ; SSE3-NEXT: bsfq %rax, %rax
138 ; SSE3-NEXT: movd %rax, %xmm1
139 ; SSE3-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
140 ; SSE3-NEXT: movd %xmm0, %rax
141 ; SSE3-NEXT: bsfq %rax, %rax
142 ; SSE3-NEXT: movd %rax, %xmm0
143 ; SSE3-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
144 ; SSE3-NEXT: movdqa %xmm1, %xmm0
145 ; SSE3-NEXT: retq
267 ; SSE3-LABEL: testv4i32:
268 ; SSE3: # BB#0:
269 ; SSE3-NEXT: pxor %xmm1, %xmm1
270 ; SSE3-NEXT: pxor %xmm2, %xmm2
271 ; SSE3-NEXT: psubd %xmm0, %xmm2
272 ; SSE3-NEXT: pand %xmm0, %xmm2
273 ; SSE3-NEXT: psubd {{.*}}(%rip), %xmm2
274 ; SSE3-NEXT: movdqa %xmm2, %xmm0
275 ; SSE3-NEXT: psrld $1, %xmm0
276 ; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
277 ; SSE3-NEXT: psubd %xmm0, %xmm2
278 ; SSE3-NEXT: movdqa {{.*#+}} xmm0 = [858993459,858993459,858993459,858993459]
279 ; SSE3-NEXT: movdqa %xmm2, %xmm3
280 ; SSE3-NEXT: pand %xmm0, %xmm3
281 ; SSE3-NEXT: psrld $2, %xmm2
282 ; SSE3-NEXT: pand %xmm0, %xmm2
283 ; SSE3-NEXT: paddd %xmm3, %xmm2
284 ; SSE3-NEXT: movdqa %xmm2, %xmm0
285 ; SSE3-NEXT: psrld $4, %xmm0
286 ; SSE3-NEXT: paddd %xmm2, %xmm0
287 ; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
288 ; SSE3-NEXT: movdqa %xmm0, %xmm2
289 ; SSE3-NEXT: punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]
290 ; SSE3-NEXT: psadbw %xmm1, %xmm2
291 ; SSE3-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
292 ; SSE3-NEXT: psadbw %xmm1, %xmm0
293 ; SSE3-NEXT: packuswb %xmm2, %xmm0
294 ; SSE3-NEXT: retq
490 ; SSE3-LABEL: testv4i32u:
491 ; SSE3: # BB#0:
492 ; SSE3-NEXT: pxor %xmm1, %xmm1
493 ; SSE3-NEXT: pxor %xmm2, %xmm2
494 ; SSE3-NEXT: psubd %xmm0, %xmm2
495 ; SSE3-NEXT: pand %xmm0, %xmm2
496 ; SSE3-NEXT: psubd {{.*}}(%rip), %xmm2
497 ; SSE3-NEXT: movdqa %xmm2, %xmm0
498 ; SSE3-NEXT: psrld $1, %xmm0
499 ; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
500 ; SSE3-NEXT: psubd %xmm0, %xmm2
501 ; SSE3-NEXT: movdqa {{.*#+}} xmm0 = [858993459,858993459,858993459,858993459]
502 ; SSE3-NEXT: movdqa %xmm2, %xmm3
503 ; SSE3-NEXT: pand %xmm0, %xmm3
504 ; SSE3-NEXT: psrld $2, %xmm2
505 ; SSE3-NEXT: pand %xmm0, %xmm2
506 ; SSE3-NEXT: paddd %xmm3, %xmm2
507 ; SSE3-NEXT: movdqa %xmm2, %xmm0
508 ; SSE3-NEXT: psrld $4, %xmm0
509 ; SSE3-NEXT: paddd %xmm2, %xmm0
510 ; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
511 ; SSE3-NEXT: movdqa %xmm0, %xmm2
512 ; SSE3-NEXT: punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]
513 ; SSE3-NEXT: psadbw %xmm1, %xmm2
514 ; SSE3-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
515 ; SSE3-NEXT: psadbw %xmm1, %xmm0
516 ; SSE3-NEXT: packuswb %xmm2, %xmm0
517 ; SSE3-NEXT: retq
687 ; SSE3-LABEL: testv8i16:
688 ; SSE3: # BB#0:
689 ; SSE3-NEXT: pxor %xmm1, %xmm1
690 ; SSE3-NEXT: psubw %xmm0, %xmm1
691 ; SSE3-NEXT: pand %xmm0, %xmm1
692 ; SSE3-NEXT: psubw {{.*}}(%rip), %xmm1
693 ; SSE3-NEXT: movdqa %xmm1, %xmm0
694 ; SSE3-NEXT: psrlw $1, %xmm0
695 ; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
696 ; SSE3-NEXT: psubw %xmm0, %xmm1
697 ; SSE3-NEXT: movdqa {{.*#+}} xmm0 = [13107,13107,13107,13107,13107,13107,13107,13107]
698 ; SSE3-NEXT: movdqa %xmm1, %xmm2
699 ; SSE3-NEXT: pand %xmm0, %xmm2
700 ; SSE3-NEXT: psrlw $2, %xmm1
701 ; SSE3-NEXT: pand %xmm0, %xmm1
702 ; SSE3-NEXT: paddw %xmm2, %xmm1
703 ; SSE3-NEXT: movdqa %xmm1, %xmm2
704 ; SSE3-NEXT: psrlw $4, %xmm2
705 ; SSE3-NEXT: paddw %xmm1, %xmm2
706 ; SSE3-NEXT: pand {{.*}}(%rip), %xmm2
707 ; SSE3-NEXT: movdqa %xmm2, %xmm0
708 ; SSE3-NEXT: psllw $8, %xmm0
709 ; SSE3-NEXT: paddb %xmm2, %xmm0
710 ; SSE3-NEXT: psrlw $8, %xmm0
711 ; SSE3-NEXT: retq
885 ; SSE3-LABEL: testv8i16u:
886 ; SSE3: # BB#0:
887 ; SSE3-NEXT: pxor %xmm1, %xmm1
888 ; SSE3-NEXT: psubw %xmm0, %xmm1
889 ; SSE3-NEXT: pand %xmm0, %xmm1
890 ; SSE3-NEXT: psubw {{.*}}(%rip), %xmm1
891 ; SSE3-NEXT: movdqa %xmm1, %xmm0
892 ; SSE3-NEXT: psrlw $1, %xmm0
893 ; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
894 ; SSE3-NEXT: psubw %xmm0, %xmm1
895 ; SSE3-NEXT: movdqa {{.*#+}} xmm0 = [13107,13107,13107,13107,13107,13107,13107,13107]
896 ; SSE3-NEXT: movdqa %xmm1, %xmm2
897 ; SSE3-NEXT: pand %xmm0, %xmm2
898 ; SSE3-NEXT: psrlw $2, %xmm1
899 ; SSE3-NEXT: pand %xmm0, %xmm1
900 ; SSE3-NEXT: paddw %xmm2, %xmm1
901 ; SSE3-NEXT: movdqa %xmm1, %xmm2
902 ; SSE3-NEXT: psrlw $4, %xmm2
903 ; SSE3-NEXT: paddw %xmm1, %xmm2
904 ; SSE3-NEXT: pand {{.*}}(%rip), %xmm2
905 ; SSE3-NEXT: movdqa %xmm2, %xmm0
906 ; SSE3-NEXT: psllw $8, %xmm0
907 ; SSE3-NEXT: paddb %xmm2, %xmm0
908 ; SSE3-NEXT: psrlw $8, %xmm0
909 ; SSE3-NEXT: retq
1079 ; SSE3-LABEL: testv16i8:
1080 ; SSE3: # BB#0:
1081 ; SSE3-NEXT: pxor %xmm1, %xmm1
1082 ; SSE3-NEXT: psubb %xmm0, %xmm1
1083 ; SSE3-NEXT: pand %xmm0, %xmm1
1084 ; SSE3-NEXT: psubb {{.*}}(%rip), %xmm1
1085 ; SSE3-NEXT: movdqa %xmm1, %xmm0
1086 ; SSE3-NEXT: psrlw $1, %xmm0
1087 ; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
1088 ; SSE3-NEXT: psubb %xmm0, %xmm1
1089 ; SSE3-NEXT: movdqa {{.*#+}} xmm0 = [51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51]
1090 ; SSE3-NEXT: movdqa %xmm1, %xmm2
1091 ; SSE3-NEXT: pand %xmm0, %xmm2
1092 ; SSE3-NEXT: psrlw $2, %xmm1
1093 ; SSE3-NEXT: pand %xmm0, %xmm1
1094 ; SSE3-NEXT: paddb %xmm2, %xmm1
1095 ; SSE3-NEXT: movdqa %xmm1, %xmm0
1096 ; SSE3-NEXT: psrlw $4, %xmm0
1097 ; SSE3-NEXT: paddb %xmm1, %xmm0
1098 ; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
1099 ; SSE3-NEXT: retq
1245 ; SSE3-LABEL: testv16i8u:
1246 ; SSE3: # BB#0:
1247 ; SSE3-NEXT: pxor %xmm1, %xmm1
1248 ; SSE3-NEXT: psubb %xmm0, %xmm1
1249 ; SSE3-NEXT: pand %xmm0, %xmm1
1250 ; SSE3-NEXT: psubb {{.*}}(%rip), %xmm1
1251 ; SSE3-NEXT: movdqa %xmm1, %xmm0
1252 ; SSE3-NEXT: psrlw $1, %xmm0
1253 ; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
1254 ; SSE3-NEXT: psubb %xmm0, %xmm1
1255 ; SSE3-NEXT: movdqa {{.*#+}} xmm0 = [51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51]
1256 ; SSE3-NEXT: movdqa %xmm1, %xmm2
1257 ; SSE3-NEXT: pand %xmm0, %xmm2
1258 ; SSE3-NEXT: psrlw $2, %xmm1
1259 ; SSE3-NEXT: pand %xmm0, %xmm1
1260 ; SSE3-NEXT: paddb %xmm2, %xmm1
1261 ; SSE3-NEXT: movdqa %xmm1, %xmm0
1262 ; SSE3-NEXT: psrlw $4, %xmm0
1263 ; SSE3-NEXT: paddb %xmm1, %xmm0
1264 ; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
1265 ; SSE3-NEXT: retq