diff options
author | Laurent Vivier <laurent@vivier.eu> | 2016-01-17 19:03:23 +0100 |
---|---|---|
committer | Laurent Vivier <laurent@vivier.eu> | 2016-10-25 20:54:47 +0200 |
commit | 91f90d7191f862ab27528dbdf76cee55c77f79cf (patch) | |
tree | 4474d43d7b0f42c7f6388e3f5399f50fd3040fb5 /target-m68k/translate.c | |
parent | 7c0eb318bdcc3667a861e7b0f140df0b6d9895e2 (diff) |
target-m68k: don't update cc_dest in helpers
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-m68k/translate.c')
-rw-r--r-- | target-m68k/translate.c | 4 |
1 files changed, 2 insertions, 2 deletions
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(); |