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: pull-xenfv.for-upstream-20231107~24^2~10 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=816f89b7d4830b8df30ad252a6f30a0e80d70d76;p=users%2Fdwmw2%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 a405512e6c..dd6d43d1f1 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)