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().

Backports commit 7cd7b5ca9be805e8a4ced4c07014c24e34812f27 from qemu
This commit is contained in:
Laurent Vivier 2018-03-06 07:46:35 -05:00 committed by Lioncash
parent bbd87f9d73
commit 57d48199a8
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -274,7 +274,6 @@ static void gen_raise_exception(DisasContext *s, 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(s, nr);
}
@ -2988,6 +2987,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);
}
}
@ -5061,6 +5061,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(tcg_ctx, c.tcond, c.v1, c.v2, l1);
free_cond(s, &c);
}