llvm-project
d9d9d9ad - [ARM][MVE] Add shuffle costs for LDn and STn instructions. (#145304)

Commit
249 days ago
[ARM][MVE] Add shuffle costs for LDn and STn instructions. (#145304) LD2 is represented in IR as deinterleave-shuffle(load), and ST2 as store(interleave-shuffle). Whilst the shuffle would be expensive in general for MVE (it does not have zip/uzp instructions), it should be treated as cheap when part of the LD2/ST2 pattern. This borrows some code from the AArch64 backed to produce lower costs. (Some of which still shows as higher than it should - that just shows how broken the generic shuffle costs are at the moment, they would be lower if getShuffleCost was called directly as opposed to going through getInstructionCost).
Author
Parents
Loading