From 91f90d7191f862ab27528dbdf76cee55c77f79cf Mon Sep 17 00:00:00 2001 From: Laurent Vivier Date: Sun, 17 Jan 2016 19:03:23 +0100 Subject: target-m68k: don't update cc_dest in helpers Signed-off-by: Laurent Vivier Reviewed-by: Richard Henderson --- target-m68k/translate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'target-m68k/translate.c') diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 37faefe749..3db7918b98 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -424,7 +424,7 @@ static inline void gen_flush_flags(DisasContext *s) if (s->cc_op == CC_OP_FLAGS) return; gen_flush_cc_op(s); - gen_helper_flush_flags(cpu_env, QREG_CC_OP); + gen_helper_flush_flags(QREG_CC_DEST, cpu_env, QREG_CC_OP); s->cc_op = CC_OP_FLAGS; } @@ -719,6 +719,7 @@ static void gen_jmpcc(DisasContext *s, int cond, TCGLabel *l1) /* TODO: Optimize compare/branch pairs rather than always flushing flag state to CC_OP_FLAGS. */ gen_flush_flags(s); + gen_flush_cc_op(s); switch (cond) { case 0: /* T */ tcg_gen_br(l1); @@ -1673,7 +1674,6 @@ DISAS_INSN(branch) /* bsr */ gen_push(s, tcg_const_i32(s->pc)); } - gen_flush_cc_op(s); if (op > 1) { /* Bcc */ l1 = gen_new_label(); -- cgit v1.2.3