aboutsummaryrefslogtreecommitdiff
path: root/target-m68k/translate.c
diff options
context:
space:
mode:
Diffstat (limited to 'target-m68k/translate.c')
-rw-r--r--target-m68k/translate.c4
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();