From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:50632) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TLgSG-0003b1-62 for qemu-devel@nongnu.org; Tue, 09 Oct 2012 16:31:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TLgS8-0006EK-Pz for qemu-devel@nongnu.org; Tue, 09 Oct 2012 16:31:03 -0400 Received: from hall.aurel32.net ([88.191.126.93]:42142) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TLgS8-0006Dv-Jt for qemu-devel@nongnu.org; Tue, 09 Oct 2012 16:30:56 -0400 From: Aurelien Jarno Date: Tue, 9 Oct 2012 22:30:51 +0200 Message-Id: <1349814652-22325-5-git-send-email-aurelien@aurel32.net> In-Reply-To: <1349814652-22325-1-git-send-email-aurelien@aurel32.net> References: <1349814652-22325-1-git-send-email-aurelien@aurel32.net> Subject: [Qemu-devel] [PATCH 4/5] tcg/arm: optimize tcg_out_goto_label List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , Aurelien Jarno tcg_out_goto_label is only used inside a TB, so there is no reason for not using 24-bit branches even for COND_AL. Cc: Andrzej Zaborowski Cc: Peter Maydell Signed-off-by: Aurelien Jarno --- tcg/arm/tcg-target.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c index 3191903..fafbd5d 100644 --- a/tcg/arm/tcg-target.c +++ b/tcg/arm/tcg-target.c @@ -959,14 +959,9 @@ static inline void tcg_out_goto_label(TCGContext *s, int cond, int label_index) { TCGLabel *l = &s->labels[label_index]; - if (l->has_value) + if (l->has_value) { tcg_out_goto(s, cond, l->u.value); - else if (cond == COND_AL) { - tcg_out_ld32_12(s, COND_AL, TCG_REG_PC, TCG_REG_PC, -4); - tcg_out_reloc(s, s->code_ptr, R_ARM_ABS32, label_index, 31337); - s->code_ptr += 4; } else { - /* Probably this should be preferred even for COND_AL... */ tcg_out_reloc(s, s->code_ptr, R_ARM_PC24, label_index, 31337); tcg_out_b_noaddr(s, cond); } -- 1.7.10.4