Commit 6584e47
authored
[RISCV] Combine vmerge_vl allones -> vmv_v_v, vmv_v_v splat(x) -> vmv_v_x (llvm#170539)
An upcoming patch aims to remove the last use of
@llvm.experimental.vp.splat in RISCVCodegenPrepare by replacing it with
a vp_merge of a regular splat.
A vp_merge will get lowered to vmerge_vl, and if we combine vmerge_vl of
a splat to vmv_v_x we can get the same behaviour as the vp.splat
intrinsic.
This adds the two combines needed. It was easier to do the combines on
_vl nodes rather than on vp_merge itself, since the types are already
legal for _vl nodes.1 parent cb8ce28 commit 6584e47
File tree
3 files changed
+128
-0
lines changed- llvm
- lib/Target/RISCV
- test/CodeGen/RISCV/rvv
3 files changed
+128
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21872 | 21872 | | |
21873 | 21873 | | |
21874 | 21874 | | |
| 21875 | + | |
| 21876 | + | |
| 21877 | + | |
| 21878 | + | |
| 21879 | + | |
| 21880 | + | |
| 21881 | + | |
| 21882 | + | |
| 21883 | + | |
| 21884 | + | |
| 21885 | + | |
| 21886 | + | |
| 21887 | + | |
| 21888 | + | |
| 21889 | + | |
| 21890 | + | |
| 21891 | + | |
| 21892 | + | |
| 21893 | + | |
| 21894 | + | |
| 21895 | + | |
| 21896 | + | |
| 21897 | + | |
| 21898 | + | |
| 21899 | + | |
| 21900 | + | |
| 21901 | + | |
| 21902 | + | |
| 21903 | + | |
| 21904 | + | |
| 21905 | + | |
| 21906 | + | |
| 21907 | + | |
| 21908 | + | |
| 21909 | + | |
| 21910 | + | |
| 21911 | + | |
| 21912 | + | |
21875 | 21913 | | |
21876 | 21914 | | |
21877 | 21915 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1353 | 1353 | | |
1354 | 1354 | | |
1355 | 1355 | | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
| 1367 | + | |
| 1368 | + | |
| 1369 | + | |
| 1370 | + | |
| 1371 | + | |
| 1372 | + | |
| 1373 | + | |
| 1374 | + | |
| 1375 | + | |
| 1376 | + | |
| 1377 | + | |
| 1378 | + | |
| 1379 | + | |
| 1380 | + | |
| 1381 | + | |
| 1382 | + | |
| 1383 | + | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
| 1387 | + | |
| 1388 | + | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
| 1393 | + | |
| 1394 | + | |
| 1395 | + | |
| 1396 | + | |
| 1397 | + | |
| 1398 | + | |
| 1399 | + | |
| 1400 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1663 | 1663 | | |
1664 | 1664 | | |
1665 | 1665 | | |
| 1666 | + | |
| 1667 | + | |
| 1668 | + | |
| 1669 | + | |
| 1670 | + | |
| 1671 | + | |
| 1672 | + | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
| 1681 | + | |
| 1682 | + | |
| 1683 | + | |
| 1684 | + | |
| 1685 | + | |
| 1686 | + | |
| 1687 | + | |
| 1688 | + | |
| 1689 | + | |
| 1690 | + | |
| 1691 | + | |
| 1692 | + | |
| 1693 | + | |
| 1694 | + | |
| 1695 | + | |
| 1696 | + | |
| 1697 | + | |
| 1698 | + | |
| 1699 | + | |
| 1700 | + | |
| 1701 | + | |
| 1702 | + | |
| 1703 | + | |
| 1704 | + | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
| 1709 | + | |
| 1710 | + | |
0 commit comments