target-m68k: sync CC_OP before gen_jmp_tb()
And remove update_cc_op() from gen_exception() because there is one in gen_jmp_im(). Signed-off-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20180104012913.30763-2-laurent@vivier.eu>
This commit is contained in:
parent
281f327487
commit
7cd7b5ca9b
@ -270,7 +270,6 @@ static void gen_raise_exception(int nr)
|
||||
|
||||
static void gen_exception(DisasContext *s, uint32_t where, int nr)
|
||||
{
|
||||
update_cc_op(s);
|
||||
gen_jmp_im(s, where);
|
||||
gen_raise_exception(nr);
|
||||
}
|
||||
@ -2897,6 +2896,7 @@ DISAS_INSN(branch)
|
||||
gen_jmp_tb(s, 0, s->pc);
|
||||
} else {
|
||||
/* Unconditional branch. */
|
||||
update_cc_op(s);
|
||||
gen_jmp_tb(s, 0, base + offset);
|
||||
}
|
||||
}
|
||||
@ -4875,6 +4875,7 @@ static void gen_fjmpcc(DisasContext *s, int cond, TCGLabel *l1)
|
||||
DisasCompare c;
|
||||
|
||||
gen_fcc_cond(&c, s, cond);
|
||||
update_cc_op(s);
|
||||
tcg_gen_brcond_i32(c.tcond, c.v1, c.v2, l1);
|
||||
free_cond(&c);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user