From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45155) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vbbjw-0001NK-IN for qemu-devel@nongnu.org; Wed, 30 Oct 2013 15:47:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vbbjo-00062R-5Q for qemu-devel@nongnu.org; Wed, 30 Oct 2013 15:47:40 -0400 Received: from mail-qa0-x235.google.com ([2607:f8b0:400d:c00::235]:47622) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vbbjo-00062L-0W for qemu-devel@nongnu.org; Wed, 30 Oct 2013 15:47:32 -0400 Received: by mail-qa0-f53.google.com with SMTP id k15so1125076qaq.5 for ; Wed, 30 Oct 2013 12:47:31 -0700 (PDT) Sender: Richard Henderson Message-ID: <5271624F.8050104@twiddle.net> Date: Wed, 30 Oct 2013 12:47:27 -0700 From: Richard Henderson MIME-Version: 1.0 References: <1383073495-5332-1-git-send-email-sebastian@macke.de> <1383073495-5332-12-git-send-email-sebastian@macke.de> <527150E2.5070200@twiddle.net> <527158F2.9000000@macke.de> In-Reply-To: <527158F2.9000000@macke.de> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 11/13] target-openrisc: use jmp_pc as flag variable for branches List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Sebastian Macke Cc: openrisc@openrisc.net, qemu-devel@nongnu.org, proljc@gmail.com On 10/30/2013 12:07 PM, Sebastian Macke wrote: >>> case JUMP_BRANCH: >>> { >>> int l1 = gen_new_label(); >>> - tcg_gen_brcondi_tl(TCG_COND_NE, dc->btaken, 0, l1); >>> + tcg_gen_brcondi_tl(TCG_COND_NE, jmp_pc, 0, l1); >>> gen_goto_tb(dc, 1, dc->pc); >>> gen_set_label(l1); >>> - tcg_temp_free(dc->btaken); >>> gen_goto_tb(dc, 0, dc->j_target); >>> break; >> ... here. > > But j_target is not known when the delayed slot is translated separately. (E.g. > if the delayed slot is at a page boundary.) Hmm. This was just guesswork on my part since I don't have a tree with your previous patch set applied; j_target of course doesn't exist in master. Do you have a publicly accessible tree with all your patches applied? I'd like to re-read the logic in the proper context. r~