• Home
  • Raw
  • Download

Lines Matching refs:SSE

1 ; RUN: llc < %s -mcpu=x86-64 -mattr=+sse2 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --ch…
2 ; RUN: llc < %s -mcpu=x86-64 -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --c…
3 ; RUN: llc < %s -mcpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --…
55 ; SSE-LABEL: combine_pshufd4:
56 ; SSE: # BB#0: # %entry
57 ; SSE-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,6,5,4]
58 ; SSE-NEXT: retq
74 ; SSE-LABEL: combine_pshufd5:
75 ; SSE: # BB#0: # %entry
76 ; SSE-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[3,2,1,0,4,5,6,7]
77 ; SSE-NEXT: retq
93 ; SSE-LABEL: combine_pshufd6:
94 ; SSE: # BB#0: # %entry
95 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]
96 ; SSE-NEXT: retq
130 ; SSE-LABEL: combine_pshuflw3:
131 ; SSE: # BB#0: # %entry
132 ; SSE-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,6,5,4]
133 ; SSE-NEXT: retq
147 ; SSE-LABEL: combine_pshufhw1:
148 ; SSE: # BB#0: # %entry
149 ; SSE-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[3,2,1,0,4,5,6,7]
150 ; SSE-NEXT: retq
164 ; SSE-LABEL: combine_bitwise_ops_test1:
165 ; SSE: # BB#0:
166 ; SSE-NEXT: pand %xmm1, %xmm0
167 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,1,3]
168 ; SSE-NEXT: retq
182 ; SSE-LABEL: combine_bitwise_ops_test2:
183 ; SSE: # BB#0:
184 ; SSE-NEXT: por %xmm1, %xmm0
185 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,1,3]
186 ; SSE-NEXT: retq
200 ; SSE-LABEL: combine_bitwise_ops_test3:
201 ; SSE: # BB#0:
202 ; SSE-NEXT: pxor %xmm1, %xmm0
203 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,1,3]
204 ; SSE-NEXT: retq
218 ; SSE-LABEL: combine_bitwise_ops_test4:
219 ; SSE: # BB#0:
220 ; SSE-NEXT: pand %xmm1, %xmm0
221 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,1,3]
222 ; SSE-NEXT: retq
236 ; SSE-LABEL: combine_bitwise_ops_test5:
237 ; SSE: # BB#0:
238 ; SSE-NEXT: por %xmm1, %xmm0
239 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,1,3]
240 ; SSE-NEXT: retq
254 ; SSE-LABEL: combine_bitwise_ops_test6:
255 ; SSE: # BB#0:
256 ; SSE-NEXT: pxor %xmm1, %xmm0
257 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,1,3]
258 ; SSE-NEXT: retq
768 ; SSE-LABEL: combine_nested_undef_test1:
769 ; SSE: # BB#0:
770 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,1,0,1]
771 ; SSE-NEXT: retq
783 ; SSE-LABEL: combine_nested_undef_test2:
784 ; SSE: # BB#0:
785 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,1,0,3]
786 ; SSE-NEXT: retq
798 ; SSE-LABEL: combine_nested_undef_test3:
799 ; SSE: # BB#0:
800 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,1,0,3]
801 ; SSE-NEXT: retq
813 ; SSE-LABEL: combine_nested_undef_test4:
814 ; SSE: # BB#0:
815 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,0,1]
816 ; SSE-NEXT: retq
833 ; SSE-LABEL: combine_nested_undef_test5:
834 ; SSE: # BB#0:
835 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,2,3]
836 ; SSE-NEXT: retq
848 ; SSE-LABEL: combine_nested_undef_test6:
849 ; SSE: # BB#0:
850 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
851 ; SSE-NEXT: retq
863 ; SSE-LABEL: combine_nested_undef_test7:
864 ; SSE: # BB#0:
865 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,0,2]
866 ; SSE-NEXT: retq
878 ; SSE-LABEL: combine_nested_undef_test8:
879 ; SSE: # BB#0:
880 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,1,3,3]
881 ; SSE-NEXT: retq
893 ; SSE-LABEL: combine_nested_undef_test9:
894 ; SSE: # BB#0:
895 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,3,2,2]
896 ; SSE-NEXT: retq
908 ; SSE-LABEL: combine_nested_undef_test10:
909 ; SSE: # BB#0:
910 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,1,1,3]
911 ; SSE-NEXT: retq
923 ; SSE-LABEL: combine_nested_undef_test11:
924 ; SSE: # BB#0:
925 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,1,2,1]
926 ; SSE-NEXT: retq
938 ; SSE-LABEL: combine_nested_undef_test12:
939 ; SSE: # BB#0:
940 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,0,1]
941 ; SSE-NEXT: retq
969 ; SSE-LABEL: combine_nested_undef_test14:
970 ; SSE: # BB#0:
971 ; SSE-NEXT: movaps %xmm1, %xmm0
972 ; SSE-NEXT: retq
1103 ; SSE-LABEL: combine_nested_undef_test18:
1104 ; SSE: # BB#0:
1105 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,0,3]
1106 ; SSE-NEXT: retq
1229 ; SSE-LABEL: combine_nested_undef_test22:
1230 ; SSE: # BB#0:
1231 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,1,3]
1232 ; SSE-NEXT: retq
1244 ; SSE-LABEL: combine_nested_undef_test23:
1245 ; SSE: # BB#0:
1246 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm1[0,1,0,3]
1247 ; SSE-NEXT: retq
1259 ; SSE-LABEL: combine_nested_undef_test24:
1260 ; SSE: # BB#0:
1261 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm1[0,3,2,3]
1262 ; SSE-NEXT: retq
1274 ; SSE-LABEL: combine_nested_undef_test25:
1275 ; SSE: # BB#0:
1276 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,0,1]
1277 ; SSE-NEXT: retq
1294 ; SSE-LABEL: combine_nested_undef_test26:
1295 ; SSE: # BB#0:
1296 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,2,3]
1297 ; SSE-NEXT: retq
1309 ; SSE-LABEL: combine_nested_undef_test27:
1310 ; SSE: # BB#0:
1311 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,0,1]
1312 ; SSE-NEXT: retq
1329 ; SSE-LABEL: combine_nested_undef_test28:
1330 ; SSE: # BB#0:
1331 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,1,0]
1332 ; SSE-NEXT: retq
1344 ; SSE-LABEL: combine_test1:
1345 ; SSE: # BB#0:
1346 ; SSE-NEXT: movaps %xmm1, %xmm0
1347 ; SSE-NEXT: retq
1386 ; SSE-LABEL: combine_test3:
1387 ; SSE: # BB#0:
1388 ; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
1389 ; SSE-NEXT: retq
1401 ; SSE-LABEL: combine_test4:
1402 ; SSE: # BB#0:
1403 ; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1404 ; SSE-NEXT: movapd %xmm1, %xmm0
1405 ; SSE-NEXT: retq
1444 ; SSE-LABEL: combine_test6:
1445 ; SSE: # BB#0:
1446 ; SSE-NEXT: movaps %xmm1, %xmm0
1447 ; SSE-NEXT: retq
1491 ; SSE-LABEL: combine_test8:
1492 ; SSE: # BB#0:
1493 ; SSE-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
1494 ; SSE-NEXT: retq
1506 ; SSE-LABEL: combine_test9:
1507 ; SSE: # BB#0:
1508 ; SSE-NEXT: punpckhqdq {{.*#+}} xmm1 = xmm1[1],xmm0[1]
1509 ; SSE-NEXT: movdqa %xmm1, %xmm0
1510 ; SSE-NEXT: retq
1590 ; SSE-LABEL: combine_test13:
1591 ; SSE: # BB#0:
1592 ; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
1593 ; SSE-NEXT: retq
1605 ; SSE-LABEL: combine_test14:
1606 ; SSE: # BB#0:
1607 ; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]
1608 ; SSE-NEXT: retq
1688 ; SSE-LABEL: combine_test18:
1689 ; SSE: # BB#0:
1690 ; SSE-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
1691 ; SSE-NEXT: retq
1703 ; SSE-LABEL: combine_test19:
1704 ; SSE: # BB#0:
1705 ; SSE-NEXT: punpckhqdq {{.*#+}} xmm0 = xmm0[1],xmm1[1]
1706 ; SSE-NEXT: retq
1750 ; SSE-LABEL: combine_test21:
1751 ; SSE: # BB#0:
1752 ; SSE-NEXT: movdqa %xmm0, %xmm2
1753 ; SSE-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm1[0]
1754 ; SSE-NEXT: punpckhqdq {{.*#+}} xmm0 = xmm0[1],xmm1[1]
1755 ; SSE-NEXT: movdqa %xmm2, (%rdi)
1756 ; SSE-NEXT: retq
1782 ; SSE-LABEL: combine_test22:
1783 ; SSE: # BB#0:
1784 ; SSE-NEXT: movq {{.*#+}} xmm0 = mem[0],zero
1785 ; SSE-NEXT: movhpd (%rsi), %xmm0
1786 ; SSE-NEXT: retq
1804 ; SSE-LABEL: combine_test1b:
1805 ; SSE: # BB#0:
1806 ; SSE-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,1,2,0]
1807 ; SSE-NEXT: movaps %xmm1, %xmm0
1808 ; SSE-NEXT: retq
1875 ; SSE-LABEL: combine_test4b:
1876 ; SSE: # BB#0:
1877 ; SSE-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,1,2,3]
1878 ; SSE-NEXT: movaps %xmm1, %xmm0
1879 ; SSE-NEXT: retq
2194 ; SSE-LABEL: combine_test_movhl_1:
2195 ; SSE: # BB#0:
2196 ; SSE-NEXT: punpckhqdq {{.*#+}} xmm1 = xmm1[1],xmm0[1]
2197 ; SSE-NEXT: movdqa %xmm1, %xmm0
2198 ; SSE-NEXT: retq
2210 ; SSE-LABEL: combine_test_movhl_2:
2211 ; SSE: # BB#0:
2212 ; SSE-NEXT: punpckhqdq {{.*#+}} xmm1 = xmm1[1],xmm0[1]
2213 ; SSE-NEXT: movdqa %xmm1, %xmm0
2214 ; SSE-NEXT: retq
2226 ; SSE-LABEL: combine_test_movhl_3:
2227 ; SSE: # BB#0:
2228 ; SSE-NEXT: punpckhqdq {{.*#+}} xmm1 = xmm1[1],xmm0[1]
2229 ; SSE-NEXT: movdqa %xmm1, %xmm0
2230 ; SSE-NEXT: retq
2271 ; SSE-LABEL: combine_undef_input_test2:
2272 ; SSE: # BB#0:
2273 ; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2274 ; SSE-NEXT: retq
2286 ; SSE-LABEL: combine_undef_input_test3:
2287 ; SSE: # BB#0:
2288 ; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2289 ; SSE-NEXT: retq
2301 ; SSE-LABEL: combine_undef_input_test4:
2302 ; SSE: # BB#0:
2303 ; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
2304 ; SSE-NEXT: movapd %xmm1, %xmm0
2305 ; SSE-NEXT: retq
2407 ; SSE-LABEL: combine_undef_input_test9:
2408 ; SSE: # BB#0:
2409 ; SSE-NEXT: movhlps {{.*#+}} xmm0 = xmm0[1,1]
2410 ; SSE-NEXT: retq
2456 ; SSE-LABEL: combine_undef_input_test12:
2457 ; SSE: # BB#0:
2458 ; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2459 ; SSE-NEXT: retq
2471 ; SSE-LABEL: combine_undef_input_test13:
2472 ; SSE: # BB#0:
2473 ; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2474 ; SSE-NEXT: retq
2486 ; SSE-LABEL: combine_undef_input_test14:
2487 ; SSE: # BB#0:
2488 ; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]
2489 ; SSE-NEXT: movapd %xmm1, %xmm0
2490 ; SSE-NEXT: retq
2598 ; SSE-LABEL: combine_undef_input_test19:
2599 ; SSE: # BB#0:
2600 ; SSE-NEXT: movhlps {{.*#+}} xmm0 = xmm0[1,1]
2601 ; SSE-NEXT: retq
2627 ; SSE-LABEL: combine_unneeded_subvector1:
2628 ; SSE: # BB#0:
2629 ; SSE-NEXT: paddd {{.*}}(%rip), %xmm1
2630 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm1[3,2,1,0]
2631 ; SSE-NEXT: movdqa %xmm0, %xmm1
2632 ; SSE-NEXT: retq
2654 ; SSE-LABEL: combine_unneeded_subvector2:
2655 ; SSE: # BB#0:
2656 ; SSE-NEXT: paddd {{.*}}(%rip), %xmm1
2657 ; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm3[3,2,1,0]
2658 ; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[3,2,1,0]
2659 ; SSE-NEXT: retq
2798 ; SSE-LABEL: PR22377:
2799 ; SSE: # BB#0: # %entry
2800 ; SSE-NEXT: movaps %xmm0, %xmm1
2801 ; SSE-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,3,1,3]
2802 ; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2,0,2]
2803 ; SSE-NEXT: addps %xmm0, %xmm1
2804 ; SSE-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
2805 ; SSE-NEXT: retq