From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48966) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPwwl-0003PK-Nz for qemu-devel@nongnu.org; Thu, 13 Aug 2015 14:09:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZPwwg-0007fd-Ow for qemu-devel@nongnu.org; Thu, 13 Aug 2015 14:09:47 -0400 Received: from mout.kundenserver.de ([212.227.126.187]:60318) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZPwwg-0007ev-Fc for qemu-devel@nongnu.org; Thu, 13 Aug 2015 14:09:42 -0400 References: <1439151229-27747-1-git-send-email-laurent@vivier.eu> <1439151229-27747-9-git-send-email-laurent@vivier.eu> <55CAD5D2.5050200@twiddle.net> From: Laurent Vivier Message-ID: <55CCDD59.7000301@vivier.eu> Date: Thu, 13 Aug 2015 20:09:29 +0200 MIME-Version: 1.0 In-Reply-To: <55CAD5D2.5050200@twiddle.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH for-2.5 08/30] m68k: update CPU flags management List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson , qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, Andreas Schwab , gerg@uclinux.org Le 12/08/2015 07:12, Richard Henderson a écrit : > On 08/09/2015 01:13 PM, Laurent Vivier wrote: >> @@ -798,9 +796,9 @@ void HELPER(mac_set_flags)(CPUM68KState *env, > >> @@ -1706,16 +1745,18 @@ 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(); >> gen_jmpcc(s, ((insn >> 8) & 0xf) ^ 1, l1); >> + update_cc_op(s); >> gen_jmp_tb(s, 1, base + offset); >> gen_set_label(l1); >> + update_cc_op(s); >> gen_jmp_tb(s, 0, s->pc); > > Ideally you'd do this only once, before the jmpcc. This breaks something. I think we can't do update_cc_op() before gen_jmpcc() because gen_jmpcc() calls gen_flush_flags(). Laurent