From: Richard Henderson Date: Mon, 16 Oct 2023 16:03:10 +0000 (-0700) Subject: target/sparc: Always copy conditions into a new temporary X-Git-Tag: v8.2.0-rc0~34^2~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=816f89b7d4830b8df30ad252a6f30a0e80d70d76;p=thirdparty%2Fqemu.git target/sparc: Always copy conditions into a new temporary This will allow the condition to live across changes to the global cc variables. Tested-by: Mark Cave-Ayland Acked-by: Mark Cave-Ayland Signed-off-by: Richard Henderson --- diff --git a/target/sparc/translate.c b/target/sparc/translate.c index a405512e6c8..dd6d43d1f13 100644 --- a/target/sparc/translate.c +++ b/target/sparc/translate.c @@ -1226,8 +1226,9 @@ static const TCGCond gen_tcg_cond_reg[8] = { static void gen_compare_reg(DisasCompare *cmp, int cond, TCGv r_src) { cmp->cond = tcg_invert_cond(gen_tcg_cond_reg[cond]); - cmp->c1 = r_src; + cmp->c1 = tcg_temp_new(); cmp->c2 = 0; + tcg_gen_mov_tl(cmp->c1, r_src); } static void gen_op_clear_ieee_excp_and_FTT(void)