[RISCV] Match GNU tools canonical JALR and add aliases
authorAlex Bradbury <asb@lowrisc.org>
Tue, 16 Jul 2019 04:56:43 +0000 (04:56 +0000)
committerAlex Bradbury <asb@lowrisc.org>
Tue, 16 Jul 2019 04:56:43 +0000 (04:56 +0000)
commit1ffceaa54361af7120c87656bd949880d5426355
tree012d5afea77c581c7ed4a918dcd5ff6b8ca9cb8f
parent49a3ad21d6034eb20f99f228dbebcc5f65a748d8
[RISCV] Match GNU tools canonical JALR and add aliases

The canonical GNU form of JALR resembles a load/store instruction rather
than placing the immediate offset as a separate argument, so match this
behaviour. Also add parser-only aliases for the three-operand form, and
add other shorter aliases also emitted by GNU tools.

Differential Revision: https://reviews.llvm.org/D55277
Patch by James Clarke.

llvm-svn: 366179
llvm/lib/Target/RISCV/RISCVInstrInfo.td
llvm/test/CodeGen/RISCV/branch-relaxation.ll
llvm/test/CodeGen/RISCV/indirectbr.ll
llvm/test/CodeGen/RISCV/option-rvc.ll
llvm/test/MC/RISCV/compress-rv32i.s
llvm/test/MC/RISCV/fixups.s
llvm/test/MC/RISCV/rv32e-valid.s
llvm/test/MC/RISCV/rv32i-valid.s
llvm/test/MC/RISCV/rvi-aliases-valid.s