summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/RISCV/rvi-aliases-valid.s
diff options
context:
space:
mode:
authorAlex Bradbury <asb@lowrisc.org>2019-07-16 04:56:43 +0000
committerAlex Bradbury <asb@lowrisc.org>2019-07-16 04:56:43 +0000
commit1ffceaa54361af7120c87656bd949880d5426355 (patch)
tree012d5afea77c581c7ed4a918dcd5ff6b8ca9cb8f /llvm/test/MC/RISCV/rvi-aliases-valid.s
parent49a3ad21d6034eb20f99f228dbebcc5f65a748d8 (diff)
downloadbcm5719-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.s28
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
OpenPOWER on IntegriCloud