[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 10/45] target/hppa: Skip nullified insns in unconditional dbranch
From: |
Richard Henderson |
Subject: |
[PATCH 10/45] target/hppa: Skip nullified insns in unconditional dbranch path |
Date: |
Wed, 24 Apr 2024 16:59:48 -0700 |
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/hppa/translate.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index ac181180a6..6a73b1d409 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -1804,11 +1804,17 @@ static bool do_dbranch(DisasContext *ctx, int64_t disp,
if (ctx->null_cond.c == TCG_COND_NEVER && ctx->null_lab == NULL) {
install_link(ctx, link, false);
- ctx->iaoq_n = dest;
- ctx->iaoq_n_var = NULL;
if (is_n) {
+ if (use_nullify_skip(ctx)) {
+ nullify_set(ctx, 0);
+ gen_goto_tb(ctx, 0, dest, dest + 4);
+ ctx->base.is_jmp = DISAS_NORETURN;
+ return true;
+ }
ctx->null_cond.c = TCG_COND_ALWAYS;
}
+ ctx->iaoq_n = dest;
+ ctx->iaoq_n_var = NULL;
} else {
nullify_over(ctx);
--
2.34.1
- [PATCH 01/45] target/hppa: Move cpu_get_tb_cpu_state out of line, (continued)
- [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, 2024/04/24
- [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 <=
- [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
- [PATCH 23/45] target/hppa: Use TCG_COND_TST* in do_unit_addsub, Richard Henderson, 2024/04/24
- [PATCH 29/45] target/hppa: Use delay_excp for conditional traps, Richard Henderson, 2024/04/24
- [PATCH 28/45] target/hppa: Introduce DisasDelayException, Richard Henderson, 2024/04/24