From: Richard Henderson Date: Wed, 20 Mar 2024 18:51:56 +0000 (-1000) Subject: target/hppa: Fix BE,L set of sr0 X-Git-Tag: v9.0.0-rc2~8^2~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7fb7c9da347731956da4a4b937c721e233482df7;p=thirdparty%2Fqemu.git target/hppa: Fix BE,L set of sr0 The return address comes from IA*Q_Next, and IASQ_Next is always equal to IASQ_Back, not IASQ_Front. Tested-by: Helge Deller Signed-off-by: Richard Henderson --- diff --git a/target/hppa/translate.c b/target/hppa/translate.c index 19594f917ee..1766a630019 100644 --- a/target/hppa/translate.c +++ b/target/hppa/translate.c @@ -3817,7 +3817,7 @@ static bool trans_be(DisasContext *ctx, arg_be *a) load_spr(ctx, new_spc, a->sp); if (a->l) { copy_iaoq_entry(ctx, cpu_gr[31], ctx->iaoq_n, ctx->iaoq_n_var); - tcg_gen_mov_i64(cpu_sr[0], cpu_iasq_f); + tcg_gen_mov_i64(cpu_sr[0], cpu_iasq_b); } if (a->n && use_nullify_skip(ctx)) { copy_iaoq_entry(ctx, cpu_iaoq_f, -1, tmp);