[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v7 03/22] target/riscv: Sign extend link reg for jal and jalr
From: |
LIU Zhiwei |
Subject: |
[PATCH v7 03/22] target/riscv: Sign extend link reg for jal and jalr |
Date: |
Wed, 19 Jan 2022 13:18:05 +0800 |
Signed-off-by: LIU Zhiwei <zhiwei_liu@c-sky.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
---
target/riscv/insn_trans/trans_rvi.c.inc | 4 +---
target/riscv/translate.c | 4 +---
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/target/riscv/insn_trans/trans_rvi.c.inc
b/target/riscv/insn_trans/trans_rvi.c.inc
index 3a0ae28fef..b9ba57f266 100644
--- a/target/riscv/insn_trans/trans_rvi.c.inc
+++ b/target/riscv/insn_trans/trans_rvi.c.inc
@@ -68,9 +68,7 @@ static bool trans_jalr(DisasContext *ctx, arg_jalr *a)
tcg_temp_free(t0);
}
- if (a->rd != 0) {
- tcg_gen_movi_tl(cpu_gpr[a->rd], ctx->pc_succ_insn);
- }
+ gen_set_gpri(ctx, a->rd, ctx->pc_succ_insn);
tcg_gen_lookup_and_goto_ptr();
if (misaligned) {
diff --git a/target/riscv/translate.c b/target/riscv/translate.c
index 330904265e..30c0e28778 100644
--- a/target/riscv/translate.c
+++ b/target/riscv/translate.c
@@ -369,10 +369,8 @@ static void gen_jal(DisasContext *ctx, int rd,
target_ulong imm)
return;
}
}
- if (rd != 0) {
- tcg_gen_movi_tl(cpu_gpr[rd], ctx->pc_succ_insn);
- }
+ gen_set_gpri(ctx, rd, ctx->pc_succ_insn);
gen_goto_tb(ctx, 0, ctx->base.pc_next + imm); /* must use this for safety
*/
ctx->base.is_jmp = DISAS_NORETURN;
}
--
2.25.1
- [PATCH v7 00/22] Support UXL filed in xstatus, LIU Zhiwei, 2022/01/19
- [PATCH v7 01/22] target/riscv: Adjust pmpcfg access with mxl, LIU Zhiwei, 2022/01/19
- [PATCH v7 02/22] target/riscv: Don't save pc when exception return, LIU Zhiwei, 2022/01/19
- [PATCH v7 03/22] target/riscv: Sign extend link reg for jal and jalr,
LIU Zhiwei <=
- [PATCH v7 04/22] target/riscv: Sign extend pc for different XLEN, LIU Zhiwei, 2022/01/19
- [PATCH v7 05/22] target/riscv: Create xl field in env, LIU Zhiwei, 2022/01/19
- [PATCH v7 06/22] target/riscv: Ignore the pc bits above XLEN, LIU Zhiwei, 2022/01/19
- [PATCH v7 07/22] target/riscv: Extend pc for runtime pc write, LIU Zhiwei, 2022/01/19
- [PATCH v7 08/22] target/riscv: Use gdb xml according to max mxlen, LIU Zhiwei, 2022/01/19
- [PATCH v7 09/22] target/riscv: Relax debug check for pm write, LIU Zhiwei, 2022/01/19
- [PATCH v7 10/22] target/riscv: Adjust csr write mask with XLEN, LIU Zhiwei, 2022/01/19
- [PATCH v7 11/22] target/riscv: Create current pm fields in env, LIU Zhiwei, 2022/01/19
- [PATCH v7 12/22] target/riscv: Alloc tcg global for cur_pm[mask|base], LIU Zhiwei, 2022/01/19
- [PATCH v7 13/22] target/riscv: Calculate address according to XLEN, LIU Zhiwei, 2022/01/19