From nobody Tue Feb 10 03:40:12 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 154361537061363.52952579631699; Fri, 30 Nov 2018 14:02:50 -0800 (PST) Received: from localhost ([::1]:34790 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gSqs5-0001se-Ed for importer@patchew.org; Fri, 30 Nov 2018 17:02:49 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52544) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gSqi9-0007uc-A4 for qemu-devel@nongnu.org; Fri, 30 Nov 2018 16:52:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gSqi8-0006jP-Fn for qemu-devel@nongnu.org; Fri, 30 Nov 2018 16:52:33 -0500 Received: from mail-pg1-x542.google.com ([2607:f8b0:4864:20::542]:35350) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gSqi8-0006gh-AU for qemu-devel@nongnu.org; Fri, 30 Nov 2018 16:52:32 -0500 Received: by mail-pg1-x542.google.com with SMTP id s198so3064150pgs.2 for ; Fri, 30 Nov 2018 13:52:32 -0800 (PST) Received: from cloudburst.twiddle.net (97-113-170-180.tukw.qwest.net. [97.113.170.180]) by smtp.gmail.com with ESMTPSA id a18sm6973967pgj.30.2018.11.30.13.52.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 30 Nov 2018 13:52:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ozCrCOAJZo+64UxjSymZwYWwMBonWg+ae4lW/HzfewQ=; b=OLY9h4BkZX5FoL5s4AblhxA06BVeddoasC+m2i0V3bYJzUSXgOczZ5AuDDKpe5EjAN iXZRgpGz8D8iwp8ZwPlUn3OOodCVejFqO+XS37jqfYxyf5u5SQwZJzmyMJw6YxDMf3Z1 OboiEu1VOnQttxYR5U7+2tPJzcF6cOWLbBcY8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ozCrCOAJZo+64UxjSymZwYWwMBonWg+ae4lW/HzfewQ=; b=E2L3Ktn3MNA+xsxk/KmNOmYTr+7rV0Uwc1TNu9p9DeAl/M83Y84KoM1wdibn7te2gs Ti8DLnlQQuA4kFFTXjjd1zW/WR/A0iR/m6M1QxdglCY8s+0TcHLBrRNsb9hvq/78LFle WaBiRzaU+37xUKohrGOArdqX9CWBcKWJ93w4Y8Z/Jjlw5mjQWqUdbFdOrSARmE6lUwsc QCxqQp7VJiWFQ9PFAVEDYb2cHySOkmso1zgJbfGmYDxNgatxURxLfPDdm9bdEUGfzV0J flgHmN/U2dc8shTsJFAQmM9uu0TUep2mOBJQIOrIhkee38YhBgKNqjuMlqRM3bgBDqU7 iCyQ== X-Gm-Message-State: AA+aEWZHrxU1qqtrS1GrANo8R15s+jojN4bKM3oRG8R+WVHWFI954MO5 jcd2PcEgPqCDFceLmV78DLfWCurrkI0= X-Google-Smtp-Source: AFSGD/VDeu0GTSFlr7vCkIwiPynRZNy1JdZ4H198XW2CkKfnEJNbuuK/uoXyWNvMCRiVKVISteStxA== X-Received: by 2002:a63:1904:: with SMTP id z4mr5976595pgl.135.1543614750891; Fri, 30 Nov 2018 13:52:30 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Date: Fri, 30 Nov 2018 13:52:11 -0800 Message-Id: <20181130215221.20554-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20181130215221.20554-1-richard.henderson@linaro.org> References: <20181130215221.20554-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::542 Subject: [Qemu-devel] [PATCH v3 06/16] tcg/arm: Fold away "noaddr" branch routines X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" There are one use apiece for these. There is no longer a need for preserving branch offset operands, as we no longer re-translate. Signed-off-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e --- tcg/arm/tcg-target.inc.c | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/tcg/arm/tcg-target.inc.c b/tcg/arm/tcg-target.inc.c index 1142eb13ad..1651f00281 100644 --- a/tcg/arm/tcg-target.inc.c +++ b/tcg/arm/tcg-target.inc.c @@ -366,22 +366,6 @@ static inline void tcg_out_b(TCGContext *s, int cond, = int32_t offset) (((offset - 8) >> 2) & 0x00ffffff)); } =20 -static inline void tcg_out_b_noaddr(TCGContext *s, int cond) -{ - /* We pay attention here to not modify the branch target by masking - the corresponding bytes. This ensure that caches and memory are - kept coherent during retranslation. */ - tcg_out32(s, deposit32(*s->code_ptr, 24, 8, (cond << 4) | 0x0a)); -} - -static inline void tcg_out_bl_noaddr(TCGContext *s, int cond) -{ - /* We pay attention here to not modify the branch target by masking - the corresponding bytes. This ensure that caches and memory are - kept coherent during retranslation. */ - tcg_out32(s, deposit32(*s->code_ptr, 24, 8, (cond << 4) | 0x0b)); -} - static inline void tcg_out_bl(TCGContext *s, int cond, int32_t offset) { tcg_out32(s, (cond << 28) | 0x0b000000 | @@ -1082,7 +1066,7 @@ static inline void tcg_out_goto_label(TCGContext *s, = int cond, TCGLabel *l) tcg_out_goto(s, cond, l->u.value_ptr); } else { tcg_out_reloc(s, s->code_ptr, R_ARM_PC24, l, 0); - tcg_out_b_noaddr(s, cond); + tcg_out_b(s, cond, 0); } } =20 @@ -1628,7 +1612,7 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGA= rg *args, bool is64) /* This a conditional BL only to load a pointer within this opcode int= o LR for the slow path. We will not be using the value for a tail call.= */ label_ptr =3D s->code_ptr; - tcg_out_bl_noaddr(s, COND_NE); + tcg_out_bl(s, COND_NE, 0); =20 tcg_out_qemu_ld_index(s, opc, datalo, datahi, addrlo, addend); =20 @@ -1760,7 +1744,7 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGA= rg *args, bool is64) =20 /* The conditional call must come last, as we're going to return here.= */ label_ptr =3D s->code_ptr; - tcg_out_bl_noaddr(s, COND_NE); + tcg_out_bl(s, COND_NE, 0); =20 add_qemu_ldst_label(s, false, oi, datalo, datahi, addrlo, addrhi, s->code_ptr, label_ptr); --=20 2.17.2