aboutsummaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2024-03-26 08:34:35 -1000
committerMichael Tokarev <mjt@tls.msk.ru>2024-04-01 19:23:57 +0300
commit35fface50fe56ea4a4d236d11e6f07bd6e153366 (patch)
treeb5c61439445d6ce0c758e1858dca296336a9fc7e /target
parent3cdfd68e4e6586c5c4583fb8cf6cc8074c73b51c (diff)
target/hppa: Clear psw_n for BE on use_nullify_skip path
Along this path we have already skipped the insn to be nullified, so the subsequent insn should be executed. Cc: qemu-stable@nongnu.org Reported-by: Sven Schnelle <svens@stackframe.org> Tested-by: Sven Schnelle <svens@stackframe.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> (cherry picked from commit 4a3aa11e1fb25c28c24a43fd2835c429b00a463d) Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Diffstat (limited to 'target')
-rw-r--r--target/hppa/translate.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 19c4df8960..d82d3c8748 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -3819,6 +3819,7 @@ static bool trans_be(DisasContext *ctx, arg_be *a)
copy_iaoq_entry(ctx, cpu_iaoq_b, -1, tmp);
tcg_gen_mov_i64(cpu_iasq_f, new_spc);
tcg_gen_mov_i64(cpu_iasq_b, cpu_iasq_f);
+ nullify_set(ctx, 0);
} else {
copy_iaoq_entry(ctx, cpu_iaoq_f, ctx->iaoq_b, cpu_iaoq_b);
if (ctx->iaoq_b == -1) {