diff options
| author | Alex Bradbury <asb@lowrisc.org> | 2019-07-16 04:56:43 +0000 |
|---|---|---|
| committer | Alex Bradbury <asb@lowrisc.org> | 2019-07-16 04:56:43 +0000 |
| commit | 1ffceaa54361af7120c87656bd949880d5426355 (patch) | |
| tree | 012d5afea77c581c7ed4a918dcd5ff6b8ca9cb8f /llvm/test/MC/RISCV/rvi-aliases-valid.s | |
| parent | 49a3ad21d6034eb20f99f228dbebcc5f65a748d8 (diff) | |
| download | bcm5719-llvm-1ffceaa54361af7120c87656bd949880d5426355.tar.gz bcm5719-llvm-1ffceaa54361af7120c87656bd949880d5426355.zip | |
[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
Diffstat (limited to 'llvm/test/MC/RISCV/rvi-aliases-valid.s')
| -rw-r--r-- | llvm/test/MC/RISCV/rvi-aliases-valid.s | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/llvm/test/MC/RISCV/rvi-aliases-valid.s b/llvm/test/MC/RISCV/rvi-aliases-valid.s index a3050aa46f6..71a50ec95aa 100644 --- a/llvm/test/MC/RISCV/rvi-aliases-valid.s +++ b/llvm/test/MC/RISCV/rvi-aliases-valid.s @@ -139,13 +139,31 @@ jal foo # CHECK-OBJ: jal 0 # CHECK-OBJ: R_RISCV_JAL a0 jal a0 -# CHECK-S-OBJ-NOALIAS: jalr zero, s4, 0 +# CHECK-S-OBJ-NOALIAS: jalr zero, 0(s4) # CHECK-S-OBJ: jr s4 jr x20 -# CHECK-S-OBJ-NOALIAS: jalr ra, s5, 0 -# CHECK-S-OBJ: jalr s5 -jalr x21 -# CHECK-S-OBJ-NOALIAS: jalr zero, ra, 0 +# CHECK-S-OBJ-NOALIAS: jalr zero, 6(s5) +# CHECK-S-OBJ: jr 6(s5) +jr 6(x21) +# CHECK-S-OBJ-NOALIAS: jalr zero, 7(s6) +# CHECK-S-OBJ: jr 7(s6) +jr x22, 7 +# CHECK-S-OBJ-NOALIAS: jalr ra, 0(s4) +# CHECK-S-OBJ: jalr s4 +jalr x20 +# CHECK-S-OBJ-NOALIAS: jalr ra, 8(s5) +# CHECK-S-OBJ: jalr 8(s5) +jalr 8(x21) +# CHECK-S-OBJ-NOALIAS: jalr s6, 0(s7) +# CHECK-S-OBJ: jalr s6, s7 +jalr x22, x23 +# CHECK-S-OBJ-NOALIAS: jalr ra, 9(s8) +# CHECK-S-OBJ: jalr 9(s8) +jalr x24, 9 +# CHECK-S-OBJ-NOALIAS: jalr s9, 11(s10) +# CHECK-S-OBJ: jalr s9, 11(s10) +jalr x25, x26, 11 +# CHECK-S-OBJ-NOALIAS: jalr zero, 0(ra) # CHECK-S-OBJ: ret ret # TODO call |

