From 57d48199a8cc1e16d120935c6bcffc79cbcbd234 Mon Sep 17 00:00:00 2001 From: Laurent Vivier Date: Tue, 6 Mar 2018 07:46:35 -0500 Subject: [PATCH] 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 --- qemu/target/m68k/translate.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qemu/target/m68k/translate.c b/qemu/target/m68k/translate.c index d168b726..1d6ca5c5 100644 --- a/qemu/target/m68k/translate.c +++ b/qemu/target/m68k/translate.c @@ -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); }