aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2024-05-03 09:20:08 +0200
committerRichard Henderson <richard.henderson@linaro.org>2024-05-04 07:38:09 -0700
commitc0fcd5612e84810fbc62b17fb99a0a4dd847b251 (patch)
tree859588fc13f2f2f3a80512ff71cb6a72b9e64e16
parent0cda93c9b55b1f865f92a2a2e189dcbaab485bb2 (diff)
downloadqemu-c0fcd5612e84810fbc62b17fb99a0a4dd847b251.zip
qemu-c0fcd5612e84810fbc62b17fb99a0a4dd847b251.tar.gz
qemu-c0fcd5612e84810fbc62b17fb99a0a4dd847b251.tar.bz2
target/alpha: Inline DISAS_PC_UPDATED and return DISAS_NORETURN
Inline DISAS_PC_UPDATED switch case from alpha_tr_tb_stop(): switch (ctx->base.is_jmp) { ... case DISAS_PC_UPDATED: tcg_gen_lookup_and_goto_ptr(); break; Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20240424234436.995410-4-richard.henderson@linaro.org> [PMD: Split bigger patch, part 2/5] Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20240503072014.24751-5-philmd@linaro.org>
-rw-r--r--target/alpha/translate.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/target/alpha/translate.c b/target/alpha/translate.c
index 9ad7bf6..01914e7 100644
--- a/target/alpha/translate.c
+++ b/target/alpha/translate.c
@@ -450,7 +450,8 @@ static DisasJumpType gen_bdirect(DisasContext *ctx, int ra, int32_t disp)
return DISAS_NORETURN;
} else {
tcg_gen_movi_i64(cpu_pc, dest);
- return DISAS_PC_UPDATED;
+ tcg_gen_lookup_and_goto_ptr();
+ return DISAS_NORETURN;
}
}
@@ -479,7 +480,8 @@ static DisasJumpType gen_bcond_internal(DisasContext *ctx, TCGCond cond,
TCGv_i64 p = tcg_constant_i64(ctx->base.pc_next);
tcg_gen_movcond_i64(cond, cpu_pc, cmp, i, d, p);
- return DISAS_PC_UPDATED;
+ tcg_gen_lookup_and_goto_ptr();
+ return DISAS_NORETURN;
}
}