aboutsummaryrefslogtreecommitdiff
path: root/target-m68k/translate.c
diff options
context:
space:
mode:
authorLaurent Vivier <laurent@vivier.eu>2016-01-17 19:03:23 +0100
committerLaurent Vivier <laurent@vivier.eu>2016-10-25 20:54:47 +0200
commit91f90d7191f862ab27528dbdf76cee55c77f79cf (patch)
tree4474d43d7b0f42c7f6388e3f5399f50fd3040fb5 /target-m68k/translate.c
parent7c0eb318bdcc3667a861e7b0f140df0b6d9895e2 (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.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();