Changing all mnemonic to match assembly instructions to simplify mnemonic
naming rules. This time update all shift operation instructions. This also
corrects instruction's operation kinds.
Details
- Reviewers
simoll k-ishizaka - Commits
- rGa6ef4719198e: [VE] Update shift operation instructions
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
LGTM for the most part. One comment inline.
llvm/lib/Target/VE/VEInstrInfo.td | ||
---|---|---|
1083 | Couldn't we just use LLVM's expansion legalizer for sext_inreg instead of specifying a pattern here? If not, then this comment should be removed. |
llvm/lib/Target/VE/VEInstrInfo.td | ||
---|---|---|
1083 | Thank you for comments. Using LLVM's expansion legalizer generates not optimized instructions sometimes. For example, %2 = trunc i64 %0 to i8 becomes following instructions: adds.w.sx %s0, %s0, (0)1 sla.w.sx %s0, %s0, 24 sra.w.sx %s0, %s0, 24 instead of instructions generated by current patterns: sll %s0, %s0, 56 sra.l %s0, %s0, 56 It may be possible to expand them based on 64 bit registers using default legalizer, but I'm not sure how to do that. |
Couldn't we just use LLVM's expansion legalizer for sext_inreg instead of specifying a pattern here? If not, then this comment should be removed.