[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 03/45] target/hppa: Move constant destination check into use_goto
From: |
Richard Henderson |
Subject: |
[PATCH 03/45] target/hppa: Move constant destination check into use_goto_tb |
Date: |
Wed, 24 Apr 2024 16:59:41 -0700 |
Share this check between gen_goto_tb and hppa_tr_translate_insn.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/hppa/translate.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 42fa480950..cb874e1c1e 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -661,9 +661,10 @@ static bool gen_illegal(DisasContext *ctx)
} while (0)
#endif
-static bool use_goto_tb(DisasContext *ctx, uint64_t dest)
+static bool use_goto_tb(DisasContext *ctx, uint64_t bofs, uint64_t nofs)
{
- return translator_use_goto_tb(&ctx->base, dest);
+ return (bofs != -1 && nofs != -1 &&
+ translator_use_goto_tb(&ctx->base, bofs));
}
/* If the next insn is to be nullified, and it's on the same page,
@@ -677,16 +678,16 @@ static bool use_nullify_skip(DisasContext *ctx)
}
static void gen_goto_tb(DisasContext *ctx, int which,
- uint64_t f, uint64_t b)
+ uint64_t b, uint64_t n)
{
- if (f != -1 && b != -1 && use_goto_tb(ctx, f)) {
+ if (use_goto_tb(ctx, b, n)) {
tcg_gen_goto_tb(which);
- copy_iaoq_entry(ctx, cpu_iaoq_f, f, NULL);
- copy_iaoq_entry(ctx, cpu_iaoq_b, b, NULL);
+ copy_iaoq_entry(ctx, cpu_iaoq_f, b, NULL);
+ copy_iaoq_entry(ctx, cpu_iaoq_b, n, NULL);
tcg_gen_exit_tb(ctx->base.tb, which);
} else {
- copy_iaoq_entry(ctx, cpu_iaoq_f, f, cpu_iaoq_b);
- copy_iaoq_entry(ctx, cpu_iaoq_b, b, ctx->iaoq_n_var);
+ copy_iaoq_entry(ctx, cpu_iaoq_f, b, cpu_iaoq_b);
+ copy_iaoq_entry(ctx, cpu_iaoq_b, n, ctx->iaoq_n_var);
tcg_gen_lookup_and_goto_ptr();
}
}
@@ -4743,8 +4744,7 @@ static void hppa_tr_translate_insn(DisasContextBase
*dcbase, CPUState *cs)
/* Advance the insn queue. Note that this check also detects
a priority change within the instruction queue. */
if (ret == DISAS_NEXT && ctx->iaoq_b != ctx->iaoq_f + 4) {
- if (ctx->iaoq_b != -1 && ctx->iaoq_n != -1
- && use_goto_tb(ctx, ctx->iaoq_b)
+ if (use_goto_tb(ctx, ctx->iaoq_b, ctx->iaoq_n)
&& (ctx->null_cond.c == TCG_COND_NEVER
|| ctx->null_cond.c == TCG_COND_ALWAYS)) {
nullify_set(ctx, ctx->null_cond.c == TCG_COND_ALWAYS);
--
2.34.1
- [PATCH 00/45] target/hppa: Misc improvements, Richard Henderson, 2024/04/24
- [PATCH 02/45] target/hppa: Use hppa_form_gva_psw in hppa_cpu_get_pc, Richard Henderson, 2024/04/24
- [PATCH 01/45] target/hppa: Move cpu_get_tb_cpu_state out of line, Richard Henderson, 2024/04/24
- [PATCH 08/45] target/hppa: Add install_link, Richard Henderson, 2024/04/24
- [PATCH 06/45] target/hppa: Use CF_BP_PAGE instead of cpu_breakpoint_test, Richard Henderson, 2024/04/24
- [PATCH 16/45] target/hppa: Always make a copy in do_ibranch_priv, Richard Henderson, 2024/04/24
- [PATCH 18/45] target/hppa: Use displacements in DisasIAQE, Richard Henderson, 2024/04/24
- [PATCH 24/45] target/hppa: Use TCG_COND_TST* in trans_bb_imm, Richard Henderson, 2024/04/24
- [PATCH 27/45] target/hppa: Remove cond_free, Richard Henderson, 2024/04/24
- [PATCH 03/45] target/hppa: Move constant destination check into use_goto_tb,
Richard Henderson <=
- [PATCH 05/45] target/hppa: Allow prior nullification in do_ibranch, Richard Henderson, 2024/04/24
- [PATCH 13/45] target/hppa: Add space arguments to install_iaq_entries, Richard Henderson, 2024/04/24
- [PATCH 10/45] target/hppa: Skip nullified insns in unconditional dbranch path, Richard Henderson, 2024/04/24
- [PATCH 15/45] target/hppa: Use umax in do_ibranch_priv, Richard Henderson, 2024/04/24
- [PATCH 20/45] target/hppa: Use TCG_COND_TST* in do_cond, Richard Henderson, 2024/04/24
- [PATCH 19/45] target/hppa: Rename cond_make_* helpers, Richard Henderson, 2024/04/24
- [PATCH 04/45] target/hppa: Pass displacement to do_dbranch, Richard Henderson, 2024/04/24
- [PATCH 14/45] target/hppa: Add space argument to do_ibranch, Richard Henderson, 2024/04/24
- [PATCH 12/45] target/hppa: Add IASQ entries to DisasContext, Richard Henderson, 2024/04/24
- [PATCH 22/45] target/hppa: Use TCG_COND_TST* in do_unit_zero_cond, Richard Henderson, 2024/04/24