Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [ARM] Add a SelectTAddrModeImm7 for MVE narrow loads and stores | David Green | 2019-09-17 | 1 | -25/+22 |
| | | | | | | | | | | | | We were previously using the SelectT2AddrModeImm7 for both normal and narrowing MVE loads/stores. As the narrowing instructions do not accept sp as a register, it makes little sense to optimise a FrameIndex into the load, only to have to recover that later on. This adds a SelectTAddrModeImm7 which does not do that folding, and uses it for narrowing load/store patterns. Differential Revision: https://reviews.llvm.org/D67489 llvm-svn: 372134 | ||||
* | [ARM] Correct register for narrowing and widening MVE loads and stores. | David Green | 2019-08-16 | 1 | -0/+281 |
The widening and narrowing MVE instructions like VLDRH.32 are only permitted to use low tGPR registers. This means that if they are used for a stack slot, where the register used is only decided during frame setup, we need to be able to correctly pick a thumb1 register over a normal GPR. This attempts to add the required logic into eliminateFrameIndex and rewriteT2FrameIndex, only picking the FrameReg if it is a valid register for the operands register class, and picking a valid scratch register for the register class. Differential Revision: https://reviews.llvm.org/D66285 llvm-svn: 369108 |