From nobody Wed Feb 11 04:19:32 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1567625664; cv=none; d=zoho.com; s=zohoarc; b=hHwuF4oX1rGjpHbeUEBU3Hap6TtPNohL4bzp5ewW8tdhzLeO9lyA52pZGCoksw+77KhLwF8/LLSnv2deGsg5HvS/DjJk+JBMkrzOYAPGbHaf4dJKuN4P9P5aiZ88iKJHPLXZNp1Glt/YqxGNof+XfHyjQIBS5fullF7NOfl99/0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1567625664; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=FjDIKcJDagE4KvmbL7+MpEBImmBNGJkd778M5x6AXXs=; b=kM+NwZ36jjJBS/B03/4cOPRKlPRNzw3Wtste0ZkE6AfT4DlOvAccME+6BwlD38h+SGlIPHhUg1KVqkwL7JQ4yR+9r8826cU09Phvw/bCmufUtFsGvyTFVVn/c5EM8M51WCFbGGIYJp3ZYTkX9DCkamQ1crBSjicKfiYn+jaUTpA= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1567625664061785.6825556287303; Wed, 4 Sep 2019 12:34:24 -0700 (PDT) Received: from localhost ([::1]:37548 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i5b2p-0006nv-78 for importer@patchew.org; Wed, 04 Sep 2019 15:34:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39654) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i5azh-00042B-GS for qemu-devel@nongnu.org; Wed, 04 Sep 2019 15:31:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i5azg-00021b-Be for qemu-devel@nongnu.org; Wed, 04 Sep 2019 15:31:05 -0400 Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441]:33358) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i5azg-00020z-68 for qemu-devel@nongnu.org; Wed, 04 Sep 2019 15:31:04 -0400 Received: by mail-pf1-x441.google.com with SMTP id q10so8851736pfl.0 for ; Wed, 04 Sep 2019 12:31:04 -0700 (PDT) Received: from localhost.localdomain (97-113-7-119.tukw.qwest.net. [97.113.7.119]) by smtp.gmail.com with ESMTPSA id f6sm18999174pga.50.2019.09.04.12.31.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Sep 2019 12:31:02 -0700 (PDT) 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=FjDIKcJDagE4KvmbL7+MpEBImmBNGJkd778M5x6AXXs=; b=UGBjdgwLFxZQx/7pCfVP8X7GevREYhNUXRnu5/WhhS3Dsv/v5o4cV4hg2C57d8LLK9 WemmVHXsSrwYfz6RZq7JkIWRNh3EoG3qdTis/hP4Euey8urPGn/7fbFaVddiXPvnPg6y qbavQnIApVlH1A50cgjvtr+dylOE/8x5OT75eidBdTUvDZWws17i1u1+pGhTYL37dA5A tHIMgUkSojAZiWhT0nxdlCTksQfTRzyjmgNl0vOzHvxaMnCuFz1KpctmTxqc3vRloKhD KCYQYEvtIoLk8YxGujIxkmEKE7zjDmhUZUhZ7FeEIlbAMBC9mQuPUxbOiiz2cPzfoo/M qweQ== 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=FjDIKcJDagE4KvmbL7+MpEBImmBNGJkd778M5x6AXXs=; b=pxMbrcJN2upH5yxOwWgpu2/488/YlWN6zHCYBmSmzC0JNORPVGvkMSUkkhkX2JDEXt hD3PJ1f0e/yj21iWCcMClthcPoZxBV7gDJWlCmAQdierIZjijyyMgYqo/F3vaCxdJbCA sCFhkaS6M6yP6mMN6HrIvNq827kx4Dr+YT9WaP74ugW4Gl5jnBEN0EzZ3dpIlTXUL2R2 LRNyQhM2856wewnUCCM6quJ8CbFW9ovixFas4N42GU473Kj61FMMoNlNPBNc5+GtTkZo V85aSepT353oqMe1muFp/xtfYZJaRYiMv3qK+PWRE0RLzizunBb6kOEXrfvanydCqF9U z1Fg== X-Gm-Message-State: APjAAAVqJXci8ShJyo5LHpapqC7SX6F8dxQsduTtvvEIp/6yeCsPaDnp SQfuZ5fbFBUEdUtd9BEvMyyxRSU17OQ= X-Google-Smtp-Source: APXvYqyqccW8btYoqgllDrn7+3LpHRtsWtTHd29gzh21bx4YRhFMAHF8CdWmrrRj4yUbeAu9ZjCCoA== X-Received: by 2002:aa7:9508:: with SMTP id b8mr31570203pfp.36.1567625462903; Wed, 04 Sep 2019 12:31:02 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Wed, 4 Sep 2019 12:29:51 -0700 Message-Id: <20190904193059.26202-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190904193059.26202-1-richard.henderson@linaro.org> References: <20190904193059.26202-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::441 Subject: [Qemu-devel] [PATCH v4 01/69] target/arm: Use store_reg_from_load in thumb2 code X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, qemu-arm@nongnu.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" This function already includes the test for an interworking write to PC from a load. Change the T32 LDM implementation to match the A32 LDM implementation. For LDM, the reordering of the tests does not change valid behaviour because the only case that differs is has rn =3D=3D 15, which is UNPREDICTABLE. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- target/arm/translate.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index b0d32ff8c9..a39f792463 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -9742,13 +9742,11 @@ static void disas_thumb2_insn(DisasContext *s, uint= 32_t insn) /* Load. */ tmp =3D tcg_temp_new_i32(); gen_aa32_ld32u(s, tmp, addr, get_mem_index(s)); - if (i =3D=3D 15) { - gen_bx_excret(s, tmp); - } else if (i =3D=3D rn) { + if (i =3D=3D rn) { loaded_var =3D tmp; loaded_base =3D 1; } else { - store_reg(s, i, tmp); + store_reg_from_load(s, i, tmp); } } else { /* Store. */ @@ -10889,11 +10887,7 @@ static void disas_thumb2_insn(DisasContext *s, uin= t32_t insn) tcg_temp_free_i32(addr); goto illegal_op; } - if (rs =3D=3D 15) { - gen_bx_excret(s, tmp); - } else { - store_reg(s, rs, tmp); - } + store_reg_from_load(s, rs, tmp); } else { /* Store. */ tmp =3D load_reg(s, rs); --=20 2.17.1