aboutsummaryrefslogtreecommitdiff
path: root/target/loongarch/disas.c
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2023-01-17 14:32:38 -1000
committerRichard Henderson <richard.henderson@linaro.org>2023-01-23 15:36:36 -1000
commitc2b618a8c1acb899b56eb8b2f1354da1f69474ea (patch)
tree077daae3e46badd879aa3748eda529191a0f51f5 /target/loongarch/disas.c
parent2e0d91513deb9bf0e5a1b2e0f574d999df3ebd99 (diff)
downloadqemu-c2b618a8c1acb899b56eb8b2f1354da1f69474ea.zip
qemu-c2b618a8c1acb899b56eb8b2f1354da1f69474ea.tar.gz
qemu-c2b618a8c1acb899b56eb8b2f1354da1f69474ea.tar.bz2
target/loongarch: Disassemble jirl properly
While jirl shares the same instruction format as bne etc, it is not assembled the same. In particular, rd is printed first not second and the immediate is not pc-relative. Decode into the arg_rr_i structure, which prints correctly. This changes the "offs" member to "imm", to update translate. Reviewed-by: WANG Xuerui <git@xen0n.name> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/loongarch/disas.c')
-rw-r--r--target/loongarch/disas.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/loongarch/disas.c b/target/loongarch/disas.c
index 858dfcc..7cffd85 100644
--- a/target/loongarch/disas.c
+++ b/target/loongarch/disas.c
@@ -628,7 +628,7 @@ INSN(beqz, r_offs)
INSN(bnez, r_offs)
INSN(bceqz, c_offs)
INSN(bcnez, c_offs)
-INSN(jirl, rr_offs)
+INSN(jirl, rr_i)
INSN(b, offs)
INSN(bl, offs)
INSN(beq, rr_offs)