From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44396) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZWaqG-00089D-Lq for qemu-devel@nongnu.org; Mon, 31 Aug 2015 21:58:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZWaqD-00089Y-BE for qemu-devel@nongnu.org; Mon, 31 Aug 2015 21:58:32 -0400 Received: from mail-pa0-x22f.google.com ([2607:f8b0:400e:c03::22f]:32941) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZWaqD-00089O-0u for qemu-devel@nongnu.org; Mon, 31 Aug 2015 21:58:29 -0400 Received: by paczk9 with SMTP id zk9so9914775pac.0 for ; Mon, 31 Aug 2015 18:58:28 -0700 (PDT) Sender: Richard Henderson References: <1440433079-14458-1-git-send-email-rth@twiddle.net> <1440433079-14458-12-git-send-email-rth@twiddle.net> From: Richard Henderson Message-ID: <55E50640.4050507@twiddle.net> Date: Mon, 31 Aug 2015 18:58:24 -0700 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v14 11/33] target-tilegx: Framework for decoding bundles List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: "walt@tilera.com" , Chris Metcalf , QEMU Developers , Chen Gang On 08/29/2015 02:08 PM, Peter Maydell wrote: > On 24 August 2015 at 17:17, Richard Henderson wrote: >> Signed-off-by: Richard Henderson >> + if (dc->jmp.cond != TCG_COND_NEVER) { >> + if (dc->jmp.cond == TCG_COND_ALWAYS) { >> + tcg_gen_mov_i64(cpu_pc, dc->jmp.dest); >> + } else { >> + TCGv next = tcg_const_i64(dc->pc + TILEGX_BUNDLE_SIZE_IN_BYTES); >> + tcg_gen_movcond_i64(dc->jmp.cond, cpu_pc, >> + dc->jmp.val1, load_zero(dc), >> + dc->jmp.dest, next); >> + tcg_temp_free_i64(dc->jmp.val1); >> + tcg_temp_free_i64(next); >> + } >> + tcg_temp_free_i64(dc->jmp.dest); >> + tcg_gen_exit_tb(0); >> + dc->exit_tb = true; >> + } > > Doing conditional branches with movcond to pc means we'll > never be able to link TBs which end with conditional branches, > right? The structure of the code is such that we could use goto_tb. I just didn't want to complicate the initial implementation. r~