[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v8 53/68] target/nios2: Hoist set of is_jmp into gen_goto_tb
From: |
Richard Henderson |
Subject: |
[PATCH v8 53/68] target/nios2: Hoist set of is_jmp into gen_goto_tb |
Date: |
Fri, 22 Apr 2022 09:52:23 -0700 |
Rather than force all callers to set this, do it
within the subroutine.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220421151735.31996-50-richard.henderson@linaro.org>
---
target/nios2/translate.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/target/nios2/translate.c b/target/nios2/translate.c
index 8616813365..a55270cefa 100644
--- a/target/nios2/translate.c
+++ b/target/nios2/translate.c
@@ -192,6 +192,7 @@ static void gen_goto_tb(DisasContext *dc, int n, uint32_t
dest)
tcg_gen_movi_tl(cpu_pc, dest);
tcg_gen_exit_tb(NULL, 0);
}
+ dc->base.is_jmp = DISAS_NORETURN;
}
static void gen_jumpr(DisasContext *dc, int regno, bool is_call)
@@ -235,7 +236,6 @@ static void jmpi(DisasContext *dc, uint32_t code, uint32_t
flags)
{
J_TYPE(instr, code);
gen_goto_tb(dc, 0, (dc->pc & 0xF0000000) | (instr.imm26 << 2));
- dc->base.is_jmp = DISAS_NORETURN;
}
static void call(DisasContext *dc, uint32_t code, uint32_t flags)
@@ -278,7 +278,6 @@ static void br(DisasContext *dc, uint32_t code, uint32_t
flags)
I_TYPE(instr, code);
gen_goto_tb(dc, 0, dc->base.pc_next + (instr.imm16.s & -4));
- dc->base.is_jmp = DISAS_NORETURN;
}
static void gen_bxx(DisasContext *dc, uint32_t code, uint32_t flags)
@@ -290,7 +289,6 @@ static void gen_bxx(DisasContext *dc, uint32_t code,
uint32_t flags)
gen_goto_tb(dc, 0, dc->base.pc_next);
gen_set_label(l1);
gen_goto_tb(dc, 1, dc->base.pc_next + (instr.imm16.s & -4));
- dc->base.is_jmp = DISAS_NORETURN;
}
/* Comparison instructions */
--
2.34.1
- [PATCH v8 44/68] target/nios2: Split out helpers for gen_i_cmpxx, (continued)
- [PATCH v8 44/68] target/nios2: Split out helpers for gen_i_cmpxx, Richard Henderson, 2022/04/22
- [PATCH v8 45/68] target/nios2: Split out helpers for gen_i_math_logic, Richard Henderson, 2022/04/22
- [PATCH v8 46/68] target/nios2: Split out helpers for gen_r_math_logic, Richard Henderson, 2022/04/22
- [PATCH v8 47/68] target/nios2: Split out helpers for gen_rr_mul_high, Richard Henderson, 2022/04/22
- [PATCH v8 48/68] target/nios2: Split out helpers for gen_rr_shift, Richard Henderson, 2022/04/22
- [PATCH v8 49/68] target/nios2: Introduce dest_gpr, Richard Henderson, 2022/04/22
- [PATCH v8 51/68] target/nios2: Enable unaligned traps for system mode, Richard Henderson, 2022/04/22
- [PATCH v8 52/68] target/nios2: Create gen_jumpr, Richard Henderson, 2022/04/22
- [PATCH v8 50/68] target/nios2: Drop CR_STATUS_EH from tb->flags, Richard Henderson, 2022/04/22
- [PATCH v8 54/68] target/nios2: Use gen_goto_tb for DISAS_TOO_MANY, Richard Henderson, 2022/04/22
- [PATCH v8 53/68] target/nios2: Hoist set of is_jmp into gen_goto_tb,
Richard Henderson <=
- [PATCH v8 56/68] target/nios2: Implement Misaligned destination exception, Richard Henderson, 2022/04/22
- [PATCH v8 55/68] target/nios2: Use tcg_gen_lookup_and_goto_ptr, Richard Henderson, 2022/04/22
- [PATCH v8 57/68] target/nios2: Introduce shadow register sets, Richard Henderson, 2022/04/22
- [PATCH v8 59/68] target/nios2: Update helper_eret for shadow registers, Richard Henderson, 2022/04/22
- [PATCH v8 58/68] target/nios2: Implement rdprs, wrprs, Richard Henderson, 2022/04/22
- [PATCH v8 60/68] target/nios2: Implement EIC interrupt processing, Richard Henderson, 2022/04/22
- [PATCH v8 61/68] target/nios2: Advance pc when raising exceptions, Richard Henderson, 2022/04/22
- [PATCH v8 62/68] linux-user/nios2: Handle various SIGILL exceptions, Richard Henderson, 2022/04/22
- [PATCH v8 63/68] hw/intc: Vectored Interrupt Controller (VIC), Richard Henderson, 2022/04/22
- [PATCH v8 64/68] hw/nios2: Introduce Nios2MachineState, Richard Henderson, 2022/04/22