From patchwork Thu Apr 28 14:39:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623709 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=DXOdPuED; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpz3P45trz9s0r for ; Fri, 29 Apr 2022 00:46:56 +1000 (AEST) Received: from localhost ([::1]:56146 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5Pw-0000gj-Pw for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:46:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44548) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5JO-00050V-5q for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:07 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:40499) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5JM-00063V-F0 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:05 -0400 Received: by mail-wm1-x332.google.com with SMTP id v64-20020a1cac43000000b0038cfd1b3a6dso5405160wme.5 for ; Thu, 28 Apr 2022 07:40:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=yb+iuq8ARbvLTMWVY5FiuT21nEEV2wmzA7WlkC92EOM=; b=DXOdPuEDnSGqth8/sSyxBmfJq/SVLOlSJzHYkOEcXk0k5jhoB1dNhvUNfps3WY3Tb4 FWzQWt8arLaz5Qeu/VpxeUZgReohZwL2EuO3miV5tZ/4NTuOJ10OHiRR+qYIZP6tFX0H UeqcH55+519kYtAVKGYMNgD9p8fVSi8gsF6brGEXUCZavMVooxopZKWAsk4pW8ktP+Xl rzy809p5QtxQL3GACVWfuIOlOhgO3V4RHTotlgF9lILZtXDu4AEzpSwKP+9tYwoEQHuK lZfFkOf5+WxNdyOsWyjr2TWz8mvsLo03jJWWeRzoOHKXlarRdVbUz6yyfjIbFuNphkiH PS5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yb+iuq8ARbvLTMWVY5FiuT21nEEV2wmzA7WlkC92EOM=; b=FU4BpxM2KtbNLp2QqR5Nc5D+HTKcSrJHi/P/p5mNFEVsTJo0x1rtv4NZMdXid7F/bS 3vYV5kg3+RrzOVM3LD2S0H/fBx1CTrxtskbZgl3BEmJLpqxwY6sazUMatpPl0U8xE3MR GhICtA9OfTVNfIUn37H5nYrqTAC7eUg8/n46qmT5i/wyGO0N7tJ3dRgX1UBzittJj++n sKJD3zFLi2KifQBHN2pN5t3h/z97XAntqKOwT3am1h3wSMDgiXiPJXTGVGQTM4eMPZS/ ZrQpH6PWpOKqBMOSE1JWRiz8zFxGPeLZSsvO6RqT4BNEAp+5FWPR2wbEXOncQkKeDKQd DR5Q== X-Gm-Message-State: AOAM532VVayxNj+ETpu2lrNgONV5NdVn2GIB0soLVHwwotskKkzz03GV r7KpRGlVMrv4yYdr5CmbqaRenV7OnllPuw== X-Google-Smtp-Source: ABdhPJw7/kaCXJNqKk6nbQUWN8e6n6TQtfmlCZWPnpJe4XDf8a3YwgrgliOLl6ewd7PYMfKIiN4FEA== X-Received: by 2002:a05:600c:1993:b0:392:90f1:66ec with SMTP id t19-20020a05600c199300b0039290f166ecmr31426925wmq.146.1651156802282; Thu, 28 Apr 2022 07:40:02 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:01 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 01/54] target/arm: Use tcg_constant in gen_probe_access Date: Thu, 28 Apr 2022 15:39:05 +0100 Message-Id: <20220428143958.2451229-2-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-2-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index adbcd999415..c6ab0433af1 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -240,14 +240,10 @@ static void gen_address_with_allocation_tag0(TCGv_i64 dst, TCGv_i64 src) static void gen_probe_access(DisasContext *s, TCGv_i64 ptr, MMUAccessType acc, int log2_size) { - TCGv_i32 t_acc = tcg_const_i32(acc); - TCGv_i32 t_idx = tcg_const_i32(get_mem_index(s)); - TCGv_i32 t_size = tcg_const_i32(1 << log2_size); - - gen_helper_probe_access(cpu_env, ptr, t_acc, t_idx, t_size); - tcg_temp_free_i32(t_acc); - tcg_temp_free_i32(t_idx); - tcg_temp_free_i32(t_size); + gen_helper_probe_access(cpu_env, ptr, + tcg_constant_i32(acc), + tcg_constant_i32(get_mem_index(s)), + tcg_constant_i32(1 << log2_size)); } /* From patchwork Thu Apr 28 14:39:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623698 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=CPebgslO; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpyxr46GRz9s0r for ; Fri, 29 Apr 2022 00:42:08 +1000 (AEST) Received: from localhost ([::1]:38452 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5LK-0006wz-J3 for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:42:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44566) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5JO-00050c-OF for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:07 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:41799) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5JM-0006Bh-T7 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:06 -0400 Received: by mail-wr1-x435.google.com with SMTP id s21so7059430wrb.8 for ; Thu, 28 Apr 2022 07:40:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=e1Q9WgAftdgcvhZuy23UXcRReTZSOGMUNPfY3n1EJLM=; b=CPebgslO4VqercsRFE0tuCCM1WVq6Ww8vwApTIonbbQPlMa6kEcbEK/FTs6vqDpXSl 5+VCHRNtajaNadLQuALZ1NROHXMEWjXXpiHDfs6VzD+Muwl5BgNiMCPBFTx9WIHt97Py Xn8H4aay1XcdsU5+K4njjK/HAKl8IU+6dGitmimYdviF2aJoN/a+vCZMiL2K7xSgGjoK qYMygpRvKRFyWYdFeUISJQ0XGnGF5Od6kOuUn/s2kc2ssRCx0fWXthMQHz0q7mLqDdDA YF6ZKF6cgiMuCOs6WQ+f3imD7VwisiBUK0Oq7Ce7WdZtqmoOervc9YLTA5PVHI6vihCz rnpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=e1Q9WgAftdgcvhZuy23UXcRReTZSOGMUNPfY3n1EJLM=; b=nPKMNYm5ijpni5depqeV2GEjGfXi9F02aRrIELM8+z5ra4qNyknqPFFt4xC1PWGtW6 ffncJSTz0J4dvPzLYPDz9vlsSX8nV20bfBkxXv7sZ+dfKUcH3cS5FAWnJ9L07K3VLa3Z /2S994wIfdbXL5xUx7AW4/34wffYY6BwXKonfDoaBKLeOpgwSuAKgzrHhlGNVbn4g7BS OiWj01dqJpeoQS+QnuaZoAGb3EJcv3pqotHyK9CKKu9ZMwDyWcFgxJu6S9/H/A8cNg4Y bp6VEJXXI7BLoEYEgZOWH7TQ3nwhjk2YVRbGE5qUKS2CD5ngXLFtAulIFBi7DzcFNTXk sVlg== X-Gm-Message-State: AOAM532XdSzoZybVHsDCBW5iztSqRdydhBVhnP1sGLsv73zLe50RMxrA 7loutzNRYNh+Kr5xgWQzf/YAmeCTctdofQ== X-Google-Smtp-Source: ABdhPJxguI1cIbGy8rNwaajPNbM1jQDb8r2IoBVrKtcM88fNt7WzdC8vsh9pYXONf876gc97aifrGQ== X-Received: by 2002:a5d:6949:0:b0:20a:e021:f8e0 with SMTP id r9-20020a5d6949000000b0020ae021f8e0mr14514180wrw.231.1651156803121; Thu, 28 Apr 2022 07:40:03 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:02 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 02/54] target/arm: Use tcg_constant in gen_mte_check* Date: Thu, 28 Apr 2022 15:39:06 +0100 Message-Id: <20220428143958.2451229-3-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-3-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index c6ab0433af1..7b5bfb08893 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -258,7 +258,6 @@ static TCGv_i64 gen_mte_check1_mmuidx(DisasContext *s, TCGv_i64 addr, int core_idx) { if (tag_checked && s->mte_active[is_unpriv]) { - TCGv_i32 tcg_desc; TCGv_i64 ret; int desc = 0; @@ -267,11 +266,9 @@ static TCGv_i64 gen_mte_check1_mmuidx(DisasContext *s, TCGv_i64 addr, desc = FIELD_DP32(desc, MTEDESC, TCMA, s->tcma); desc = FIELD_DP32(desc, MTEDESC, WRITE, is_write); desc = FIELD_DP32(desc, MTEDESC, SIZEM1, (1 << log2_size) - 1); - tcg_desc = tcg_const_i32(desc); ret = new_tmp_a64(s); - gen_helper_mte_check(ret, cpu_env, tcg_desc, addr); - tcg_temp_free_i32(tcg_desc); + gen_helper_mte_check(ret, cpu_env, tcg_constant_i32(desc), addr); return ret; } @@ -292,7 +289,6 @@ TCGv_i64 gen_mte_checkN(DisasContext *s, TCGv_i64 addr, bool is_write, bool tag_checked, int size) { if (tag_checked && s->mte_active[0]) { - TCGv_i32 tcg_desc; TCGv_i64 ret; int desc = 0; @@ -301,11 +297,9 @@ TCGv_i64 gen_mte_checkN(DisasContext *s, TCGv_i64 addr, bool is_write, desc = FIELD_DP32(desc, MTEDESC, TCMA, s->tcma); desc = FIELD_DP32(desc, MTEDESC, WRITE, is_write); desc = FIELD_DP32(desc, MTEDESC, SIZEM1, size - 1); - tcg_desc = tcg_const_i32(desc); ret = new_tmp_a64(s); - gen_helper_mte_check(ret, cpu_env, tcg_desc, addr); - tcg_temp_free_i32(tcg_desc); + gen_helper_mte_check(ret, cpu_env, tcg_constant_i32(desc), addr); return ret; } From patchwork Thu Apr 28 14:39:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623712 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=nmFbmiVY; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpz8x5163z9s0r for ; Fri, 29 Apr 2022 00:51:45 +1000 (AEST) Received: from localhost ([::1]:36592 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5Ud-0006mn-ES for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:51:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44574) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5JP-00050d-4L for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:07 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:34634) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5JN-0006Bm-Ej for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:06 -0400 Received: by mail-wr1-x433.google.com with SMTP id q23so7096306wra.1 for ; Thu, 28 Apr 2022 07:40:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=69T5o0Z+GUrRns8GQ4srHGCFM7q9mGRAvjMg8W0UQoU=; b=nmFbmiVY8I47M4PUYaH3PjondOrTJOMFLGjnL6vomxW9SuIRUozXGouxmgJ6TDxySN tnZa1JuUWITpFvvM6HjzBnwwtNcshdb9O7YuRZa9SvF86Y9KgFfcJIVr+7KCTBgwAkhD dWIvJuQlmjMSQCC0wb+SmF8URzv4KoR7gGfeGAOm0jvGWDZpKWTyI349N3G9A/KnW8qd oyp+hG18ozZeUKySFWDmYk2UJ9ZCXdZGsey4JU2NqQD07Yxq1U+WJwNHsLXtRYSRLslJ oK+Se+eS7YLDfRmielRnE1mE5s40n+YI+0LznmTCfABcKk11W7/VsjB6MlfrIcjZacl6 9gzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=69T5o0Z+GUrRns8GQ4srHGCFM7q9mGRAvjMg8W0UQoU=; b=D0R2xThkR7lopEwpMpO07OgVDwd9VLmyFSU9uh/fcCcEieKIXI/hZGyrm1QSM6LdoF 4e3bbBw8LQ6v/gy9OzdjEHcAFxF2T7vvPpMgy5YHNP34HP5vXwGS3PO4ivqMrOjTSPFA euMtng7s2fS1/Stj398FSceqRkL+4sBwH6OWVasNJWgVtHfdn0KSWDgqcoJ6uvSS23h5 iK0/h9sooGjj0HSTq1UOt3bqSbS+rZAsnCRysLD6g6Xo3l6TfS2vKKRdnjdJMWVYTBCf o6Cw8EIqivNddD0rZgQB29f8EMI0EVQsKy1JVBD1FOHBPKzkcRtkYKtcWQnkbKBojLMT 0npA== X-Gm-Message-State: AOAM532uSAUhdVD7L6Gsi1u7kOSN+c6jqpLKkK1EXqC1cNjKyoSi4LNr E1JweClZ7QRRLjl0Nvjdmin/w54k6ab/uw== X-Google-Smtp-Source: ABdhPJwrzyQV4wn+l4+wWAMhwpyt/1omfS5nLE/nace3h1nAUu4QuN6rjlge4O6hlP6JutgcZ1iBRg== X-Received: by 2002:a05:6000:1369:b0:20a:c68b:7275 with SMTP id q9-20020a056000136900b0020ac68b7275mr27590697wrz.158.1651156803931; Thu, 28 Apr 2022 07:40:03 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:03 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 03/54] target/arm: Use tcg_constant in gen_exception* Date: Thu, 28 Apr 2022 15:39:07 +0100 Message-Id: <20220428143958.2451229-4-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-4-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 7b5bfb08893..b0b5e8b26d2 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -338,11 +338,8 @@ static void gen_rebuild_hflags(DisasContext *s) static void gen_exception_internal(int excp) { - TCGv_i32 tcg_excp = tcg_const_i32(excp); - assert(excp_is_internal(excp)); - gen_helper_exception_internal(cpu_env, tcg_excp); - tcg_temp_free_i32(tcg_excp); + gen_helper_exception_internal(cpu_env, tcg_constant_i32(excp)); } static void gen_exception_internal_insn(DisasContext *s, uint64_t pc, int excp) @@ -354,12 +351,8 @@ static void gen_exception_internal_insn(DisasContext *s, uint64_t pc, int excp) static void gen_exception_bkpt_insn(DisasContext *s, uint32_t syndrome) { - TCGv_i32 tcg_syn; - gen_a64_set_pc_im(s->pc_curr); - tcg_syn = tcg_const_i32(syndrome); - gen_helper_exception_bkpt_insn(cpu_env, tcg_syn); - tcg_temp_free_i32(tcg_syn); + gen_helper_exception_bkpt_insn(cpu_env, tcg_constant_i32(syndrome)); s->base.is_jmp = DISAS_NORETURN; } From patchwork Thu Apr 28 14:39:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623716 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=Rx7twn9s; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzFS6CnTz9s0r for ; Fri, 29 Apr 2022 00:55:40 +1000 (AEST) Received: from localhost ([::1]:45278 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5YQ-0004KO-SY for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:55:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44594) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5JQ-00051q-42 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:09 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:40900) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5JO-0006CH-FV for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:07 -0400 Received: by mail-wr1-x42a.google.com with SMTP id e2so7081006wrh.7 for ; Thu, 28 Apr 2022 07:40:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=TToOuQ00Opv88KW2xx2NAPX9wVF7lWH1d++1SoemDaM=; b=Rx7twn9sY5TvYgAGIE1bwamKqLQMepvZtdhK56iXJweHPdteBGFW5ffF6zQbkEpz6/ jFGgb2n3ptWnZbiuiki3acY1RNhhpnmRNDL7ulmYDfhv+7HXdl8tj0eGl+6+EI4kGAbP /pkrs1rcG1UO9PUs9PJle+V+fOcX/wCUb1qADIK7Mz2oSBsA/m5LZ+0F/VMAPA9fHLB+ T+Cg82PpPqXP802hksT4Y3MNbnr6FJQy3wl1EewpGvYAp7fBR2gyO2zzKe2MV6HhU+/Z UDxkDnZupwMUo70gZadPsMf64jcfGrSOIxC9LDM/UffRcpbgoS0o58w+Ug0vRFikGoBX sRVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TToOuQ00Opv88KW2xx2NAPX9wVF7lWH1d++1SoemDaM=; b=jadKNwBSv4A4fjmnj72QeaiOTRhmBdbmFVr5eL0p2d0NUSod3Ix8eRpKPUCNzWAfJj ld9JbZTg1fj3psnvFj7azD/ThNmpdjs7ZLObi64PuNSUPsHk/YNH2IOlP9K2gI33M10/ VoKobtAulKpEcO9mvyeq4LgY7KFHzmKIDH4XLPdkGVnzkw5mv2sna04L5ojKg5vkHxLm KKKuzy2lfeo1HItG//RVe0XAzQeyFbU9v9IgzUKPUPr0OiSn6cWBVgofiSMrdJEabOXG +GVNXrxUMqp0CG3rcF2YMCh1ZcRIjFmVZGAL0kjm4sImayWgLNK2A5rAE2yFPkAQBHKN o2tQ== X-Gm-Message-State: AOAM533ggcTYLtm6Y5Ggp1mosE1N3TWfkLxuUsfytlwTYX8w7+cRiBIv MxBdmJfHMzc0jgA0R4Ef9ULtzVYYFHJwXg== X-Google-Smtp-Source: ABdhPJwLcopbo5ueeU1c6qTiIfRtU0Q/VQfHwdE6tY3Bm5D3omVKPCxp7m+uFII0JF5vCXC2y+Vx3A== X-Received: by 2002:a05:6000:1814:b0:20a:cb21:8781 with SMTP id m20-20020a056000181400b0020acb218781mr24883929wrh.488.1651156805037; Thu, 28 Apr 2022 07:40:05 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:04 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 04/54] target/arm: Use tcg_constant in gen_adc_CC Date: Thu, 28 Apr 2022 15:39:08 +0100 Message-Id: <20220428143958.2451229-5-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Note that tmp was doing double-duty as zero and then later as a temporary in its own right. Split the use of 0 to a new variable 'zero'. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-5-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index b0b5e8b26d2..5c0fd897d6c 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -814,15 +814,15 @@ static void gen_adc(int sf, TCGv_i64 dest, TCGv_i64 t0, TCGv_i64 t1) static void gen_adc_CC(int sf, TCGv_i64 dest, TCGv_i64 t0, TCGv_i64 t1) { if (sf) { - TCGv_i64 result, cf_64, vf_64, tmp; - result = tcg_temp_new_i64(); - cf_64 = tcg_temp_new_i64(); - vf_64 = tcg_temp_new_i64(); - tmp = tcg_const_i64(0); + TCGv_i64 result = tcg_temp_new_i64(); + TCGv_i64 cf_64 = tcg_temp_new_i64(); + TCGv_i64 vf_64 = tcg_temp_new_i64(); + TCGv_i64 tmp = tcg_temp_new_i64(); + TCGv_i64 zero = tcg_constant_i64(0); tcg_gen_extu_i32_i64(cf_64, cpu_CF); - tcg_gen_add2_i64(result, cf_64, t0, tmp, cf_64, tmp); - tcg_gen_add2_i64(result, cf_64, result, cf_64, t1, tmp); + tcg_gen_add2_i64(result, cf_64, t0, zero, cf_64, zero); + tcg_gen_add2_i64(result, cf_64, result, cf_64, t1, zero); tcg_gen_extrl_i64_i32(cpu_CF, cf_64); gen_set_NZ64(result); @@ -838,15 +838,15 @@ static void gen_adc_CC(int sf, TCGv_i64 dest, TCGv_i64 t0, TCGv_i64 t1) tcg_temp_free_i64(cf_64); tcg_temp_free_i64(result); } else { - TCGv_i32 t0_32, t1_32, tmp; - t0_32 = tcg_temp_new_i32(); - t1_32 = tcg_temp_new_i32(); - tmp = tcg_const_i32(0); + TCGv_i32 t0_32 = tcg_temp_new_i32(); + TCGv_i32 t1_32 = tcg_temp_new_i32(); + TCGv_i32 tmp = tcg_temp_new_i32(); + TCGv_i32 zero = tcg_constant_i32(0); tcg_gen_extrl_i64_i32(t0_32, t0); tcg_gen_extrl_i64_i32(t1_32, t1); - tcg_gen_add2_i32(cpu_NF, cpu_CF, t0_32, tmp, cpu_CF, tmp); - tcg_gen_add2_i32(cpu_NF, cpu_CF, cpu_NF, cpu_CF, t1_32, tmp); + tcg_gen_add2_i32(cpu_NF, cpu_CF, t0_32, zero, cpu_CF, zero); + tcg_gen_add2_i32(cpu_NF, cpu_CF, cpu_NF, cpu_CF, t1_32, zero); tcg_gen_mov_i32(cpu_ZF, cpu_NF); tcg_gen_xor_i32(cpu_VF, cpu_NF, t0_32); From patchwork Thu Apr 28 14:39:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623721 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=SpSLjkSS; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzKn35Xtz9s2R for ; Fri, 29 Apr 2022 00:59:25 +1000 (AEST) Received: from localhost ([::1]:53974 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5c3-0002Ky-F0 for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:59:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44654) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5JS-00052w-EM for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:11 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:52102) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5JQ-0006DF-AZ for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:09 -0400 Received: by mail-wm1-x334.google.com with SMTP id q20so3083909wmq.1 for ; Thu, 28 Apr 2022 07:40:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=9RjoC/6ifC6SIbRIZ4urh3GPCCjvlxW3K3359J7cS0U=; b=SpSLjkSSmElMZrtI/7GPmfXbQBXJ6aa/wSoOMiIGfBtnMaG6JIc23YjY5ns6JS787H z7kOE0gweHSXkuHrZH6/ZRwL2Hq0vF0VLaE7BEw1fgufrj5n55bd7oWEzDowBfAho+Pa 4GRhXENo8Dhfw8eBTLC2LMN81ZbK2v2VcKjM60JPjh/MA617YXQDj9F/G1vmRXx1ErFs JPAO8gaAL0WbWWKAYj3/NZYk4tjaGN9EX5zLUYovnJ3kJsRx4hwtZVyRL2Vrqh6CERxA DOxKwBTg7b3qTsZC1S8rMawRjSIhRjgEBV/DhEJEQ1MSPLfLO4ZbK/1h3HSruKhAQ8UQ /6qA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9RjoC/6ifC6SIbRIZ4urh3GPCCjvlxW3K3359J7cS0U=; b=owjNOHNcfmiT1aBsRyd22yOMZnhZII5qKotP6Rkzut4jotzlcVwQjAiLfa4szDakwB p1jvGB1psU2V3PJ0gGKt7yaHYkXCAUEft9fklNw5VWCfQC5YnE+44mQjgxf046/W0Sbn RGBNLUDdYWEzdquoKRcYUF6rfqbHzRUW80sDZKVwx+ZEH/ejbmtbxU1SjN+IMhqZEHYH d5j0mLWRa1xgEieWZqW8/VmZvQPbtMt7j7DgWQP3VduNxlEwXA9m1gxaqdd29k1S3xwL drT3//PjRTImvsPxCkY9N7s174PYAS8wmOxSFmhzMqLr7pLczhQbA+MUz3XsuXgAbkpY J2ug== X-Gm-Message-State: AOAM530mB8w93YRKwHSt7wOAbkU6wLuZY37UnN//tmBcV+DkI7aXX5Fg 8cicjry1U3CC8CtEtikhBAIw3Q/QHFPXkg== X-Google-Smtp-Source: ABdhPJxcatvu4gZs1UGIBmJWda+CeX2WioRmRLKPFWTJkvP1ry0T3y3ov2zeMrQokYkpdn9zrj53fA== X-Received: by 2002:a05:600c:348f:b0:393:dcff:f95b with SMTP id a15-20020a05600c348f00b00393dcfff95bmr28518376wmq.76.1651156806868; Thu, 28 Apr 2022 07:40:06 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:05 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 05/54] target/arm: Use tcg_constant in handle_msr_i Date: Thu, 28 Apr 2022 15:39:09 +0100 Message-Id: <20220428143958.2451229-6-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x334.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-6-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 5c0fd897d6c..ec4765362bd 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -1615,7 +1615,6 @@ static void gen_axflag(void) static void handle_msr_i(DisasContext *s, uint32_t insn, unsigned int op1, unsigned int op2, unsigned int crm) { - TCGv_i32 t1; int op = op1 << 3 | op2; /* End the TB by default, chaining is ok. */ @@ -1674,9 +1673,7 @@ static void handle_msr_i(DisasContext *s, uint32_t insn, if (s->current_el == 0) { goto do_unallocated; } - t1 = tcg_const_i32(crm & PSTATE_SP); - gen_helper_msr_i_spsel(cpu_env, t1); - tcg_temp_free_i32(t1); + gen_helper_msr_i_spsel(cpu_env, tcg_constant_i32(crm & PSTATE_SP)); break; case 0x19: /* SSBS */ @@ -1704,15 +1701,11 @@ static void handle_msr_i(DisasContext *s, uint32_t insn, break; case 0x1e: /* DAIFSet */ - t1 = tcg_const_i32(crm); - gen_helper_msr_i_daifset(cpu_env, t1); - tcg_temp_free_i32(t1); + gen_helper_msr_i_daifset(cpu_env, tcg_constant_i32(crm)); break; case 0x1f: /* DAIFClear */ - t1 = tcg_const_i32(crm); - gen_helper_msr_i_daifclear(cpu_env, t1); - tcg_temp_free_i32(t1); + gen_helper_msr_i_daifclear(cpu_env, tcg_constant_i32(crm)); /* For DAIFClear, exit the cpu loop to re-evaluate pending IRQs. */ s->base.is_jmp = DISAS_UPDATE_EXIT; break; From patchwork Thu Apr 28 14:39:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623725 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=D03AKJbQ; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzR7301Kz9s5V for ; Fri, 29 Apr 2022 01:04:02 +1000 (AEST) Received: from localhost ([::1]:34388 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5gX-0008EN-0F for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:04:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44690) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5JT-00053d-T7 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:11 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:38801) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5JS-0006Dj-78 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:11 -0400 Received: by mail-wr1-x435.google.com with SMTP id k2so7087225wrd.5 for ; Thu, 28 Apr 2022 07:40:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=foEZXg9mJmplMi/dn+uJoWShhkvsQk1MZSIpAHMV1Xo=; b=D03AKJbQI4qzq+gjA5IXkAl8LMXqf1hIrvhM/yb6pgBIcUMNXCjDq69uaL6vhkkYmV VFRTb5EEsYJJMT97aotIaZXBZ/6g21bzwvKTxj53IwxyC8dnOVj70PT1rTBYUGkMH27Z BMTdEXX9VXNbjVEE7MTy1kS0pJApsbsRK53f0rbZJqBWFd3c5ttq38p3Mve/9IQXFi37 V8gmuBmyrsug1DiMD1RnG7ZMc/uoldtmsaT4BCUgzr3PXY6nl31Dmx0/CoXJ//neR5Wy 8XPwZZan0ZpmpWwyUn52IGiIRU1T8ihxR1XdF/anYLiw24cp0HYNty2yancKEaGtitIs F06Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=foEZXg9mJmplMi/dn+uJoWShhkvsQk1MZSIpAHMV1Xo=; b=o9sYJKwB4Fd15ANZwnRy/lYbvcctzntzO/r+yswem7CKR7ns3CiZDsQbhgKXYo4vIx YeB8yNKYxVOwNDpuAhIGsBwn1A35Oyyg0aVQKBAwTTZSncNqs65PtL8oRyTzvu0zJhF8 2zXXXoTpJLDJrAFdJHwK0PWHTlww/m1yQzuSgwHQMvWNPEWBX6XT/dFSIE4JM+tih4TF +XZKNMMvK+r5pJgPfzz5rG/AyWqotllnYW2ME8MkzS3rg1KSPn1xwS9TNQ2FGV8yBpr/ MXmO0kHC/C/EtGYqoxDMtYY60eTqbH5trwt6DswjOYaoN+KMwO7ScYNu88uxc0XZhqZw ZkoQ== X-Gm-Message-State: AOAM532O9EV93SbtnLQKGanPvoyF3tWY/Ig1/KHzwrWFTMn1nWrGRj6Q R1C6jrmOOUeGE+VSejq6MVpRyNT62grn6Q== X-Google-Smtp-Source: ABdhPJyXfg/jFYtXMHGGZnr5jEt9ZcCGaW16Hb47qcFWa1gPVylLW3tNi/ZuOFdWyDJFp9xoW1Dy0w== X-Received: by 2002:adf:b1db:0:b0:20a:bcb5:6526 with SMTP id r27-20020adfb1db000000b0020abcb56526mr27568848wra.305.1651156808863; Thu, 28 Apr 2022 07:40:08 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:07 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 06/54] target/arm: Use tcg_constant in handle_sys Date: Thu, 28 Apr 2022 15:39:10 +0100 Message-Id: <20220428143958.2451229-7-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-7-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index ec4765362bd..5d1bccaf469 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -1818,19 +1818,14 @@ static void handle_sys(DisasContext *s, uint32_t insn, bool isread, /* Emit code to perform further access permissions checks at * runtime; this may result in an exception. */ - TCGv_ptr tmpptr; - TCGv_i32 tcg_syn, tcg_isread; uint32_t syndrome; - gen_a64_set_pc_im(s->pc_curr); - tmpptr = tcg_const_ptr(ri); syndrome = syn_aa64_sysregtrap(op0, op1, op2, crn, crm, rt, isread); - tcg_syn = tcg_const_i32(syndrome); - tcg_isread = tcg_const_i32(isread); - gen_helper_access_check_cp_reg(cpu_env, tmpptr, tcg_syn, tcg_isread); - tcg_temp_free_ptr(tmpptr); - tcg_temp_free_i32(tcg_syn); - tcg_temp_free_i32(tcg_isread); + gen_a64_set_pc_im(s->pc_curr); + gen_helper_access_check_cp_reg(cpu_env, + tcg_constant_ptr(ri), + tcg_constant_i32(syndrome), + tcg_constant_i32(isread)); } else if (ri->type & ARM_CP_RAISES_EXC) { /* * The readfn or writefn might raise an exception; @@ -1861,17 +1856,15 @@ static void handle_sys(DisasContext *s, uint32_t insn, bool isread, case ARM_CP_DC_ZVA: /* Writes clear the aligned block of memory which rt points into. */ if (s->mte_active[0]) { - TCGv_i32 t_desc; int desc = 0; desc = FIELD_DP32(desc, MTEDESC, MIDX, get_mem_index(s)); desc = FIELD_DP32(desc, MTEDESC, TBI, s->tbid); desc = FIELD_DP32(desc, MTEDESC, TCMA, s->tcma); - t_desc = tcg_const_i32(desc); tcg_rt = new_tmp_a64(s); - gen_helper_mte_check_zva(tcg_rt, cpu_env, t_desc, cpu_reg(s, rt)); - tcg_temp_free_i32(t_desc); + gen_helper_mte_check_zva(tcg_rt, cpu_env, + tcg_constant_i32(desc), cpu_reg(s, rt)); } else { tcg_rt = clean_data_tbi(s, cpu_reg(s, rt)); } @@ -1935,10 +1928,7 @@ static void handle_sys(DisasContext *s, uint32_t insn, bool isread, if (ri->type & ARM_CP_CONST) { tcg_gen_movi_i64(tcg_rt, ri->resetvalue); } else if (ri->readfn) { - TCGv_ptr tmpptr; - tmpptr = tcg_const_ptr(ri); - gen_helper_get_cp_reg64(tcg_rt, cpu_env, tmpptr); - tcg_temp_free_ptr(tmpptr); + gen_helper_get_cp_reg64(tcg_rt, cpu_env, tcg_constant_ptr(ri)); } else { tcg_gen_ld_i64(tcg_rt, cpu_env, ri->fieldoffset); } @@ -1947,10 +1937,7 @@ static void handle_sys(DisasContext *s, uint32_t insn, bool isread, /* If not forbidden by access permissions, treat as WI */ return; } else if (ri->writefn) { - TCGv_ptr tmpptr; - tmpptr = tcg_const_ptr(ri); - gen_helper_set_cp_reg64(cpu_env, tmpptr, tcg_rt); - tcg_temp_free_ptr(tmpptr); + gen_helper_set_cp_reg64(cpu_env, tcg_constant_ptr(ri), tcg_rt); } else { tcg_gen_st_i64(tcg_rt, cpu_env, ri->fieldoffset); } From patchwork Thu Apr 28 14:39:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623697 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=eLNplD47; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpyxN5LxWz9s0r for ; Fri, 29 Apr 2022 00:41:43 +1000 (AEST) Received: from localhost ([::1]:36044 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5Ku-0005IL-Cz for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:41:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44720) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5JU-000554-Sn for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:15 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:46817) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5JT-0006E1-EN for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:12 -0400 Received: by mail-wr1-x42e.google.com with SMTP id i5so7047202wrc.13 for ; Thu, 28 Apr 2022 07:40:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=EeFLZ/V0/JOBTSNAJLm7+MRWGPviysoPcLoMqfST1AQ=; b=eLNplD47llVri5MY7I3nAOVXlARzTqgjIjvk5o+nBl6ubcyOW9XwBTwCtvbyfdncHB YiRn4jldFYUZ0Qt3Z2tntP4lo3qH+MnXUYayLxRn7lza0KuK37efbA8EB4H4E0WxQsxq UInVkfsqLSMJG001Dn48HRMi/c3l3s3sEOm3+c0/rZnOmogzFOAWJi8teS8kPHPk31Y3 BtYgOsA309bHzENQwk4ctakYffa9/NKsZzuVxopruJ/k7UVwpPibFRjyIFMjaY5k8riO wPMvWlm2nlUBqKlNFcaTwTFHt9YCPnRRSJrrm0+c+pQ5WqGKLMiQfpzfW5QNqFNA5xFE 9jYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=EeFLZ/V0/JOBTSNAJLm7+MRWGPviysoPcLoMqfST1AQ=; b=vDnbZ/x2UqhfgFfxdG+WmkXfyqE48W2VsrQoherjq3MruO4hVvqmG//AeICkO61qNF EvPf+hRg0L2Nvb//gWQNrzZvOItL8Qx80+Zd1nqZFALD9jZJ7r/SkdP95Yxkcd4kGhnE PLW2jxmsgEmoFyW8k/yHHslOPgyyw9TziioxSY/HOJAgBccQKBgfOYCcOQYsD3G6Xb0Y RYmQD/fjlusKoFCI7tfWXWwndJrS19TWHky8vV6LbSvb5MSU4YwHzConvsEIw6qLGdVc 5GMmtrjWYjZbcXEcqWa5ANDVq63UnnypMk7LUOFSF7u1ZpgdfxSeoJDqZ+GQwKIXSbIE Z88g== X-Gm-Message-State: AOAM530BmOtHdd95/xajmm6Q2rdgQDyRa4hB+Oq7zDGob8u6ECq+5ynM wZR81UTUvJLM0hFg14G48CdGWUONgSCtrQ== X-Google-Smtp-Source: ABdhPJyWr1hxL7/nHNgnp6HU4lBPnL0YB82UAqf25zH2LU0OTo2GmS1q7cljaqSsiIPRFUrLv7COnQ== X-Received: by 2002:a5d:6d89:0:b0:20a:9beb:9477 with SMTP id l9-20020a5d6d89000000b0020a9beb9477mr26263958wrs.142.1651156810086; Thu, 28 Apr 2022 07:40:10 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:09 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 07/54] target/arm: Use tcg_constant in disas_exc Date: Thu, 28 Apr 2022 15:39:11 +0100 Message-Id: <20220428143958.2451229-8-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-8-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 5d1bccaf469..68e3b5c1f80 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -2015,7 +2015,6 @@ static void disas_exc(DisasContext *s, uint32_t insn) int opc = extract32(insn, 21, 3); int op2_ll = extract32(insn, 0, 5); int imm16 = extract32(insn, 5, 16); - TCGv_i32 tmp; switch (opc) { case 0: @@ -2050,9 +2049,7 @@ static void disas_exc(DisasContext *s, uint32_t insn) break; } gen_a64_set_pc_im(s->pc_curr); - tmp = tcg_const_i32(syn_aa64_smc(imm16)); - gen_helper_pre_smc(cpu_env, tmp); - tcg_temp_free_i32(tmp); + gen_helper_pre_smc(cpu_env, tcg_constant_i32(syn_aa64_smc(imm16))); gen_ss_advance(s); gen_exception_insn(s, s->base.pc_next, EXCP_SMC, syn_aa64_smc(imm16), 3); From patchwork Thu Apr 28 14:39:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623701 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=IVIDFNfy; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpyzW0PmLz9s0r for ; Fri, 29 Apr 2022 00:43:35 +1000 (AEST) Received: from localhost ([::1]:46236 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5Mi-00036w-RL for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:43:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44742) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5JV-00055H-Nd for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:15 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:43980) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5JU-0006E7-76 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:13 -0400 Received: by mail-wr1-x436.google.com with SMTP id v12so7060050wrv.10 for ; Thu, 28 Apr 2022 07:40:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=35IhVqQKMSt2M2ExCXvzSKgvNQo69e7VSbjXaXkjCBk=; b=IVIDFNfycoxIUtqMnOgXxJzD++3H7e2okzjMJUXan/nC/ITESKj1zGv+kpZ/6rMhZI ku0B0dQNt+xXHC8pN03gEMw93SN0FRLZE+6IOjQSFZOGaPnqFHpzm242zfdPhH0bfm/Y lUGfYAZILQO7hAXtOS+dSGJfohDocoiNvRA5CQ5wrMbaLU9KjlGaMCFQfF06OdLrpOTJ p0LfBpjx2XptAT5HkuMGowKxkXSQLUUzNKKx4KJp3v+fg4nocATnrEfb8q0QXUBsCPsA GnKEGxWXjrG7XIx+652wdcNjwpSQlsJykv6iv061RMH8QSyh2jiuGu1tPP7fZICuou9r T7FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=35IhVqQKMSt2M2ExCXvzSKgvNQo69e7VSbjXaXkjCBk=; b=EFnwWNYVXrLkuJcUJ0upQn+j3yJdws8kZF9VrrWGwUpzCAKaD3n6SlvIa5jgq4DdKq AwLjsI4kEeb3Bc9/mSkPvHoIVQLQuRLCF0wRaJ3MB4AlNqq/BFYkfQZSDNgCXfenbDXp q02Guq+e2DMJwfLmzu6oGEDhMybzmrgNIiq58ecpo1O8KJkEcWZeUwUUzg2Efwl6N6cd xQrG53pbxWtPyaQKZifxr3Mq9FosO03lz3NLa4kZ+XqIVWoCdNzp0ckPnjnskgPiHXlb aJ8inYq1BlElIM4gVrd+mGljDmPvCIwDnLC3rfL9Ndn4FT1UntB8sIrFoeWABDC0nSSz 50fA== X-Gm-Message-State: AOAM531fE0xRENBK9CC1+at5exmyCoQFnK8wBJjse1gzSaaT7BLYaSeH QBM9EsDOibNs7NwYYbMDD0phKWoZsLBgeQ== X-Google-Smtp-Source: ABdhPJxIULhzJRr0v40Cisx5o4fanqTdLaLIdyDrtLayyAlgEKwitYc/qf/H/c5uSZYc7jz26lWpsg== X-Received: by 2002:a5d:6949:0:b0:20a:e021:f8e0 with SMTP id r9-20020a5d6949000000b0020ae021f8e0mr14514603wrw.231.1651156810899; Thu, 28 Apr 2022 07:40:10 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:10 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 08/54] target/arm: Use tcg_constant in gen_compare_and_swap_pair Date: Thu, 28 Apr 2022 15:39:12 +0100 Message-Id: <20220428143958.2451229-9-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-9-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 68e3b5c1f80..af6844b4b60 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -2523,7 +2523,7 @@ static void gen_compare_and_swap_pair(DisasContext *s, int rs, int rt, tcg_temp_free_i64(cmp); } else if (tb_cflags(s->base.tb) & CF_PARALLEL) { if (HAVE_CMPXCHG128) { - TCGv_i32 tcg_rs = tcg_const_i32(rs); + TCGv_i32 tcg_rs = tcg_constant_i32(rs); if (s->be_data == MO_LE) { gen_helper_casp_le_parallel(cpu_env, tcg_rs, clean_addr, t1, t2); @@ -2531,7 +2531,6 @@ static void gen_compare_and_swap_pair(DisasContext *s, int rs, int rt, gen_helper_casp_be_parallel(cpu_env, tcg_rs, clean_addr, t1, t2); } - tcg_temp_free_i32(tcg_rs); } else { gen_helper_exit_atomic(cpu_env); s->base.is_jmp = DISAS_NORETURN; @@ -2542,7 +2541,7 @@ static void gen_compare_and_swap_pair(DisasContext *s, int rs, int rt, TCGv_i64 a2 = tcg_temp_new_i64(); TCGv_i64 c1 = tcg_temp_new_i64(); TCGv_i64 c2 = tcg_temp_new_i64(); - TCGv_i64 zero = tcg_const_i64(0); + TCGv_i64 zero = tcg_constant_i64(0); /* Load the two words, in memory order. */ tcg_gen_qemu_ld_i64(d1, clean_addr, memidx, @@ -2563,7 +2562,6 @@ static void gen_compare_and_swap_pair(DisasContext *s, int rs, int rt, tcg_temp_free_i64(a2); tcg_temp_free_i64(c1); tcg_temp_free_i64(c2); - tcg_temp_free_i64(zero); /* Write back the data from memory to Rs. */ tcg_gen_mov_i64(s1, d1); From patchwork Thu Apr 28 14:39:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623706 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=xbR4cyLM; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpz0D5y3lz9s0r for ; Fri, 29 Apr 2022 00:44:12 +1000 (AEST) Received: from localhost ([::1]:48570 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5NK-0004Mu-Sr for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:44:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44762) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5JW-00055i-NO for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:15 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:53237) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5JV-0006EQ-6M for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:14 -0400 Received: by mail-wm1-x32b.google.com with SMTP id y21so3078979wmi.2 for ; Thu, 28 Apr 2022 07:40:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=/yDO7++Z+HrE8q9Tl4I5SBZlbbqQD8rc7Y6ufd3IgGQ=; b=xbR4cyLMNkm3AFUi7diqnLvic1hlf8FSRqvZIDxEtTlUL2QcZBovt2KpoH0IbjCf+3 ezKQYs9ZzAkKNNgTnpc1+Gg39hBXTQ/hKR6gtw3vHWER9S3POJjFOAFhF+ZZFYF5betO jwC1OxE8tPzVvX3PHGUFk+PgSdIEJS+rgL7C1huNCJzn5zFWIok/1IBnbjmrBkl/8dqG o9joZEAd3QE3wWbTLX6hTOPYZonezb37E29NHO6i2scV74mnv7jXn2ZcH6KNIC1dO/XM U8jxK1riiwG/xz9+MV+v+9nARcIK924m0YvtS/IIGJp1mZIq8sAJ3cTPQ5aNDdKVuEkO DK9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/yDO7++Z+HrE8q9Tl4I5SBZlbbqQD8rc7Y6ufd3IgGQ=; b=EpFdn84AwLMksDd9Ba0/VDev6Wd9s+3Yf1Y+a4p+PIbDpuMOIWuiyRJ23+bgGE5sLC 9XXT/bUJN0KBW1k8Pbi27rIF9XZTs4NrENSJvCAKlx/f5hIescleZEGxgO05rbrs68dx LXsIytU6vB8LTv6645TaW2TFWzl718edM6raY4ewo0ipZvIDUHspQOUqGCc/18xVVYG0 wqoNzuS0vOKN83NsSFTnbCx3PW/pVxgRq+sG2m361LiRaJZFugAplUSqfmfyPTZ0/Tka F7AoohsSnIw6qv0vteLb+IPP9S6xtb4Kbo93T8yzvNfnzt18iHSi5trjnGe3X426rOt3 RisA== X-Gm-Message-State: AOAM5311CCqGvt+MZCR8q49t3ttKan+wIVaz7G+H2zijup7JeRmRj5vY L5tM2REo9oj1u99r5WqZoOD0axK0YJ98Ew== X-Google-Smtp-Source: ABdhPJyVuWWoo9C94EdUKTkHhotRI6jLsXIwPsSV+qCeUoVjwhhm26290Qv390tO2DqnT0r2NJxCdQ== X-Received: by 2002:a05:600c:1d08:b0:393:ef4f:c267 with SMTP id l8-20020a05600c1d0800b00393ef4fc267mr16279128wms.103.1651156811825; Thu, 28 Apr 2022 07:40:11 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:11 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 09/54] target/arm: Use tcg_constant in disas_ld_lit Date: Thu, 28 Apr 2022 15:39:13 +0100 Message-Id: <20220428143958.2451229-10-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-10-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index af6844b4b60..1caca38a798 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -2778,7 +2778,7 @@ static void disas_ld_lit(DisasContext *s, uint32_t insn) tcg_rt = cpu_reg(s, rt); - clean_addr = tcg_const_i64(s->pc_curr + imm); + clean_addr = tcg_constant_i64(s->pc_curr + imm); if (is_vector) { do_fp_ld(s, rt, clean_addr, size); } else { @@ -2788,7 +2788,6 @@ static void disas_ld_lit(DisasContext *s, uint32_t insn) do_gpr_ld(s, tcg_rt, clean_addr, size + is_signed * MO_SIGN, false, true, rt, iss_sf, false); } - tcg_temp_free_i64(clean_addr); } /* From patchwork Thu Apr 28 14:39:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623708 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=F/km8AEC; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpz342SLcz9s0r for ; Fri, 29 Apr 2022 00:46:40 +1000 (AEST) Received: from localhost ([::1]:55932 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5Pi-0000YE-D5 for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:46:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44780) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5JX-00059C-Pa for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:15 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:45706) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5JW-0006Eh-1R for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:15 -0400 Received: by mail-wr1-x42e.google.com with SMTP id w4so7049695wrg.12 for ; Thu, 28 Apr 2022 07:40:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=cGgb/v0MiLrD1oH6Hdxco6KrRlasCjPtjrJBks8RRZk=; b=F/km8AECmYTlqAzVyZOKpBefKSk2Sa2eRDFhBx/WqNGDsk/gYSA7lL53cy6PjQlbWL dv0Hd1LwzjjgxluBnwz48RZ8EYF+/m51EEw5LezeucoE5ofoP+8CScMKri5UUCAADQ2x 1MVBBt4PI7yfD/UgIuoXLpAeb6m9Q09ARR71D00CcfWTk27cTBHrRlupXXLVCN41QzcU Fald3G9/nIOI4bSGhQM/e2rAkDdjevJsQBkJxZEEXHkSb3tmjzl+dnide5V8/F8cGRVM gyItPBsd0cpzctpi8BQ0Ji4URhxLJdHU3qg6mTwhDJQxfjtgqS3NDQ6I/q4/ubOmb5TU Opfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=cGgb/v0MiLrD1oH6Hdxco6KrRlasCjPtjrJBks8RRZk=; b=XGdBSYSTipPYipD5vwebzIi4JY/kczQ8OeaMMZ1eUCoWiPPLkM7VYhVhC3Rlw7kjmS VMiKCTXrf0sfX8+EAR9Jc61AQEja4jW1ivsos80lELLXtEG45ka1L2mY54XNccQlm7Wi bLjwa7FKdgWCG0fvuadQ3QAgwtNCPmGBdm5eB0uY/BFlUNjN30eMsms1FfNeRDlM2pcs oyNHLfGfpRAljqf3fedWPJOa6iPvd+axq7VjQpuFH2zRG4ezgz2UKRKLGnpNz/fIngIq qw/dERGkX1iZMFZGP9kUhO3EDIkIG3mxQsA0enRhPBqNo44/vuXqfM5m8XZ3gyMcBIXm 57eQ== X-Gm-Message-State: AOAM5305j0k5J2z96RlXusAKFrocNbL4gM5aSieMs+lII1Ewn5XlgkRB ppuoq9sE/8wPpqXyND3+yQA2BP0uqQswNw== X-Google-Smtp-Source: ABdhPJwH2TOyjVPqhwuKwrDzFwSW7IXByReDCb1bCF9H7mO/uhpF6AXNRXduK1QKMQ0J7u1sa6IWXA== X-Received: by 2002:a05:6000:1814:b0:20a:cb21:8781 with SMTP id m20-20020a056000181400b0020acb218781mr24884317wrh.488.1651156812761; Thu, 28 Apr 2022 07:40:12 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:12 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 10/54] target/arm: Use tcg_constant in disas_ldst_* Date: Thu, 28 Apr 2022 15:39:14 +0100 Message-Id: <20220428143958.2451229-11-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-11-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 1caca38a798..4cdc869d522 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -3693,7 +3693,7 @@ static void disas_ldst_multiple_struct(DisasContext *s, uint32_t insn) mop = endian | size | align; elements = (is_q ? 16 : 8) >> size; - tcg_ebytes = tcg_const_i64(1 << size); + tcg_ebytes = tcg_constant_i64(1 << size); for (r = 0; r < rpt; r++) { int e; for (e = 0; e < elements; e++) { @@ -3709,7 +3709,6 @@ static void disas_ldst_multiple_struct(DisasContext *s, uint32_t insn) } } } - tcg_temp_free_i64(tcg_ebytes); if (!is_store) { /* For non-quad operations, setting a slice of the low @@ -3839,7 +3838,7 @@ static void disas_ldst_single_struct(DisasContext *s, uint32_t insn) total); mop = finalize_memop(s, scale); - tcg_ebytes = tcg_const_i64(1 << scale); + tcg_ebytes = tcg_constant_i64(1 << scale); for (xs = 0; xs < selem; xs++) { if (replicate) { /* Load and replicate to all elements */ @@ -3861,7 +3860,6 @@ static void disas_ldst_single_struct(DisasContext *s, uint32_t insn) tcg_gen_add_i64(clean_addr, clean_addr, tcg_ebytes); rt = (rt + 1) % 32; } - tcg_temp_free_i64(tcg_ebytes); if (is_postidx) { if (rm == 31) { @@ -4052,7 +4050,7 @@ static void disas_ldst_tag(DisasContext *s, uint32_t insn) if (is_zero) { TCGv_i64 clean_addr = clean_data_tbi(s, addr); - TCGv_i64 tcg_zero = tcg_const_i64(0); + TCGv_i64 tcg_zero = tcg_constant_i64(0); int mem_index = get_mem_index(s); int i, n = (1 + is_pair) << LOG2_TAG_GRANULE; @@ -4062,7 +4060,6 @@ static void disas_ldst_tag(DisasContext *s, uint32_t insn) tcg_gen_addi_i64(clean_addr, clean_addr, 8); tcg_gen_qemu_st_i64(tcg_zero, clean_addr, mem_index, MO_UQ); } - tcg_temp_free_i64(tcg_zero); } if (index != 0) { From patchwork Thu Apr 28 14:39:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623710 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=zkfeXwDB; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpz4k09wnz9s0r for ; Fri, 29 Apr 2022 00:48:06 +1000 (AEST) Received: from localhost ([::1]:57760 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5R6-0001kj-24 for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:48:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44812) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5JY-0005AY-LL for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:16 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:43977) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5JX-0006Ev-0W for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:16 -0400 Received: by mail-wr1-x432.google.com with SMTP id v12so7060266wrv.10 for ; Thu, 28 Apr 2022 07:40:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=amJ1wAQFFeMkaEoQ+Syu7vcVWtMApQ5amALa28nj+ss=; b=zkfeXwDBsfYaPv8+McK/TKqt01VJZefy15cuHrta4VBtSYUDe9UwgBQn1LXCaduYhr MqxRAIg9N3BgDdo57rUy9YRBmhRBnZPHVgfw56S0ibbsglSHDfWgky0LPJm9+1pB2YGs b11c3xuMrsD+R85BzoUCvxQEyNlsvaGddmdyAwCv7gcl1fqALsAPN0W9tbLXB2IVaz4A M+9YSwGzuWAjWsc+jFVDwDLOpz8GTSYW+/nEh53fuFnAEif4dkGbI9PMGJkl3+sfP+V6 OPWgrRgqA0dtv11nrWTOJ7nBu1IOexJeuaXLKxCDcgEr8Sw5uyvv9dRHTapLabxtRjcU +B3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=amJ1wAQFFeMkaEoQ+Syu7vcVWtMApQ5amALa28nj+ss=; b=nK3PODzOpbhR6vg3toapjYgxIAnycP3LgKO7QDhZIOvbodq0DKYe4Ydql0tpEnaBhQ 4CuCeF7RNN9YLK/9rUahCHEzV47epyfJmi6O46YETohN2ALDKo9vKPwDAwq3bwrG0bgO 4Hs8QyO21vNvf+3rsA5bvaZA5CoeZsZ0m00gNQawT/hg4xiHoujdjLujFNiuI8QHdh21 KWOZGpwyLBa1RsrshL7boaMoHWZGVwM93j1PngG8VWzsrA566fQddHj3DiivJpPFbWZw J7IId+VArxm5BY/RHcll81Z0oDNHvq2lmfYt/EGjpm6cTW4wzpbx6zSrbu/fd3sOhZDY 3Pcg== X-Gm-Message-State: AOAM532ALNqOzai8RDM2rSVYKCUU02sk5h6X5ikNm3IFiywXleMnFPqE AAefME9E9aZyhfVkbF6mPhOnP032SauPMQ== X-Google-Smtp-Source: ABdhPJzVjGOKPIALZWTSHG9TMvBMOIfWv17aFMSDJwwBvUuzUwCOLAnI6mkLzLj+FSM70ojKgWV3Ew== X-Received: by 2002:a5d:4e92:0:b0:20a:cafc:ebf1 with SMTP id e18-20020a5d4e92000000b0020acafcebf1mr24599957wru.17.1651156813725; Thu, 28 Apr 2022 07:40:13 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:13 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 11/54] target/arm: Use tcg_constant in disas_add_sum_imm* Date: Thu, 28 Apr 2022 15:39:15 +0100 Message-Id: <20220428143958.2451229-12-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-12-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 4cdc869d522..6c88772eb32 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -4178,13 +4178,12 @@ static void disas_add_sub_imm(DisasContext *s, uint32_t insn) tcg_gen_addi_i64(tcg_result, tcg_rn, imm); } } else { - TCGv_i64 tcg_imm = tcg_const_i64(imm); + TCGv_i64 tcg_imm = tcg_constant_i64(imm); if (sub_op) { gen_sub_CC(is_64bit, tcg_result, tcg_rn, tcg_imm); } else { gen_add_CC(is_64bit, tcg_result, tcg_rn, tcg_imm); } - tcg_temp_free_i64(tcg_imm); } if (is_64bit) { @@ -4232,12 +4231,9 @@ static void disas_add_sub_imm_with_tags(DisasContext *s, uint32_t insn) tcg_rd = cpu_reg_sp(s, rd); if (s->ata) { - TCGv_i32 offset = tcg_const_i32(imm); - TCGv_i32 tag_offset = tcg_const_i32(uimm4); - - gen_helper_addsubg(tcg_rd, cpu_env, tcg_rn, offset, tag_offset); - tcg_temp_free_i32(tag_offset); - tcg_temp_free_i32(offset); + gen_helper_addsubg(tcg_rd, cpu_env, tcg_rn, + tcg_constant_i32(imm), + tcg_constant_i32(uimm4)); } else { tcg_gen_addi_i64(tcg_rd, tcg_rn, imm); gen_address_with_allocation_tag0(tcg_rd, tcg_rd); From patchwork Thu Apr 28 14:39:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623715 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=jsArb1AG; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzF847VMz9s0r for ; Fri, 29 Apr 2022 00:55:24 +1000 (AEST) Received: from localhost ([::1]:44948 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5YA-00047g-In for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:55:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44826) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5JZ-0005CL-CW for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:18 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:42843) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5JX-0006GA-Pj for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:17 -0400 Received: by mail-wr1-x435.google.com with SMTP id e24so7060703wrc.9 for ; Thu, 28 Apr 2022 07:40:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=5Y7pNte1LLspgnSd1wrzXvCBtopn0VLHohZ/8ka6EkU=; b=jsArb1AGfwAMM5FGYCXrTn2UHkFPkWfhxP+Miq3w2mQ1C0Z4ZecfEXrSgJqld0OqAX 4Z3qkdK5HXyHf0ROTlMCcnZ13pih5m1SGslEvLHXhSGEPfKyhseZ7wCB4zNABn1uwDmD B6XbfiKDCcvlCDrTPmwe+r3ADXARM5la89sgdbITBy6BJIAZX2I3MTfazlk4ZPlDJpWY c+Tudo1ckThv2RwTKDxh/+GFJkVPxbsnSa7ODwHlX9N68z5/bv23dV2lG27v+hP4bBxx pO8mki734GtGFiLBgo/Kw6+AR/kEWXbTy9FpWeZTisGfK68hh7UhRU9WCIHn/uUIJaIB 9AyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5Y7pNte1LLspgnSd1wrzXvCBtopn0VLHohZ/8ka6EkU=; b=2oY78XQoZ++zLnl0fZKlMHrhNBGbHIulJctVYzHFajjis6M4qGlB3Sqn1ogR8hxgva vGhFu8ownrBMQTYY+hHfwpmiuGcV2ZgBSzcMPV3Uoy24jGZo/hFRs+u2MO8Wb2SS4Tq2 yUBnFkw737I3em8SquZBQvHcgwIyKX+3WK33CzGKHcGqu2NuMihFagZNVcgMTPSwwgNd Zc/FRZJ1nHsANjrnSka8XYqJslkf2XUR1CGB77ZEcM0JK8Q9uAuOolbM3mPF0lhMvFXB VV5nlaQTvuLLDJGaR6sK/yRPYqEcoMRwHZWoLlYnZpcVMSRj1XKXIYVo5mAJ3KT/g6x4 2klw== X-Gm-Message-State: AOAM5336aCADSN1SmgREaDHcXpow/7ehtbNR2R2/J8DBSs9YOxQSC40Y CqkwNao/m9jh8PQB3gmc+bPqyTGdClxj2A== X-Google-Smtp-Source: ABdhPJxZuNLKliyWp7g9ycjJViwOzCKjW4h9MCDELrCj+BzlxC5eoZZFZUohCxGl+uEu2FxrMTzFeA== X-Received: by 2002:a05:6000:2a1:b0:20a:7c6a:d43e with SMTP id l1-20020a05600002a100b0020a7c6ad43emr27485218wry.417.1651156814457; Thu, 28 Apr 2022 07:40:14 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:14 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 12/54] target/arm: Use tcg_constant in disas_movw_imm Date: Thu, 28 Apr 2022 15:39:16 +0100 Message-Id: <20220428143958.2451229-13-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-13-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 6c88772eb32..537eebbf1da 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -4419,7 +4419,6 @@ static void disas_movw_imm(DisasContext *s, uint32_t insn) int opc = extract32(insn, 29, 2); int pos = extract32(insn, 21, 2) << 4; TCGv_i64 tcg_rd = cpu_reg(s, rd); - TCGv_i64 tcg_imm; if (!sf && (pos >= 32)) { unallocated_encoding(s); @@ -4439,9 +4438,7 @@ static void disas_movw_imm(DisasContext *s, uint32_t insn) tcg_gen_movi_i64(tcg_rd, imm); break; case 3: /* MOVK */ - tcg_imm = tcg_const_i64(imm); - tcg_gen_deposit_i64(tcg_rd, tcg_rd, tcg_imm, pos, 16); - tcg_temp_free_i64(tcg_imm); + tcg_gen_deposit_i64(tcg_rd, tcg_rd, tcg_constant_i64(imm), pos, 16); if (!sf) { tcg_gen_ext32u_i64(tcg_rd, tcg_rd); } From patchwork Thu Apr 28 14:39:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623711 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=RBF8GU/b; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpz8j5Bs4z9s0r for ; Fri, 29 Apr 2022 00:51:33 +1000 (AEST) Received: from localhost ([::1]:36346 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5UQ-0006cm-TR for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:51:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44864) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Ja-0005EB-5z for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:18 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:34631) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5JY-0006GS-Ko for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:17 -0400 Received: by mail-wr1-x42d.google.com with SMTP id q23so7097080wra.1 for ; Thu, 28 Apr 2022 07:40:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=3SXQK2e5H9f8jpPSeEKEA5MUIJM1yA208qybcvx/YqA=; b=RBF8GU/bQc/E3BUsUgGtQ5P4vqOJZuh4E0ch9ICIAb4+MJJ4oEyoq0AoMJ5qc+G8w0 iDRTh31IoB2UVnJlCtvULnDTc+RsdvL7BbNQVvphsg2CHPelrqaz7S1I05f4Qp75wK2O jOusSGV3hSpnYBXO1h0j4e6hML6MoDEU0sTo1vdCfniZmmKKxhQvvoi0BGwZGkPd4SnW wiJceqntk/s/I05qt3UwQDpd4OFC6woZuIw9yH77EWlE3hfbDV3ao62vYrVDl2sP4DJc 80/qH7/hX/M8Tra6WI08EJhCNkqMy5rvievY4wB7JKlGP4Aob+d0BYQSze+5y0lHxzhK SlUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3SXQK2e5H9f8jpPSeEKEA5MUIJM1yA208qybcvx/YqA=; b=0I/OCS7E03o7WB1ZdVywLLUlqryNHvKh88c5O5M5MVY+9vgGa1s4N0GmXEFV35VmxH AIf3HFJhg2mKfn98YKGukUNHxBlYw85Y5Bhljjr8Ad/0MV0RvJApUG5Z2FbIgeIDyqRZ yNK2w76p8aJzUGBDdX0QWKX5EnAzV+DtGOZcFJz1qS55xSGfpM4Tjn57SBHO49wdx9e2 7OpjM0zkCpxvrbJF+wkixWVUV27V2+CypBGVIJsq2jU6BfUy3EJfs8Gl6oXZkGkrrz2l 09winYv4X9xb4t/O4GxAjHKt6i58dLkqFO2MGGVkyygC1uP1JrJdVAwUA8n/Xu6VqvKj 3Ecg== X-Gm-Message-State: AOAM530/PQMsuF1YO5Z/cKKxlhzCM6jBLLK+z0ccOz9yY/9YMczkAent 0Y2AhmUaGcgwBwDkNjV2g4sfuQbKV1vTog== X-Google-Smtp-Source: ABdhPJyZfroisqTAkj4AocFKT7J+w/SBjdwhHhxCttzWKVvrEE94q40+EtqI83r/k7Z+jzfZUlaXbQ== X-Received: by 2002:adf:b1db:0:b0:20a:bcb5:6526 with SMTP id r27-20020adfb1db000000b0020abcb56526mr27569189wra.305.1651156815183; Thu, 28 Apr 2022 07:40:15 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:14 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 13/54] target/arm: Use tcg_constant in shift_reg_imm Date: Thu, 28 Apr 2022 15:39:17 +0100 Message-Id: <20220428143958.2451229-14-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-14-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 537eebbf1da..3de2b27cc7b 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -4678,11 +4678,7 @@ static void shift_reg_imm(TCGv_i64 dst, TCGv_i64 src, int sf, if (shift_i == 0) { tcg_gen_mov_i64(dst, src); } else { - TCGv_i64 shift_const; - - shift_const = tcg_const_i64(shift_i); - shift_reg(dst, src, sf, shift_type, shift_const); - tcg_temp_free_i64(shift_const); + shift_reg(dst, src, sf, shift_type, tcg_constant_i64(shift_i)); } } From patchwork Thu Apr 28 14:39:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623707 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=fHYJuQhq; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpz2P2jfTz9s0r for ; Fri, 29 Apr 2022 00:46:04 +1000 (AEST) Received: from localhost ([::1]:55182 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5P8-0008T1-MI for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:46:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44888) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Jb-0005FO-39 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:19 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:42835) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5JZ-0006Gg-EQ for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:18 -0400 Received: by mail-wr1-x42c.google.com with SMTP id e24so7060823wrc.9 for ; Thu, 28 Apr 2022 07:40:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=CRvv52+d+nyflDhF667gRsFCpbVgxiD8ZGOfFH1/xUg=; b=fHYJuQhq80HvKPL45UFWXVsm1uqW3v8S/TH+5/LJrNvD0QZSb0rS/Tnrnd8K5xts4Z EGFBh8mYEXa+vUJGXtO2sq3N/dWP1kKlpDLc66L3MSLhVHxDB0FDDsF4cxe/WXnFmhVG bHBJyyiWFYzFsOv7+zZyoWOHQZnj8ZZ72cgp7zVpN75YL/sTN8L4TQ0wb09wCT1l6ILX IPVR0lk33gw5nM98CzDYav7lnjXQsvdqGfvMw7bJv6AZwyeah0ufq5sAirj+97VO9apQ oWbnGpMQGJ05c5xVWr0JDrjnQl9TkGL84Z6V1N5n2P6mhbDdb7hQvoLLf7gk78KdCbMK HiAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CRvv52+d+nyflDhF667gRsFCpbVgxiD8ZGOfFH1/xUg=; b=f2PuBtaNZ6IRSsIkYQImsKqM9UAoMunHojZuu7JMFxZAKFufCnvZHgNmqj7NRfcslO an/vKnlrKFgt18GX01GaWuYcgQfoCvKZZWiviQhy2af9iTLiDxjvfGm7GajjUwjTtFuG uLIIr0DA9eijsMS0rMqG6N8sc6pVI+vSSpox1HBdSuK3hXVK/HSXxBCw4Hc8wsxMC3Qa 2/njcm8RB5DxFiAX4GgPGQu1I1n4/kLQEviEEBo3ldGysvI0vvaOEWbCt9qh88d5EdbR YVkLQ2je0XTm416WWD88Zo4PM3glNsG/COcIPJZb+wl8Ed8xKgcHNChgUnLXrLobmc/P JTNA== X-Gm-Message-State: AOAM532woavwDEpVuTwAmlDA0kFG/6F0Q7MTRavjrHmEbXJLZ6eJs/gD +swDxCiYKP6wqPEanVdjDW1zOjBFQWQuNA== X-Google-Smtp-Source: ABdhPJzT/BMLzLlvV9OTckIkG9YMhMc+W2KsKJsOaE1wTGRBHOGxeAV8myk2iUTIVldU8pti9aLb0g== X-Received: by 2002:a05:6000:12d1:b0:20a:d901:3828 with SMTP id l17-20020a05600012d100b0020ad9013828mr17970454wrx.313.1651156816076; Thu, 28 Apr 2022 07:40:16 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:15 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 14/54] target/arm: Use tcg_constant in disas_cond_select Date: Thu, 28 Apr 2022 15:39:18 +0100 Message-Id: <20220428143958.2451229-15-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-15-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 3de2b27cc7b..9b678cc5af6 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -5255,7 +5255,7 @@ static void disas_cond_select(DisasContext *s, uint32_t insn) tcg_rd = cpu_reg(s, rd); a64_test_cc(&c, cond); - zero = tcg_const_i64(0); + zero = tcg_constant_i64(0); if (rn == 31 && rm == 31 && (else_inc ^ else_inv)) { /* CSET & CSETM. */ @@ -5276,7 +5276,6 @@ static void disas_cond_select(DisasContext *s, uint32_t insn) tcg_gen_movcond_i64(c.cond, tcg_rd, c.value, zero, t_true, t_false); } - tcg_temp_free_i64(zero); a64_free_cc(&c); if (!sf) { From patchwork Thu Apr 28 14:39:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623720 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=C4C25B3o; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzKj4qCSz9s2R for ; Fri, 29 Apr 2022 00:59:21 +1000 (AEST) Received: from localhost ([::1]:53656 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5bz-00028h-FH for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:59:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44928) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Jc-0005JR-FE for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:20 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:42837) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Ja-0006H4-5T for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:20 -0400 Received: by mail-wr1-x42e.google.com with SMTP id e24so7060880wrc.9 for ; Thu, 28 Apr 2022 07:40:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=pYrbtHSPHoRqT6k2PK2XdVtZNFu9lNkgAfpBabTOgTI=; b=C4C25B3odxUPJjcXTXdYfaa1/nzL7IENx7wSgv7FSQzCldHiydD1A8RhA4fXeueaxJ NkNuxCQ75n51J85rxuMY+AnVtJaO3aB+tJwjJE13UXosVE+LIRF3eS7nGjCDqbdQhzNB XNdUJdcMeV8jn4ubcVPB/jzKtziBZUzkZt0yOKyfva92fta8sztSJAsgy5OuKKHZZeTR fc95/cSCKNNoU53RovPqSAHOQe7Dc0oEVHOTxVbYL3P5CpAjLI7ZMbJK5S2VMXyYTYiQ synVrbZjHZ9wLpqbQO3gAKO5D4xrtl9H7Oo7a+j+K+r8/QKOi/liX4vlyjuT2Qk3S7QH nHSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pYrbtHSPHoRqT6k2PK2XdVtZNFu9lNkgAfpBabTOgTI=; b=4uFuPMw36lUI9EH71zwOzN4Zq0NTeGDwDkKvO/EY6f+DZxYzdsnaO+OC3ONdTfjmlP HCUOGCvW64GDB37MoVFsyLvq5+3+wD7jafugqrDKAULzNsHrkCLrs5h9p1ivigtUtCI0 kcxKLn2+kmx3ha9FOsrdvr2MXUGTNfoI5xOF+9aoLU/tHX2YPINmoa4rn5GkIo4Gr+DH ieUxZJ9q9gOM4izLHMQ+MPQjNUFSBl/WlwCKIgAxPWFy4Oyf8ls1SpBVa7c1kLitkRXv axvdqDWv42TZvPBIKB8sGCVk6nBLTjhsgOH+U6CO3TF5JQQSrM7j/sIlXw8/amoV8k+A XZFQ== X-Gm-Message-State: AOAM530cvIYnbxdVfEGiNQSEGCitXoL4REKZZlIZpop4LsYsHkQUTnqB 1ueryiruZLtjLvN4VMeeuIWvOOo7W/oGKw== X-Google-Smtp-Source: ABdhPJwxaY8EYJW5l84dK6N1L4ZruR6l4pu2bhN6XOnYlvDflhAV/zoW6c+mkF9AAYoPvPcBkaXu1w== X-Received: by 2002:adf:ee81:0:b0:206:1b32:d6f2 with SMTP id b1-20020adfee81000000b002061b32d6f2mr26113770wro.144.1651156816871; Thu, 28 Apr 2022 07:40:16 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:16 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 15/54] target/arm: Use tcg_constant in handle_{rev16,crc32} Date: Thu, 28 Apr 2022 15:39:19 +0100 Message-Id: <20220428143958.2451229-16-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-16-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 9b678cc5af6..ff08306d2bc 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -5372,7 +5372,7 @@ static void handle_rev16(DisasContext *s, unsigned int sf, TCGv_i64 tcg_rd = cpu_reg(s, rd); TCGv_i64 tcg_tmp = tcg_temp_new_i64(); TCGv_i64 tcg_rn = read_cpu_reg(s, rn, sf); - TCGv_i64 mask = tcg_const_i64(sf ? 0x00ff00ff00ff00ffull : 0x00ff00ff); + TCGv_i64 mask = tcg_constant_i64(sf ? 0x00ff00ff00ff00ffull : 0x00ff00ff); tcg_gen_shri_i64(tcg_tmp, tcg_rn, 8); tcg_gen_and_i64(tcg_rd, tcg_rn, mask); @@ -5380,7 +5380,6 @@ static void handle_rev16(DisasContext *s, unsigned int sf, tcg_gen_shli_i64(tcg_rd, tcg_rd, 8); tcg_gen_or_i64(tcg_rd, tcg_rd, tcg_tmp); - tcg_temp_free_i64(mask); tcg_temp_free_i64(tcg_tmp); } @@ -5663,15 +5662,13 @@ static void handle_crc32(DisasContext *s, } tcg_acc = cpu_reg(s, rn); - tcg_bytes = tcg_const_i32(1 << sz); + tcg_bytes = tcg_constant_i32(1 << sz); if (crc32c) { gen_helper_crc32c_64(cpu_reg(s, rd), tcg_acc, tcg_val, tcg_bytes); } else { gen_helper_crc32_64(cpu_reg(s, rd), tcg_acc, tcg_val, tcg_bytes); } - - tcg_temp_free_i32(tcg_bytes); } /* Data-processing (2 source) From patchwork Thu Apr 28 14:39:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623714 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=mPReMNoL; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpz9s3Mx4z9s0r for ; Fri, 29 Apr 2022 00:52:33 +1000 (AEST) Received: from localhost ([::1]:38140 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5VP-0007pp-7M for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:52:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44932) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Jc-0005Jk-J4 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:22 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:45705) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jb-0006HI-1i for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:20 -0400 Received: by mail-wr1-x42c.google.com with SMTP id w4so7050015wrg.12 for ; Thu, 28 Apr 2022 07:40:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=LOGHvBxXYzXTkGFJa6cK9FnjEwDj9sWdjIEaK6iDGIg=; b=mPReMNoLSCZRgprqPRZA3/bMDB7jgYorX7lSgekYTo02udPr4rFmGdimxRiS2cjLsl om0CtT7pGd2O97D+dA1vpH5neLbdf8lUiPJwEOOctSi7aur5z77uy7aN3TV9z/V4SLiq KXwPewUhAcwK2bfpMtXO83Dj8qksd3C9lYbJ+ibF2cBYpbFJnmcGjPBxJJ1S+tf5fWTS YmS+A+Onzaw+W1Li0KTR6pPXy4meF+LeX+rZKFuiwtOayau7b4kHTFB80n0qeBm+upHk coSc0oRZXG9wofi4r5x11j5t3fFb3yvPb2jyCA4iQ0abTtXj3BEr1+yoLxS0KUH2fp9u nDnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=LOGHvBxXYzXTkGFJa6cK9FnjEwDj9sWdjIEaK6iDGIg=; b=PQRXYITAWK3zXdvXvIKeQ91gQpJmH1mdNwWcsKD2KMMmkiP9Zbglku3lQ92XISan+Z boIza7D2O9syqg77pIkgV8O6z7NamGD18WPEYDN0kCSsarxHmLtYtDsYp/MSEJ4MJbO2 5RsTeaWq8m3QeBfFwQwAIQ9rfCtYiOEpksJJl2qnAs53CKDKi1CcuqV9W1Rzb7Zy8ews ly7y3X+99TCpp607jtTpe96hNDvVwLM1+qtrs7Inc4QhPvlo0r4yEq9cYTERxB1c6lN1 33K3pH3kCgnDbAOteZsHk/rme5XINNbt4BQvVvCpx+DLLnaXSwhE1eOGcFIZ+OQmYeXB A1CQ== X-Gm-Message-State: AOAM531n9pmQoVeDUyCRsmEGb0Pxj4c6W94Sn1aOai7jZbN64v1949uH fG1khf8fHnjvpivEXlQ04go3hPSVa0hTNg== X-Google-Smtp-Source: ABdhPJzxOx1ZtXXCzGuy5CWwKILTWMHe6Q9f1s9xLu9GNqZdzSkKRVllYjuaQCq1QxnqWkzOuxL0zg== X-Received: by 2002:a5d:6949:0:b0:20a:e021:f8e0 with SMTP id r9-20020a5d6949000000b0020ae021f8e0mr14514953wrw.231.1651156817706; Thu, 28 Apr 2022 07:40:17 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:17 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 16/54] target/arm: Use tcg_constant in disas_data_proc_2src Date: Thu, 28 Apr 2022 15:39:20 +0100 Message-Id: <20220428143958.2451229-17-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Existing temp usage treats t1 as both zero and as a temporary. Rearrange to only require one temporary, so remove t1 and rename t2. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-17-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index ff08306d2bc..358f42026c2 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -5734,15 +5734,13 @@ static void disas_data_proc_2src(DisasContext *s, uint32_t insn) if (sf == 0 || !dc_isar_feature(aa64_mte_insn_reg, s)) { goto do_unallocated; } else { - TCGv_i64 t1 = tcg_const_i64(1); - TCGv_i64 t2 = tcg_temp_new_i64(); + TCGv_i64 t = tcg_temp_new_i64(); - tcg_gen_extract_i64(t2, cpu_reg_sp(s, rn), 56, 4); - tcg_gen_shl_i64(t1, t1, t2); - tcg_gen_or_i64(cpu_reg(s, rd), cpu_reg(s, rm), t1); + tcg_gen_extract_i64(t, cpu_reg_sp(s, rn), 56, 4); + tcg_gen_shl_i64(t, tcg_constant_i64(1), t); + tcg_gen_or_i64(cpu_reg(s, rd), cpu_reg(s, rm), t); - tcg_temp_free_i64(t1); - tcg_temp_free_i64(t2); + tcg_temp_free_i64(t); } break; case 8: /* LSLV */ From patchwork Thu Apr 28 14:39:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623723 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=ouUedrRf; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzMm5376z9s2R for ; Fri, 29 Apr 2022 01:01:08 +1000 (AEST) Received: from localhost ([::1]:58278 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5di-0005Bb-K8 for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:01:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45314) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Ju-0005ZB-SV for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:40 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:46063) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jn-0006Ne-2M for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:33 -0400 Received: by mail-wm1-x329.google.com with SMTP id bi24-20020a05600c3d9800b00393ff664705so3146018wmb.4 for ; Thu, 28 Apr 2022 07:40:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=+43mrvm5RN1LNDu0ww3mmagHGKAIspE6FprCzWRplb8=; b=ouUedrRfzVrBWcMVhEL6dAAgCM4BC1WWwQ7ByY421HXV3aSk/Sr68cwd/bFoGiwQq6 XeqS60HGxbvbGcV+pQINfoETnlqSvmEkgOI0IkuteG71gRX27AhNoVsMfT0SK8xoXZYc pmEErDVBLHo5c7NnlmVeahp8gH72RxBWLV25IXRj8HS9i3Qm0y9b9OQdS5yqJNVUcfr7 RfcZPon1XKhC1piO+XImbvETI15GH8F9/6h/CebZFWGzIy+hmSt8rFvq+ucvSb+g9OSi z1e1/mTyJXHzT0BsZuTnPxpjt5VLXQbMBb5+gnOczw9HVOp5dY8uo78H3fyfGfiQEE9e SzSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+43mrvm5RN1LNDu0ww3mmagHGKAIspE6FprCzWRplb8=; b=7wC5KJt4WG/k1qOk7uRSxFqUBp4QRsWYLnP9eEt2Mpxpd1NX1kg8wodhqUqVPuuVNM liOoD16fKA4YBDxwGLiO/Gf53KTP5v4/9650LYbl44K0Dyzs4fBN6QF9AlD8iooivRWn nROStgHGHUOOaFBjN+v0fzYLSnUhA3eO76VGvA864/5lfaqFujZ+WBqFVmub/knrb7tm PtPxHbr64VSuljRwoEeeBStUW3xygW9GcHKXqoIXkcZzHP99qob5pn5875cZ6UR/W+G1 vUgL29lM4dUNohgfxt3Pe8aZtS/hA22H64/syhRCFDD0MSG9VUNsoa3kvObysTev80At UUog== X-Gm-Message-State: AOAM530+wHtH7FVYfNwk5y65k+MTzYPncuAfRjCvOOsAGXTRpE4UacSV vfXXQcu5vNt3vo5AVdVUTgatRQYCcbTQzQ== X-Google-Smtp-Source: ABdhPJwsgIkRdLSvBZMcNvOcsr0Ev31BCWA6zDFM5qRCgzhXn+luBjkoU4DmT3ZxMdKa5J0R8lfe9Q== X-Received: by 2002:a7b:c454:0:b0:394:1b5b:62ff with SMTP id l20-20020a7bc454000000b003941b5b62ffmr5899wmi.47.1651156818737; Thu, 28 Apr 2022 07:40:18 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:18 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 17/54] target/arm: Use tcg_constant in disas_fp* Date: Thu, 28 Apr 2022 15:39:21 +0100 Message-Id: <20220428143958.2451229-18-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x329.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-18-richard.henderson@linaro.org [PMM: Restore incorrectly removed free of t_false in disas_fp_csel()] Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 358f42026c2..9493d2e2468 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -5875,7 +5875,7 @@ static void handle_fp_compare(DisasContext *s, int size, tcg_vn = read_fp_dreg(s, rn); if (cmp_with_zero) { - tcg_vm = tcg_const_i64(0); + tcg_vm = tcg_constant_i64(0); } else { tcg_vm = read_fp_dreg(s, rm); } @@ -5985,7 +5985,6 @@ static void disas_fp_compare(DisasContext *s, uint32_t insn) static void disas_fp_ccomp(DisasContext *s, uint32_t insn) { unsigned int mos, type, rm, cond, rn, op, nzcv; - TCGv_i64 tcg_flags; TCGLabel *label_continue = NULL; int size; @@ -6029,9 +6028,7 @@ static void disas_fp_ccomp(DisasContext *s, uint32_t insn) label_continue = gen_new_label(); arm_gen_test_cc(cond, label_match); /* nomatch: */ - tcg_flags = tcg_const_i64(nzcv << 28); - gen_set_nzcv(tcg_flags); - tcg_temp_free_i64(tcg_flags); + gen_set_nzcv(tcg_constant_i64(nzcv << 28)); tcg_gen_br(label_continue); gen_set_label(label_match); } @@ -6052,7 +6049,7 @@ static void disas_fp_ccomp(DisasContext *s, uint32_t insn) static void disas_fp_csel(DisasContext *s, uint32_t insn) { unsigned int mos, type, rm, cond, rn, rd; - TCGv_i64 t_true, t_false, t_zero; + TCGv_i64 t_true, t_false; DisasCompare64 c; MemOp sz; @@ -6097,9 +6094,8 @@ static void disas_fp_csel(DisasContext *s, uint32_t insn) read_vec_element(s, t_false, rm, 0, sz); a64_test_cc(&c, cond); - t_zero = tcg_const_i64(0); - tcg_gen_movcond_i64(c.cond, t_true, c.value, t_zero, t_true, t_false); - tcg_temp_free_i64(t_zero); + tcg_gen_movcond_i64(c.cond, t_true, c.value, tcg_constant_i64(0), + t_true, t_false); tcg_temp_free_i64(t_false); a64_free_cc(&c); @@ -6881,7 +6877,6 @@ static void disas_fp_imm(DisasContext *s, uint32_t insn) int type = extract32(insn, 22, 2); int mos = extract32(insn, 29, 3); uint64_t imm; - TCGv_i64 tcg_res; MemOp sz; if (mos || imm5) { @@ -6912,10 +6907,7 @@ static void disas_fp_imm(DisasContext *s, uint32_t insn) } imm = vfp_expand_imm(sz, imm8); - - tcg_res = tcg_const_i64(imm); - write_fp_dreg(s, rd, tcg_res); - tcg_temp_free_i64(tcg_res); + write_fp_dreg(s, rd, tcg_constant_i64(imm)); } /* Handle floating point <=> fixed point conversions. Note that we can @@ -6933,7 +6925,7 @@ static void handle_fpfpcvt(DisasContext *s, int rd, int rn, int opcode, tcg_fpstatus = fpstatus_ptr(type == 3 ? FPST_FPCR_F16 : FPST_FPCR); - tcg_shift = tcg_const_i32(64 - scale); + tcg_shift = tcg_constant_i32(64 - scale); if (itof) { TCGv_i64 tcg_int = cpu_reg(s, rn); @@ -7092,7 +7084,6 @@ static void handle_fpfpcvt(DisasContext *s, int rd, int rn, int opcode, } tcg_temp_free_ptr(tcg_fpstatus); - tcg_temp_free_i32(tcg_shift); } /* Floating point <-> fixed point conversions From patchwork Thu Apr 28 14:39:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623724 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=ttjzhrX8; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzR721H1z9s2R for ; Fri, 29 Apr 2022 01:04:01 +1000 (AEST) Received: from localhost ([::1]:34132 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5gU-00083x-HJ for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:03:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44966) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Je-0005K8-Jc for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:22 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:43974) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jd-0006Hs-0G for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:22 -0400 Received: by mail-wr1-x42e.google.com with SMTP id v12so7060686wrv.10 for ; Thu, 28 Apr 2022 07:40:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=ncvGY/mTO8ijoNvEGe7Re9tDGvGuUjZw37wRaTtehqY=; b=ttjzhrX82IJMMiRB7Wt+r390PW1yXye1HPGjzKW9H+qyKsF797hdS5w6vnDMJCsoGC QAoa3QN0977rnQYsEQxJCT4uWbrHZhPqRNoCtaKlBsHL0eETq7oUhifvkx5tPEcRkETS 7xuKjRWA3hWMYwrv4fjnuSJS5CqJeko+hsBQJSSoy7r0hL2lPuCi0cC7OEMwMJcy6C2g D+V7Dib1H6LeJ0R4Eb7nGPn/hyr+UsAFOP9Hp42ZFkbqhnkGqXcWqVwfBQE22hvTCXx6 S9XpTYb+n4oTwJK3w/ku+O4NXXPjZwceiva9mMUtwq1t5D0PWfyte4BanGjzU9nn++9u DLsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ncvGY/mTO8ijoNvEGe7Re9tDGvGuUjZw37wRaTtehqY=; b=1HD5wQKCqSX3hZm5+BIbWcD0wl3eFH5AfmFKSK4MqDJfoIvihic4A0hTd0GZFEorrs 0sdT3coXX1nRl0DS1m3U6QSUPgLCEZhgSEEuJ6hJTDc6OC0/4nnvYoB2BDJyO7DJeKNJ daT+/8QB99Dn/4jdpR57RH6/u0oX2bEUVY00g3CuxTclvXcXlR2QbUaQe7NqHHr02pXN ywT4vuT+vN2q5qCoO5UT8ydNGaJJ1esK6em6QkkDHQfIuyO1N0vhzqua4kxHatNJiRel oS09WgVe4l19mcr4eC/NbkY+xZ6zNFxnLfZcT3BWic03wM5SjPU/dT53o83KRq4gkmkW FabQ== X-Gm-Message-State: AOAM531K5hnTOdwv6Wdkr0z8bJZSTtNP/KhXjDfB/27c/CoH3N4kt5Sz VNL3qoCIWH5ITE8FqfuCyY05XI8mebKCFg== X-Google-Smtp-Source: ABdhPJz7Nwqx4UIHujuZivALWlnJP6dDosvSVao7KZZqKHEKfDObfx/fNZKLFIZktkC1X+2H+pPIFA== X-Received: by 2002:a05:6000:1369:b0:20a:c68b:7275 with SMTP id q9-20020a056000136900b0020ac68b7275mr27591549wrz.158.1651156819688; Thu, 28 Apr 2022 07:40:19 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:19 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 18/54] target/arm: Use tcg_constant in simd shift expanders Date: Thu, 28 Apr 2022 15:39:22 +0100 Message-Id: <20220428143958.2451229-19-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-19-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 9493d2e2468..815320d2e35 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -8354,7 +8354,7 @@ static void handle_shri_with_rndacc(TCGv_i64 tcg_res, TCGv_i64 tcg_src, /* Deal with the rounding step */ if (round) { if (extended_result) { - TCGv_i64 tcg_zero = tcg_const_i64(0); + TCGv_i64 tcg_zero = tcg_constant_i64(0); if (!is_u) { /* take care of sign extending tcg_res */ tcg_gen_sari_i64(tcg_src_hi, tcg_src, 63); @@ -8366,7 +8366,6 @@ static void handle_shri_with_rndacc(TCGv_i64 tcg_res, TCGv_i64 tcg_src, tcg_src, tcg_zero, tcg_rnd, tcg_zero); } - tcg_temp_free_i64(tcg_zero); } else { tcg_gen_add_i64(tcg_src, tcg_src, tcg_rnd); } @@ -8452,8 +8451,7 @@ static void handle_scalar_simd_shri(DisasContext *s, } if (round) { - uint64_t round_const = 1ULL << (shift - 1); - tcg_round = tcg_const_i64(round_const); + tcg_round = tcg_constant_i64(1ULL << (shift - 1)); } else { tcg_round = NULL; } @@ -8479,9 +8477,6 @@ static void handle_scalar_simd_shri(DisasContext *s, tcg_temp_free_i64(tcg_rn); tcg_temp_free_i64(tcg_rd); - if (round) { - tcg_temp_free_i64(tcg_round); - } } /* SHL/SLI - Scalar shift left */ @@ -8579,8 +8574,7 @@ static void handle_vec_simd_sqshrn(DisasContext *s, bool is_scalar, bool is_q, tcg_final = tcg_const_i64(0); if (round) { - uint64_t round_const = 1ULL << (shift - 1); - tcg_round = tcg_const_i64(round_const); + tcg_round = tcg_constant_i64(1ULL << (shift - 1)); } else { tcg_round = NULL; } @@ -8600,9 +8594,6 @@ static void handle_vec_simd_sqshrn(DisasContext *s, bool is_scalar, bool is_q, write_vec_element(s, tcg_final, rd, 1, MO_64); } - if (round) { - tcg_temp_free_i64(tcg_round); - } tcg_temp_free_i64(tcg_rn); tcg_temp_free_i64(tcg_rd); tcg_temp_free_i32(tcg_rd_narrowed); @@ -8654,7 +8645,7 @@ static void handle_simd_qshl(DisasContext *s, bool scalar, bool is_q, } if (size == 3) { - TCGv_i64 tcg_shift = tcg_const_i64(shift); + TCGv_i64 tcg_shift = tcg_constant_i64(shift); static NeonGenTwo64OpEnvFn * const fns[2][2] = { { gen_helper_neon_qshl_s64, gen_helper_neon_qshlu_s64 }, { NULL, gen_helper_neon_qshl_u64 }, @@ -8671,10 +8662,9 @@ static void handle_simd_qshl(DisasContext *s, bool scalar, bool is_q, tcg_temp_free_i64(tcg_op); } - tcg_temp_free_i64(tcg_shift); clear_vec_high(s, is_q, rd); } else { - TCGv_i32 tcg_shift = tcg_const_i32(shift); + TCGv_i32 tcg_shift = tcg_constant_i32(shift); static NeonGenTwoOpEnvFn * const fns[2][2][3] = { { { gen_helper_neon_qshl_s8, @@ -8719,7 +8709,6 @@ static void handle_simd_qshl(DisasContext *s, bool scalar, bool is_q, tcg_temp_free_i32(tcg_op); } - tcg_temp_free_i32(tcg_shift); if (!scalar) { clear_vec_high(s, is_q, rd); From patchwork Thu Apr 28 14:39:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623728 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=CMaGVlDO; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzV41cnFz9s2R for ; Fri, 29 Apr 2022 01:06:35 +1000 (AEST) Received: from localhost ([::1]:42798 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5j0-0005WL-0l for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:06:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44990) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Jf-0005Lw-Oa for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:24 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]:56027) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Je-0006IG-05 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:23 -0400 Received: by mail-wm1-x32a.google.com with SMTP id m62so3062830wme.5 for ; Thu, 28 Apr 2022 07:40:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=AbD8T7mojSOYo+XIlmEltIIoiZDaB+qxPmq37wiNe1k=; b=CMaGVlDO6X1zJa8X4JkxzUXbb2ynXZgDznkZZQTioSMhj9CPx7HMfxeEHzG2uKMOab o4g0109BowqtdKvSvXoJAv6Kg7rEultOOjmmuaB4BT7Hm+6OlItjwQEBx2l7Y/b0PmEr ve0ExvuJnD5v6SSeYWg3BoyZRUmFUKjGDpy8IRoQnyNZoik/XhTfvQg2rnMSTR3CmGV+ f9V+IoRoiWB2uXnkGVthWYkMRD55W1is/xmMA1GYJ34Biecj9X8nKe5CP9Oy4jZVeJXG XfoIwVP+2gwjoFTWufQ8ZB2Nn+x9hTlA2cOxxAvTEkC86YoEL9fOM/96JknBggUpgPW2 5DGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=AbD8T7mojSOYo+XIlmEltIIoiZDaB+qxPmq37wiNe1k=; b=lJCSlYVAlbsQC5jSN+aC5qQYJ7b0bLgfHExgvQ96rJuzV+x+dQLZA3cGmVRZasVPs0 oVv0WY3EKzU9Dfjs22L5h/kHxM7JBFDD9lyhgF+Oignwo05VerhFrb7FpL2VE9OJ3x7e yhhhn5srL1+7X6Shg34Qe1w28RmtQMldLVJ9GMQkXXd0Dc2eUkG3C+Oy2kOE669W3SwT spL5df12TkuSmdywkIy2mL3IUPoP8QZkulGeU7I9ZQPSi8Ef0jUwgfoTu6rCEsbDYX/X YakBaXM3T/N8zgUONCxPzBkrTOBSgvqhAkTtcsAlqGsSnsH8jXBsdeQ8ysyXCktLPxCZ SrhA== X-Gm-Message-State: AOAM533y0d7cp1KSbFYTcBlGXueCbzF1nOo7mCapEsJ5abi7ymehTHXY 9AxTxmbk/H9sEe67aDaObksyTxRXRzkaKg== X-Google-Smtp-Source: ABdhPJyuwJsOG/4fFG38vqdGS634TYQYJhRAtBJlnHFMKbxBilFIEaCqGlFNAp1FZFB+SK3ZH7a4UA== X-Received: by 2002:a7b:c84f:0:b0:393:e729:e670 with SMTP id c15-20020a7bc84f000000b00393e729e670mr22828780wml.153.1651156820615; Thu, 28 Apr 2022 07:40:20 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:20 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 19/54] target/arm: Use tcg_constant in simd fp/int conversion Date: Thu, 28 Apr 2022 15:39:23 +0100 Message-Id: <20220428143958.2451229-20-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-20-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 815320d2e35..cae0444e2db 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -8728,7 +8728,7 @@ static void handle_simd_intfp_conv(DisasContext *s, int rd, int rn, int pass; if (fracbits || size == MO_64) { - tcg_shift = tcg_const_i32(fracbits); + tcg_shift = tcg_constant_i32(fracbits); } if (size == MO_64) { @@ -8813,9 +8813,6 @@ static void handle_simd_intfp_conv(DisasContext *s, int rd, int rn, } tcg_temp_free_ptr(tcg_fpst); - if (tcg_shift) { - tcg_temp_free_i32(tcg_shift); - } clear_vec_high(s, elements << size == 16, rd); } @@ -8905,7 +8902,7 @@ static void handle_simd_shift_fpint_conv(DisasContext *s, bool is_scalar, tcg_fpstatus = fpstatus_ptr(size == MO_16 ? FPST_FPCR_F16 : FPST_FPCR); gen_helper_set_rmode(tcg_rmode, tcg_rmode, tcg_fpstatus); fracbits = (16 << size) - immhb; - tcg_shift = tcg_const_i32(fracbits); + tcg_shift = tcg_constant_i32(fracbits); if (size == MO_64) { int maxpass = is_scalar ? 1 : 2; @@ -8963,7 +8960,6 @@ static void handle_simd_shift_fpint_conv(DisasContext *s, bool is_scalar, } } - tcg_temp_free_i32(tcg_shift); gen_helper_set_rmode(tcg_rmode, tcg_rmode, tcg_fpstatus); tcg_temp_free_ptr(tcg_fpstatus); tcg_temp_free_i32(tcg_rmode); @@ -9835,23 +9831,15 @@ static void handle_2misc_64(DisasContext *s, int opcode, bool u, case 0x1c: /* FCVTAS */ case 0x3a: /* FCVTPS */ case 0x3b: /* FCVTZS */ - { - TCGv_i32 tcg_shift = tcg_const_i32(0); - gen_helper_vfp_tosqd(tcg_rd, tcg_rn, tcg_shift, tcg_fpstatus); - tcg_temp_free_i32(tcg_shift); + gen_helper_vfp_tosqd(tcg_rd, tcg_rn, tcg_constant_i32(0), tcg_fpstatus); break; - } case 0x5a: /* FCVTNU */ case 0x5b: /* FCVTMU */ case 0x5c: /* FCVTAU */ case 0x7a: /* FCVTPU */ case 0x7b: /* FCVTZU */ - { - TCGv_i32 tcg_shift = tcg_const_i32(0); - gen_helper_vfp_touqd(tcg_rd, tcg_rn, tcg_shift, tcg_fpstatus); - tcg_temp_free_i32(tcg_shift); + gen_helper_vfp_touqd(tcg_rd, tcg_rn, tcg_constant_i32(0), tcg_fpstatus); break; - } case 0x18: /* FRINTN */ case 0x19: /* FRINTM */ case 0x38: /* FRINTP */ @@ -9891,7 +9879,7 @@ static void handle_2misc_fcmp_zero(DisasContext *s, int opcode, if (is_double) { TCGv_i64 tcg_op = tcg_temp_new_i64(); - TCGv_i64 tcg_zero = tcg_const_i64(0); + TCGv_i64 tcg_zero = tcg_constant_i64(0); TCGv_i64 tcg_res = tcg_temp_new_i64(); NeonGenTwoDoubleOpFn *genfn; bool swap = false; @@ -9927,13 +9915,12 @@ static void handle_2misc_fcmp_zero(DisasContext *s, int opcode, write_vec_element(s, tcg_res, rd, pass, MO_64); } tcg_temp_free_i64(tcg_res); - tcg_temp_free_i64(tcg_zero); tcg_temp_free_i64(tcg_op); clear_vec_high(s, !is_scalar, rd); } else { TCGv_i32 tcg_op = tcg_temp_new_i32(); - TCGv_i32 tcg_zero = tcg_const_i32(0); + TCGv_i32 tcg_zero = tcg_constant_i32(0); TCGv_i32 tcg_res = tcg_temp_new_i32(); NeonGenTwoSingleOpFn *genfn; bool swap = false; @@ -10002,7 +9989,6 @@ static void handle_2misc_fcmp_zero(DisasContext *s, int opcode, } } tcg_temp_free_i32(tcg_res); - tcg_temp_free_i32(tcg_zero); tcg_temp_free_i32(tcg_op); if (!is_scalar) { clear_vec_high(s, is_q, rd); From patchwork Thu Apr 28 14:39:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623713 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=fnpYCX65; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpz9L32crz9s0r for ; Fri, 29 Apr 2022 00:52:05 +1000 (AEST) Received: from localhost ([::1]:36952 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5Uv-00071u-J1 for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:52:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45056) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Ji-0005O7-Jl for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:26 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:35385) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jf-0006IO-27 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:24 -0400 Received: by mail-wr1-x42e.google.com with SMTP id j15so7107809wrb.2 for ; Thu, 28 Apr 2022 07:40:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=wZX7t2dCQHv+Iqs+vKv+j6rahLhwPQ36M5v77ocHIAQ=; b=fnpYCX65Umxf0GTTsA8xM3uWwRV+AOXQaaPP6ZWW32bJjhQVAmiGWU5zrA7WBTGmU7 T/1ySYbaQMmmkFCHXgYZwEcBJhC4F+rjGE95684b2STvRn5wNnej3har3QbXQDib7I27 C0irToHv8snpDv5Cyv5yEtuhSmzNCZylDZ7m6WHt7mRyE/Pi6SZRkfV79tjyKcI6XVjH zK9yj5UFKhCisWlMHqKlhyfAu4XJioD07R7L7ID3e6nDarUsHuaB5vwF6H7FQ+wr6uQw mmUOADSlQoogxXeXqlG2Sh4w+KPKsJvYVM6y0BoyG1zyZ5EsRDf5NomShjRRCz9a+xHR NUlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wZX7t2dCQHv+Iqs+vKv+j6rahLhwPQ36M5v77ocHIAQ=; b=7pE5FIahb7BpJ8UPDrVZXwXAnz5yyvr93eDCgo+uaQaL2DpZlZI9j3BO9Uc6LxNBRe sVaeBTsuC2DxGSZ87NCMhlBr2+rL9ZGXDM/f4u+zF++Qz/I+c9hxStZNVJh/KJc+W1gf obCn9nh+Tppvfkb1S1L87ZCbrpoBPnYRVqq8QtFrgdW67qKZJkPoSqMWiXWr6neUTtDC MllP5zLY4+55e/J5rC/n+GGpurNP0XkHujm2vppBlbC8fXsDfY9rxi1/HIS7TznhdHTB bfUTDkFLqGG78r+utikAtOBNiCGo+iOruZymyf4tj78Pc8FyAo7RfbOEROEyreM33Eeb DYkg== X-Gm-Message-State: AOAM531RsjWgrflZMbsMclfuoATO/6nOriIWRiH2zn7PdlY6BrQklx3U /2XmMztJoQH8ZqHc35lVsgDQxG8CT2CVFQ== X-Google-Smtp-Source: ABdhPJxGb0rwTJiwlV/xUNsY23O44nnq5Srq38MhT/q7H8djvwlJ67wUjWJrvuAZzMeaPXoYcNAW2g== X-Received: by 2002:adf:ec51:0:b0:20a:cd42:fe3b with SMTP id w17-20020adfec51000000b0020acd42fe3bmr24225466wrn.719.1651156821822; Thu, 28 Apr 2022 07:40:21 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:21 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 20/54] target/arm: Use tcg_constant in 2misc expanders Date: Thu, 28 Apr 2022 15:39:24 +0100 Message-Id: <20220428143958.2451229-21-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-21-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 40 ++++++++++---------------------------- 1 file changed, 10 insertions(+), 30 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index cae0444e2db..1c2ffe37d93 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -10089,7 +10089,7 @@ static void handle_2misc_narrow(DisasContext *s, bool scalar, int passes = scalar ? 1 : 2; if (scalar) { - tcg_res[1] = tcg_const_i32(0); + tcg_res[1] = tcg_constant_i32(0); } for (pass = 0; pass < passes; pass++) { @@ -10267,9 +10267,7 @@ static void handle_2misc_satacc(DisasContext *s, bool is_scalar, bool is_u, } if (is_scalar) { - TCGv_i64 tcg_zero = tcg_const_i64(0); - write_vec_element(s, tcg_zero, rd, 0, MO_64); - tcg_temp_free_i64(tcg_zero); + write_vec_element(s, tcg_constant_i64(0), rd, 0, MO_64); } write_vec_element_i32(s, tcg_rd, rd, pass, MO_32); } @@ -10452,23 +10450,17 @@ static void disas_simd_scalar_two_reg_misc(DisasContext *s, uint32_t insn) case 0x1c: /* FCVTAS */ case 0x3a: /* FCVTPS */ case 0x3b: /* FCVTZS */ - { - TCGv_i32 tcg_shift = tcg_const_i32(0); - gen_helper_vfp_tosls(tcg_rd, tcg_rn, tcg_shift, tcg_fpstatus); - tcg_temp_free_i32(tcg_shift); + gen_helper_vfp_tosls(tcg_rd, tcg_rn, tcg_constant_i32(0), + tcg_fpstatus); break; - } case 0x5a: /* FCVTNU */ case 0x5b: /* FCVTMU */ case 0x5c: /* FCVTAU */ case 0x7a: /* FCVTPU */ case 0x7b: /* FCVTZU */ - { - TCGv_i32 tcg_shift = tcg_const_i32(0); - gen_helper_vfp_touls(tcg_rd, tcg_rn, tcg_shift, tcg_fpstatus); - tcg_temp_free_i32(tcg_shift); + gen_helper_vfp_touls(tcg_rd, tcg_rn, tcg_constant_i32(0), + tcg_fpstatus); break; - } default: g_assert_not_reached(); } @@ -10640,8 +10632,7 @@ static void handle_vec_simd_shrn(DisasContext *s, bool is_q, read_vec_element(s, tcg_final, rd, is_q ? 1 : 0, MO_64); if (round) { - uint64_t round_const = 1ULL << (shift - 1); - tcg_round = tcg_const_i64(round_const); + tcg_round = tcg_constant_i64(1ULL << (shift - 1)); } else { tcg_round = NULL; } @@ -10659,9 +10650,6 @@ static void handle_vec_simd_shrn(DisasContext *s, bool is_q, } else { write_vec_element(s, tcg_final, rd, 1, MO_64); } - if (round) { - tcg_temp_free_i64(tcg_round); - } tcg_temp_free_i64(tcg_rn); tcg_temp_free_i64(tcg_rd); tcg_temp_free_i64(tcg_final); @@ -12365,7 +12353,7 @@ static void handle_2misc_pairwise(DisasContext *s, int opcode, bool u, } } if (!is_q) { - tcg_res[1] = tcg_const_i64(0); + tcg_res[1] = tcg_constant_i64(0); } for (pass = 0; pass < 2; pass++) { write_vec_element(s, tcg_res[pass], rd, pass, MO_64); @@ -12798,25 +12786,17 @@ static void disas_simd_two_reg_misc(DisasContext *s, uint32_t insn) case 0x1c: /* FCVTAS */ case 0x3a: /* FCVTPS */ case 0x3b: /* FCVTZS */ - { - TCGv_i32 tcg_shift = tcg_const_i32(0); gen_helper_vfp_tosls(tcg_res, tcg_op, - tcg_shift, tcg_fpstatus); - tcg_temp_free_i32(tcg_shift); + tcg_constant_i32(0), tcg_fpstatus); break; - } case 0x5a: /* FCVTNU */ case 0x5b: /* FCVTMU */ case 0x5c: /* FCVTAU */ case 0x7a: /* FCVTPU */ case 0x7b: /* FCVTZU */ - { - TCGv_i32 tcg_shift = tcg_const_i32(0); gen_helper_vfp_touls(tcg_res, tcg_op, - tcg_shift, tcg_fpstatus); - tcg_temp_free_i32(tcg_shift); + tcg_constant_i32(0), tcg_fpstatus); break; - } case 0x18: /* FRINTN */ case 0x19: /* FRINTM */ case 0x38: /* FRINTP */ From patchwork Thu Apr 28 14:39:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623733 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=juPZf3Ww; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzYP5TS2z9s2R for ; Fri, 29 Apr 2022 01:09:28 +1000 (AEST) Received: from localhost ([::1]:51384 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5ll-0002uN-7n for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:09:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45054) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Ji-0005O3-Js for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:26 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:37812) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jg-0006Ia-5i for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:25 -0400 Received: by mail-wr1-x431.google.com with SMTP id t6so7100873wra.4 for ; Thu, 28 Apr 2022 07:40:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=lw22yLpKBp23Dxk60BPYeO1neuJgKvW+94z5AEn/+zk=; b=juPZf3WwbKd6fXZWJ5nAF78o9e7w0yfGHqdVX5XTLQTGzrGT6aHuCIADCpob/XB/ck WU0GiyUqJyKvhv62z78jdGCJMrem4cNX5a0BJzt0SLqgTu2XqDwTHcBa+SUTFyZ2kmFd 81DPN82sv8I2S87w3UOu2AO5ct6Vr9JU6zbSmRgjvMicGB3yXhiLyKINkluTdlngnafv E7TbeNEyi28lT2ZlrDTvL0uGdBXGQOmyfzDo3r9Ov5e6y62SY/VJDlTpXhxSSCXV3/rJ EZ4q1qJrkp8dPdXoOsP7EHuf0qOinBsJk+ohynSW7acB7C2AtPj3ZO/gWsL8Xut3wbnJ erHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=lw22yLpKBp23Dxk60BPYeO1neuJgKvW+94z5AEn/+zk=; b=7m7A+GnvlmggjzuP+N3wqp7HyowIc/9iL0MniRidfXrKgVXA7lLemIfJ54MbeAf3gP qRxk6RJ+Imgm3PBQOL87QsAkLNPfwPT9pRp4yaLi0+aR1CLKTZP1TWA/T1GZmBXh9QX4 DaXjHGI+Ehw4L7iPyT5XheBu1XA8KuOrIZ82WnUy4w5qrkunmiK5mY9txy6tCHOc0yeS 1UHbRBG4hudlY0Pee+e53nAbmw9r+t95ZKxDYfsSUCiXfmAFCjYwmM/2EIbSWc15aWRr vc1hdL0ntRqLDTxkXtIdUbWFKHl9HGloI5NWy5Xq9TZs2d+kCSXtjx4OdZ/T6GHE9j+p dvbQ== X-Gm-Message-State: AOAM530dSSEFXUqE33gq+LTLjdYO/NZOfGqlld/j78wEKyQZ1d5T6ROK 12aVhQ60+8XGbCGma5tOqX+IF0xrtpa90w== X-Google-Smtp-Source: ABdhPJw2CAaUy2Buzomn4dnUM8B/eBc2yt9Yzz62ovX9gSOtZ7z2NEGRVXmUHAsHho2ewgVjtUbOIw== X-Received: by 2002:adf:fe84:0:b0:20a:dc0b:4f2d with SMTP id l4-20020adffe84000000b0020adc0b4f2dmr16712221wrr.229.1651156822810; Thu, 28 Apr 2022 07:40:22 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:22 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 21/54] target/arm: Use tcg_constant in balance of translate-a64.c Date: Thu, 28 Apr 2022 15:39:25 +0100 Message-Id: <20220428143958.2451229-22-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Finish conversion of the file to tcg_constant_*. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-22-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-a64.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 1c2ffe37d93..a869d573098 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -13894,7 +13894,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn) } if (is_scalar) { - tcg_res[1] = tcg_const_i64(0); + tcg_res[1] = tcg_constant_i64(0); } for (pass = 0; pass < 2; pass++) { @@ -14298,7 +14298,7 @@ static void disas_crypto_four_reg(DisasContext *s, uint32_t insn) tcg_op2 = tcg_temp_new_i32(); tcg_op3 = tcg_temp_new_i32(); tcg_res = tcg_temp_new_i32(); - tcg_zero = tcg_const_i32(0); + tcg_zero = tcg_constant_i32(0); read_vec_element_i32(s, tcg_op1, rn, 3, MO_32); read_vec_element_i32(s, tcg_op2, rm, 3, MO_32); @@ -14318,7 +14318,6 @@ static void disas_crypto_four_reg(DisasContext *s, uint32_t insn) tcg_temp_free_i32(tcg_op2); tcg_temp_free_i32(tcg_op3); tcg_temp_free_i32(tcg_res); - tcg_temp_free_i32(tcg_zero); } } @@ -14826,22 +14825,19 @@ static void aarch64_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) gen_helper_yield(cpu_env); break; case DISAS_WFI: - { - /* This is a special case because we don't want to just halt the CPU - * if trying to debug across a WFI. + /* + * This is a special case because we don't want to just halt + * the CPU if trying to debug across a WFI. */ - TCGv_i32 tmp = tcg_const_i32(4); - gen_a64_set_pc_im(dc->base.pc_next); - gen_helper_wfi(cpu_env, tmp); - tcg_temp_free_i32(tmp); - /* The helper doesn't necessarily throw an exception, but we + gen_helper_wfi(cpu_env, tcg_constant_i32(4)); + /* + * The helper doesn't necessarily throw an exception, but we * must go back to the main loop to check for interrupts anyway. */ tcg_gen_exit_tb(NULL, 0); break; } - } } } From patchwork Thu Apr 28 14:39:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623717 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=jcHuSs2e; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzFs3Q91z9s0r for ; Fri, 29 Apr 2022 00:56:01 +1000 (AEST) Received: from localhost ([::1]:45622 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5Yl-0004c3-Gz for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:55:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45114) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Jk-0005QO-G4 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:28 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:45715) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Ji-0006Jh-AD for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:27 -0400 Received: by mail-wr1-x435.google.com with SMTP id w4so7050418wrg.12 for ; Thu, 28 Apr 2022 07:40:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=gEztapr5E2c66foY6wW5Q7WhYUpYyPfV3For5JsNlhc=; b=jcHuSs2ewS/SeZxvPGQENxK6FmL+NgKyeL2rCpkNg7m39tVpszBLruSfpwvHkXu0eg 2soLgiY2wJOyiCGYGZCwlBXMswnqLBNu4B/QqyNuFmGEQARG5Uer5FyVW8pOrI4Z9wlw Cd+tVzX0aITnKCiuKST5Hf2xo4mI8WYIcpkB0NTJrYqynabf1Wbu8VvnfCosmY1ItBYg dE9l+xEoB98grddyOAGnOV/MIi2X69QgxiZXwBcS0Re0H/xluJGNHUb9aLZaHb4Gcmwk d/vO5LIUIquFSPwjYRurtZ3xaIfff8adkjfKDk6m/gkXkdQt7tvLd8bQR3vci/EpB0k5 X+oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=gEztapr5E2c66foY6wW5Q7WhYUpYyPfV3For5JsNlhc=; b=eiuwTfCCR1bVmGN0PvdUbRrmFCnFWYj4EQhY63Nm5rHQzPq1ZnoKiwSBJU7kdMIbxy OOiTmVYClzBgH0xqLq1iCDlUr6ZyLYtFeogykJdKPNeWzWYr0nKT9W7Yy3mepQyxpult Gslwi328uMahnj7YJ9trAHuT+7GaMr5S16n8+2C5VpjlR7hrenpuYAOrJId+T1FK0Lg5 /ZO5usrhkoETUK4mD8WlBQcSRAWey1O/ZL5QRxxpSvvlirAz7G+PMdM3nudh5whwBBii GVa05VrChF44kmSVX/MmS8yRCMGYtduIgzE7mZ4LGYE4k3/U2nO2GKr1hu+nWIV77T23 O6qQ== X-Gm-Message-State: AOAM530mpgpyrBTiEE/QlaGclz1y/LH0Pfhhp3PyTqjEhCXzN3eKk652 IinbSK1x2rEhWxvuX/QxcH/Hjz72v7KlgQ== X-Google-Smtp-Source: ABdhPJxXMb7yQ/17oY3PX9sC3K3e7f19Ax/++LDcbvox80TWsqDXvACNZHeGIWKzWbEpVFKOZcAH3w== X-Received: by 2002:adf:ee4c:0:b0:20a:e668:b939 with SMTP id w12-20020adfee4c000000b0020ae668b939mr10871305wro.523.1651156823586; Thu, 28 Apr 2022 07:40:23 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:23 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 22/54] target/arm: Use tcg_constant for aa32 exceptions Date: Thu, 28 Apr 2022 15:39:26 +0100 Message-Id: <20220428143958.2451229-23-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-23-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index d09692c125b..9bd1b46a520 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -346,9 +346,7 @@ static void store_sp_checked(DisasContext *s, TCGv_i32 var) void gen_set_cpsr(TCGv_i32 var, uint32_t mask) { - TCGv_i32 tmp_mask = tcg_const_i32(mask); - gen_helper_cpsr_write(cpu_env, var, tmp_mask); - tcg_temp_free_i32(tmp_mask); + gen_helper_cpsr_write(cpu_env, var, tcg_constant_i32(mask)); } static void gen_rebuild_hflags(DisasContext *s, bool new_el) @@ -373,11 +371,8 @@ static void gen_rebuild_hflags(DisasContext *s, bool new_el) static void gen_exception_internal(int excp) { - TCGv_i32 tcg_excp = tcg_const_i32(excp); - assert(excp_is_internal(excp)); - gen_helper_exception_internal(cpu_env, tcg_excp); - tcg_temp_free_i32(tcg_excp); + gen_helper_exception_internal(cpu_env, tcg_constant_i32(excp)); } static void gen_singlestep_exception(DisasContext *s) @@ -1078,12 +1073,8 @@ static inline void gen_smc(DisasContext *s) /* As with HVC, we may take an exception either before or after * the insn executes. */ - TCGv_i32 tmp; - gen_set_pc_im(s, s->pc_curr); - tmp = tcg_const_i32(syn_aa32_smc()); - gen_helper_pre_smc(cpu_env, tmp); - tcg_temp_free_i32(tmp); + gen_helper_pre_smc(cpu_env, tcg_constant_i32(syn_aa32_smc())); gen_set_pc_im(s, s->base.pc_next); s->base.is_jmp = DISAS_SMC; } @@ -1111,13 +1102,9 @@ void gen_exception_insn(DisasContext *s, uint64_t pc, int excp, static void gen_exception_bkpt_insn(DisasContext *s, uint32_t syn) { - TCGv_i32 tcg_syn; - gen_set_condexec(s); gen_set_pc_im(s, s->pc_curr); - tcg_syn = tcg_const_i32(syn); - gen_helper_exception_bkpt_insn(cpu_env, tcg_syn); - tcg_temp_free_i32(tcg_syn); + gen_helper_exception_bkpt_insn(cpu_env, tcg_constant_i32(syn)); s->base.is_jmp = DISAS_NORETURN; } @@ -1131,16 +1118,11 @@ void unallocated_encoding(DisasContext *s) static void gen_exception_el(DisasContext *s, int excp, uint32_t syn, TCGv_i32 tcg_el) { - TCGv_i32 tcg_excp; - TCGv_i32 tcg_syn; - gen_set_condexec(s); gen_set_pc_im(s, s->pc_curr); - tcg_excp = tcg_const_i32(excp); - tcg_syn = tcg_const_i32(syn); - gen_helper_exception_with_syndrome(cpu_env, tcg_excp, tcg_syn, tcg_el); - tcg_temp_free_i32(tcg_syn); - tcg_temp_free_i32(tcg_excp); + gen_helper_exception_with_syndrome(cpu_env, + tcg_constant_i32(excp), + tcg_constant_i32(syn), tcg_el); s->base.is_jmp = DISAS_NORETURN; } From patchwork Thu Apr 28 14:39:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623729 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=VEpxCons; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzV7676Jz9s2R for ; Fri, 29 Apr 2022 01:06:39 +1000 (AEST) Received: from localhost ([::1]:43136 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5j3-0005je-Qu for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:06:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45116) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Jk-0005QT-Fy for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:28 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:40493) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Ji-0006KC-Au for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:27 -0400 Received: by mail-wm1-x329.google.com with SMTP id v64-20020a1cac43000000b0038cfd1b3a6dso5405930wme.5 for ; Thu, 28 Apr 2022 07:40:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=HRbwDy6Q6hksqOkngYAIR/Vtoaw1OQUbVqM0Naa19gk=; b=VEpxCons+UNbfg8fEtSiuok2L7fN10/0wlFeT87opT/RGgx+1I8VP/08h/Hk1m6VgB PlOYLw+146C2smFbbMTASNJZV84yl4LpDTzlDQVUJ7UzOY19ecLpzxY+f7BgEN7HgqPy 4/3l0A6akl2OPpqIfOioEjxM1+wk1Hl1EMDVJm21gilR9pCRvGQUxZgqwHQCSXHSfgl+ uXOwef5ReJ98WRrdP7vjl89pBCAwz7yGULHA18NbqP1TDQ0HWORe/3CF8qf6QVGxRi66 JJcRmlvXEL1g51z2WRaLUnZdwcZJlljJvtmYVhKfr7n/sPwZUnUUf4L0WTxCyacb8FE1 37yQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HRbwDy6Q6hksqOkngYAIR/Vtoaw1OQUbVqM0Naa19gk=; b=dWufS0QQHPAHRzFluZLZc26JUgCqmLm3mZgriWCdVFIGxAJhTF33wY1gD/9usENYpU M7lGm8Uld0yzldG40xMcZK/OEb+bLqV66ibeeZkb+1+wAs3i8uTJUZ7bhNRqTbEnELuM UNpZOf+ndcTSNzyIrRGx0OFrm6OToLRhRO0V/YGEITQkLQBm10/F6Ko2rPaNCkCLw4BR gQ2ONGPuLsfg1bSPTB4GuVuP5/7jVdTLbEJv1D+gWpkJpgXRKSIOnh4C/Sj0xEq+8CCx M8K0NlIJwJSu9Y+/zhc4LC5oRycPF5IWIbwgnQJZvGJl2mg4hHMLiw/WHMgV4Idjl5OY /wqg== X-Gm-Message-State: AOAM531kRE0zMI0q9WVk6H0jPUM2khlBofpKybso15f3w/7+5lSm+tRx 3OrtjheU4rIF2oa1LiPwGyddNQLPbyF8Pw== X-Google-Smtp-Source: ABdhPJyNlwemx7AppRcatjZbPVXWE5f/DAc+Fdvgo8zs8bmqNDR6qS4dx++ivumXiR7a1i4zrbLifw== X-Received: by 2002:a05:600c:4ecd:b0:393:ec8b:8b0a with SMTP id g13-20020a05600c4ecd00b00393ec8b8b0amr18217443wmq.25.1651156824355; Thu, 28 Apr 2022 07:40:24 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:23 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 23/54] target/arm: Use tcg_constant for disas_iwmmxt_insn Date: Thu, 28 Apr 2022 15:39:27 +0100 Message-Id: <20220428143958.2451229-24-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x329.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-24-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index 9bd1b46a520..501192ed55f 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -1845,24 +1845,21 @@ static int disas_iwmmxt_insn(DisasContext *s, uint32_t insn) gen_op_iwmmxt_movq_M0_wRn(wrd); switch ((insn >> 6) & 3) { case 0: - tmp2 = tcg_const_i32(0xff); - tmp3 = tcg_const_i32((insn & 7) << 3); + tmp2 = tcg_constant_i32(0xff); + tmp3 = tcg_constant_i32((insn & 7) << 3); break; case 1: - tmp2 = tcg_const_i32(0xffff); - tmp3 = tcg_const_i32((insn & 3) << 4); + tmp2 = tcg_constant_i32(0xffff); + tmp3 = tcg_constant_i32((insn & 3) << 4); break; case 2: - tmp2 = tcg_const_i32(0xffffffff); - tmp3 = tcg_const_i32((insn & 1) << 5); + tmp2 = tcg_constant_i32(0xffffffff); + tmp3 = tcg_constant_i32((insn & 1) << 5); break; default: - tmp2 = NULL; - tmp3 = NULL; + g_assert_not_reached(); } gen_helper_iwmmxt_insr(cpu_M0, cpu_M0, tmp, tmp2, tmp3); - tcg_temp_free_i32(tmp3); - tcg_temp_free_i32(tmp2); tcg_temp_free_i32(tmp); gen_op_iwmmxt_movq_wRn_M0(wrd); gen_op_iwmmxt_set_mup(); @@ -2318,10 +2315,9 @@ static int disas_iwmmxt_insn(DisasContext *s, uint32_t insn) rd0 = (insn >> 16) & 0xf; rd1 = (insn >> 0) & 0xf; gen_op_iwmmxt_movq_M0_wRn(rd0); - tmp = tcg_const_i32((insn >> 20) & 3); iwmmxt_load_reg(cpu_V1, rd1); - gen_helper_iwmmxt_align(cpu_M0, cpu_M0, cpu_V1, tmp); - tcg_temp_free_i32(tmp); + gen_helper_iwmmxt_align(cpu_M0, cpu_M0, cpu_V1, + tcg_constant_i32((insn >> 20) & 3)); gen_op_iwmmxt_movq_wRn_M0(wrd); gen_op_iwmmxt_set_mup(); break; @@ -2375,9 +2371,8 @@ static int disas_iwmmxt_insn(DisasContext *s, uint32_t insn) wrd = (insn >> 12) & 0xf; rd0 = (insn >> 16) & 0xf; gen_op_iwmmxt_movq_M0_wRn(rd0); - tmp = tcg_const_i32(((insn >> 16) & 0xf0) | (insn & 0x0f)); + tmp = tcg_constant_i32(((insn >> 16) & 0xf0) | (insn & 0x0f)); gen_helper_iwmmxt_shufh(cpu_M0, cpu_env, cpu_M0, tmp); - tcg_temp_free_i32(tmp); gen_op_iwmmxt_movq_wRn_M0(wrd); gen_op_iwmmxt_set_mup(); gen_op_iwmmxt_set_cup(); From patchwork Thu Apr 28 14:39:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623722 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=cnNG3smQ; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzL75rsrz9s2R for ; Fri, 29 Apr 2022 00:59:43 +1000 (AEST) Received: from localhost ([::1]:54380 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5cL-0002b4-SX for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:59:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45146) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Jl-0005TG-Aj for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:29 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:33073) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Ji-0006KT-D6 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:29 -0400 Received: by mail-wm1-x32c.google.com with SMTP id p7-20020a05600c358700b00393e80c59daso4106703wmq.0 for ; Thu, 28 Apr 2022 07:40:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=boSwe17xVCQzug1VZ7X/BwHUk5bsDJXZRHsRInKMfVU=; b=cnNG3smQC3czY9bsIKuKDF93hVG3pKTgMnMXgieZj+SnlQa6Jk2MGcpmXVsUSVW6pn qfHOOPpsyl19Bhf29r24hxQg12m4zC7gtglUpoYsHJ+r2ahz7UvysrfARYZrPF2R2dQf xybA/ge4BMWih5wBpChllW4qWxJE8HtQgrZF9ZiomR+NHNFhdaedYJh1ORk5tFdTY2yg MHsVRkSTqLYErmTCeXepWiT2FqaIQbpt9DPRkDc0LrEroRDs9HAT+TjBaAT+gfDWzcfT E4K6ViHj3Q+9HLNOkP65aXWEmK87eeFXw/3LODUczSyBzPOVqRIKntQX0tTJzTAHiitl E1LA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=boSwe17xVCQzug1VZ7X/BwHUk5bsDJXZRHsRInKMfVU=; b=J2XO6Wfj7qjwb3pKoLespCg95Y9xGrPlrB7rRgijuyfKMt8fBNRojvsMnoz46knX4w wC7VDY3VohYWLyhm5xBkXqkgSvvXVyYhIjtQ8XJpodzSzhmOhWkanR4i3uiO+BssPBFO fTdRFv4qoKARLcyuvjGwYeekxTRwkcky9kTxurKIxfRitQYSVsKPvuduK8asbiqt1QYA 5ZO4WiC+m99DQ3r+jKXlDBB+WheYB+eKYYWCpgQKI73a/E+Ky9TlBSDFsNfD/PeLeMh6 nTDobkIgmqluj5J0kLy3R8IZHZybFOCKdxrUirpEiv7QQG7+JY2gAH5c4fEYG+N49FYU aoVw== X-Gm-Message-State: AOAM532YaOW8h4kur1yejyPexZ+LVwFPeAejTtKOWkd9pUuoie5OfsVy 6mJgH0snJ4z/oGZd+sN6LPdXmexICBX+Wg== X-Google-Smtp-Source: ABdhPJxy3LfRVLSSs0RwlVuQI3RE4n2aKZO6SW3NGxQ94m6WZMi6fED8l2yN3hka53/mmP3W2WBoPA== X-Received: by 2002:a05:600c:5020:b0:38f:f83b:e773 with SMTP id n32-20020a05600c502000b0038ff83be773mr31394860wmr.57.1651156825114; Thu, 28 Apr 2022 07:40:25 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:24 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 24/54] target/arm: Use tcg_constant for gen_{msr,mrs} Date: Thu, 28 Apr 2022 15:39:28 +0100 Message-Id: <20220428143958.2451229-25-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-25-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index 501192ed55f..2e4165be3d2 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -2845,7 +2845,7 @@ static bool msr_banked_access_decode(DisasContext *s, int r, int sysm, int rn, tcg_gen_sextract_i32(tcg_el, tcg_el, ctz32(SCR_EEL2), 1); tcg_gen_addi_i32(tcg_el, tcg_el, 3); } else { - tcg_el = tcg_const_i32(3); + tcg_el = tcg_constant_i32(3); } gen_exception_el(s, EXCP_UDEF, syn_uncategorized(), tcg_el); @@ -2880,7 +2880,7 @@ undef: static void gen_msr_banked(DisasContext *s, int r, int sysm, int rn) { - TCGv_i32 tcg_reg, tcg_tgtmode, tcg_regno; + TCGv_i32 tcg_reg; int tgtmode = 0, regno = 0; if (!msr_banked_access_decode(s, r, sysm, rn, &tgtmode, ®no)) { @@ -2891,18 +2891,16 @@ static void gen_msr_banked(DisasContext *s, int r, int sysm, int rn) gen_set_condexec(s); gen_set_pc_im(s, s->pc_curr); tcg_reg = load_reg(s, rn); - tcg_tgtmode = tcg_const_i32(tgtmode); - tcg_regno = tcg_const_i32(regno); - gen_helper_msr_banked(cpu_env, tcg_reg, tcg_tgtmode, tcg_regno); - tcg_temp_free_i32(tcg_tgtmode); - tcg_temp_free_i32(tcg_regno); + gen_helper_msr_banked(cpu_env, tcg_reg, + tcg_constant_i32(tgtmode), + tcg_constant_i32(regno)); tcg_temp_free_i32(tcg_reg); s->base.is_jmp = DISAS_UPDATE_EXIT; } static void gen_mrs_banked(DisasContext *s, int r, int sysm, int rn) { - TCGv_i32 tcg_reg, tcg_tgtmode, tcg_regno; + TCGv_i32 tcg_reg; int tgtmode = 0, regno = 0; if (!msr_banked_access_decode(s, r, sysm, rn, &tgtmode, ®no)) { @@ -2913,11 +2911,9 @@ static void gen_mrs_banked(DisasContext *s, int r, int sysm, int rn) gen_set_condexec(s); gen_set_pc_im(s, s->pc_curr); tcg_reg = tcg_temp_new_i32(); - tcg_tgtmode = tcg_const_i32(tgtmode); - tcg_regno = tcg_const_i32(regno); - gen_helper_mrs_banked(tcg_reg, cpu_env, tcg_tgtmode, tcg_regno); - tcg_temp_free_i32(tcg_tgtmode); - tcg_temp_free_i32(tcg_regno); + gen_helper_mrs_banked(tcg_reg, cpu_env, + tcg_constant_i32(tgtmode), + tcg_constant_i32(regno)); store_reg(s, rn, tcg_reg); s->base.is_jmp = DISAS_UPDATE_EXIT; } From patchwork Thu Apr 28 14:39:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623739 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=wRRdzLJI; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpzdx46D1z9s2R for ; Fri, 29 Apr 2022 01:13:25 +1000 (AEST) Received: from localhost ([::1]:60120 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5pb-0000Rr-Hu for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:13:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45160) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Jl-0005Uq-RL for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:29 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:41800) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jk-0006L6-1c for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:29 -0400 Received: by mail-wr1-x430.google.com with SMTP id s21so7060978wrb.8 for ; Thu, 28 Apr 2022 07:40:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=+ryhSDqELfNUT9qEanSoz9uViXhWyjP7OPIlFtzevJ4=; b=wRRdzLJITFUDcMFeobelXJbYPfZk/fFIbdVJD0/yyVXgeYgfrF89Zqt8YLSs15r8Nq rWDCvGuXY7eG7B8SsjbrIXz9eR4bDenISqWYL17Xxoj1TnMSbd0V80PgL+y3TNAfEKrK pVjuTH3g8WrxPlipY/28mIuiivwcEjyvwhxYJaIeGvbyyZmSmMHraSHW1pgveHMx61I4 VaGTtg+6xUZjwOFmxfS6IBR1tzi2yJjoQBmOcSgAdxEnpFRXnRiVrqRllh8raFkZme0U rP630VsijR1cj/fNkRX8RgrW/ZRfBeO1zAZ9+Yv6fvME8zlsjiAvFLCoRqZASwI5odgX 9n4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+ryhSDqELfNUT9qEanSoz9uViXhWyjP7OPIlFtzevJ4=; b=nIO7D1fHykvrsumbSuK3dzIk1fGYczkMOOPb9Tn4/ps8Vk9Qm6ZyZwUf8/4G4XWevE sDWxsmWqdNiARwYzlH8tbc/PILnmfeiEre6l8K2eUltU7uAOXcAedDt23Hf2fOeIuGyS gzMYy4aAFTsNloDPQB9FX1MmSHqZ+jF7ZxTV+xdUwbHoYBBcEdmT1q4Y6vwkJMMHQ96d 19tKJO0c55YHtfiTzM/8vame/2wPSqD+isfUo8hjDtHJp51DEaeVuadVPYHOUT+nS0N/ pX2DS/Z6VtYCWLIZimvKyVES6hx9PY+Zn1wdF2Jvw/oQru3Tz1JyeDqINvX8RGpngTik lJ4Q== X-Gm-Message-State: AOAM5332N2/1aNjymHGR9yHO7ujPVHExwXXkFK+l2Ab1pWL8cPlkkiKs h96x2eM0YZqKFg/zNw9khhZSWE2BTnFC/w== X-Google-Smtp-Source: ABdhPJxc7xN1nvVWetoea0/9pjtc25TAU3UIs2qR5V2FgR/7/qM0WkDAzibGIUwxORR0exgnzPfYsA== X-Received: by 2002:a05:6000:1145:b0:20a:d93d:ee24 with SMTP id d5-20020a056000114500b0020ad93dee24mr17663907wrx.543.1651156826018; Thu, 28 Apr 2022 07:40:26 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:25 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 25/54] target/arm: Use tcg_constant for vector shift expanders Date: Thu, 28 Apr 2022 15:39:29 +0100 Message-Id: <20220428143958.2451229-26-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-26-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index 2e4165be3d2..9539d2e8ca2 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -2996,9 +2996,8 @@ void gen_gvec_sqrdmlsh_qc(unsigned vece, uint32_t rd_ofs, uint32_t rn_ofs, } \ static void gen_##NAME##0_vec(unsigned vece, TCGv_vec d, TCGv_vec a) \ { \ - TCGv_vec zero = tcg_const_zeros_vec_matching(d); \ + TCGv_vec zero = tcg_constant_vec_matching(d, vece, 0); \ tcg_gen_cmp_vec(COND, vece, d, a, zero); \ - tcg_temp_free_vec(zero); \ } \ void gen_gvec_##NAME##0(unsigned vece, uint32_t d, uint32_t m, \ uint32_t opr_sz, uint32_t max_sz) \ @@ -3988,8 +3987,8 @@ void gen_ushl_i32(TCGv_i32 dst, TCGv_i32 src, TCGv_i32 shift) TCGv_i32 rval = tcg_temp_new_i32(); TCGv_i32 lsh = tcg_temp_new_i32(); TCGv_i32 rsh = tcg_temp_new_i32(); - TCGv_i32 zero = tcg_const_i32(0); - TCGv_i32 max = tcg_const_i32(32); + TCGv_i32 zero = tcg_constant_i32(0); + TCGv_i32 max = tcg_constant_i32(32); /* * Rely on the TCG guarantee that out of range shifts produce @@ -4007,8 +4006,6 @@ void gen_ushl_i32(TCGv_i32 dst, TCGv_i32 src, TCGv_i32 shift) tcg_temp_free_i32(rval); tcg_temp_free_i32(lsh); tcg_temp_free_i32(rsh); - tcg_temp_free_i32(zero); - tcg_temp_free_i32(max); } void gen_ushl_i64(TCGv_i64 dst, TCGv_i64 src, TCGv_i64 shift) @@ -4017,8 +4014,8 @@ void gen_ushl_i64(TCGv_i64 dst, TCGv_i64 src, TCGv_i64 shift) TCGv_i64 rval = tcg_temp_new_i64(); TCGv_i64 lsh = tcg_temp_new_i64(); TCGv_i64 rsh = tcg_temp_new_i64(); - TCGv_i64 zero = tcg_const_i64(0); - TCGv_i64 max = tcg_const_i64(64); + TCGv_i64 zero = tcg_constant_i64(0); + TCGv_i64 max = tcg_constant_i64(64); /* * Rely on the TCG guarantee that out of range shifts produce @@ -4036,8 +4033,6 @@ void gen_ushl_i64(TCGv_i64 dst, TCGv_i64 src, TCGv_i64 shift) tcg_temp_free_i64(rval); tcg_temp_free_i64(lsh); tcg_temp_free_i64(rsh); - tcg_temp_free_i64(zero); - tcg_temp_free_i64(max); } static void gen_ushl_vec(unsigned vece, TCGv_vec dst, @@ -4132,8 +4127,8 @@ void gen_sshl_i32(TCGv_i32 dst, TCGv_i32 src, TCGv_i32 shift) TCGv_i32 rval = tcg_temp_new_i32(); TCGv_i32 lsh = tcg_temp_new_i32(); TCGv_i32 rsh = tcg_temp_new_i32(); - TCGv_i32 zero = tcg_const_i32(0); - TCGv_i32 max = tcg_const_i32(31); + TCGv_i32 zero = tcg_constant_i32(0); + TCGv_i32 max = tcg_constant_i32(31); /* * Rely on the TCG guarantee that out of range shifts produce @@ -4152,8 +4147,6 @@ void gen_sshl_i32(TCGv_i32 dst, TCGv_i32 src, TCGv_i32 shift) tcg_temp_free_i32(rval); tcg_temp_free_i32(lsh); tcg_temp_free_i32(rsh); - tcg_temp_free_i32(zero); - tcg_temp_free_i32(max); } void gen_sshl_i64(TCGv_i64 dst, TCGv_i64 src, TCGv_i64 shift) @@ -4162,8 +4155,8 @@ void gen_sshl_i64(TCGv_i64 dst, TCGv_i64 src, TCGv_i64 shift) TCGv_i64 rval = tcg_temp_new_i64(); TCGv_i64 lsh = tcg_temp_new_i64(); TCGv_i64 rsh = tcg_temp_new_i64(); - TCGv_i64 zero = tcg_const_i64(0); - TCGv_i64 max = tcg_const_i64(63); + TCGv_i64 zero = tcg_constant_i64(0); + TCGv_i64 max = tcg_constant_i64(63); /* * Rely on the TCG guarantee that out of range shifts produce @@ -4182,8 +4175,6 @@ void gen_sshl_i64(TCGv_i64 dst, TCGv_i64 src, TCGv_i64 shift) tcg_temp_free_i64(rval); tcg_temp_free_i64(lsh); tcg_temp_free_i64(rsh); - tcg_temp_free_i64(zero); - tcg_temp_free_i64(max); } static void gen_sshl_vec(unsigned vece, TCGv_vec dst, From patchwork Thu Apr 28 14:39:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623760 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=BaI6jn2C; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpzsc6vSxz9s2R for ; Fri, 29 Apr 2022 01:23:32 +1000 (AEST) Received: from localhost ([::1]:57560 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5zO-00015t-QN for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:23:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45316) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Ju-0005ZI-T7 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:40 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:35333) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jn-0006NL-3E for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:33 -0400 Received: by mail-wm1-x32d.google.com with SMTP id c190-20020a1c35c7000000b0038e37907b5bso5452177wma.0 for ; Thu, 28 Apr 2022 07:40:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=dJB5qf8j3TYN3zXAT+4GWma+lC96hPhS4onKOFNO4VE=; b=BaI6jn2CaRdrsyUAmWFCdOVw2086PtjVUgWh9qzxkDB9m29Zc8ssC02YyljK/N2Ue7 xA60R65okJD4xPBGAVzdxRbZpoPjHttGaoOr2JL7lYBITRt0nhjhertstj8NEZJnQbca zD+GGU65NAsJGGB6bCZsNURvvfZHqmddHT4D1TtN4PyV2cANeaW1GedPVKjSF8S5rtdS Ah3sKUyNLH2LowrjyP6tYEQQDvJ+3C4ypUqzLflbz5+J2AlDy+L+bHRx5LrmWQIYWotM k+5K7FFDr0TzV0U/bX1GOci4Or7KVA3rwPHUCsbiEijwK6Qx+TAdlsrbi6lm3UdBvmjg YPuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dJB5qf8j3TYN3zXAT+4GWma+lC96hPhS4onKOFNO4VE=; b=s3bq13Emr0OTR7ExsaQrimZO+e697/AK2uq8l2pSmIQQOtUuRZmg8NCk+bNNhnV+/p bnWVzARH895hoGkcese5LIjvElzZEuvNfiPKqmeZoh+DFcV0GyUkhk9i9rSYm0lmNdY8 Tc6ccnboLRn2oG6Uo4YNWcRQeA/ajtkkJvUuvp8K/Gw80w8u56uym39rPh2/tH0lHRL8 7yNOsA0nJv+qwJ4ihbUmf3uuj1z2KLiFbjMgQbZ69RXKaWnA9vQFPVi3A9+DTIqWvB4Q N1Lu3ZfJzptlCkds5/qCDerT3DCy+dwi3cTik3eftBywil212fkqmjb6Js8I3uQCQCa3 tAhg== X-Gm-Message-State: AOAM532BAP/8qR+icPl/09TicSg4BDnJuPev6vACr+XRl5LY1qZWMNOw BTXtWxbGHIuTOobJmx9WEEju8CIACDFFxw== X-Google-Smtp-Source: ABdhPJwNvNEclGXPBSiNuQpI+YlBmY56f8hnTaCrgndVoC5U501GkhYNf+eYlNofQkXgMrCEW86SAA== X-Received: by 2002:a05:600c:512a:b0:393:f143:efd5 with SMTP id o42-20020a05600c512a00b00393f143efd5mr14208676wms.109.1651156826963; Thu, 28 Apr 2022 07:40:26 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:26 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 26/54] target/arm: Use tcg_constant for do_coproc_insn Date: Thu, 28 Apr 2022 15:39:30 +0100 Message-Id: <20220428143958.2451229-27-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-27-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 43 +++++++++++++----------------------------- 1 file changed, 13 insertions(+), 30 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index 9539d2e8ca2..e4f3db26f66 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -4689,8 +4689,6 @@ static void do_coproc_insn(DisasContext *s, int cpnum, int is64, * Note that on XScale all cp0..c13 registers do an access check * call in order to handle c15_cpar. */ - TCGv_ptr tmpptr; - TCGv_i32 tcg_syn, tcg_isread; uint32_t syndrome; /* Note that since we are an implementation which takes an @@ -4733,14 +4731,10 @@ static void do_coproc_insn(DisasContext *s, int cpnum, int is64, gen_set_condexec(s); gen_set_pc_im(s, s->pc_curr); - tmpptr = tcg_const_ptr(ri); - tcg_syn = tcg_const_i32(syndrome); - tcg_isread = tcg_const_i32(isread); - gen_helper_access_check_cp_reg(cpu_env, tmpptr, tcg_syn, - tcg_isread); - tcg_temp_free_ptr(tmpptr); - tcg_temp_free_i32(tcg_syn); - tcg_temp_free_i32(tcg_isread); + gen_helper_access_check_cp_reg(cpu_env, + tcg_constant_ptr(ri), + tcg_constant_i32(syndrome), + tcg_constant_i32(isread)); } else if (ri->type & ARM_CP_RAISES_EXC) { /* * The readfn or writefn might raise an exception; @@ -4776,13 +4770,11 @@ static void do_coproc_insn(DisasContext *s, int cpnum, int is64, TCGv_i64 tmp64; TCGv_i32 tmp; if (ri->type & ARM_CP_CONST) { - tmp64 = tcg_const_i64(ri->resetvalue); + tmp64 = tcg_constant_i64(ri->resetvalue); } else if (ri->readfn) { - TCGv_ptr tmpptr; tmp64 = tcg_temp_new_i64(); - tmpptr = tcg_const_ptr(ri); - gen_helper_get_cp_reg64(tmp64, cpu_env, tmpptr); - tcg_temp_free_ptr(tmpptr); + gen_helper_get_cp_reg64(tmp64, cpu_env, + tcg_constant_ptr(ri)); } else { tmp64 = tcg_temp_new_i64(); tcg_gen_ld_i64(tmp64, cpu_env, ri->fieldoffset); @@ -4797,13 +4789,10 @@ static void do_coproc_insn(DisasContext *s, int cpnum, int is64, } else { TCGv_i32 tmp; if (ri->type & ARM_CP_CONST) { - tmp = tcg_const_i32(ri->resetvalue); + tmp = tcg_constant_i32(ri->resetvalue); } else if (ri->readfn) { - TCGv_ptr tmpptr; tmp = tcg_temp_new_i32(); - tmpptr = tcg_const_ptr(ri); - gen_helper_get_cp_reg(tmp, cpu_env, tmpptr); - tcg_temp_free_ptr(tmpptr); + gen_helper_get_cp_reg(tmp, cpu_env, tcg_constant_ptr(ri)); } else { tmp = load_cpu_offset(ri->fieldoffset); } @@ -4833,24 +4822,18 @@ static void do_coproc_insn(DisasContext *s, int cpnum, int is64, tcg_temp_free_i32(tmplo); tcg_temp_free_i32(tmphi); if (ri->writefn) { - TCGv_ptr tmpptr = tcg_const_ptr(ri); - gen_helper_set_cp_reg64(cpu_env, tmpptr, tmp64); - tcg_temp_free_ptr(tmpptr); + gen_helper_set_cp_reg64(cpu_env, tcg_constant_ptr(ri), + tmp64); } else { tcg_gen_st_i64(tmp64, cpu_env, ri->fieldoffset); } tcg_temp_free_i64(tmp64); } else { + TCGv_i32 tmp = load_reg(s, rt); if (ri->writefn) { - TCGv_i32 tmp; - TCGv_ptr tmpptr; - tmp = load_reg(s, rt); - tmpptr = tcg_const_ptr(ri); - gen_helper_set_cp_reg(cpu_env, tmpptr, tmp); - tcg_temp_free_ptr(tmpptr); + gen_helper_set_cp_reg(cpu_env, tcg_constant_ptr(ri), tmp); tcg_temp_free_i32(tmp); } else { - TCGv_i32 tmp = load_reg(s, rt); store_cpu_offset(tmp, ri->fieldoffset, 4); } } From patchwork Thu Apr 28 14:39:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623743 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=VEfGJcqC; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzjM311Xz9s2R for ; Fri, 29 Apr 2022 01:16:23 +1000 (AEST) Received: from localhost ([::1]:40524 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5sT-0006CJ-GH for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:16:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45244) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Jp-0005X5-Dk for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:38 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:47044) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jm-0006NI-Q4 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:32 -0400 Received: by mail-wm1-x329.google.com with SMTP id l62-20020a1c2541000000b0038e4570af2fso3144899wml.5 for ; Thu, 28 Apr 2022 07:40:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Ibs0YQIPKnCUXyTop+YLhuEAiwNbq0oQD0taXCbtZ/w=; b=VEfGJcqCiUn7NmL3nqW85RIff2jLVxqvSoAvCtgS4Ik1RbEUzWDZeRM+1vhQcJzRb0 w2FHAx4fSHMSczKkfnMEgNZ1EovyeyTv4FndJanAxM1U8ixeUqVdfuukMCG3dsxr32JD rRzSUzibx5ZAD7zoVWU8iD18oIDIvv0LsDriGpJisHcEzYHoG9Iv+nHnU1H9oc4csxZE y2xVIu7YDjUuojHas6+m8cL6zmU9P6zYEDN9KuCv+FzMP18AGwXTy5IMWeR9dFqCB6yu AdfO00xRpkdaOvmaKpuiOvTr8eCl/O68pMm0LVAEdMF24Vv2p6u1O8UiCTewiYVOlllM fiDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Ibs0YQIPKnCUXyTop+YLhuEAiwNbq0oQD0taXCbtZ/w=; b=I4YG5natJHtBGRp2xA8VVlLFXYFzv5qD6I/UM2AXBRoVxuOecAGYk/rsT9+Qp/TYN8 S7lmW6NGX11Jn0Xx7WznBJpsCXzlGid6SIUTUKhnG0WFu9dv7oHTTPt1mA4aBWLvIRCR efdkEZ18hNQwyoFcfHY9wtEp/bBnqcj1dA+o8fOb1Y/mJdNDvQ95HKU2ss9fgOfUs4cX /+88JnsyudcpiHzhKuTvm+1zXZcZSBTqHXiERLgAT88X2lw11xPEwdVvYN4CDyhymcsS 69iX2JGIp/8F+tKVrjeYqy7ZxuBnqQMPOxgYgz1p/y5P58twk7vFSu3RGxxm4DygVH1V 7Vkg== X-Gm-Message-State: AOAM532TnXjOYiLHwunI60VNugBfxhA8budjaGaKyUdzSAsqr2lAvBE0 NWkgHh5ESGFui4cYnt1fh7eYXRZOCNQjTg== X-Google-Smtp-Source: ABdhPJyWtH8zb/nJwRtaBtE099bVLXaIZPlPKHNvLakZ8ZphmcHTKnYVsbJdMmD959tJgqd9E4wVuA== X-Received: by 2002:a05:600c:3493:b0:38e:bbbb:26f7 with SMTP id a19-20020a05600c349300b0038ebbbb26f7mr31162409wmq.114.1651156828912; Thu, 28 Apr 2022 07:40:28 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:28 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 27/54] target/arm: Use tcg_constant for gen_srs Date: Thu, 28 Apr 2022 15:39:31 +0100 Message-Id: <20220428143958.2451229-28-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x329.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-28-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index e4f3db26f66..8476f259fcc 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -5137,12 +5137,10 @@ static void gen_srs(DisasContext *s, } addr = tcg_temp_new_i32(); - tmp = tcg_const_i32(mode); /* get_r13_banked() will raise an exception if called from System mode */ gen_set_condexec(s); gen_set_pc_im(s, s->pc_curr); - gen_helper_get_r13_banked(addr, cpu_env, tmp); - tcg_temp_free_i32(tmp); + gen_helper_get_r13_banked(addr, cpu_env, tcg_constant_i32(mode)); switch (amode) { case 0: /* DA */ offset = -4; @@ -5185,9 +5183,7 @@ static void gen_srs(DisasContext *s, abort(); } tcg_gen_addi_i32(addr, addr, offset); - tmp = tcg_const_i32(mode); - gen_helper_set_r13_banked(cpu_env, tmp, addr); - tcg_temp_free_i32(tmp); + gen_helper_set_r13_banked(cpu_env, tcg_constant_i32(mode), addr); } tcg_temp_free_i32(addr); s->base.is_jmp = DISAS_UPDATE_EXIT; From patchwork Thu Apr 28 14:39:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623719 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=C/OaKhnO; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzJT3Yfcz9s2R for ; Fri, 29 Apr 2022 00:58:16 +1000 (AEST) Received: from localhost ([::1]:49662 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5av-0007Sn-44 for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 10:58:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45318) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Ju-0005ZJ-T4 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:40 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:35334) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jn-0006Nj-3F for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:33 -0400 Received: by mail-wm1-x32e.google.com with SMTP id c190-20020a1c35c7000000b0038e37907b5bso5452206wma.0 for ; Thu, 28 Apr 2022 07:40:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=y0kwJP/iPVdJaEA344sDAv/Ij9ceNJt/PMRKXBvbIvI=; b=C/OaKhnO3RAvbLN2ux3DnqfItdvngP8wjqWMwFiJvB1k+O6ZQWG5bDaEmKUAJVimVZ Z5juux2ZK6ve+jmPQb0+fmk1rGGfl/qX92pJAJ8TP9ihAD+dvBBlQvK21+U5ajMVH2ef Qfnus8K1JbpTuY+b1Efd3XW4c9lCAqd9/TMDla3Tmz+qmytNs/T67LqTKy8NWGNWBcWh 3HimZG+S+oi/U7byT8N4dArcPRvwb4oGmhv1g0O02rn0towquTmo3YItlD+OWVo7XHPq Nm7G46fe239zoeM14VZ6pxro6q0w3uHgx2Ftu19JUbpNvChMw3Ew6MhMdvEbzh2ufioR WhfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=y0kwJP/iPVdJaEA344sDAv/Ij9ceNJt/PMRKXBvbIvI=; b=y2xrLAzAAWeHUAo26uOHNg3vgf21l2m2RLX/yl84yxPxNE09xylQXYy/X+oiiGQa1b KV+gKqVMMSnuBPSt/y6XjOMGgohdl/5sjmFS3WfjPdIQsLBp2KzkYfRgpoB49cLiXdzv IQgt2+6Spe98QcT0O8WAHRJFqE7zn18wEIkcFcRZMsRGedCj7AoXmn1sjYlxc00QADKA cvzbap+xxkTIXjGmeo6Ql0MBj/cLWR2O8hF8lRrC7puYamcgqZan3rdWIYsPBxbai3KF lSjG6GooqrcCWynQQQmp1ojDHMEMsfphh4lVwrc7S2cW99X3QbxjT/T9Soyj67Jck+yA TYNw== X-Gm-Message-State: AOAM531vs7CncmBUagKXdPaorYfPqdxNeRuX7Y6sN91SBtKtvTsRYH3F rP8WvchygzqQXhCRZYw/4yaNoIHUweSx2g== X-Google-Smtp-Source: ABdhPJxn1xBmUzUz1dHgetUl0oSQxPafLRnKSLp5FEvFv/OxxotHXB2gsUIkGyWrnRLPHqKGT/iOCA== X-Received: by 2002:a05:600c:3b97:b0:393:e653:61d4 with SMTP id n23-20020a05600c3b9700b00393e65361d4mr24502149wms.64.1651156829610; Thu, 28 Apr 2022 07:40:29 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:29 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 28/54] target/arm: Use tcg_constant for op_s_{rri,rxi}_rot Date: Thu, 28 Apr 2022 15:39:32 +0100 Message-Id: <20220428143958.2451229-29-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-29-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index 8476f259fcc..223fd5fdfe7 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -5495,18 +5495,16 @@ static bool op_s_rri_rot(DisasContext *s, arg_s_rri_rot *a, void (*gen)(TCGv_i32, TCGv_i32, TCGv_i32), int logic_cc, StoreRegKind kind) { - TCGv_i32 tmp1, tmp2; + TCGv_i32 tmp1; uint32_t imm; imm = ror32(a->imm, a->rot); if (logic_cc && a->rot) { tcg_gen_movi_i32(cpu_CF, imm >> 31); } - tmp2 = tcg_const_i32(imm); tmp1 = load_reg(s, a->rn); - gen(tmp1, tmp1, tmp2); - tcg_temp_free_i32(tmp2); + gen(tmp1, tmp1, tcg_constant_i32(imm)); if (logic_cc) { gen_logic_CC(tmp1); @@ -5525,9 +5523,10 @@ static bool op_s_rxi_rot(DisasContext *s, arg_s_rri_rot *a, if (logic_cc && a->rot) { tcg_gen_movi_i32(cpu_CF, imm >> 31); } - tmp = tcg_const_i32(imm); - gen(tmp, tmp); + tmp = tcg_temp_new_i32(); + gen(tmp, tcg_constant_i32(imm)); + if (logic_cc) { gen_logic_CC(tmp); } From patchwork Thu Apr 28 14:39:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623757 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=QGDkWAhe; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpzmm0LLmz9s2R for ; Fri, 29 Apr 2022 01:19:20 +1000 (AEST) Received: from localhost ([::1]:49072 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5vK-0003cl-3H for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:19:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45306) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Ju-0005Yu-RE for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:40 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]:35336) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jo-0006OE-3R for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:34 -0400 Received: by mail-wm1-x330.google.com with SMTP id c190-20020a1c35c7000000b0038e37907b5bso5452227wma.0 for ; Thu, 28 Apr 2022 07:40:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=/GnLF5/cSmfzUi+OSCtQLBos8yqT2tmMuPAD3hre2Tw=; b=QGDkWAheKKgtOnv58/i+mi3ebsIUaS4OS1Eq9JeUiUoOhzrRmDLJF+Q90zma+jPCjj JmTGm2zWksg1WN78Nz6DS+YVEf1OHZxAjmzb+MBu5cF4xW4S+tV3ftaOepyxyIuCokII 41/Tph5PDSodS2433mD+Ey9gFXFsJVaeuiEo7PQuAfqsCo0zyKlgsNBotOyBpKNI95QY 6ZbyQtp2kFfK6SMnbh0DpSevlYrxPRFnWp/5P0NtK30r9edl4VWtNlTyMxA6e7u3eBV9 l6HLEsO3WdeMkWQn42q68bxXqRFBdDGRpSroMo9tW0+TjjFc+bRYUr459N29cnBXw4yT S8Xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/GnLF5/cSmfzUi+OSCtQLBos8yqT2tmMuPAD3hre2Tw=; b=HNhItGbIY64TtJaDDa39BT+8oejh182+oYNqaTy2MxPbAQt84keAJwkVOL1d/KWiYA L6o9ff3EE/fp0ir312oW2lCZVy8g7SxrAM+ghEsh+jPnfAyMSg6NBtvdRr+VD06lWnJx 5PM96yLxz18lnvyVe7NqQYRMWJVJ4qMaFdQUi9Ndhx7CxbECQC/3T3oGgPrfoEh4NBts pv2qhaKfiXn2H7UQeQKEEzCkK252x80SoxcutHX+rhIPkRj8VO47apHBFO4MFKVqKHO4 imPbPU5HgPyjJIxHxOI3DQ1n4b9GUhEdy/H/OpFqF8IEvW+kzqAkedE8IgzArlxL0NYa PRQA== X-Gm-Message-State: AOAM530sVy5b9h7M+5GvIUn2ujqFXbUxBKQXGp6b7pVaNpE9Sru0H8Z2 VMvIVZVKdsoSWcgtviBPh8n+YZYX3ZBHng== X-Google-Smtp-Source: ABdhPJyF6C7kxz46Jf2hbTDPtYVe7Hf0yt6wIjDCmGSG6TMmhZsQUvUPGBaSO50YYEnrn4s3RZiigA== X-Received: by 2002:a05:600c:6d3:b0:38e:c692:d50a with SMTP id b19-20020a05600c06d300b0038ec692d50amr40187868wmn.30.1651156830364; Thu, 28 Apr 2022 07:40:30 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:30 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 29/54] target/arm: Use tcg_constant for MOVW, UMAAL, CRC32 Date: Thu, 28 Apr 2022 15:39:33 +0100 Message-Id: <20220428143958.2451229-30-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-30-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index 223fd5fdfe7..cc540f2b47f 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -5652,14 +5652,11 @@ static bool trans_ADR(DisasContext *s, arg_ri *a) static bool trans_MOVW(DisasContext *s, arg_MOVW *a) { - TCGv_i32 tmp; - if (!ENABLE_ARCH_6T2) { return false; } - tmp = tcg_const_i32(a->imm); - store_reg(s, a->rd, tmp); + store_reg(s, a->rd, tcg_constant_i32(a->imm)); return true; } @@ -6030,14 +6027,13 @@ static bool trans_UMAAL(DisasContext *s, arg_UMAAL *a) t0 = load_reg(s, a->rm); t1 = load_reg(s, a->rn); tcg_gen_mulu2_i32(t0, t1, t0, t1); - zero = tcg_const_i32(0); + zero = tcg_constant_i32(0); t2 = load_reg(s, a->ra); tcg_gen_add2_i32(t0, t1, t0, t1, t2, zero); tcg_temp_free_i32(t2); t2 = load_reg(s, a->rd); tcg_gen_add2_i32(t0, t1, t0, t1, t2, zero); tcg_temp_free_i32(t2); - tcg_temp_free_i32(zero); store_reg(s, a->ra, t0); store_reg(s, a->rd, t1); return true; @@ -6284,14 +6280,13 @@ static bool op_crc32(DisasContext *s, arg_rrr *a, bool c, MemOp sz) default: g_assert_not_reached(); } - t3 = tcg_const_i32(1 << sz); + t3 = tcg_constant_i32(1 << sz); if (c) { gen_helper_crc32c(t1, t1, t2, t3); } else { gen_helper_crc32(t1, t1, t2, t3); } tcg_temp_free_i32(t2); - tcg_temp_free_i32(t3); store_reg(s, a->rd, t1); return true; } From patchwork Thu Apr 28 14:39:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623726 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=qV+weeoa; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzRC3PRwz9s2R for ; Fri, 29 Apr 2022 01:04:07 +1000 (AEST) Received: from localhost ([::1]:34768 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5gb-0008U2-Gm for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:04:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45312) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Ju-0005Yx-RO for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:40 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:40503) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jo-0006Pw-V8 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:37 -0400 Received: by mail-wm1-x333.google.com with SMTP id v64-20020a1cac43000000b0038cfd1b3a6dso5406149wme.5 for ; Thu, 28 Apr 2022 07:40:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=BSZfo8jRneEsZag+HVXAvkj5GFQ4I8x4TqSm9m7pToM=; b=qV+weeoaOyzBck04vNXhFOdiMd61ZiK+gAeb5kiGuvBrwIJNXSkdmct/K2K4/0V/wO a8WqraM3P+kEjawG7Ih8m5l4+INHOf59fp7WqzL8Q2Y/nwYwSdMciiaDiED5G4vucjf6 skTyMBIJ5w1DmEln0qtu08XpXwBhkeDL+NbfnENunU4mc02KZ04RBZgEK8hxi5VhK/L+ lg9QSto70V7LrmeQZlq6TPvai5LDgGiHNJf0L54eX2kkG3IRQ9GdfyJw8hkA0NQAOoDp gnyWudhIbo10+Gz0N0Cbclu3c9hJql+pEJAvaFpteyRA91unA7TBK4PFUGkwNlWT/UjD i0Rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BSZfo8jRneEsZag+HVXAvkj5GFQ4I8x4TqSm9m7pToM=; b=ht4J2AjcbzbsQ2uiymz1w4Csiqy5i1x1BfL0n66nZzl3q2twFRZ6Eyjlt/QXXFdYe4 AHGh2q18pcmNcMEq3gB4XHyIOHVTnIyQVosmnA6Gyblf+elQKIdZHcT3XDphxjNnsI24 xte2896VMod1XG3BESuU098blEu4i43s12ELcjMtVYuNrqd9uKDtL/Cb3YTWwdQoOAQP m6ngWPHUfUKs8RlWo53gGaujflRlJN56V0qQ5/mUd2cw5GzQugtvhVCL6BK3s6UR+Hsz VR6sv/NZBo11UgA5gNmTqBRSpUleqbCuyLVGPmzG19b+56xL/XZXTst0f3nVpJ/sQqIU z4ew== X-Gm-Message-State: AOAM532tfUZ9ECSNSfLkJE0bLgvZ8Kd9FAk+m+e8kCGr1c0lxwRkSK3I qy3LmlJS7MhMIBa7x0KpWoqBZ9LcaV2fsQ== X-Google-Smtp-Source: ABdhPJy2deWD578kK2GUH1PkVGk38O6n1vf+ri2xcKM+QRcvPAdQ8np1abQBQCFRxaGAI9LEnR3J/Q== X-Received: by 2002:a7b:c0cb:0:b0:38e:bac7:3c40 with SMTP id s11-20020a7bc0cb000000b0038ebac73c40mr31727922wmh.6.1651156831248; Thu, 28 Apr 2022 07:40:31 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:30 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 30/54] target/arm: Use tcg_constant for v7m MRS, MSR Date: Thu, 28 Apr 2022 15:39:34 +0100 Message-Id: <20220428143958.2451229-31-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x333.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-31-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index cc540f2b47f..b604a820c00 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -6369,8 +6369,8 @@ static bool trans_MRS_v7m(DisasContext *s, arg_MRS_v7m *a) if (!arm_dc_feature(s, ARM_FEATURE_M)) { return false; } - tmp = tcg_const_i32(a->sysm); - gen_helper_v7m_mrs(tmp, cpu_env, tmp); + tmp = tcg_temp_new_i32(); + gen_helper_v7m_mrs(tmp, cpu_env, tcg_constant_i32(a->sysm)); store_reg(s, a->rd, tmp); return true; } @@ -6382,10 +6382,9 @@ static bool trans_MSR_v7m(DisasContext *s, arg_MSR_v7m *a) if (!arm_dc_feature(s, ARM_FEATURE_M)) { return false; } - addr = tcg_const_i32((a->mask << 10) | a->sysm); + addr = tcg_constant_i32((a->mask << 10) | a->sysm); reg = load_reg(s, a->rn); gen_helper_v7m_msr(cpu_env, addr, reg); - tcg_temp_free_i32(addr); tcg_temp_free_i32(reg); /* If we wrote to CONTROL, the EL might have changed */ gen_rebuild_hflags(s, true); From patchwork Thu Apr 28 14:39:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623734 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=Jdd42sD/; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzYV1XxCz9s2R for ; Fri, 29 Apr 2022 01:09:34 +1000 (AEST) Received: from localhost ([::1]:51702 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5ls-00036P-8F for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:09:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45396) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Jw-0005ad-Np for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:42 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:34087) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jt-0006Qe-07 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:39 -0400 Received: by mail-wm1-x32d.google.com with SMTP id l16-20020a05600c1d1000b00394011013e8so2431143wms.1 for ; Thu, 28 Apr 2022 07:40:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=uTdb8OkwlShp2n1v4y6nfj9p59wUEHW8MHnXz4VWBMc=; b=Jdd42sD/t5a97Q9H+QvZl66hMg0MFAlbhY+V0NfUNxOi77ddvIL62ioA1b5uUyANiy gmaRJhfXNC+l3fT22KRsbjFyFrYKikvYWvBJbj+X4Gh40+1hVP6rpJ97eglTeQumc1LI dRcvORSJa6S+caKLsoghYBhqsi2F3BWtsy2aTba/YkpMgxM37mkQZ8bJ793erIRHikO2 o9iAUiNHEoLMTox1kK2Yhih6frV5ZipzG0vx+oRBQo+CriGXLsnk8pKmCWZpN8UCgFkk tJM7pAlDTZy0q9mgAlcV8U87S7DVljkE/jttKxghz27CCawkGzUFHiSw36jHAUrcR5bM KYig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=uTdb8OkwlShp2n1v4y6nfj9p59wUEHW8MHnXz4VWBMc=; b=wTO8xh60tHRX6uton7J4UTdvv9I/S0KR+yYawr4IOqXbUIhLRTy0vlEnO5WR4IPxjw JnM9Qxw7KEDWCZKRbV/yXKVNuNNN14t26dinrF2pnB5vP+73wCLu4F9j8uacoWYjFw4U agtbZh6P2RXSr8X95dKF84IT++USrIUNvDtPrW6uB0yvhvDm6s8SACb4hNJpVxivjFzJ Sn+Qpefl1fvuYVkiPwzs70KDbDbE5hSEdo5muKwT2x7gsa3ctWG3olrpLnrMCsOTU8VA IeoFI5T/w9UXDr3stqUJZ/9H4x5BLrEw4t0A+UWXs2RGXCrFism503BcoYAasy47Lfrc 82vw== X-Gm-Message-State: AOAM532xjBYkrTlN3iSEI5ZMyOnHbvFJA+5FRXq1OtpA5fzmmU1uq7MM IzoV95ergaJhsDlZbn9g1MbdU+oR2kCEjw== X-Google-Smtp-Source: ABdhPJyBounHm3J0QYUFE0El6RIyWS+3XTh5uLiyWVjs4Jm9SW2PoouhY6ilTb5Nrkns5sVwEi3B6Q== X-Received: by 2002:a1c:acc6:0:b0:38e:b184:7721 with SMTP id v189-20020a1cacc6000000b0038eb1847721mr31086926wme.94.1651156832005; Thu, 28 Apr 2022 07:40:32 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:31 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 31/54] target/arm: Use tcg_constant for TT, SAT, SMMLA Date: Thu, 28 Apr 2022 15:39:35 +0100 Message-Id: <20220428143958.2451229-32-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-32-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index b604a820c00..24e522e1d6e 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -6596,8 +6596,8 @@ static bool trans_TT(DisasContext *s, arg_TT *a) } addr = load_reg(s, a->rn); - tmp = tcg_const_i32((a->A << 1) | a->T); - gen_helper_v7m_tt(tmp, cpu_env, addr, tmp); + tmp = tcg_temp_new_i32(); + gen_helper_v7m_tt(tmp, cpu_env, addr, tcg_constant_i32((a->A << 1) | a->T)); tcg_temp_free_i32(addr); store_reg(s, a->rd, tmp); return true; @@ -7564,7 +7564,7 @@ static bool trans_PKH(DisasContext *s, arg_PKH *a) static bool op_sat(DisasContext *s, arg_sat *a, void (*gen)(TCGv_i32, TCGv_env, TCGv_i32, TCGv_i32)) { - TCGv_i32 tmp, satimm; + TCGv_i32 tmp; int shift = a->imm; if (!ENABLE_ARCH_6) { @@ -7578,9 +7578,7 @@ static bool op_sat(DisasContext *s, arg_sat *a, tcg_gen_shli_i32(tmp, tmp, shift); } - satimm = tcg_const_i32(a->satimm); - gen(tmp, cpu_env, tmp, satimm); - tcg_temp_free_i32(satimm); + gen(tmp, cpu_env, tmp, tcg_constant_i32(a->satimm)); store_reg(s, a->rd, tmp); return true; @@ -7915,9 +7913,7 @@ static bool op_smmla(DisasContext *s, arg_rrrr *a, bool round, bool sub) * a non-zero multiplicand lowpart, and the correct result * lowpart for rounding. */ - TCGv_i32 zero = tcg_const_i32(0); - tcg_gen_sub2_i32(t2, t1, zero, t3, t2, t1); - tcg_temp_free_i32(zero); + tcg_gen_sub2_i32(t2, t1, tcg_constant_i32(0), t3, t2, t1); } else { tcg_gen_add_i32(t1, t1, t3); } From patchwork Thu Apr 28 14:39:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623763 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=nflfjNKY; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzxF5Bh8z9s2R for ; Fri, 29 Apr 2022 01:26:41 +1000 (AEST) Received: from localhost ([::1]:37722 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk62R-0007LX-Ha for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:26:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45436) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Jx-0005ak-Gc for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:43 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:33710) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Ju-0006Qr-Gq for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:41 -0400 Received: by mail-wr1-x433.google.com with SMTP id x18so7136318wrc.0 for ; Thu, 28 Apr 2022 07:40:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=dqByHTIpXckxQO3WSn8IGmqemM6gCwyzc86ernwmw6M=; b=nflfjNKYsi6vIAUJHxcCd8cfkFM7uknq9ePBq1fceos2+INjvz2/3DtN+Z8DHYl0j8 YgT6uMeYqu3wYy0FyjcO5MxAGE89jyZbaOU9Hr07BxJIaodEeiGT13NpHap1hTloHns2 2ZUkCzCSCQzi3ONox5e3CTsXQX65C4AUkHwaG0wNyR8NkADjoxu56wqGBO6ZgwaVHFWj v/nnpwyXJDXMmZ3tt+qN4plamzaDnoJ/hGVgXmQj9URkOpx4zHODX513RoDGyBLbK9Zy TdHCrV3CtsigLd9oNTu3ryiGKTyFrQmr7UNLshUL7r8QV2Zvkzm9WgPiLQkeR3v6yOiZ tQ2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dqByHTIpXckxQO3WSn8IGmqemM6gCwyzc86ernwmw6M=; b=Qodf2R4PQ3pb1chby4ha8Ab9RFoJOp/feQl7Ty73DCTH/HfP9j35P3i3/JdW1wVFU/ uOSg8VKQTVpX6T3gf4l8ehRGt/CuoThlWdi5BRSmBYPZwwMQd/YncQ4YLznh+9fWYVSg +IFPoNz1C+V7gySi7gZxQBFWCzxZhbVXzbWX5DhWkJDkzEu1bgdFPGXq/F99FeR0jwPs 9R1HYPfxS9OWO7jRq5A0aK4ecbD6LD3bu6FvdM/9bR9sSMgdXkfA05uBaX+Pu+0CjkEd 696rwBQAA5aURhQEBUquwsaaWng9QVHJDJuyvwIvntXypf2Wr22nnAFwyH+t+r+dxXUo l7iA== X-Gm-Message-State: AOAM533QV6X2ICZe3liMjgDg9HfUdtLzmVaVJ/Leluv2G6cAQNrGfrPt pXAzpltP7ZSCKfvM+/7w42YDGgxQsimWfA== X-Google-Smtp-Source: ABdhPJynFD7tkbNHWWFXTALEJmYK3FhzySZ5WbWp9jaLHyI2bZgbGYJpviyie0jutNbrLlwq5w4T9Q== X-Received: by 2002:adf:ee81:0:b0:206:1b32:d6f2 with SMTP id b1-20020adfee81000000b002061b32d6f2mr26114538wro.144.1651156832862; Thu, 28 Apr 2022 07:40:32 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:32 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 32/54] target/arm: Use tcg_constant in LDM, STM Date: Thu, 28 Apr 2022 15:39:36 +0100 Message-Id: <20220428143958.2451229-33-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-33-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index 24e522e1d6e..e0469da0a16 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -8050,7 +8050,7 @@ static bool op_stm(DisasContext *s, arg_ldst_block *a, int min_n) { int i, j, n, list, mem_idx; bool user = a->u; - TCGv_i32 addr, tmp, tmp2; + TCGv_i32 addr, tmp; if (user) { /* STM (user) */ @@ -8080,9 +8080,7 @@ static bool op_stm(DisasContext *s, arg_ldst_block *a, int min_n) if (user && i != 15) { tmp = tcg_temp_new_i32(); - tmp2 = tcg_const_i32(i); - gen_helper_get_user_reg(tmp, cpu_env, tmp2); - tcg_temp_free_i32(tmp2); + gen_helper_get_user_reg(tmp, cpu_env, tcg_constant_i32(i)); } else { tmp = load_reg(s, i); } @@ -8123,7 +8121,7 @@ static bool do_ldm(DisasContext *s, arg_ldst_block *a, int min_n) bool loaded_base; bool user = a->u; bool exc_return = false; - TCGv_i32 addr, tmp, tmp2, loaded_var; + TCGv_i32 addr, tmp, loaded_var; if (user) { /* LDM (user), LDM (exception return) */ @@ -8166,9 +8164,7 @@ static bool do_ldm(DisasContext *s, arg_ldst_block *a, int min_n) tmp = tcg_temp_new_i32(); gen_aa32_ld_i32(s, tmp, addr, mem_idx, MO_UL | MO_ALIGN); if (user) { - tmp2 = tcg_const_i32(i); - gen_helper_set_user_reg(cpu_env, tmp2, tmp); - tcg_temp_free_i32(tmp2); + gen_helper_set_user_reg(cpu_env, tcg_constant_i32(i), tmp); tcg_temp_free_i32(tmp); } else if (i == a->rn) { loaded_var = tmp; From patchwork Thu Apr 28 14:39:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623766 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=Pq+pMLXE; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kq01v52Q9z9s2R for ; Fri, 29 Apr 2022 01:30:43 +1000 (AEST) Received: from localhost ([::1]:45942 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk66L-0004dT-Ga for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:30:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45438) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Jx-0005am-ID for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:44 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:45707) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Ju-0006R9-Hg for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:41 -0400 Received: by mail-wr1-x42a.google.com with SMTP id w4so7051052wrg.12 for ; Thu, 28 Apr 2022 07:40:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=SVkrV+CBXhWBrCy9Zq19WOSCWdtPtKtxLX4SDqypx/s=; b=Pq+pMLXE+n3ymLjCMvYYbcRgy7LcuwFF8No13R0v7zeb1iR6bElbrNDnSwIkHYlbQf XnteJlRr+J/wtzfgL4glzR3WLw6McfmwGFpbo1eKdP8B9J+QDlUpmmuHhftr7SC1M7lK c/cJBdTcnkPhixIROV22RrujPijbtyYjQeItv5FWlfQnEtlSE42kvkIAo+gUGoh1ddDd ohudV1mxgt1zEzGPpY4/MAb0f+FXWMY40+lVPRoxZqr8ecovIGY4dL6i9+ciZ5iCRpQe 1IbNIzyNAi9EIUttz48D7U7IDBr53dR6yI3sdb922FJxYaHAx9WzfOBXZqdYO3DkUeAs qmTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SVkrV+CBXhWBrCy9Zq19WOSCWdtPtKtxLX4SDqypx/s=; b=iYlH2vzye6L2SOzJYrqRpWmMguTcOZpGvqwgpAe2OA224sRgmNwdEK5IBdmxjx72HD sI7V95ou17h5pXRYMQuYt+zGc0j6+KEh9sriWz2RTCC0vwV8LY/GdXewO6WWzaGnxO1d dtSEdkTuARSvZfHCXckHSgZvifzTodNBP4/5JKF9QtkXrFgIB+IG+sjnk0owTqOqERF9 XSTWCS/wKgFtF1DSrlaGuyRbuMnUJYWX/mm67OzC4JVIXDCQ8vnlQKR19GEpct2oqlmk x1oasz/HlPpluXhlh+/6qJY9ish991lssWjHCjsR+FrKLPya6+vCh6MM3c5B0yxALO0M fiCg== X-Gm-Message-State: AOAM532VgVuB4csz/ezGIpUAGOp5YBlu1qZovrt32gogY/HPHjzQl+sj mhItDH+rLRpngr8KonqHMQoSLxVyBLR+Wg== X-Google-Smtp-Source: ABdhPJzpcdN3tP1Jip4SwBCRZ8HDlR9fOuJ9vu8JdcU6t3ESQbE7lcLwWIqcTvYqG35KaEg49iJs+A== X-Received: by 2002:a05:6000:1863:b0:20a:f4f9:a6a with SMTP id d3-20020a056000186300b0020af4f90a6amr4131221wri.619.1651156833759; Thu, 28 Apr 2022 07:40:33 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:33 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 33/54] target/arm: Use tcg_constant in CLRM, DLS, WLS, LE Date: Thu, 28 Apr 2022 15:39:37 +0100 Message-Id: <20220428143958.2451229-34-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-34-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index e0469da0a16..0e9fde25897 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -8257,7 +8257,7 @@ static bool trans_CLRM(DisasContext *s, arg_CLRM *a) s->eci_handled = true; - zero = tcg_const_i32(0); + zero = tcg_constant_i32(0); for (i = 0; i < 15; i++) { if (extract32(a->list, i, 1)) { /* Clear R[i] */ @@ -8269,11 +8269,8 @@ static bool trans_CLRM(DisasContext *s, arg_CLRM *a) * Clear APSR (by calling the MSR helper with the same argument * as for "MSR APSR_nzcvqg, Rn": mask = 0b1100, SYSM=0) */ - TCGv_i32 maskreg = tcg_const_i32(0xc << 8); - gen_helper_v7m_msr(cpu_env, maskreg, zero); - tcg_temp_free_i32(maskreg); + gen_helper_v7m_msr(cpu_env, tcg_constant_i32(0xc00), zero); } - tcg_temp_free_i32(zero); clear_eci_state(s); return true; } @@ -8416,8 +8413,7 @@ static bool trans_DLS(DisasContext *s, arg_DLS *a) store_reg(s, 14, tmp); if (a->size != 4) { /* DLSTP: set FPSCR.LTPSIZE */ - tmp = tcg_const_i32(a->size); - store_cpu_field(tmp, v7m.ltpsize); + store_cpu_field(tcg_constant_i32(a->size), v7m.ltpsize); s->base.is_jmp = DISAS_UPDATE_NOCHAIN; } return true; @@ -8482,8 +8478,7 @@ static bool trans_WLS(DisasContext *s, arg_WLS *a) */ bool ok = vfp_access_check(s); assert(ok); - tmp = tcg_const_i32(a->size); - store_cpu_field(tmp, v7m.ltpsize); + store_cpu_field(tcg_constant_i32(a->size), v7m.ltpsize); /* * LTPSIZE updated, but MVE_NO_PRED will always be the same thing (0) * when we take this upcoming exit from this TB, so gen_jmp_tb() is OK. @@ -8609,8 +8604,7 @@ static bool trans_LE(DisasContext *s, arg_LE *a) gen_set_label(loopend); if (a->tp) { /* Exits from tail-pred loops must reset LTPSIZE to 4 */ - tmp = tcg_const_i32(4); - store_cpu_field(tmp, v7m.ltpsize); + store_cpu_field(tcg_constant_i32(4), v7m.ltpsize); } /* End TB, continuing to following insn */ gen_jmp_tb(s, s->base.pc_next, 1); From patchwork Thu Apr 28 14:39:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623740 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=vP4bKARA; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpzdz2dgqz9s2R for ; Fri, 29 Apr 2022 01:13:27 +1000 (AEST) Received: from localhost ([::1]:60350 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5pd-0000bE-EY for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:13:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45434) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5Jx-0005aj-Fp for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:44 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:33701) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Ju-0006RO-Ez for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:41 -0400 Received: by mail-wr1-x429.google.com with SMTP id x18so7136437wrc.0 for ; Thu, 28 Apr 2022 07:40:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=FeID3GZ6nfRSoKmaCQL2lyWw7PN3Sq4dYmWusn7u1yg=; b=vP4bKARAxJdwk7hiBbC7wgMcOBzarvEaLuWN+HvEBB0nwqAFAPw/5bKfYU3lP+Oog5 YE+m8mokUjKsOa5cPchCzsI0fk+KRAwxqPORgAYBJ69GDoiaSvLa+WV0+miGuq95RLpX seSEkjOqAC3SGwgqMCPXqJ0pChrYUA+3Z8SjlYLJJ3DMbfO5CxjC+9DHqIfBU/k5QnqW oy+5ymSofD06tBFZx+OmuxvlHBgTka67fL7uHlyJRo84+J8CUIbmNgquHARuP+37g1x7 yLxsy3IK35yxPSs1e68Kln2jz1rTi439loocyyRR01FlpeWLIMaJlVMnktiwcfZqnQqB aMUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=FeID3GZ6nfRSoKmaCQL2lyWw7PN3Sq4dYmWusn7u1yg=; b=Jdy9KIHUV2ViC4OFaqDE9qCmFXDVMTK7Nn6sgUBS+cU3ZnJV/sz7gwTA1kLc8fAigK z9Yzsh+bGaDiJmqX6EDbtIlYK1NvIts7ENBoQh++bxCGIn5sk/14YtXLBEZvizi/E2DL 2kla/0pp8LBdqX8o+fcG+RrTh36be3rRCLFtvhmnNBW5BH+MfJVubtvXmyd+qH0Eykkn juc5oBrwCKp2FASO6+GCzsNSRzTkPdA+T5tr+Q1s5KTD/FlaHJQp5/orILbwb9jtcjyz q6iNPRaRz7AKrkIw9gaFFw1kFhaTH2jNB47MStTULZTrp8STx0KtZQI1ZfvrK4DiUJLP 5WtA== X-Gm-Message-State: AOAM530g+w99V4fEs9c4fix79Z3J4Qv/TGpdrtTr23LYT0D+8rVUhLz+ Cirq1q4nYOSS0/piGudR8vBCeHhZAa/UIw== X-Google-Smtp-Source: ABdhPJw+hCMxBJTfbCDEldwLNSez+KAoIcnKZB608BnfnOjk0Ikvav8ci/cnQnmbVjKdqUBBRQSXmA== X-Received: by 2002:a05:6000:1369:b0:20a:c68b:7275 with SMTP id q9-20020a056000136900b0020ac68b7275mr27592347wrz.158.1651156834792; Thu, 28 Apr 2022 07:40:34 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:34 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 34/54] target/arm: Use tcg_constant in trans_CPS_v7m Date: Thu, 28 Apr 2022 15:39:38 +0100 Message-Id: <20220428143958.2451229-35-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x429.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-35-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index 0e9fde25897..5ce23947a17 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -8835,21 +8835,18 @@ static bool trans_CPS_v7m(DisasContext *s, arg_CPS_v7m *a) return true; } - tmp = tcg_const_i32(a->im); + tmp = tcg_constant_i32(a->im); /* FAULTMASK */ if (a->F) { - addr = tcg_const_i32(19); + addr = tcg_constant_i32(19); gen_helper_v7m_msr(cpu_env, addr, tmp); - tcg_temp_free_i32(addr); } /* PRIMASK */ if (a->I) { - addr = tcg_const_i32(16); + addr = tcg_constant_i32(16); gen_helper_v7m_msr(cpu_env, addr, tmp); - tcg_temp_free_i32(addr); } gen_rebuild_hflags(s, false); - tcg_temp_free_i32(tmp); gen_lookup_tb(s); return true; } From patchwork Thu Apr 28 14:39:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623768 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=De91P9xr; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kq0681xskz9s2R for ; Fri, 29 Apr 2022 01:34:24 +1000 (AEST) Received: from localhost ([::1]:54342 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk69u-00027a-7T for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:34:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45582) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K1-0005b3-Tp for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:46 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:37807) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Ju-0006RV-IO for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:42 -0400 Received: by mail-wr1-x429.google.com with SMTP id t6so7101613wra.4 for ; Thu, 28 Apr 2022 07:40:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=KiYqpjMVAlfCZGgNUdSywBEI1Zyg7nfSOh0zPewuNHQ=; b=De91P9xrrSI+AFbFkctOw1E/VpzgcHokGN5uXxzENRd+ZGkqlzlg/6j0FtK58JFmTy aBHCSNTdfajB5d4yRt+HOBq9lza5ojXok/YHfykQqrJVUjOR02RMm81xVvWAHJD6sgf4 1lQjJNAKd7EimUUMOagAKSfqcRJlNUQBOccGSA2DhL/9bn1ej6ZczRMQmc+vI7+hy5Rp FiUm7EQeBb3Lervj9D12RCpp3w5PAsjJofQRAldulGoIxzDZkXr/yo50ewARUgF519Er XHJwpNAoSFj/zDL48tRkEpq8e8eStsgnklVHpw2+iYKwtYs1ZFwvU/DxzdN+Yans6Oul vGaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KiYqpjMVAlfCZGgNUdSywBEI1Zyg7nfSOh0zPewuNHQ=; b=yvAbBljNfwavvhTD9QWI/frCez/gWLsD790Na/m8QS+dV+Hg+iYZ5guS0IFkN/PPPV A9fHQEmUYQlt/EazYnnBcbDb/kUvbjz5PwBJoDSeGT9wQkCSDYA4/M/WceYMG3osBA0q Uxoit9kTffHDxn6iwcIttTQZQ/Ck+YstmnVoDG1R5XarKUe4UpU4VwmzxAy2L1neyvpv NOiBybVMG7q8KpGw9+AGQM/3EPORUdYs8xTNVIaIiooKjR8c3aYoTqhzkfOA5I+X+ZzE hfPR2sXh5lj81PghSnwwo6aYqwwm/xCLVap4E8nnukeN+ikluBxUEgZ4JQbU4M/cIyO1 Cc9A== X-Gm-Message-State: AOAM5314pqDuC86/VxnsQ8MKJ8CZ81CP9w3X4/zYBKCD05Gn431oCtY+ s/YAKocQntkbPtMyEvWJrZCXeApBpJ5sDA== X-Google-Smtp-Source: ABdhPJylsQxnFDmfVRW/ksWZrAsRpLDi3Ef4qKcoOImsE6pYftruj+dLpuhcUTN7aj5YEGiOKtW4eQ== X-Received: by 2002:a5d:4581:0:b0:20a:d58f:3307 with SMTP id p1-20020a5d4581000000b0020ad58f3307mr20798847wrq.702.1651156835656; Thu, 28 Apr 2022 07:40:35 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:35 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 35/54] target/arm: Use tcg_constant in trans_CSEL Date: Thu, 28 Apr 2022 15:39:39 +0100 Message-Id: <20220428143958.2451229-36-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x429.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-36-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index 5ce23947a17..37fb17cdaaf 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -8982,13 +8982,14 @@ static bool trans_CSEL(DisasContext *s, arg_CSEL *a) } /* In this insn input reg fields of 0b1111 mean "zero", not "PC" */ + zero = tcg_constant_i32(0); if (a->rn == 15) { - rn = tcg_const_i32(0); + rn = zero; } else { rn = load_reg(s, a->rn); } if (a->rm == 15) { - rm = tcg_const_i32(0); + rm = zero; } else { rm = load_reg(s, a->rm); } @@ -9010,10 +9011,8 @@ static bool trans_CSEL(DisasContext *s, arg_CSEL *a) } arm_test_cc(&c, a->fcond); - zero = tcg_const_i32(0); tcg_gen_movcond_i32(c.cond, rn, c.value, zero, rn, rm); arm_free_cc(&c); - tcg_temp_free_i32(zero); store_reg(s, a->rd, rn); tcg_temp_free_i32(rm); From patchwork Thu Apr 28 14:39:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623759 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=TKGYwUhL; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzqX21ctz9s2R for ; Fri, 29 Apr 2022 01:21:42 +1000 (AEST) Received: from localhost ([::1]:53514 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5xb-0006dx-Tv for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:21:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45598) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K1-0005b9-VZ for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:46 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:45719) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jw-0006RZ-Dj for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:42 -0400 Received: by mail-wr1-x436.google.com with SMTP id w4so7051244wrg.12 for ; Thu, 28 Apr 2022 07:40:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=sLsR4LdrshsEV7YMPUFYckR+2cnWHfJuROYYRnmFPT8=; b=TKGYwUhLIA35xV0O35CrP8Kg1ZsmuuptXWuSDJyaEJyzcsXMtr9OfB/2PXxJVXUS31 lUjLAWlzwaqP9uMR1y3H2qIilVUjRao3oQebv0bWnLawioPlbUHaQoQPAAKw3OhxBzRw ht9NPDIQ/OH201BASR1Ph8K50TK1/ZQmRiy1Y1NlFRThN+krS6zTHVY1zaRdoJDrUiEG bpT8GJGeu1etNsufpdtcCBp6J6z1H8i+nDAm8Vp9QyWJ1TOxczcLSe4Yd4ta4/tdA1/y 8St52La1Cv5mw+7YggLfrwCuxplgOnZWgQBIJIL+RAAI8Bm/N8rn8BtnJn11kSjld+n6 Xs0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=sLsR4LdrshsEV7YMPUFYckR+2cnWHfJuROYYRnmFPT8=; b=6v6/x5HMUoVRGUn5q6DeRH47u9MhRr6ZY6AkplFim4X9incVKS7X5hIIuJu9/TXbTy 4wDLzD/v83GiCmoLmYpAC4CpM3yBMSU6X381KnjfUGWnfARwaIyPSdXqh7GUqElHb0d4 O6z1J92qJ0LSVM36XOJpK/B2IZvX1T2t5GGGcxZCp7x9h/YeA4dMKwSUU2WRMURS4C2c D4DqQsv5DCu2Oqpg9Cmfsy2aPoz0VCBiNiCibEGDvmk7FPjOZfa6geUXBEo3RVkJKQhQ HfBg38Xy8rhVB/4Nx4+xwraTi0wiNxhQCuUnzkMm/b2fOwLQHP7qqtamxO4Ts/B3Dhou QouA== X-Gm-Message-State: AOAM532ZkG4BcMewjFVNWc0zBCudG+PSc/awq6p4i9YDMXtN2dcJI2tG Qb//hXidLwhbzrTdOAZHN6DIhbVQbrN3kg== X-Google-Smtp-Source: ABdhPJwkQR1gkeGHuOnBKCD8ZgmTgVqIk5O3Hw+XO8D0lCXe23t5tBdw28hl316bymjgbLZd2LxnNA== X-Received: by 2002:adf:ec51:0:b0:20a:cd42:fe3b with SMTP id w17-20020adfec51000000b0020acd42fe3bmr24226188wrn.719.1651156836429; Thu, 28 Apr 2022 07:40:36 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:36 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 36/54] target/arm: Use tcg_constant for trans_INDEX_* Date: Thu, 28 Apr 2022 15:39:40 +0100 Message-Id: <20220428143958.2451229-37-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-37-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-sve.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 726cf88d7c5..8b173f5c4aa 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -1266,11 +1266,9 @@ static void do_index(DisasContext *s, int esz, int rd, static bool trans_INDEX_ii(DisasContext *s, arg_INDEX_ii *a) { if (sve_access_check(s)) { - TCGv_i64 start = tcg_const_i64(a->imm1); - TCGv_i64 incr = tcg_const_i64(a->imm2); + TCGv_i64 start = tcg_constant_i64(a->imm1); + TCGv_i64 incr = tcg_constant_i64(a->imm2); do_index(s, a->esz, a->rd, start, incr); - tcg_temp_free_i64(start); - tcg_temp_free_i64(incr); } return true; } @@ -1278,10 +1276,9 @@ static bool trans_INDEX_ii(DisasContext *s, arg_INDEX_ii *a) static bool trans_INDEX_ir(DisasContext *s, arg_INDEX_ir *a) { if (sve_access_check(s)) { - TCGv_i64 start = tcg_const_i64(a->imm); + TCGv_i64 start = tcg_constant_i64(a->imm); TCGv_i64 incr = cpu_reg(s, a->rm); do_index(s, a->esz, a->rd, start, incr); - tcg_temp_free_i64(start); } return true; } @@ -1290,9 +1287,8 @@ static bool trans_INDEX_ri(DisasContext *s, arg_INDEX_ri *a) { if (sve_access_check(s)) { TCGv_i64 start = cpu_reg(s, a->rn); - TCGv_i64 incr = tcg_const_i64(a->imm); + TCGv_i64 incr = tcg_constant_i64(a->imm); do_index(s, a->esz, a->rd, start, incr); - tcg_temp_free_i64(incr); } return true; } From patchwork Thu Apr 28 14:39:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623771 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=hJNI4VoO; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kq09B5VYwz9s2R for ; Fri, 29 Apr 2022 01:37:02 +1000 (AEST) Received: from localhost ([::1]:34036 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk6CS-0007Fg-RJ for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:37:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45588) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K1-0005b4-Tq for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:45 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:45709) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jw-0006Rd-D2 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:42 -0400 Received: by mail-wr1-x42b.google.com with SMTP id w4so7051288wrg.12 for ; Thu, 28 Apr 2022 07:40:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=oxBsLjBWF67ZQgabv8/DQjbiCvH28pekoKWs+cpSy50=; b=hJNI4VoOW3ZXaWbWIquKA8SqihAYU8GchTAUfX+oTbilHv/ELpQXb1Co+vsBarziKF LTGdpWku0hfHx+XYTsYdSETzVao+h8fdaRUD/MDMMgBaP1sROG7yi8PXVkNWM8VBlIeH aGFyqbXEvDhvNVFbzX3kjPkkZjAYDNMCr5Wx07qcig6IRI1frP2zoh8DJQEbKGrvvvKE tQLKSaUKQLK0O3s7ZZIAbdUcP8SoJzc117TaTHrrJswoWNwXPIeFvMBnOLMBOtl0bsL1 VstSKxZrxbg+HcaXiRIrCpS2GUNBdvyr3uESS257syJ+khwrVfLsU4n8hVYcgrzimm9q 3rfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=oxBsLjBWF67ZQgabv8/DQjbiCvH28pekoKWs+cpSy50=; b=OfI9tUS3BA6U03k/VEJTTmgqkdhfOA4GqcS6ImpqWfN1HXNaU4Zw2C9zMPA4FEr4Vx 8gyAD8LhrXxOSqL7rNuTogo38PVUx0APo1nFgPTtS2bbLEXlPx3yP0WL+vQPtGmAqKcM p80us9QF25NafslD0R5kSOkiH18eEYgJueBK4vGF/XBdn7olGT0DdzypNFIGMwkzNSo9 Pg287IZ0zus18UO7AGww4cDZqu2pm616iRNaCxtLYb1QZB9iK4kc/X0/tiMTBcW7W1VK AkjFLmGANvtCVqy3XrOAehQGpVrNyRPTng/ujMGG5Gj6/zDKjcrtFFxey3n520l3VbFr 1Rcg== X-Gm-Message-State: AOAM531co+93m8aRgt0qRJgK4Tv6vq3vO3jjre+JQbmaL0wkaqiKRPxd vu4SsLAJOlS9/LDpM2RBZTvIkjzAaD8/hw== X-Google-Smtp-Source: ABdhPJwxEpWBcpGudeB04XhhmorRhKKbk/o66fxgwoB0Av/xlq4DVupYkKFTcS0QoTDUTlAq/e/t6w== X-Received: by 2002:a5d:4e92:0:b0:20a:cafc:ebf1 with SMTP id e18-20020a5d4e92000000b0020acafcebf1mr24601069wru.17.1651156837168; Thu, 28 Apr 2022 07:40:37 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:36 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 37/54] target/arm: Use tcg_constant in SINCDEC, INCDEC Date: Thu, 28 Apr 2022 15:39:41 +0100 Message-Id: <20220428143958.2451229-38-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-38-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-sve.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 8b173f5c4aa..9321457f31e 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -2103,9 +2103,7 @@ static bool trans_SINCDEC_r_32(DisasContext *s, arg_incdec_cnt *a) tcg_gen_ext32s_i64(reg, reg); } } else { - TCGv_i64 t = tcg_const_i64(inc); - do_sat_addsub_32(reg, t, a->u, a->d); - tcg_temp_free_i64(t); + do_sat_addsub_32(reg, tcg_constant_i64(inc), a->u, a->d); } return true; } @@ -2122,9 +2120,7 @@ static bool trans_SINCDEC_r_64(DisasContext *s, arg_incdec_cnt *a) TCGv_i64 reg = cpu_reg(s, a->rd); if (inc != 0) { - TCGv_i64 t = tcg_const_i64(inc); - do_sat_addsub_64(reg, t, a->u, a->d); - tcg_temp_free_i64(t); + do_sat_addsub_64(reg, tcg_constant_i64(inc), a->u, a->d); } return true; } @@ -2141,11 +2137,10 @@ static bool trans_INCDEC_v(DisasContext *s, arg_incdec2_cnt *a) if (inc != 0) { if (sve_access_check(s)) { - TCGv_i64 t = tcg_const_i64(a->d ? -inc : inc); tcg_gen_gvec_adds(a->esz, vec_full_reg_offset(s, a->rd), vec_full_reg_offset(s, a->rn), - t, fullsz, fullsz); - tcg_temp_free_i64(t); + tcg_constant_i64(a->d ? -inc : inc), + fullsz, fullsz); } } else { do_mov_z(s, a->rd, a->rn); @@ -2165,9 +2160,8 @@ static bool trans_SINCDEC_v(DisasContext *s, arg_incdec2_cnt *a) if (inc != 0) { if (sve_access_check(s)) { - TCGv_i64 t = tcg_const_i64(inc); - do_sat_addsub_vec(s, a->esz, a->rd, a->rn, t, a->u, a->d); - tcg_temp_free_i64(t); + do_sat_addsub_vec(s, a->esz, a->rd, a->rn, + tcg_constant_i64(inc), a->u, a->d); } } else { do_mov_z(s, a->rd, a->rn); From patchwork Thu Apr 28 14:39:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623744 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=l2/5TreR; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzjV5NjJz9s2R for ; Fri, 29 Apr 2022 01:16:30 +1000 (AEST) Received: from localhost ([::1]:40678 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5sa-0006IN-Gq for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:16:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45592) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K1-0005b6-UO for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:46 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:38797) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jw-0006Rj-E4 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:42 -0400 Received: by mail-wr1-x42a.google.com with SMTP id k2so7089153wrd.5 for ; Thu, 28 Apr 2022 07:40:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=COCMGAJOa85nHXPRsawfCPsQNsQEWAegWOZAtOdocqU=; b=l2/5TreR4/Jd8J7+fOcLG2ZDakbZEoENaNFvjM/ong0/2WJi2wmKSeNB/1s+9K0YY6 iA+qnr5j8FutuSwl2r4D5lZ0IUBm8osO3JGq4IqBUZPoJIrPPWyNuHcGDJ6E9xXidXYN bBoJghaMd+KlIpW10NgvSdXstnF5dSIA2MeHoAeoMHkZEDuuklr8NtakinnEOJoShHBX W4+FpwnQzRSosY6E/Eh19V4mSYiwRytageHRcPNSBMjQNk+7JHNvGZo5p+1HKaFHrgSb 0kwOWRM6GTaqXfOtsIFRaGod+I9TsOahBhYoUOUZ9tmmn1EWQP26WXGp/y4CqzUThDuq jCpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=COCMGAJOa85nHXPRsawfCPsQNsQEWAegWOZAtOdocqU=; b=FLHGCr355SNQZqjdyQpw8mRkZMZGgMbr9oj8cvWjohod7Ol+kRnM9IuKPizBvSBi2J jEzMKXegIVy6BtGCRGkEGVY7GUGvC5PQJPb4xLZtPFDh3ALia7JF2J/orFgPHiecP3uL x2GyqJdpzEau/WMDQK5WEn0KB1XIzRF+gN1tYFJ4txByUcc066TAMac8SCloaIoUsOh0 D4npbi0CC0p9NkAh+Fatn0vTRs9O1wEnrA6q05otEhrLdOgfTaaDFWJGNaELh1YTJXgs d8aKC8DcKJIv8AlWdf3zMBLMqeUxQ7TXzRwCrvsM1DSKmnsA0aMwda7XrLbJsTkOwkcv y4jw== X-Gm-Message-State: AOAM532XIPIa9iJCHmkwPVcvyHhmVz66lSZ70iEJuU86XVpIME8rZRMp yrE57Snsfohj40GHSII7E0m84jQz1VTL/w== X-Google-Smtp-Source: ABdhPJzjhi4mzu4KMZqORXTZFflM2G04+8b+WM0fk/IeuW0Rb+J9kPAfFzUj4a+ct9MR5QHjHJwhuQ== X-Received: by 2002:a5d:64c6:0:b0:20a:f5e6:4a13 with SMTP id f6-20020a5d64c6000000b0020af5e64a13mr3435031wri.620.1651156837903; Thu, 28 Apr 2022 07:40:37 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:37 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 38/54] target/arm: Use tcg_constant in FCPY, CPY Date: Thu, 28 Apr 2022 15:39:42 +0100 Message-Id: <20220428143958.2451229-39-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-39-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-sve.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 9321457f31e..ef57d3a2b49 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -2259,9 +2259,7 @@ static bool trans_FCPY(DisasContext *s, arg_FCPY *a) if (sve_access_check(s)) { /* Decode the VFP immediate. */ uint64_t imm = vfp_expand_imm(a->esz, a->imm); - TCGv_i64 t_imm = tcg_const_i64(imm); - do_cpy_m(s, a->esz, a->rd, a->rn, a->pg, t_imm); - tcg_temp_free_i64(t_imm); + do_cpy_m(s, a->esz, a->rd, a->rn, a->pg, tcg_constant_i64(imm)); } return true; } @@ -2272,9 +2270,7 @@ static bool trans_CPY_m_i(DisasContext *s, arg_rpri_esz *a) return false; } if (sve_access_check(s)) { - TCGv_i64 t_imm = tcg_const_i64(a->imm); - do_cpy_m(s, a->esz, a->rd, a->rn, a->pg, t_imm); - tcg_temp_free_i64(t_imm); + do_cpy_m(s, a->esz, a->rd, a->rn, a->pg, tcg_constant_i64(a->imm)); } return true; } @@ -2291,11 +2287,10 @@ static bool trans_CPY_z_i(DisasContext *s, arg_CPY_z_i *a) } if (sve_access_check(s)) { unsigned vsz = vec_full_reg_size(s); - TCGv_i64 t_imm = tcg_const_i64(a->imm); tcg_gen_gvec_2i_ool(vec_full_reg_offset(s, a->rd), pred_full_reg_offset(s, a->pg), - t_imm, vsz, vsz, 0, fns[a->esz]); - tcg_temp_free_i64(t_imm); + tcg_constant_i64(a->imm), + vsz, vsz, 0, fns[a->esz]); } return true; } From patchwork Thu Apr 28 14:39:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623730 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=uC/C7W3Y; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzVB1SLPz9s2R for ; Fri, 29 Apr 2022 01:06:42 +1000 (AEST) Received: from localhost ([::1]:43416 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5j6-0005wE-2C for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:06:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45590) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K1-0005b5-Tu for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:46 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:33710) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jw-0006SN-En for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:43 -0400 Received: by mail-wr1-x432.google.com with SMTP id x18so7136707wrc.0 for ; Thu, 28 Apr 2022 07:40:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=KB9B+yBHKQSIsE1Y/f33Wv0GlMuOzG+vMaRlhHfmsgM=; b=uC/C7W3YzP19pWrGE+XFGjBLTp8vHjPmsNDdVHqA9He4illKSLPI2rqCulrbk2kImO xU76LqYL3smZje3UOJyjcMm7Vv8I6XWq6RJBJlf9l2skKfm9279QlffZ7F7H69kmRKyM dp61pvkLCF9OnP0o5NNh8RmlLhl/A2wjsIFv8C+D621eRYwsY5WEKESAm7sejU1dH6Ay UlDYGjtHSZWHQMptD8Y+TFEqopAvXMtRsbC8dFMNr06TDvgvQfcQfhXqE4MIwRi2XAtq ZnGiR2XTc4s98/U9i/8chyFwBcWIBB97ZdgxJJc3WPBD1LMjfioox7c0F2AFdaKKH3YT Tycw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KB9B+yBHKQSIsE1Y/f33Wv0GlMuOzG+vMaRlhHfmsgM=; b=V5A1aUb/U43wB2Elh+ZcAqW+o9Djfk6pYypbD92yeZWd+/VfFv7NtApQRgy0tKufC/ DLCQe1265yfx8kMcSRPxeggycvNwOJu8I7eQOBsiIy6Ej/UOZiAVmV/gTMASRbRVZ/Ej UL85hlcqkEDcYMq3xgQdsdFJGob9QUSBOYyLI1VTQismG55dyn/DS8Ka9LV3ODTiddr6 +No5BxJWQAONbCEdI3Cw+LplmVW0CYj1pkq3RIzNkgqp6CceYc2h3zjD8Wg4OBp/rrmh cmWSsPiJhYrXVhpbbueZGLIO9Emsioq4Fbo3bTd68FfOKY4Km53EYPOMly1y1qndY9rz bcTA== X-Gm-Message-State: AOAM530Lt2i/EfYap7FGbd23GqULJzZIhx9OJgW+Ou81nKqhz2IvXV7a 7qdduUWDYhsBbKL4cKLZtemqNEubZGG+Uw== X-Google-Smtp-Source: ABdhPJxR2LiNkz/iWFblrmLT0a4HJBUlEeDf0uJEDFGA6Q1FP+YWMTdejqaVvBxgMqK/o3OkY2BKeg== X-Received: by 2002:a05:6000:2a1:b0:20a:7c6a:d43e with SMTP id l1-20020a05600002a100b0020a7c6ad43emr27486502wry.417.1651156838652; Thu, 28 Apr 2022 07:40:38 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:38 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 39/54] target/arm: Use tcg_constant in {incr, wrap}_last_active Date: Thu, 28 Apr 2022 15:39:43 +0100 Message-Id: <20220428143958.2451229-40-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-40-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-sve.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index ef57d3a2b49..c3d3f301c99 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -2793,11 +2793,9 @@ static void incr_last_active(DisasContext *s, TCGv_i32 last, int esz) if (is_power_of_2(vsz)) { tcg_gen_andi_i32(last, last, vsz - 1); } else { - TCGv_i32 max = tcg_const_i32(vsz); - TCGv_i32 zero = tcg_const_i32(0); + TCGv_i32 max = tcg_constant_i32(vsz); + TCGv_i32 zero = tcg_constant_i32(0); tcg_gen_movcond_i32(TCG_COND_GEU, last, last, max, zero, last); - tcg_temp_free_i32(max); - tcg_temp_free_i32(zero); } } @@ -2809,11 +2807,9 @@ static void wrap_last_active(DisasContext *s, TCGv_i32 last, int esz) if (is_power_of_2(vsz)) { tcg_gen_andi_i32(last, last, vsz - 1); } else { - TCGv_i32 max = tcg_const_i32(vsz - (1 << esz)); - TCGv_i32 zero = tcg_const_i32(0); + TCGv_i32 max = tcg_constant_i32(vsz - (1 << esz)); + TCGv_i32 zero = tcg_constant_i32(0); tcg_gen_movcond_i32(TCG_COND_LT, last, last, zero, max, last); - tcg_temp_free_i32(max); - tcg_temp_free_i32(zero); } } From patchwork Thu Apr 28 14:39:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623727 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=fxsWOwaj; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzSZ2CQ0z9s2R for ; Fri, 29 Apr 2022 01:05:18 +1000 (AEST) Received: from localhost ([::1]:38770 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5hk-0002p1-Aa for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:05:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45594) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K1-0005b7-U8 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:46 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:38800) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jw-0006SV-P5 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:44 -0400 Received: by mail-wr1-x42d.google.com with SMTP id k2so7089256wrd.5 for ; Thu, 28 Apr 2022 07:40:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=VNRZt6mItSjZ53cGg10+blholLCXICCt6FP97H6jTw8=; b=fxsWOwajCTa7V31Do4MFO/sE2kk8OBWqJR3PMBnvz4JTBDcr1tjPEfjBUSzAdF8t/w Cu5EgbbSpuygx5hehXeKe+bSmAK6fyYHFUhqmYUKj9BYtkbmAMbyyHCKRLCFczLb1R7W omcAfdBFIVdmTzMjPEQoAAcZ/WJGAe9nq8Y+4BowlAvjTeN2pOLl9cDDkIS4dr0ZwnWf HC2TDOgp7Gn4CiAg1ieHjZhiB5NF0XxRj7CesBK4Y48Bm+FYM5OFETUOU6QellxVRt8j Urf5RCUYe5NY2wW6q10idbQtVKxlx96z3gVXPS68iAJlohz2/2ZVX4u5zWPLf51bJmPt BMdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=VNRZt6mItSjZ53cGg10+blholLCXICCt6FP97H6jTw8=; b=lsvtPOwVPUq1WPBzu5ESeqPlU5uCrcKolwR+LxpcdAiHP2v7iB9wg7vCCqru0a4OMk nS20MFGsOespkPisQfdAGhZxr8jTqRJJCTcjz4p8LqZe2X4JfPZk25YHma7IyVMN6uYI r3wMBhkihkC7n162am/tKsTB26trM0fHANc505ve+iTKGMUfFrtAGz4xNa+Znw0mI9aF J/XFhrnR23hRYua5UcMjAjCPiFzfOZmKFkun3HTpNtyuDIrkEvTyDR4N2drl1rOGqlWY IJYfyGRVRuMTqSH3cwn/ubUgNkOuvGVP6bRTZ4E47wRHr/Kb2k7hHmT7joFazAFZMMhU IFkg== X-Gm-Message-State: AOAM530aJhmTJnmTwXH6ddsAnVB/LAQq0+1ND58mpMRMGJOlPJpEuh5n cQhL1lQJALULIM45yTaCXfOn3+TfnmCZ4w== X-Google-Smtp-Source: ABdhPJx9lXaPyDWjgYy2DbRBd+Q4ofNreyb4ckrJXvc5LuuutyhmBchtCMvJpwjYdhdz3rfixk97zw== X-Received: by 2002:a05:6000:86:b0:20a:d7be:e09b with SMTP id m6-20020a056000008600b0020ad7bee09bmr18932776wrx.398.1651156839372; Thu, 28 Apr 2022 07:40:39 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:39 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 40/54] target/arm: Use tcg_constant in do_clast_scalar Date: Thu, 28 Apr 2022 15:39:44 +0100 Message-Id: <20220428143958.2451229-41-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-41-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-sve.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index c3d3f301c99..7a39ed0c062 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -2926,7 +2926,7 @@ static void do_clast_scalar(DisasContext *s, int esz, int pg, int rm, bool before, TCGv_i64 reg_val) { TCGv_i32 last = tcg_temp_new_i32(); - TCGv_i64 ele, cmp, zero; + TCGv_i64 ele, cmp; find_last_active(s, last, esz, pg); @@ -2946,10 +2946,9 @@ static void do_clast_scalar(DisasContext *s, int esz, int pg, int rm, ele = load_last_active(s, last, rm, esz); tcg_temp_free_i32(last); - zero = tcg_const_i64(0); - tcg_gen_movcond_i64(TCG_COND_GE, reg_val, cmp, zero, ele, reg_val); + tcg_gen_movcond_i64(TCG_COND_GE, reg_val, cmp, tcg_constant_i64(0), + ele, reg_val); - tcg_temp_free_i64(zero); tcg_temp_free_i64(cmp); tcg_temp_free_i64(ele); } From patchwork Thu Apr 28 14:39:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623731 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=y9aCN6kp; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzWH6THYz9s2R for ; Fri, 29 Apr 2022 01:07:39 +1000 (AEST) Received: from localhost ([::1]:47366 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5k1-0000B7-VN for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:07:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45578) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K1-0005b1-SY for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:46 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:43983) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jx-0006Sx-Ge for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:45 -0400 Received: by mail-wr1-x433.google.com with SMTP id v12so7061913wrv.10 for ; Thu, 28 Apr 2022 07:40:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=F7+9/tJeY/sz+uNlL1QZazY6ZAxBeXQj/QrrkXhkYJY=; b=y9aCN6kpCouOgI2TpZBldmH/27FLg2HQndYLIuKF8oivf+Tvwqu2i4vxCXqUm0oDIi 6Hcy/JsxLNg9qRMdx1A1599jeZ4NDhjnZ2I5hCl8KlglkJt8GfO/mg3bu6z2jlCiRq+i B5kOETAXysc6D8dQmFFRH009zd1btu3zFzfED+ju37PD/AcEees+UFD5+y8DIM1HOf0E dQXO7fZ4eX+hbrLbybv+Eq9S0X/o2fE6HeXVWs19f6YJ4yL7Uuf2aGWnwWd/BO97Kkig 5CKQLEJv8uDH3RMvyMUg1t/6tZIP7vVbdhEMn7MvQIapff4hIVgJoGCxAsGloDaBa80r toNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=F7+9/tJeY/sz+uNlL1QZazY6ZAxBeXQj/QrrkXhkYJY=; b=4tXuN+rl/FLltc/RNTvqhqEzoukYTZgd5SpQ0TuDzOBWa4b1vle9a7Gakk7m6xmTwV k1AD+db87j78b6rPr2cuZVewBMC/BT4BK7NFL0zUVgooTll/ztuNSaE9PHB9zYXmSSAZ H35GFcDmmxwRl1sH+cKyb5LFTj830L7rILXsVrZ57HYnntKO8zmZM8vNT2M3n4+mALf5 98Lp6KFmh7zdf3zgk4NFQki0bShq2aq1bwWPv5IPN9aBaIh0hPy9b7I0FcS08Mc9xcgB Sd/cwG2q+J9W6ZeWiSIEdA55R7QwpSo88D8xDYpjE+X8Rh6GRCCWz0cdawkndgAzK0JL 8ANQ== X-Gm-Message-State: AOAM5321df3vaw6arvK7SOilFZlA1n9mDg9o+DgIIdHif8bD3bLRYQd2 pXPssrSHi1MVEvqyECGdpXFWS+yn8EqgUg== X-Google-Smtp-Source: ABdhPJzZrC95HiexTSOt8GcYwbPMz+p9XMxqQziGcSJtyEVCtcBT6MCvkqkNQpEL+WH6yWQvPH3ssw== X-Received: by 2002:adf:ec89:0:b0:20a:c0a4:e4a3 with SMTP id z9-20020adfec89000000b0020ac0a4e4a3mr26190760wrn.98.1651156840197; Thu, 28 Apr 2022 07:40:40 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:39 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 41/54] target/arm: Use tcg_constant in WHILE Date: Thu, 28 Apr 2022 15:39:45 +0100 Message-Id: <20220428143958.2451229-42-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-42-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-sve.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 7a39ed0c062..727f5cca36f 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -3568,7 +3568,7 @@ static bool trans_CTERM(DisasContext *s, arg_CTERM *a) static bool trans_WHILE(DisasContext *s, arg_WHILE *a) { TCGv_i64 op0, op1, t0, t1, tmax; - TCGv_i32 t2, t3; + TCGv_i32 t2; TCGv_ptr ptr; unsigned vsz = vec_full_reg_size(s); unsigned desc = 0; @@ -3624,7 +3624,7 @@ static bool trans_WHILE(DisasContext *s, arg_WHILE *a) } } - tmax = tcg_const_i64(vsz >> a->esz); + tmax = tcg_constant_i64(vsz >> a->esz); if (eq) { /* Equality means one more iteration. */ tcg_gen_addi_i64(t0, t0, 1); @@ -3644,7 +3644,6 @@ static bool trans_WHILE(DisasContext *s, arg_WHILE *a) /* Bound to the maximum. */ tcg_gen_umin_i64(t0, t0, tmax); - tcg_temp_free_i64(tmax); /* Set the count to zero if the condition is false. */ tcg_gen_movi_i64(t1, 0); @@ -3661,28 +3660,26 @@ static bool trans_WHILE(DisasContext *s, arg_WHILE *a) desc = FIELD_DP32(desc, PREDDESC, OPRSZ, vsz / 8); desc = FIELD_DP32(desc, PREDDESC, ESZ, a->esz); - t3 = tcg_const_i32(desc); ptr = tcg_temp_new_ptr(); tcg_gen_addi_ptr(ptr, cpu_env, pred_full_reg_offset(s, a->rd)); if (a->lt) { - gen_helper_sve_whilel(t2, ptr, t2, t3); + gen_helper_sve_whilel(t2, ptr, t2, tcg_constant_i32(desc)); } else { - gen_helper_sve_whileg(t2, ptr, t2, t3); + gen_helper_sve_whileg(t2, ptr, t2, tcg_constant_i32(desc)); } do_pred_flags(t2); tcg_temp_free_ptr(ptr); tcg_temp_free_i32(t2); - tcg_temp_free_i32(t3); return true; } static bool trans_WHILE_ptr(DisasContext *s, arg_WHILE_ptr *a) { TCGv_i64 op0, op1, diff, t1, tmax; - TCGv_i32 t2, t3; + TCGv_i32 t2; TCGv_ptr ptr; unsigned vsz = vec_full_reg_size(s); unsigned desc = 0; @@ -3697,7 +3694,7 @@ static bool trans_WHILE_ptr(DisasContext *s, arg_WHILE_ptr *a) op0 = read_cpu_reg(s, a->rn, 1); op1 = read_cpu_reg(s, a->rm, 1); - tmax = tcg_const_i64(vsz); + tmax = tcg_constant_i64(vsz); diff = tcg_temp_new_i64(); if (a->rw) { @@ -3723,7 +3720,6 @@ static bool trans_WHILE_ptr(DisasContext *s, arg_WHILE_ptr *a) /* Bound to the maximum. */ tcg_gen_umin_i64(diff, diff, tmax); - tcg_temp_free_i64(tmax); /* Since we're bounded, pass as a 32-bit type. */ t2 = tcg_temp_new_i32(); @@ -3732,17 +3728,15 @@ static bool trans_WHILE_ptr(DisasContext *s, arg_WHILE_ptr *a) desc = FIELD_DP32(desc, PREDDESC, OPRSZ, vsz / 8); desc = FIELD_DP32(desc, PREDDESC, ESZ, a->esz); - t3 = tcg_const_i32(desc); ptr = tcg_temp_new_ptr(); tcg_gen_addi_ptr(ptr, cpu_env, pred_full_reg_offset(s, a->rd)); - gen_helper_sve_whilel(t2, ptr, t2, t3); + gen_helper_sve_whilel(t2, ptr, t2, tcg_constant_i32(desc)); do_pred_flags(t2); tcg_temp_free_ptr(ptr); tcg_temp_free_i32(t2); - tcg_temp_free_i32(t3); return true; } From patchwork Thu Apr 28 14:39:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623742 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=UJwsOO1w; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpzgm0S03z9s2R for ; Fri, 29 Apr 2022 01:14:58 +1000 (AEST) Received: from localhost ([::1]:36494 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5r5-0003WG-J6 for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:14:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45620) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K2-0005dD-KQ for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:48 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:41652) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5Jy-0006TK-H3 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:46 -0400 Received: by mail-wm1-x32f.google.com with SMTP id u9-20020a05600c00c900b00393e729e655so3194974wmm.0 for ; Thu, 28 Apr 2022 07:40:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=RSvbg9lzmkgK8LV+z2YK8viBCyRR08JOpFwVOfj1TWs=; b=UJwsOO1w0KUwvvCnD7YFjAJYXIiUS15WnYhlLLnR+PUyBpNtO4zoWFH2syMFTmFb81 XgsDAKR1SdBUgayoRYxMmcCJ9KWjRpLl2fiyBoNQNmQrYPj1d5dC1ug0SIlA82m9aK3y or/ILumIT/t46YvHGPYOeJEG5gV3vwgfq6+6KmQQuW3u8cOz7ageM9nkNsj3ZtkJXJGf EIDyuDnwD+RElbdcH/GnuBd5Tv0iROu4+fgk02bvsJZd9mA0cQ7AJgc7F6Z97sbYXUAW t76PsskATbbparHMWDaQh2o8dn446lY/1otGbQXRJzcoEsQxlT+pVadigs5I8wtdkpgZ G6/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RSvbg9lzmkgK8LV+z2YK8viBCyRR08JOpFwVOfj1TWs=; b=ytOd48h4g/p9lJARNZ6UXky/NzooayhX7VVcKakrYpFM5IpyMSGINjAkFfRz87auyO GxSx9V+6kXOROWdaPAAVNBBuFxRFn0mBNzueM/45TBTkMa658vnwsthuuX/lyRawQQ4j IFUk2nAag2QR+2Nvd5zG283RRoCgGwaVY9UGFpEAbB0ywfWieeHGaXo4AjSpu9EZnIPN kiYPBF4yfoE7/2dsHlB3uFJOmIglavhYU0hrOPul0I64E6eNNHVem82OUaW2fQ5ATOLv l+doNXRfrMetIC/Oq3Jzp3SRJLUOnt+qy9DJV9qBQKtg680BucslhIrgEUPWKiKadcu9 WDGA== X-Gm-Message-State: AOAM532s02COPxYlAiiPuWzGkUoG+sPWWoCLsck0LjUNaM/nuOFA1xzW vAAKCtmdja/3Kir3XMtClvLwPSBb6CZQLQ== X-Google-Smtp-Source: ABdhPJxBX/wVReYtHWXc2l7JtubUom7NLDmWYE1ZluA/PD5T/ECGC8slWzrXmMqqmNSgoscRFyRuyw== X-Received: by 2002:a05:600c:5020:b0:38f:f83b:e773 with SMTP id n32-20020a05600c502000b0038ff83be773mr31395813wmr.57.1651156841024; Thu, 28 Apr 2022 07:40:41 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:40 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 42/54] target/arm: Use tcg_constant in LD1, ST1 Date: Thu, 28 Apr 2022 15:39:46 +0100 Message-Id: <20220428143958.2451229-43-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-43-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-sve.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 727f5cca36f..fcab15a6ecc 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -6426,7 +6426,6 @@ static bool trans_LD1_zpiz(DisasContext *s, arg_LD1_zpiz *a) gen_helper_gvec_mem_scatter *fn = NULL; bool be = s->be_data == MO_BE; bool mte = s->mte_active[0]; - TCGv_i64 imm; if (a->esz < a->msz || (a->esz == a->msz && !a->u)) { return false; @@ -6448,9 +6447,8 @@ static bool trans_LD1_zpiz(DisasContext *s, arg_LD1_zpiz *a) /* Treat LD1_zpiz (zn[x] + imm) the same way as LD1_zprz (rn + zm[x]) * by loading the immediate into the scalar parameter. */ - imm = tcg_const_i64(a->imm << a->msz); - do_mem_zpz(s, a->rd, a->pg, a->rn, 0, imm, a->msz, false, fn); - tcg_temp_free_i64(imm); + do_mem_zpz(s, a->rd, a->pg, a->rn, 0, + tcg_constant_i64(a->imm << a->msz), a->msz, false, fn); return true; } @@ -6609,7 +6607,6 @@ static bool trans_ST1_zpiz(DisasContext *s, arg_ST1_zpiz *a) gen_helper_gvec_mem_scatter *fn = NULL; bool be = s->be_data == MO_BE; bool mte = s->mte_active[0]; - TCGv_i64 imm; if (a->esz < a->msz) { return false; @@ -6631,9 +6628,8 @@ static bool trans_ST1_zpiz(DisasContext *s, arg_ST1_zpiz *a) /* Treat ST1_zpiz (zn[x] + imm) the same way as ST1_zprz (rn + zm[x]) * by loading the immediate into the scalar parameter. */ - imm = tcg_const_i64(a->imm << a->msz); - do_mem_zpz(s, a->rd, a->pg, a->rn, 0, imm, a->msz, true, fn); - tcg_temp_free_i64(imm); + do_mem_zpz(s, a->rd, a->pg, a->rn, 0, + tcg_constant_i64(a->imm << a->msz), a->msz, true, fn); return true; } From patchwork Thu Apr 28 14:39:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623774 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=FcL8jRsz; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kq0D43Hy8z9s2R for ; Fri, 29 Apr 2022 01:39:32 +1000 (AEST) Received: from localhost ([::1]:40620 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk6Es-0003Sk-Hi for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:39:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45638) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K3-0005dG-A7 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:48 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:33703) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5K1-0006TQ-0D for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:46 -0400 Received: by mail-wr1-x42a.google.com with SMTP id x18so7136901wrc.0 for ; Thu, 28 Apr 2022 07:40:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=CmRCgp9iP8k0YY+hOKKvzJ+UHw7n1gKJq5VZyEBUNmc=; b=FcL8jRszyoA69tIXHMBcQcgUW94Pqmqv5leqp2jLw7aMHD6WCyS/2CiC/8uUKq9xH+ kgl+HVupK5HFPWgEA3pMuF+yt9i0t3BybYWDHoppLrxSrujFaKvxH9SAq6Aa6Spv2CEO Ex+JHAuffNthFMJJdprf4Ez+yS9SKfc6KHVdfUubg2j1X4ENqDFQCPqWOZXue2vIL0YH RUMA09SyUIwhWJfd6i2mAqB3AmXb+0VPg2nYT1YqmApwTUe82UjyrUH9HQ6y07AQCz7a LDfEIQOKEDdhm1rS+wQjQIwXonwb9E4s/+ULVLiIJF2F17g66ZhI/DlgsOml1UTBJ7e9 xemQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CmRCgp9iP8k0YY+hOKKvzJ+UHw7n1gKJq5VZyEBUNmc=; b=10pGlJjVAtSm2ZdsHlivnlPDsYEHnXZym0qabXwfp17ldG3iY6D0H1pp0hu7YV02fh h5TSlaMeylTsGpjD4QQ3/KBvRJH35LshWeMhg73IsMB22NMB152NvLfUr9geGIkFNvS9 KAF/af56ourD9iL/igzQmZFZaO7obC6okDax4yN5onCyj7xT0iesmaQCPajletAumZCj 8mCVA3FiNubl/RpQw5N2YZwpRGsegmxF0s3QozG36XCg212NHAoeF27gL2GN48lUrSO5 0wwpTwTT7W5EV9GTy1DXmOLoCQN4d1kAZXrY/8pbBYCRnNO3iERQKAocLSO9GEVT7LJJ jiug== X-Gm-Message-State: AOAM532HLnzLlBOsPZwWZneD2bJyEL013E0QG5HuMi6ZnZqwxfojrmLp 34BSpG2QMJDcRYvYthiNJnfMHwN7yAJ2vA== X-Google-Smtp-Source: ABdhPJw8iAi7Vi8OpGobHPLdXqjhwp5H7IekTyiqvcddOMk76jl7x+sQSiWGjhREQMonMIF7SPdz+g== X-Received: by 2002:adf:eb11:0:b0:20a:edc7:6f89 with SMTP id s17-20020adfeb11000000b0020aedc76f89mr7603794wrn.662.1651156841749; Thu, 28 Apr 2022 07:40:41 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:41 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 43/54] target/arm: Use tcg_constant in SUBR Date: Thu, 28 Apr 2022 15:39:47 +0100 Message-Id: <20220428143958.2451229-44-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-44-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-sve.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index fcab15a6ecc..92339a19e33 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -3830,11 +3830,9 @@ static bool trans_SUBR_zzi(DisasContext *s, arg_rri_esz *a) } if (sve_access_check(s)) { unsigned vsz = vec_full_reg_size(s); - TCGv_i64 c = tcg_const_i64(a->imm); tcg_gen_gvec_2s(vec_full_reg_offset(s, a->rd), vec_full_reg_offset(s, a->rn), - vsz, vsz, c, &op[a->esz]); - tcg_temp_free_i64(c); + vsz, vsz, tcg_constant_i64(a->imm), &op[a->esz]); } return true; } From patchwork Thu Apr 28 14:39:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623755 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=rvxqPdP5; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzlG4fnBz9s2R for ; Fri, 29 Apr 2022 01:18:02 +1000 (AEST) Received: from localhost ([::1]:45068 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5u4-0000ut-Ds for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:18:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45642) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K3-0005dH-A7 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:48 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:42749) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5K1-0006TZ-0n for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:46 -0400 Received: by mail-wm1-x32e.google.com with SMTP id n126-20020a1c2784000000b0038e8af3e788so3151942wmn.1 for ; Thu, 28 Apr 2022 07:40:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=H7eZqI5jpMHgfDaczikNa3hXuP57vbNiZnPpD8eaZlg=; b=rvxqPdP5zM8pRBQATUR5jgG/IshIZJbcFaosAFu3gHbFDqliiTEofnN2QIqRVNriE8 i4Dhkja0wtafbe/f052149vV2SNAI4Q0tFaYTxSc/wMajPBlFnk3lgEIREbnWg7rpujp a9TZlGgUHbpF1jm909snQoDDxT+i0FXJnTfqoBi/DrufM/HYxuox3heSWGpmt71SdCXv yatrC7ymrAN4J1Tqzw8/U8ZAuVXfCmS86aN9MC7MICm+pM8H6epWsk36tLbT5vPw+ivI sTXkyxdkFmwO/ypo15ZQjRSinvCzhu+Nu5aK7egQLcE9vADnnEsFddYAoYxWlNw6LXK7 ruNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=H7eZqI5jpMHgfDaczikNa3hXuP57vbNiZnPpD8eaZlg=; b=FpfnGcc1jfVbSaM+Dyn0BXg9Wk+Ip9InvqW/3tBk5C1zygKv4K1AOF5yeDbck8yJvX TpUdqFs4UXExlWfweZ/7DwB/T+3oVKGgNs7w6Aar3TthNQALl6Mb+mTRUG+/EmK2b3KW INJ4Fxy5IjeLVUyHk46cOqhevBqcMLJ/RhoT51AQa3TycSLdOcpqWjjtWgedrHgdiJFd neqKG/sPlKJ1a3gmOoA4Z49N52lqhVgaFAI7hJ6RuW8yUOtEoAoGlPgB+wgKGWzO9546 CVTp710sBcuOzfHiOb774DznAFZn1QeQROV0QgBonjRvsuM8oN2JRlVz40FEli8yHx6s WRPA== X-Gm-Message-State: AOAM5320EZnsO8i6yoXD2GyjSpjzH6oWrZMm4bbYZF0ko0pBrD/u6aDv GaX56Wiq7vs7Fh80jP4eec4ESWYk8hAptQ== X-Google-Smtp-Source: ABdhPJxag/Ips4/85MCguvhU0b5rJix71J+Z+2DX45W4pLgvmBX0rX/cxrHID0vHDG+wbDaOsqXtoA== X-Received: by 2002:a05:600c:1e09:b0:390:f313:bf15 with SMTP id ay9-20020a05600c1e0900b00390f313bf15mr40619986wmb.172.1651156842589; Thu, 28 Apr 2022 07:40:42 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:42 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 44/54] target/arm: Use tcg_constant in do_zzi_{sat, ool}, do_fp_imm Date: Thu, 28 Apr 2022 15:39:48 +0100 Message-Id: <20220428143958.2451229-45-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-45-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-sve.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 92339a19e33..a684d489d2c 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -3853,9 +3853,8 @@ static bool do_zzi_sat(DisasContext *s, arg_rri_esz *a, bool u, bool d) return false; } if (sve_access_check(s)) { - TCGv_i64 val = tcg_const_i64(a->imm); - do_sat_addsub_vec(s, a->esz, a->rd, a->rn, val, u, d); - tcg_temp_free_i64(val); + do_sat_addsub_vec(s, a->esz, a->rd, a->rn, + tcg_constant_i64(a->imm), u, d); } return true; } @@ -3884,12 +3883,9 @@ static bool do_zzi_ool(DisasContext *s, arg_rri_esz *a, gen_helper_gvec_2i *fn) { if (sve_access_check(s)) { unsigned vsz = vec_full_reg_size(s); - TCGv_i64 c = tcg_const_i64(a->imm); - tcg_gen_gvec_2i_ool(vec_full_reg_offset(s, a->rd), vec_full_reg_offset(s, a->rn), - c, vsz, vsz, 0, fn); - tcg_temp_free_i64(c); + tcg_constant_i64(a->imm), vsz, vsz, 0, fn); } return true; } @@ -4520,9 +4516,8 @@ static void do_fp_scalar(DisasContext *s, int zd, int zn, int pg, bool is_fp16, static void do_fp_imm(DisasContext *s, arg_rpri_esz *a, uint64_t imm, gen_helper_sve_fp2scalar *fn) { - TCGv_i64 temp = tcg_const_i64(imm); - do_fp_scalar(s, a->rd, a->rn, a->pg, a->esz == MO_16, temp, fn); - tcg_temp_free_i64(temp); + do_fp_scalar(s, a->rd, a->rn, a->pg, a->esz == MO_16, + tcg_constant_i64(imm), fn); } #define DO_FP_IMM(NAME, name, const0, const1) \ From patchwork Thu Apr 28 14:39:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623738 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=LvkYsXNH; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzcX1VLQz9s2R for ; Fri, 29 Apr 2022 01:12:12 +1000 (AEST) Received: from localhost ([::1]:56010 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5oQ-00060l-63 for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:12:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45664) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K4-0005dK-48 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:48 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:55012) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5K1-0006Tk-KL for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:47 -0400 Received: by mail-wm1-x32f.google.com with SMTP id bg25so3069067wmb.4 for ; Thu, 28 Apr 2022 07:40:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=mAowNSL4X4VULHaXzhATQEymmitY5zLiD+ZgpDe4khk=; b=LvkYsXNHjXlBMfvGpY330jprSbZv03wJhbhJMY2atfu5VmQU/EXtCCYlyj4k7YFYYa 9smedINNLesewgKmIqAovPJEMEuzOv36TrzmayH6LrNImuqZm6Tkq0czaY8nVUqWl87Y uTlcd3JZs1YYhQpbKfpX1GV3gS+Ko2nCeHR9SfofesKGpp3V7veAaRE9Cd5q9jJ68Wny I6Q7XXE8EHViNLktbU5eHo4k5yvmVS2o+5vOsX/5OrHYOhNzG/PuoxrpGBx/e8kO/iQb SpCqcSG/E5cchEV3S5m04/WXaTSkHLYX3SpYkXL2qkuJ1QH8R4V+FyCNE97+4Uswrl/Z QhJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mAowNSL4X4VULHaXzhATQEymmitY5zLiD+ZgpDe4khk=; b=GdLZd658T/TGREhoRTv0W82PsyFMTfhlFJUrA/4OQS6XDuyYvnsxrdYegzQb3jE84Q 0jQMKEs6cXZX6liXNrA8iICuUpRulxHkoXSBoUS3OqpT6OomzFCmubdPjebw9C6g5OjF QqyOxZ1b3pNXdYePgorD5KEDs5vK0/HcDwGjsraI20RpQv2h+uuLCTHe5LLH4YXTbX1T M4Y4ptYpB+Db/5JSQjjOqmr/vWc1t0f1JUE84Rgg1WxEySjgERLf0f623cT4huRkua10 Spb/52qgEsI9bJPkmqeD2ttoOMu2XfIJrJpwvtUkyoxYLUjR74pWgYkJG5Q4oOlB+zWP zK6Q== X-Gm-Message-State: AOAM530O7l8m7S2U/4qDAS+x6SJPbIQUQ5Ex0coxyCy/a4btKfYRjaKh QuvL7bEo3B7x+Sy3KFFirz/Bvi2Ifhrj/A== X-Google-Smtp-Source: ABdhPJza6b3ZE+/E83M/TP5ytgcAsPjCo49hJst53pWtDrCJ/dEER/3TDun9Edfl2IBKlMWJk7uM1w== X-Received: by 2002:a05:600c:3503:b0:38f:fbd7:1f0d with SMTP id h3-20020a05600c350300b0038ffbd71f0dmr30869095wmq.170.1651156843352; Thu, 28 Apr 2022 07:40:43 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:42 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 45/54] target/arm: Use tcg_constant for predicate descriptors Date: Thu, 28 Apr 2022 15:39:49 +0100 Message-Id: <20220428143958.2451229-46-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson In these cases, 't' did double-duty as zero source and temporary destination. Split the two uses. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-46-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-sve.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index a684d489d2c..e812f910cec 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -282,13 +282,12 @@ static void do_predtest(DisasContext *s, int dofs, int gofs, int words) { TCGv_ptr dptr = tcg_temp_new_ptr(); TCGv_ptr gptr = tcg_temp_new_ptr(); - TCGv_i32 t; + TCGv_i32 t = tcg_temp_new_i32(); tcg_gen_addi_ptr(dptr, cpu_env, dofs); tcg_gen_addi_ptr(gptr, cpu_env, gofs); - t = tcg_const_i32(words); - gen_helper_sve_predtest(t, dptr, gptr, t); + gen_helper_sve_predtest(t, dptr, gptr, tcg_constant_i32(words)); tcg_temp_free_ptr(dptr); tcg_temp_free_ptr(gptr); @@ -1880,9 +1879,9 @@ static bool do_pfirst_pnext(DisasContext *s, arg_rr_esz *a, tcg_gen_addi_ptr(t_pd, cpu_env, pred_full_reg_offset(s, a->rd)); tcg_gen_addi_ptr(t_pg, cpu_env, pred_full_reg_offset(s, a->rn)); - t = tcg_const_i32(desc); + t = tcg_temp_new_i32(); - gen_fn(t, t_pd, t_pg, t); + gen_fn(t, t_pd, t_pg, tcg_constant_i32(desc)); tcg_temp_free_ptr(t_pd); tcg_temp_free_ptr(t_pg); @@ -3176,7 +3175,7 @@ static bool do_ppzz_flags(DisasContext *s, arg_rprr_esz *a, } vsz = vec_full_reg_size(s); - t = tcg_const_i32(simd_desc(vsz, vsz, 0)); + t = tcg_temp_new_i32(); pd = tcg_temp_new_ptr(); zn = tcg_temp_new_ptr(); zm = tcg_temp_new_ptr(); @@ -3187,7 +3186,7 @@ static bool do_ppzz_flags(DisasContext *s, arg_rprr_esz *a, tcg_gen_addi_ptr(zm, cpu_env, vec_full_reg_offset(s, a->rm)); tcg_gen_addi_ptr(pg, cpu_env, pred_full_reg_offset(s, a->pg)); - gen_fn(t, pd, zn, zm, pg, t); + gen_fn(t, pd, zn, zm, pg, tcg_constant_i32(simd_desc(vsz, vsz, 0))); tcg_temp_free_ptr(pd); tcg_temp_free_ptr(zn); @@ -3261,7 +3260,7 @@ static bool do_ppzi_flags(DisasContext *s, arg_rpri_esz *a, } vsz = vec_full_reg_size(s); - t = tcg_const_i32(simd_desc(vsz, vsz, a->imm)); + t = tcg_temp_new_i32(); pd = tcg_temp_new_ptr(); zn = tcg_temp_new_ptr(); pg = tcg_temp_new_ptr(); @@ -3270,7 +3269,7 @@ static bool do_ppzi_flags(DisasContext *s, arg_rpri_esz *a, tcg_gen_addi_ptr(zn, cpu_env, vec_full_reg_offset(s, a->rn)); tcg_gen_addi_ptr(pg, cpu_env, pred_full_reg_offset(s, a->pg)); - gen_fn(t, pd, zn, pg, t); + gen_fn(t, pd, zn, pg, tcg_constant_i32(simd_desc(vsz, vsz, a->imm))); tcg_temp_free_ptr(pd); tcg_temp_free_ptr(zn); From patchwork Thu Apr 28 14:39:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623777 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=dze3nTXI; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kq0Hw3wXFz9s2R for ; Fri, 29 Apr 2022 01:42:52 +1000 (AEST) Received: from localhost ([::1]:46854 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk6I6-0007jq-Hm for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:42:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45654) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K3-0005dJ-TH for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:48 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:47054) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5K1-0006Tt-IJ for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:47 -0400 Received: by mail-wm1-x332.google.com with SMTP id l62-20020a1c2541000000b0038e4570af2fso3145324wml.5 for ; Thu, 28 Apr 2022 07:40:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=pp+MeYmQk1zNk7v2sc9vGVu3KgT0qTw/3mvI4uD1rnc=; b=dze3nTXIgA8490/XxNrWTRnvrxU3M8Z3w9UAPBiBClIF2QDEb1C7m91yB78CMceOrA 4jsN4YDvGTH2z8ZjklxJNHZ8wCjg/YQ9Y35OdyqAP3VHN0+Sy/IraOZgpHMQQ4Yiout5 Di02fuHBRxP6a7/kS2hEPJZFn3XE3KDBBwFWyQ/gVOjXDIh2jrWCl6rI59xqHTrksaCb fcK2DOcAVjJ+euW66NiwEtfmhmEF7fsXGy/uuK8XwAZsl2P98Hyfr57c3ZojlgC7mvwz Xa5AxQnHqnz00C7LHjDabHAgIYuMHtB4T9H7U0AcWNoctznDTIMcLQvrk/XueH6xvm+K SOHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pp+MeYmQk1zNk7v2sc9vGVu3KgT0qTw/3mvI4uD1rnc=; b=xaTM2fTQ5agcjKS4KpcH0kI9iWouIOxcgLvrvGTtnT8/lbOvGE5QHWtmxLENZoX8JN eLiiCwHQLq2SuWEtoqudQI0+L08ZRhQGIHHIMRGS96i0jfAqzW593Xz0Ovm0UFGz44lP 30Uy/m9L3M1SGbpy8i0Tzly9Jyo+2VIDegP5tHuNSHyWQoCzr3fdhH0R1L5XpAR1WhJM ph1QMYzC1nVYrTP5/ZDP9fu4+b7sPbYa3ijI9DdBe3yfDRGTrgqXvKq+ycMZ6X5VoJjV cJa+slrOZVS33Gbana0K0j9ACFVme57Wxo98RjKX2sQg7owSTd3A37cE3DNSQ0vFUE9t xMsg== X-Gm-Message-State: AOAM530gRQxVs9lEDrpn4Haoh0Hk2e3l2u4z6OvdHN/DD8XdPcNPUVEt rc0cw02T8H0bxgIejrRITfvA+cYfJVJaxg== X-Google-Smtp-Source: ABdhPJzYQpxpRf0hFHhOElItm0/Tiy96OY9jLv3rINtnnc0aF6a2jPYp6t7y8i8jmJZMg3tbCS2b+w== X-Received: by 2002:a05:600c:3493:b0:38e:bbbb:26f7 with SMTP id a19-20020a05600c349300b0038ebbbb26f7mr31163333wmq.114.1651156844165; Thu, 28 Apr 2022 07:40:44 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:43 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 46/54] target/arm: Use tcg_constant for do_brk{2,3} Date: Thu, 28 Apr 2022 15:39:50 +0100 Message-Id: <20220428143958.2451229-47-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson In these cases, 't' did double-duty as zero source and temporary destination. Split the two uses and narrow the scope of the temp. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-47-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-sve.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index e812f910cec..82bf094447b 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -3322,7 +3322,7 @@ static bool do_brk3(DisasContext *s, arg_rprr_s *a, TCGv_ptr n = tcg_temp_new_ptr(); TCGv_ptr m = tcg_temp_new_ptr(); TCGv_ptr g = tcg_temp_new_ptr(); - TCGv_i32 t = tcg_const_i32(FIELD_DP32(0, PREDDESC, OPRSZ, vsz)); + TCGv_i32 desc = tcg_constant_i32(FIELD_DP32(0, PREDDESC, OPRSZ, vsz)); tcg_gen_addi_ptr(d, cpu_env, pred_full_reg_offset(s, a->rd)); tcg_gen_addi_ptr(n, cpu_env, pred_full_reg_offset(s, a->rn)); @@ -3330,16 +3330,17 @@ static bool do_brk3(DisasContext *s, arg_rprr_s *a, tcg_gen_addi_ptr(g, cpu_env, pred_full_reg_offset(s, a->pg)); if (a->s) { - fn_s(t, d, n, m, g, t); + TCGv_i32 t = tcg_temp_new_i32(); + fn_s(t, d, n, m, g, desc); do_pred_flags(t); + tcg_temp_free_i32(t); } else { - fn(d, n, m, g, t); + fn(d, n, m, g, desc); } tcg_temp_free_ptr(d); tcg_temp_free_ptr(n); tcg_temp_free_ptr(m); tcg_temp_free_ptr(g); - tcg_temp_free_i32(t); return true; } @@ -3356,22 +3357,23 @@ static bool do_brk2(DisasContext *s, arg_rpr_s *a, TCGv_ptr d = tcg_temp_new_ptr(); TCGv_ptr n = tcg_temp_new_ptr(); TCGv_ptr g = tcg_temp_new_ptr(); - TCGv_i32 t = tcg_const_i32(FIELD_DP32(0, PREDDESC, OPRSZ, vsz)); + TCGv_i32 desc = tcg_constant_i32(FIELD_DP32(0, PREDDESC, OPRSZ, vsz)); tcg_gen_addi_ptr(d, cpu_env, pred_full_reg_offset(s, a->rd)); tcg_gen_addi_ptr(n, cpu_env, pred_full_reg_offset(s, a->rn)); tcg_gen_addi_ptr(g, cpu_env, pred_full_reg_offset(s, a->pg)); if (a->s) { - fn_s(t, d, n, g, t); + TCGv_i32 t = tcg_temp_new_i32(); + fn_s(t, d, n, g, desc); do_pred_flags(t); + tcg_temp_free_i32(t); } else { - fn(d, n, g, t); + fn(d, n, g, desc); } tcg_temp_free_ptr(d); tcg_temp_free_ptr(n); tcg_temp_free_ptr(g); - tcg_temp_free_i32(t); return true; } From patchwork Thu Apr 28 14:39:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623780 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=be9mdKbC; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kq0SZ1qPpz9s2R for ; Fri, 29 Apr 2022 01:50:20 +1000 (AEST) Received: from localhost ([::1]:60338 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk6PJ-0000LR-8X for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:50:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45682) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K5-0005dT-2W for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:50 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:44895) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5K2-0006UG-LY for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:48 -0400 Received: by mail-wm1-x32c.google.com with SMTP id r11-20020a05600c35cb00b0039409c1111bso2200907wmq.3 for ; Thu, 28 Apr 2022 07:40:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=I7dhZpqRmVoOiM4gO+mO243SAujzT4dq/qQ3CV6JHoM=; b=be9mdKbCVG4ki535afOGw9Km3kokcXRCXmJDPqcfMffy4QYPLUsiTOIcjqdR/0bcKv aZyLv5DzoXPjP7iIfT3bIhaTICcMKUWnxqSr9DuJk7GBauuBxVnhDTfVrpLz+w7GpnU5 OTp/f6FMOJOlWQZ8MDsG2hjCXxEXiG9vvKVToS2KUSmQYP6Af78YDsHtu2pXqnIQnLAt msSxJMigb9/8qJhx1yLY8DZnuMhmN1fMGhfpZwtl8Fn1EIQ19rfkNhoXn168tU54IZJP TTasbNlEPYkLZk87AqpbGPj6nW/nsBsFLhtJ+K7OmoLrAojxY/+MZyUwU8Z4m/Y+++m1 JRJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=I7dhZpqRmVoOiM4gO+mO243SAujzT4dq/qQ3CV6JHoM=; b=cA5sWM0tiF84wC1TEzQaO7B4Qq5M5OVoAZ8O3XN/CUDk1SY83f4jIKSNsZAzd9Qzoo devsyo0lHD3NBgdZGY7zIFB5U7TcLFmlJv7ezsRog5A9g4TpvnOEEAbTdUZwmOdAcEuB 8ocoW/nejc0FASawajJRm0NDKjdt1bIyeUfXF5FrWdnc9pUZBYfjr5dzLIJsVgtKlJcJ 6O8t2mjGFkNMrmBE7wuryOoihTLLooOQ7UPCXp2jC31juy6V2TKKz0rUh3IK0jkx/dom 0yjsj6yqvgjYygUa7o2L6FpoUXNRuaoSEi3+8jYiU32AlpzzyJafBx0gmxRY5SyMQKOI 2lWg== X-Gm-Message-State: AOAM531AAZ4BKlHoZgsMzxCLxTK9by6EIPHNb4d3w11sxE0m+Gw24wPc 1p513wWIZ8mKIVc6zGvCKYaNKmJI+zGAdw== X-Google-Smtp-Source: ABdhPJw/MN8BHKjuJonUgX2750IFxUkj9LnziuQVQVjuhOmCaFH79uuM4LzzC9M4ZkG5/xChhdmpsA== X-Received: by 2002:a7b:c84f:0:b0:393:e729:e670 with SMTP id c15-20020a7bc84f000000b00393e729e670mr22830214wml.153.1651156845183; Thu, 28 Apr 2022 07:40:45 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:44 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 47/54] target/arm: Use tcg_constant for vector descriptor Date: Thu, 28 Apr 2022 15:39:51 +0100 Message-Id: <20220428143958.2451229-48-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220426163043.100432-48-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/translate-sve.c | 54 ++++++++++---------------------------- 1 file changed, 14 insertions(+), 40 deletions(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 82bf094447b..dd4a5b23ab6 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -888,7 +888,7 @@ static bool do_vpz_ool(DisasContext *s, arg_rpr_esz *a, return true; } - desc = tcg_const_i32(simd_desc(vsz, vsz, 0)); + desc = tcg_constant_i32(simd_desc(vsz, vsz, 0)); temp = tcg_temp_new_i64(); t_zn = tcg_temp_new_ptr(); t_pg = tcg_temp_new_ptr(); @@ -898,7 +898,6 @@ static bool do_vpz_ool(DisasContext *s, arg_rpr_esz *a, fn(temp, t_zn, t_pg, desc); tcg_temp_free_ptr(t_zn); tcg_temp_free_ptr(t_pg); - tcg_temp_free_i32(desc); write_fp_dreg(s, a->rd, temp); tcg_temp_free_i64(temp); @@ -1235,7 +1234,7 @@ static void do_index(DisasContext *s, int esz, int rd, TCGv_i64 start, TCGv_i64 incr) { unsigned vsz = vec_full_reg_size(s); - TCGv_i32 desc = tcg_const_i32(simd_desc(vsz, vsz, 0)); + TCGv_i32 desc = tcg_constant_i32(simd_desc(vsz, vsz, 0)); TCGv_ptr t_zd = tcg_temp_new_ptr(); tcg_gen_addi_ptr(t_zd, cpu_env, vec_full_reg_offset(s, rd)); @@ -1259,7 +1258,6 @@ static void do_index(DisasContext *s, int esz, int rd, tcg_temp_free_i32(i32); } tcg_temp_free_ptr(t_zd); - tcg_temp_free_i32(desc); } static bool trans_INDEX_ii(DisasContext *s, arg_INDEX_ii *a) @@ -1988,7 +1986,7 @@ static void do_sat_addsub_vec(DisasContext *s, int esz, int rd, int rn, nptr = tcg_temp_new_ptr(); tcg_gen_addi_ptr(dptr, cpu_env, vec_full_reg_offset(s, rd)); tcg_gen_addi_ptr(nptr, cpu_env, vec_full_reg_offset(s, rn)); - desc = tcg_const_i32(simd_desc(vsz, vsz, 0)); + desc = tcg_constant_i32(simd_desc(vsz, vsz, 0)); switch (esz) { case MO_8: @@ -2057,7 +2055,6 @@ static void do_sat_addsub_vec(DisasContext *s, int esz, int rd, int rn, tcg_temp_free_ptr(dptr); tcg_temp_free_ptr(nptr); - tcg_temp_free_i32(desc); } static bool trans_CNT_r(DisasContext *s, arg_CNT_r *a) @@ -2233,7 +2230,7 @@ static void do_cpy_m(DisasContext *s, int esz, int rd, int rn, int pg, gen_helper_sve_cpy_m_s, gen_helper_sve_cpy_m_d, }; unsigned vsz = vec_full_reg_size(s); - TCGv_i32 desc = tcg_const_i32(simd_desc(vsz, vsz, 0)); + TCGv_i32 desc = tcg_constant_i32(simd_desc(vsz, vsz, 0)); TCGv_ptr t_zd = tcg_temp_new_ptr(); TCGv_ptr t_zn = tcg_temp_new_ptr(); TCGv_ptr t_pg = tcg_temp_new_ptr(); @@ -2247,7 +2244,6 @@ static void do_cpy_m(DisasContext *s, int esz, int rd, int rn, int pg, tcg_temp_free_ptr(t_zd); tcg_temp_free_ptr(t_zn); tcg_temp_free_ptr(t_pg); - tcg_temp_free_i32(desc); } static bool trans_FCPY(DisasContext *s, arg_FCPY *a) @@ -2390,7 +2386,7 @@ static void do_insr_i64(DisasContext *s, arg_rrr_esz *a, TCGv_i64 val) gen_helper_sve_insr_s, gen_helper_sve_insr_d, }; unsigned vsz = vec_full_reg_size(s); - TCGv_i32 desc = tcg_const_i32(simd_desc(vsz, vsz, 0)); + TCGv_i32 desc = tcg_constant_i32(simd_desc(vsz, vsz, 0)); TCGv_ptr t_zd = tcg_temp_new_ptr(); TCGv_ptr t_zn = tcg_temp_new_ptr(); @@ -2401,7 +2397,6 @@ static void do_insr_i64(DisasContext *s, arg_rrr_esz *a, TCGv_i64 val) tcg_temp_free_ptr(t_zd); tcg_temp_free_ptr(t_zn); - tcg_temp_free_i32(desc); } static bool trans_INSR_f(DisasContext *s, arg_rrr_esz *a) @@ -2520,7 +2515,6 @@ static bool do_perm_pred3(DisasContext *s, arg_rrr_esz *a, bool high_odd, TCGv_ptr t_d = tcg_temp_new_ptr(); TCGv_ptr t_n = tcg_temp_new_ptr(); TCGv_ptr t_m = tcg_temp_new_ptr(); - TCGv_i32 t_desc; uint32_t desc = 0; desc = FIELD_DP32(desc, PREDDESC, OPRSZ, vsz); @@ -2530,14 +2524,12 @@ static bool do_perm_pred3(DisasContext *s, arg_rrr_esz *a, bool high_odd, tcg_gen_addi_ptr(t_d, cpu_env, pred_full_reg_offset(s, a->rd)); tcg_gen_addi_ptr(t_n, cpu_env, pred_full_reg_offset(s, a->rn)); tcg_gen_addi_ptr(t_m, cpu_env, pred_full_reg_offset(s, a->rm)); - t_desc = tcg_const_i32(desc); - fn(t_d, t_n, t_m, t_desc); + fn(t_d, t_n, t_m, tcg_constant_i32(desc)); tcg_temp_free_ptr(t_d); tcg_temp_free_ptr(t_n); tcg_temp_free_ptr(t_m); - tcg_temp_free_i32(t_desc); return true; } @@ -2551,7 +2543,6 @@ static bool do_perm_pred2(DisasContext *s, arg_rr_esz *a, bool high_odd, unsigned vsz = pred_full_reg_size(s); TCGv_ptr t_d = tcg_temp_new_ptr(); TCGv_ptr t_n = tcg_temp_new_ptr(); - TCGv_i32 t_desc; uint32_t desc = 0; tcg_gen_addi_ptr(t_d, cpu_env, pred_full_reg_offset(s, a->rd)); @@ -2560,11 +2551,9 @@ static bool do_perm_pred2(DisasContext *s, arg_rr_esz *a, bool high_odd, desc = FIELD_DP32(desc, PREDDESC, OPRSZ, vsz); desc = FIELD_DP32(desc, PREDDESC, ESZ, a->esz); desc = FIELD_DP32(desc, PREDDESC, DATA, high_odd); - t_desc = tcg_const_i32(desc); - fn(t_d, t_n, t_desc); + fn(t_d, t_n, tcg_constant_i32(desc)); - tcg_temp_free_i32(t_desc); tcg_temp_free_ptr(t_d); tcg_temp_free_ptr(t_n); return true; @@ -2766,18 +2755,15 @@ static void find_last_active(DisasContext *s, TCGv_i32 ret, int esz, int pg) * round up, as we do elsewhere, because we need the exact size. */ TCGv_ptr t_p = tcg_temp_new_ptr(); - TCGv_i32 t_desc; unsigned desc = 0; desc = FIELD_DP32(desc, PREDDESC, OPRSZ, pred_full_reg_size(s)); desc = FIELD_DP32(desc, PREDDESC, ESZ, esz); tcg_gen_addi_ptr(t_p, cpu_env, pred_full_reg_offset(s, pg)); - t_desc = tcg_const_i32(desc); - gen_helper_sve_last_active_element(ret, t_p, t_desc); + gen_helper_sve_last_active_element(ret, t_p, tcg_constant_i32(desc)); - tcg_temp_free_i32(t_desc); tcg_temp_free_ptr(t_p); } @@ -3442,19 +3428,16 @@ static void do_cntp(DisasContext *s, TCGv_i64 val, int esz, int pn, int pg) TCGv_ptr t_pn = tcg_temp_new_ptr(); TCGv_ptr t_pg = tcg_temp_new_ptr(); unsigned desc = 0; - TCGv_i32 t_desc; desc = FIELD_DP32(desc, PREDDESC, OPRSZ, psz); desc = FIELD_DP32(desc, PREDDESC, ESZ, esz); tcg_gen_addi_ptr(t_pn, cpu_env, pred_full_reg_offset(s, pn)); tcg_gen_addi_ptr(t_pg, cpu_env, pred_full_reg_offset(s, pg)); - t_desc = tcg_const_i32(desc); - gen_helper_sve_cntp(val, t_pn, t_pg, t_desc); + gen_helper_sve_cntp(val, t_pn, t_pg, tcg_constant_i32(desc)); tcg_temp_free_ptr(t_pn); tcg_temp_free_ptr(t_pg); - tcg_temp_free_i32(t_desc); } } @@ -4190,7 +4173,7 @@ static void do_reduce(DisasContext *s, arg_rpr_esz *a, { unsigned vsz = vec_full_reg_size(s); unsigned p2vsz = pow2ceil(vsz); - TCGv_i32 t_desc = tcg_const_i32(simd_desc(vsz, vsz, p2vsz)); + TCGv_i32 t_desc = tcg_constant_i32(simd_desc(vsz, vsz, p2vsz)); TCGv_ptr t_zn, t_pg, status; TCGv_i64 temp; @@ -4206,7 +4189,6 @@ static void do_reduce(DisasContext *s, arg_rpr_esz *a, tcg_temp_free_ptr(t_zn); tcg_temp_free_ptr(t_pg); tcg_temp_free_ptr(status); - tcg_temp_free_i32(t_desc); write_fp_dreg(s, a->rd, temp); tcg_temp_free_i64(temp); @@ -4383,11 +4365,10 @@ static bool trans_FADDA(DisasContext *s, arg_rprr_esz *a) tcg_gen_addi_ptr(t_rm, cpu_env, vec_full_reg_offset(s, a->rm)); tcg_gen_addi_ptr(t_pg, cpu_env, pred_full_reg_offset(s, a->pg)); t_fpst = fpstatus_ptr(a->esz == MO_16 ? FPST_FPCR_F16 : FPST_FPCR); - t_desc = tcg_const_i32(simd_desc(vsz, vsz, 0)); + t_desc = tcg_constant_i32(simd_desc(vsz, vsz, 0)); fns[a->esz - 1](t_val, t_val, t_rm, t_pg, t_fpst, t_desc); - tcg_temp_free_i32(t_desc); tcg_temp_free_ptr(t_fpst); tcg_temp_free_ptr(t_pg); tcg_temp_free_ptr(t_rm); @@ -4504,10 +4485,9 @@ static void do_fp_scalar(DisasContext *s, int zd, int zn, int pg, bool is_fp16, tcg_gen_addi_ptr(t_pg, cpu_env, pred_full_reg_offset(s, pg)); status = fpstatus_ptr(is_fp16 ? FPST_FPCR_F16 : FPST_FPCR); - desc = tcg_const_i32(simd_desc(vsz, vsz, 0)); + desc = tcg_constant_i32(simd_desc(vsz, vsz, 0)); fn(t_zd, t_zn, t_pg, scalar, status, desc); - tcg_temp_free_i32(desc); tcg_temp_free_ptr(status); tcg_temp_free_ptr(t_pg); tcg_temp_free_ptr(t_zn); @@ -5265,7 +5245,6 @@ static void do_mem_zpa(DisasContext *s, int zt, int pg, TCGv_i64 addr, { unsigned vsz = vec_full_reg_size(s); TCGv_ptr t_pg; - TCGv_i32 t_desc; int desc = 0; /* @@ -5287,14 +5266,12 @@ static void do_mem_zpa(DisasContext *s, int zt, int pg, TCGv_i64 addr, } desc = simd_desc(vsz, vsz, zt | desc); - t_desc = tcg_const_i32(desc); t_pg = tcg_temp_new_ptr(); tcg_gen_addi_ptr(t_pg, cpu_env, pred_full_reg_offset(s, pg)); - fn(cpu_env, t_pg, addr, t_desc); + fn(cpu_env, t_pg, addr, tcg_constant_i32(desc)); tcg_temp_free_ptr(t_pg); - tcg_temp_free_i32(t_desc); } /* Indexed by [mte][be][dtype][nreg] */ @@ -6037,7 +6014,6 @@ static void do_mem_zpz(DisasContext *s, int zt, int pg, int zm, TCGv_ptr t_zm = tcg_temp_new_ptr(); TCGv_ptr t_pg = tcg_temp_new_ptr(); TCGv_ptr t_zt = tcg_temp_new_ptr(); - TCGv_i32 t_desc; int desc = 0; if (s->mte_active[0]) { @@ -6049,17 +6025,15 @@ static void do_mem_zpz(DisasContext *s, int zt, int pg, int zm, desc <<= SVE_MTEDESC_SHIFT; } desc = simd_desc(vsz, vsz, desc | scale); - t_desc = tcg_const_i32(desc); tcg_gen_addi_ptr(t_pg, cpu_env, pred_full_reg_offset(s, pg)); tcg_gen_addi_ptr(t_zm, cpu_env, vec_full_reg_offset(s, zm)); tcg_gen_addi_ptr(t_zt, cpu_env, vec_full_reg_offset(s, zt)); - fn(cpu_env, t_zt, t_pg, t_zm, scalar, t_desc); + fn(cpu_env, t_zt, t_pg, t_zm, scalar, tcg_constant_i32(desc)); tcg_temp_free_ptr(t_zt); tcg_temp_free_ptr(t_zm); tcg_temp_free_ptr(t_pg); - tcg_temp_free_i32(t_desc); } /* Indexed by [mte][be][ff][xs][u][msz]. */ From patchwork Thu Apr 28 14:39:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623779 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=hGibfx6Z; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kq0P03cWFz9s2R for ; Fri, 29 Apr 2022 01:47:16 +1000 (AEST) Received: from localhost ([::1]:53188 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk6MK-0003kt-Qg for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:47:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45680) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K4-0005dS-W9 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:50 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:42752) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5K3-0006VA-DD for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:48 -0400 Received: by mail-wm1-x331.google.com with SMTP id n126-20020a1c2784000000b0038e8af3e788so3152045wmn.1 for ; Thu, 28 Apr 2022 07:40:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Izmv02AEuunVtOpjJUm1/YuhI2UgDXNvJpCjfoRnjVA=; b=hGibfx6Z9FuIceKWpH5x9wULzAe+PeQHYUodqf1VKIgjg/C5WU043D4AAxXhe6A4dA m7k18NsB6USbMcxts7WdU3whlDrg4sXp93Lkfxw90v/BA4oYphmA7Rqj1U7KCMMwmSwO RGKRYs7tzYdjJiN4RFFcv/lUYjPHI8VzKpVFf1SPu10nxcdtiTAHwqve++KAjIZ51d1q uToOFlUfDz23elJjyIedBx9w590HrN1Kul7lAiRyr8rhoj2IB68sDFJpnsI4wsetkyyG 5PxhuUeWgVOciSxA4+ThO6MUKoUHbelXoQ5sa6lFGxxOinZNcS0gGAySWGlAz00ByBrK nHgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Izmv02AEuunVtOpjJUm1/YuhI2UgDXNvJpCjfoRnjVA=; b=l0of3EM6Eao1+h3pcqAT+uL3YrG6Og1wF9yRhiM5d8QLb67a/AtCJkdxnDtb9b6S8a qH0RITUVb6ZE9cVtyaElkj5zgPeePUS7yQ/Js5dpjH3aOJIDaC7+9mSRPKm8XVGkWVcs XssWQhpNkwLnsikOCNAf2BT0gJkbSWHpJi2+KZ30RgtwCYaeOkUQatz/AF2ervJ/TsJX RbXURqcRsr5jlHZEo1BC1ZIF0Cpc0OE2ecgTJ6Ubzt1Rw0KOvDWiFa1vwGcUnXwG5cLF fMF+Y6eX9LBjUx6978TVSH5Xk3jt7tGT8KB5CwD5zy9njPYJvOFAub+Xlt+mLkOu9n0x 5Iuw== X-Gm-Message-State: AOAM531MOaAw41ZWH8i+KwSGMNEdPR4LC9dMoYh1JL0UcdySpls+cbwb 2EcMB+VBgKEZnsWLpQc6+hCLFBAJNzc81A== X-Google-Smtp-Source: ABdhPJz7M/wQlpVJoIZffH0/hcKJOvHVWKXwSZuyNHIE4AVKS26beeSO7FkWP800/xfFPhcmM8Tg3Q== X-Received: by 2002:a05:600c:3b27:b0:393:ee55:5682 with SMTP id m39-20020a05600c3b2700b00393ee555682mr17099090wms.3.1651156846017; Thu, 28 Apr 2022 07:40:46 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:45 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 48/54] target/arm: Disable cryptographic instructions when neon is disabled Date: Thu, 28 Apr 2022 15:39:52 +0100 Message-Id: <20220428143958.2451229-49-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Damien Hedde As of now, cryptographic instructions ISAR fields are never cleared so we can end up with a cpu with cryptographic instructions but no floating-point/neon instructions which is not a possible configuration according to Arm specifications. In QEMU, we have 3 kinds of cpus regarding cryptographic instructions: + no support + cortex-a57/a72: cryptographic extension is optional, floating-point/neon is not. + cortex-a53: crytographic extension is optional as well as floating-point/neon. But cryptographic requires floating-point/neon support. Therefore we can safely clear the ISAR fields when neon is disabled. Note that other Arm cpus seem to follow this. For example cortex-a55 is like cortex-a53 and cortex-a76/cortex-a710 are like cortex-a57/a72. Signed-off-by: Damien Hedde Reviewed-by: Richard Henderson Message-id: 20220427090117.6954-1-damien.hedde@greensocs.com [PMM: fixed commit message typos] Signed-off-by: Peter Maydell --- target/arm/cpu.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index e3f82152035..e46a766d770 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -1587,6 +1587,12 @@ static void arm_cpu_realizefn(DeviceState *dev, Error **errp) unset_feature(env, ARM_FEATURE_NEON); t = cpu->isar.id_aa64isar0; + t = FIELD_DP64(t, ID_AA64ISAR0, AES, 0); + t = FIELD_DP64(t, ID_AA64ISAR0, SHA1, 0); + t = FIELD_DP64(t, ID_AA64ISAR0, SHA2, 0); + t = FIELD_DP64(t, ID_AA64ISAR0, SHA3, 0); + t = FIELD_DP64(t, ID_AA64ISAR0, SM3, 0); + t = FIELD_DP64(t, ID_AA64ISAR0, SM4, 0); t = FIELD_DP64(t, ID_AA64ISAR0, DP, 0); cpu->isar.id_aa64isar0 = t; @@ -1601,6 +1607,9 @@ static void arm_cpu_realizefn(DeviceState *dev, Error **errp) cpu->isar.id_aa64pfr0 = t; u = cpu->isar.id_isar5; + u = FIELD_DP32(u, ID_ISAR5, AES, 0); + u = FIELD_DP32(u, ID_ISAR5, SHA1, 0); + u = FIELD_DP32(u, ID_ISAR5, SHA2, 0); u = FIELD_DP32(u, ID_ISAR5, RDM, 0); u = FIELD_DP32(u, ID_ISAR5, VCMA, 0); cpu->isar.id_isar5 = u; From patchwork Thu Apr 28 14:39:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623758 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=kw///7V2; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpzmr2GPmz9s2R for ; Fri, 29 Apr 2022 01:19:24 +1000 (AEST) Received: from localhost ([::1]:49238 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5vO-0003jO-6H for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:19:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45698) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K6-0005dr-6L for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:50 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:36503) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5K4-0006VR-EJ for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:49 -0400 Received: by mail-wr1-x434.google.com with SMTP id u3so7098562wrg.3 for ; Thu, 28 Apr 2022 07:40:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=mYyODwFcMHLdN9TkUuzBBFcMGJ14nt1LpKq9Utsp+38=; b=kw///7V2s7mfLTcZjEAa9r1DEw93Lra5NsRZn+Ik2MTM5OoWdk2lPHb5U1oaGFsfs+ AG6dt1OSfMFbEKh8UKeXrhzlomjXvnDSmuDD7nvUvJ7iD5fdBspbbHqn0APUAldTM1Vu tR/Uo5Z9lErhQM5IqZDmwNu2k6opW9nkPRhz0mCG+A11vabAAz9WhHhuA/Uf5JWzsnmz SNJIQerXDNWyeUCfEJPRJHqIYADRxUdFI73kAw4YQw53hcVxIYFsCc5SL15gcUHFof5s UHVdHZgKjPVoUxU0gfdatWPTyBPQHdUHV1yZ1cyIIISIImRirxvdk/5wfvTJobP1Yy5N mQzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mYyODwFcMHLdN9TkUuzBBFcMGJ14nt1LpKq9Utsp+38=; b=MzRL2XtGZmBnLdTcBAtML9cAnQI+NtPvwVHKQiy+VPvQS6nMbdkullpA+uewPn32c0 tBBylqUeNs/8vgWdX/iNZEmJ26vEdESwL9ptG+wZqL6kMqDx9Cnp5lkWM/6XMo9kaATc HeBJakY2cuT2t/dJ8h5mBrWiH8DXIRIf9pESXVvG/jA/sWAblIdG1G89F8k6DZKEsyrW ZQT7bJv9TAzSVp/4Q6ADL1znIJjV9lOgXy5RRwBnMReO01/yIjvjhka/5zUMchdMhl8D CZcAGG7lNTllcKYWT6pVQ6R5NmJLHtswIzfw/LZP7kUQxe1D9YeSJHKux3jJ8Tuo8oXv CH4g== X-Gm-Message-State: AOAM5315LknYoIaJmktyXZLYh4krQErAlkDT3USgE9mqnm1K3vQPgN5S 4ozs5RO0Gp2KuzCr27vtPryp/+SblKIKKQ== X-Google-Smtp-Source: ABdhPJyZNvADBvFlcI6Fj+RxM4NMUALAIdXWSq+MECO69BnL3E/dSAF65k5pMT63YoMTee+qoLq9OQ== X-Received: by 2002:a5d:6d89:0:b0:20a:9beb:9477 with SMTP id l9-20020a5d6d89000000b0020a9beb9477mr26265827wrs.142.1651156847083; Thu, 28 Apr 2022 07:40:47 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:46 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 49/54] target/arm: Use field names for accessing DBGWCRn Date: Thu, 28 Apr 2022 15:39:53 +0100 Message-Id: <20220428143958.2451229-50-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson While defining these names, use the correct field width of 5 not 4 for DBGWCR.MASK. This typo prevented setting a watchpoint larger than 32k. Reported-by: Chris Howard Signed-off-by: Richard Henderson Reviewed-by: Alex BennĂ©e Message-id: 20220427051926.295223-1-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/internals.h | 12 ++++++++++++ target/arm/debug_helper.c | 10 +++++----- target/arm/helper.c | 8 ++++---- target/arm/kvm64.c | 14 +++++++------- 4 files changed, 28 insertions(+), 16 deletions(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index 9556e3b29e4..255833479d4 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -81,6 +81,18 @@ FIELD(V7M_EXCRET, RES1, 7, 25) /* including the must-be-1 prefix */ */ #define FNC_RETURN_MIN_MAGIC 0xfefffffe +/* Bit definitions for DBGWCRn and DBGWCRn_EL1 */ +FIELD(DBGWCR, E, 0, 1) +FIELD(DBGWCR, PAC, 1, 2) +FIELD(DBGWCR, LSC, 3, 2) +FIELD(DBGWCR, BAS, 5, 8) +FIELD(DBGWCR, HMC, 13, 1) +FIELD(DBGWCR, SSC, 14, 2) +FIELD(DBGWCR, LBN, 16, 4) +FIELD(DBGWCR, WT, 20, 1) +FIELD(DBGWCR, MASK, 24, 5) +FIELD(DBGWCR, SSCE, 29, 1) + /* We use a few fake FSR values for internal purposes in M profile. * M profile cores don't have A/R format FSRs, but currently our * get_phys_addr() code assumes A/R profile and reports failures via diff --git a/target/arm/debug_helper.c b/target/arm/debug_helper.c index 32f3caec238..46893697cc7 100644 --- a/target/arm/debug_helper.c +++ b/target/arm/debug_helper.c @@ -143,9 +143,9 @@ static bool bp_wp_matches(ARMCPU *cpu, int n, bool is_wp) * Non-Secure to simplify the code slightly compared to the full * table in the ARM ARM. */ - pac = extract64(cr, 1, 2); - hmc = extract64(cr, 13, 1); - ssc = extract64(cr, 14, 2); + pac = FIELD_EX64(cr, DBGWCR, PAC); + hmc = FIELD_EX64(cr, DBGWCR, HMC); + ssc = FIELD_EX64(cr, DBGWCR, SSC); switch (ssc) { case 0: @@ -184,8 +184,8 @@ static bool bp_wp_matches(ARMCPU *cpu, int n, bool is_wp) g_assert_not_reached(); } - wt = extract64(cr, 20, 1); - lbn = extract64(cr, 16, 4); + wt = FIELD_EX64(cr, DBGWCR, WT); + lbn = FIELD_EX64(cr, DBGWCR, LBN); if (wt && !linked_bp_matches(cpu, lbn)) { return false; diff --git a/target/arm/helper.c b/target/arm/helper.c index 63397bbac1d..5a244c3ed93 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -6320,12 +6320,12 @@ void hw_watchpoint_update(ARMCPU *cpu, int n) env->cpu_watchpoint[n] = NULL; } - if (!extract64(wcr, 0, 1)) { + if (!FIELD_EX64(wcr, DBGWCR, E)) { /* E bit clear : watchpoint disabled */ return; } - switch (extract64(wcr, 3, 2)) { + switch (FIELD_EX64(wcr, DBGWCR, LSC)) { case 0: /* LSC 00 is reserved and must behave as if the wp is disabled */ return; @@ -6344,7 +6344,7 @@ void hw_watchpoint_update(ARMCPU *cpu, int n) * CONSTRAINED UNPREDICTABLE; we opt to ignore BAS in this case, * thus generating a watchpoint for every byte in the masked region. */ - mask = extract64(wcr, 24, 4); + mask = FIELD_EX64(wcr, DBGWCR, MASK); if (mask == 1 || mask == 2) { /* Reserved values of MASK; we must act as if the mask value was * some non-reserved value, or as if the watchpoint were disabled. @@ -6361,7 +6361,7 @@ void hw_watchpoint_update(ARMCPU *cpu, int n) wvr &= ~(len - 1); } else { /* Watchpoint covers bytes defined by the byte address select bits */ - int bas = extract64(wcr, 5, 8); + int bas = FIELD_EX64(wcr, DBGWCR, BAS); int basstart; if (extract64(wvr, 2, 1)) { diff --git a/target/arm/kvm64.c b/target/arm/kvm64.c index 17dd2f77d9f..b8cfaf5782a 100644 --- a/target/arm/kvm64.c +++ b/target/arm/kvm64.c @@ -208,7 +208,7 @@ static int insert_hw_watchpoint(target_ulong addr, target_ulong len, int type) { HWWatchpoint wp = { - .wcr = 1, /* E=1, enable */ + .wcr = R_DBGWCR_E_MASK, /* E=1, enable */ .wvr = addr & (~0x7ULL), .details = { .vaddr = addr, .len = len } }; @@ -221,19 +221,19 @@ static int insert_hw_watchpoint(target_ulong addr, * HMC=0 SSC=0 PAC=3 will hit EL0 or EL1, any security state, * valid whether EL3 is implemented or not */ - wp.wcr = deposit32(wp.wcr, 1, 2, 3); + wp.wcr = FIELD_DP64(wp.wcr, DBGWCR, PAC, 3); switch (type) { case GDB_WATCHPOINT_READ: - wp.wcr = deposit32(wp.wcr, 3, 2, 1); + wp.wcr = FIELD_DP64(wp.wcr, DBGWCR, LSC, 1); wp.details.flags = BP_MEM_READ; break; case GDB_WATCHPOINT_WRITE: - wp.wcr = deposit32(wp.wcr, 3, 2, 2); + wp.wcr = FIELD_DP64(wp.wcr, DBGWCR, LSC, 2); wp.details.flags = BP_MEM_WRITE; break; case GDB_WATCHPOINT_ACCESS: - wp.wcr = deposit32(wp.wcr, 3, 2, 3); + wp.wcr = FIELD_DP64(wp.wcr, DBGWCR, LSC, 3); wp.details.flags = BP_MEM_ACCESS; break; default: @@ -252,8 +252,8 @@ static int insert_hw_watchpoint(target_ulong addr, int bits = ctz64(len); wp.wvr &= ~((1 << bits) - 1); - wp.wcr = deposit32(wp.wcr, 24, 4, bits); - wp.wcr = deposit32(wp.wcr, 5, 8, 0xff); + wp.wcr = FIELD_DP64(wp.wcr, DBGWCR, MASK, bits); + wp.wcr = FIELD_DP64(wp.wcr, DBGWCR, BAS, 0xff); } else { return -ENOBUFS; } From patchwork Thu Apr 28 14:39:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623735 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=ayPBz7we; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzYm5Hjtz9s2R for ; Fri, 29 Apr 2022 01:09:48 +1000 (AEST) Received: from localhost ([::1]:51978 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5m5-0003I6-HL for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:09:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45736) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K7-0005gi-Tw for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:52 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]:55018) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5K5-0006Vf-UU for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:51 -0400 Received: by mail-wm1-x335.google.com with SMTP id bg25so3069218wmb.4 for ; Thu, 28 Apr 2022 07:40:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=zcbQ/6t+eYvR1xX9UosyZUxzrXgkRoMDs+Bnhnu9fZU=; b=ayPBz7wev04U0gyfsWegJY4IxoNpq8aOXEjEBJsgBXvQH19oM2o5dCs/s+pQU/A0Kd 2uVyXJzc5qyHTIgFvYrgw+6gJn50Lxt59pzjY/57cb+CV43HrGgV8BDXGZRWiFmJhKRC gaFCjea9Afe01Mwm+5jbFxovkRsB6fkx4c2gk/N7D4ZQI32glZz7BtknUflDeEzGVZfy CVHCuD/NC5YCIHCrZ1SMdLAtugYhfcLqq8KaT0VR1M+9ZA6gzshUC8L1fvKXjhBxDscc B6ZhjZtimaRBRYolcoKypT8BkP8kddhkHjy6k9NtjebFV/4GEGrdna9EDiLy4fRYlM1Q oP3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zcbQ/6t+eYvR1xX9UosyZUxzrXgkRoMDs+Bnhnu9fZU=; b=AV2gJNa4NKwoOl1q5vj9i3CxJjpCptjyjQnMEx/cOWdNsalFpRkVENDPBGdD26mWVT FHQw4stdfxiHMXHULMod7dELns/FICkzj97FNtwsAHo/AYfz3sw4pPal4WXDBJH528Fr LJaCeFLnhkLmI5jv7JkdYqduh1cbEBG2hTjPzfVBCpfa4FZW2trnoWyj8V3HT3NlxodM +azu5FeYLxfTpUqS4Rl3IGYSFXwtm5OGk6GWUVhY2x3zfzXYacID7vx3lPKqTLvUHopn thdNAw4P453fhSHMPM6B1EIbDWHaxztHFZOo7do4D1Syv3FDIVCQRPxHRofuW1LBb8/p dMWw== X-Gm-Message-State: AOAM533f3J6ncrYS0TQQPQ9m/jWO/29XU9b+VSIJU2PxApzUkDspEUXs D86xUQi1MRDsy14vHBfH5floDWUFRan8mw== X-Google-Smtp-Source: ABdhPJw7Vj7YXUOEYFk8QUG3t07P7UK13m+uCvwGYDIkF0BqabrEZVl5hUddaO1bknXy3RZpgbJbSg== X-Received: by 2002:a7b:c7c2:0:b0:394:18b:4220 with SMTP id z2-20020a7bc7c2000000b00394018b4220mr8225812wmk.118.1651156848209; Thu, 28 Apr 2022 07:40:48 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:47 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 50/54] hw/arm/smmuv3: Cache event fault record Date: Thu, 28 Apr 2022 15:39:54 +0100 Message-Id: <20220428143958.2451229-51-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Jean-Philippe Brucker The Record bit in the Context Descriptor tells the SMMU to report fault events to the event queue. Since we don't cache the Record bit at the moment, access faults from a cached Context Descriptor are never reported. Store the Record bit in the cached SMMUTransCfg. Fixes: 9bde7f0674fe ("hw/arm/smmuv3: Implement translate callback") Signed-off-by: Jean-Philippe Brucker Reviewed-by: Richard Henderson Reviewed-by: Eric Auger Message-id: 20220427111543.124620-1-jean-philippe@linaro.org Signed-off-by: Peter Maydell --- hw/arm/smmuv3-internal.h | 1 - include/hw/arm/smmu-common.h | 1 + hw/arm/smmuv3.c | 14 +++++++------- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/hw/arm/smmuv3-internal.h b/hw/arm/smmuv3-internal.h index d1885ae3f25..6de52bbf4da 100644 --- a/hw/arm/smmuv3-internal.h +++ b/hw/arm/smmuv3-internal.h @@ -387,7 +387,6 @@ typedef struct SMMUEventInfo { SMMUEventType type; uint32_t sid; bool recorded; - bool record_trans_faults; bool inval_ste_allowed; union { struct { diff --git a/include/hw/arm/smmu-common.h b/include/hw/arm/smmu-common.h index 706be3c6d0a..21e62342e92 100644 --- a/include/hw/arm/smmu-common.h +++ b/include/hw/arm/smmu-common.h @@ -71,6 +71,7 @@ typedef struct SMMUTransCfg { bool disabled; /* smmu is disabled */ bool bypassed; /* translation is bypassed */ bool aborted; /* translation is aborted */ + bool record_faults; /* record fault events */ uint64_t ttb; /* TT base address */ uint8_t oas; /* output address width */ uint8_t tbi; /* Top Byte Ignore */ diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c index 707eb430c23..8b1d8103dc8 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -527,7 +527,7 @@ static int decode_cd(SMMUTransCfg *cfg, CD *cd, SMMUEventInfo *event) trace_smmuv3_decode_cd_tt(i, tt->tsz, tt->ttb, tt->granule_sz, tt->had); } - event->record_trans_faults = CD_R(cd); + cfg->record_faults = CD_R(cd); return 0; @@ -680,7 +680,7 @@ static IOMMUTLBEntry smmuv3_translate(IOMMUMemoryRegion *mr, hwaddr addr, tt = select_tt(cfg, addr); if (!tt) { - if (event.record_trans_faults) { + if (cfg->record_faults) { event.type = SMMU_EVT_F_TRANSLATION; event.u.f_translation.addr = addr; event.u.f_translation.rnw = flag & 0x1; @@ -696,7 +696,7 @@ static IOMMUTLBEntry smmuv3_translate(IOMMUMemoryRegion *mr, hwaddr addr, if (cached_entry) { if ((flag & IOMMU_WO) && !(cached_entry->entry.perm & IOMMU_WO)) { status = SMMU_TRANS_ERROR; - if (event.record_trans_faults) { + if (cfg->record_faults) { event.type = SMMU_EVT_F_PERMISSION; event.u.f_permission.addr = addr; event.u.f_permission.rnw = flag & 0x1; @@ -720,28 +720,28 @@ static IOMMUTLBEntry smmuv3_translate(IOMMUMemoryRegion *mr, hwaddr addr, event.u.f_walk_eabt.addr2 = ptw_info.addr; break; case SMMU_PTW_ERR_TRANSLATION: - if (event.record_trans_faults) { + if (cfg->record_faults) { event.type = SMMU_EVT_F_TRANSLATION; event.u.f_translation.addr = addr; event.u.f_translation.rnw = flag & 0x1; } break; case SMMU_PTW_ERR_ADDR_SIZE: - if (event.record_trans_faults) { + if (cfg->record_faults) { event.type = SMMU_EVT_F_ADDR_SIZE; event.u.f_addr_size.addr = addr; event.u.f_addr_size.rnw = flag & 0x1; } break; case SMMU_PTW_ERR_ACCESS: - if (event.record_trans_faults) { + if (cfg->record_faults) { event.type = SMMU_EVT_F_ACCESS; event.u.f_access.addr = addr; event.u.f_access.rnw = flag & 0x1; } break; case SMMU_PTW_ERR_PERMISSION: - if (event.record_trans_faults) { + if (cfg->record_faults) { event.type = SMMU_EVT_F_PERMISSION; event.u.f_permission.addr = addr; event.u.f_permission.rnw = flag & 0x1; From patchwork Thu Apr 28 14:39:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623741 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=hIHB+9Ma; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KpzfK5SFrz9s2R for ; Fri, 29 Apr 2022 01:13:45 +1000 (AEST) Received: from localhost ([::1]:60624 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5pv-0000lB-DK for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:13:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45754) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5K8-0005hA-B8 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:54 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:43976) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5K6-0006Vs-CA for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:51 -0400 Received: by mail-wr1-x429.google.com with SMTP id v12so7062409wrv.10 for ; Thu, 28 Apr 2022 07:40:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Ih8OyvaSZbmi9jPW5nde5PZ70/g9uoxKd0lF+4LxvPw=; b=hIHB+9Ma8X1Ul6dSf2nx7QF9EL48jboZIuHk8VHj32DARr3ltMRH1MCWpmzLLSMVr4 i3i2BZDCJV5XC1pD+Vbfa+qD6u0ki3iLSGtd4yuhq7ndY/yE6P+N1xVU8MHRgYaZmNf1 X0kaonZIBwTEuH4KGQsAMKrT57s5gKzd13wOgTBMj/UekAiX8apruamy7jskex1VnoA2 asOgbeYdv1BExq5iN6gtwl7Kzk5lHIiHBM+8xS8Z378A8Ap5IdtSE2I02ZL+Azdpbi2h P18keUf4OBVj0GettWvQHtm/mGtOyRVh0zLqMnDcFgQPOXYMAx4Tys6fqQBats7e93fR mSzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Ih8OyvaSZbmi9jPW5nde5PZ70/g9uoxKd0lF+4LxvPw=; b=sV2ss/4mGAInUd9O7fsg7jyiR6kokk6ox9eCeRxq1wBk6r9N+ANzTxoIvgvmnKklK7 0OqoeioDPDbs+5XYHr0AVdKp9POejJtNILBvBonKyCb238u+4FRst6znAfz7dof5WJ0W WQzxpnSHfLVMkyZrAyfWUan0fTVIJ5XsHcu5wDq6DbpAImzs3/LN14+wlHIeExA5cOg1 dK9mtFcylFN7EaaRR+7KCy3LFJH0qIr1ziwu5IICl6kK7oda/FffjGP70DGrs7gFjGfg +EyZ8FPtndG2cN7t1l0aR7DkF3vwk5uqCIILFrzAaKGEQOMhWgKBbVXbAJHiVPnSLwzF cjFw== X-Gm-Message-State: AOAM5321fqJ1McNnpPckOnLDZK3br+6KyFIZFkDdRWL0NJ6gQ2J4FIxT IOW1lvTn/H+K7Fkk27ChtcoMR68YXR7dwA== X-Google-Smtp-Source: ABdhPJz4PCcF82jhAlaM3cidwt7jjU8KlC7lY18VikCz+D9cSMZibncKVGHoU0L/R2/44MOj3a9P2w== X-Received: by 2002:a5d:6d0d:0:b0:20a:d741:6949 with SMTP id e13-20020a5d6d0d000000b0020ad7416949mr20003015wrq.312.1651156848968; Thu, 28 Apr 2022 07:40:48 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:48 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 51/54] hw/arm/smmuv3: Add space in guest error message Date: Thu, 28 Apr 2022 15:39:55 +0100 Message-Id: <20220428143958.2451229-52-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x429.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Jean-Philippe Brucker Make the translation error message prettier by adding a missing space before the parenthesis. Signed-off-by: Jean-Philippe Brucker Reviewed-by: Richard Henderson Reviewed-by: Eric Auger Message-id: 20220427111543.124620-2-jean-philippe@linaro.org Signed-off-by: Peter Maydell --- hw/arm/smmuv3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c index 8b1d8103dc8..3a989b09cb4 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -786,7 +786,7 @@ epilogue: break; case SMMU_TRANS_ERROR: qemu_log_mask(LOG_GUEST_ERROR, - "%s translation failed for iova=0x%"PRIx64"(%s)\n", + "%s translation failed for iova=0x%"PRIx64" (%s)\n", mr->parent_obj.name, addr, smmu_event_string(event.type)); smmuv3_record_event(s, &event); break; From patchwork Thu Apr 28 14:39:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623761 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=uYiDoCZ4; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpzsg00m9z9s2R for ; Fri, 29 Apr 2022 01:23:34 +1000 (AEST) Received: from localhost ([::1]:57798 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk5zQ-0001FK-QB for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:23:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45786) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5KA-0005iA-IG for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:54 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:45712) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5K7-0006W1-6R for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:52 -0400 Received: by mail-wr1-x42b.google.com with SMTP id w4so7052008wrg.12 for ; Thu, 28 Apr 2022 07:40:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=MEaAGj6iLt4yIsAQHiKka3KAShoMnar6cQ+6N2QNY84=; b=uYiDoCZ4EBSYY2jpGfrW1jMCXgF4XMZrJxiNPD/F5Au4F0qrFwv10dGQZMn/Dop68M wuJ6sP9tjpHxmBPjPgC2ObdyJVwvLGb7W0bqxReFrnewl5iYXVPeC487QNQeuU8vegmt zrM2Q9pL1UdIPOp67gfeec6xPGRIF2c+tM3wzQ8cKj5v4W57eGFXOAFkBGhh5t67hID0 n4PgBAGtyL7kdb3OVCgLFJPkieSka6kZ6lR0dEBa3wi3RFjtcCciH5kZfzxSA91/Qt1/ z6JLm4AY+n8PsCNr1ms42DqL4sl74kkQieL1p9ebMKKf2KLKTjDjxmOLHnYQyyhrdbsD +03w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MEaAGj6iLt4yIsAQHiKka3KAShoMnar6cQ+6N2QNY84=; b=Ta9Ti7uWNjFV9yM+3bLGLwRTmEEhViGq1fdZeWCFqRYsJ0//oU/EWqa8nqj2JlYpDk vfKZWGj55sngYa6iEkkIypq6Si/IwRjZQBrwZmWx/N3lzWBxUsv7Vf2Y3Z7jxETdgZGm gGKQ5PhWJeQy/4vdV6m7iPR6t/WamcR7doV4dhdXMoVCBgegjqssz7dPGODM7RJxNA4h tFIdCha/HylAK92Aj88MyRRc+HJZnhIX3cli5JQ/1eoiQ32uvCTZTKtcvbJw64LBvPqj rSz4LEjZORcJvMweKEKkaGCicf+ISWL7dWV4lGih8/G4L6dJ9Ka9y/tt51M3w51A5N1X lUgQ== X-Gm-Message-State: AOAM532osLVLa50NnPaFA5v/c4gGSFl+V9Z62ob7ZSy3TG2QP+21mjTy Bto8X6ugz1/o1eB5yIGaTWyKA9RprXwQsA== X-Google-Smtp-Source: ABdhPJx0PW9VEhhAvgxNyJSXWSFaN1t5XBg+q5+nhQQ8Km8LRPdDjKSwbYDfjGufGmop2ccV9KmMLw== X-Received: by 2002:a5d:6949:0:b0:20a:e021:f8e0 with SMTP id r9-20020a5d6949000000b0020ae021f8e0mr14516635wrw.231.1651156849757; Thu, 28 Apr 2022 07:40:49 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:49 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 52/54] target/arm: Advertise support for FEAT_TTL Date: Thu, 28 Apr 2022 15:39:56 +0100 Message-Id: <20220428143958.2451229-53-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" The Arm FEAT_TTL architectural feature allows the guest to provide an optional hint in an AArch64 TLB invalidate operation about which translation table level holds the leaf entry for the address being invalidated. QEMU's TLB implementation doesn't need that hint, and we correctly ignore the (previously RES0) bits in TLB invalidate operation values that are now used for the TTL field. So we can simply advertise support for it in our 'max' CPU. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20220426160422.2353158-2-peter.maydell@linaro.org --- docs/system/arm/emulation.rst | 1 + target/arm/cpu64.c | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/system/arm/emulation.rst b/docs/system/arm/emulation.rst index 520fd39071e..6ed2417f6fc 100644 --- a/docs/system/arm/emulation.rst +++ b/docs/system/arm/emulation.rst @@ -54,6 +54,7 @@ the following architecture extensions: - FEAT_TLBIOS (TLB invalidate instructions in Outer Shareable domain) - FEAT_TLBIRANGE (TLB invalidate range instructions) - FEAT_TTCNP (Translation table Common not private translations) +- FEAT_TTL (Translation Table Level) - FEAT_TTST (Small translation tables) - FEAT_UAO (Unprivileged Access Override control) - FEAT_VHE (Virtualization Host Extensions) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index eb44c05822c..ec2d159163f 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -839,6 +839,7 @@ static void aarch64_max_initfn(Object *obj) t = FIELD_DP64(t, ID_AA64MMFR2, CNP, 1); /* TTCNP */ t = FIELD_DP64(t, ID_AA64MMFR2, ST, 1); /* TTST */ t = FIELD_DP64(t, ID_AA64MMFR2, VARANGE, 1); /* FEAT_LVA */ + t = FIELD_DP64(t, ID_AA64MMFR2, TTL, 1); /* FEAT_TTL */ cpu->isar.id_aa64mmfr2 = t; t = cpu->isar.id_aa64zfr0; From patchwork Thu Apr 28 14:39:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623762 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=GVtZXPoY; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpzvz08Q2z9s2R for ; Fri, 29 Apr 2022 01:25:35 +1000 (AEST) Received: from localhost ([::1]:33798 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk61N-0004Na-0p for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:25:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45790) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5KA-0005iO-Kw for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:54 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:42838) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5K8-0006WD-2U for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:53 -0400 Received: by mail-wr1-x429.google.com with SMTP id e24so7062874wrc.9 for ; Thu, 28 Apr 2022 07:40:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=bpK+CDLhNe+DkiGyDtqKW6TKeAWT7FZyMCm45BF78Q0=; b=GVtZXPoYHZh4KaImG2zmcJ1VaLaem1y3qXogflld5GTxMz3f2wuYPFL9rhvOFQ9KsE XJE3WJeVRqCrywpyEGXCiya4PtCAuWrI19WwpZ1ZsgEcF/glx7sclcMiR01uhjbo0Txo ubw9+u2V8jnfW2Pq+EbVWUTnLP/FC9TQ6DSFx/MRVV6ASBhCEqAlXZ84Fj7GNiFEGC3F 3yN1LoNsgdzdSC6Egea5xid9x7pQGNo8T6AvuFielgaA1wObOmSYtve9t465CGMw7rhN jyh+drhUgSZ3JlZMwvPbetoMzEpbDM0etnptq7e+tH5QJrx0fWlo1KjbwHM3d+BJEE5w Bt2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bpK+CDLhNe+DkiGyDtqKW6TKeAWT7FZyMCm45BF78Q0=; b=TvRFaT2/ulEK/8a070t9QPmswpleTPVDoPm6nAv92WNnXtQs2gHIQxd4hMRAIuPhU7 0ovWirs0q0Wn1mG1uPVyblQkHsu6d7fFK6OvSJUHjhKTaGeQu2UJWjLSmDOby62rune3 HUG8p4iosQ7Z+P4upnNLQ7q9olJh5ruHrUsd2L7xxrCBKlS/hFlPympABKzMi6nkbZ7/ qtkFOlfEojHRGyy1bvopQfi/0fHovksDmif4jaocX0ne/XHvsL3TwB0Zvc2QHur1KUeM 9Q3Tewo2XL1Jg9rfz6yycdKPeDv9bxs0NZEwnXtnXZLcXnCxBGszuQ8QA5L1s7jZsA4e M9uA== X-Gm-Message-State: AOAM532b0sv8cv/JC9m+0JWjUSqrFyphxTk7vfItSINhu+rCPnNNl0ML px5xOO4uroP6uq+rmnoxET87/8Gh5J9hyw== X-Google-Smtp-Source: ABdhPJxHEJS5W/Ffhee/4NrvmcbiY1nWY+ovmO2ZOpywUaTfss/5ObAv+Y41X24PHiNmXJKN6NyZbg== X-Received: by 2002:a05:6000:1863:b0:20a:f4f9:a6a with SMTP id d3-20020a056000186300b0020af4f90a6amr4132139wri.619.1651156850752; Thu, 28 Apr 2022 07:40:50 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:50 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 53/54] target/arm: Advertise support for FEAT_BBM level 2 Date: Thu, 28 Apr 2022 15:39:57 +0100 Message-Id: <20220428143958.2451229-54-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x429.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" The description in the Arm ARM of the requirements of FEAT_BBM is admirably clear on the guarantees it provides software, but slightly more obscure on what that means for implementations. The description of the equivalent SMMU feature in the SMMU specification (IHI0070D.b section 3.21.1) is perhaps a bit more detailed and includes some example valid implementation choices. (The SMMU version of this feature is slightly tighter than the CPU version: the CPU is permitted to raise TLB Conflict aborts in some situations that the SMMU may not. This doesn't matter for QEMU because we don't want to do TLB Conflict aborts anyway.) The informal summary of FEAT_BBM is that it is about permitting an OS to switch a range of memory between "covered by a huge page" and "covered by a sequence of normal pages" without having to engage in the 'break-before-make' dance that has traditionally been necessary. The 'break-before-make' sequence is: * replace the old translation table entry with an invalid entry * execute a DSB insn * execute a broadcast TLB invalidate insn * execute a DSB insn * write the new translation table entry * execute a DSB insn The point of this is to ensure that no TLB can simultaneously contain TLB entries for the old and the new entry, which would traditionally be UNPREDICTABLE (allowing the CPU to generate a TLB Conflict fault or to use a random mishmash of values from the old and the new entry). FEAT_BBM level 2 says "for the specific case where the only thing that changed is the size of the block, the TLB is guaranteed not to do weird things even if there are multiple entries for an address", which means that software can now do: * replace old translation table entry with new entry * DSB * broadcast TLB invalidate * DSB As the SMMU spec notes, valid ways to do this include: * if there are multiple entries in the TLB for an address, choose one of them and use it, ignoring the others * if there are multiple entries in the TLB for an address, throw them all out and do a page table walk to get a new one QEMU's page table walk implementation for Arm CPUs already meets the requirements for FEAT_BBM level 2. When we cache an entry in our TCG TLB, we do so only for the specific (non-huge) page that the address is in, and there is no way for the TLB data structure to ever have more than one TLB entry for that page. (We handle huge pages only in that we track what part of the address space is covered by huge pages so that a TLB invalidate operation for an address in a huge page results in an invalidation of the whole TLB.) We ignore the Contiguous bit in page table entries, so we don't have to do anything for the parts of FEAT_BBM that deal with changis to the Contiguous bit. FEAT_BBM level 2 also requires that the nT bit in block descriptors must be ignored; since commit 39a1fd25287f5dece5 we do this. It's therefore safe for QEMU to advertise FEAT_BBM level 2 by setting ID_AA64MMFR2_EL1.BBM to 2. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20220426160422.2353158-3-peter.maydell@linaro.org --- docs/system/arm/emulation.rst | 1 + target/arm/cpu64.c | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/system/arm/emulation.rst b/docs/system/arm/emulation.rst index 6ed2417f6fc..c3bd0676a87 100644 --- a/docs/system/arm/emulation.rst +++ b/docs/system/arm/emulation.rst @@ -9,6 +9,7 @@ the following architecture extensions: - FEAT_AA32HPD (AArch32 hierarchical permission disables) - FEAT_AA32I8MM (AArch32 Int8 matrix multiplication instructions) - FEAT_AES (AESD and AESE instructions) +- FEAT_BBM at level 2 (Translation table break-before-make levels) - FEAT_BF16 (AArch64 BFloat16 instructions) - FEAT_BTI (Branch Target Identification) - FEAT_DIT (Data Independent Timing instructions) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index ec2d159163f..2974cbc0d35 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -840,6 +840,7 @@ static void aarch64_max_initfn(Object *obj) t = FIELD_DP64(t, ID_AA64MMFR2, ST, 1); /* TTST */ t = FIELD_DP64(t, ID_AA64MMFR2, VARANGE, 1); /* FEAT_LVA */ t = FIELD_DP64(t, ID_AA64MMFR2, TTL, 1); /* FEAT_TTL */ + t = FIELD_DP64(t, ID_AA64MMFR2, BBM, 2); /* FEAT_BBM at level 2 */ cpu->isar.id_aa64mmfr2 = t; t = cpu->isar.id_aa64zfr0; From patchwork Thu Apr 28 14:39:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 1623765 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=k1Rv7BfS; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kpzzz2bj0z9s2R for ; Fri, 29 Apr 2022 01:29:03 +1000 (AEST) Received: from localhost ([::1]:42066 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nk64j-0001wf-4b for incoming@patchwork.ozlabs.org; Thu, 28 Apr 2022 11:29:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45800) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nk5KC-0005jd-H2 for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:41:00 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:55009) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nk5KA-0006WS-AX for qemu-devel@nongnu.org; Thu, 28 Apr 2022 10:40:55 -0400 Received: by mail-wm1-x32b.google.com with SMTP id bg25so3069277wmb.4 for ; Thu, 28 Apr 2022 07:40:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=gpwCksN0LZsUzbPY2FkedaNU78SqdrJFCEZ38+wzX7M=; b=k1Rv7BfS/xJ8qrQzo1He2evJeWC2yExEhnLMsMy2TkwQK8CR9I8sPmbCJFmAl59sIE /dNyMlGRiEgbwlhdWscDP0J6hdsj2RYTwJoDBWJ4QzeRPn+JUgPJtizvjdhgcD+OxGp3 DTaUD8IzGjELOhdtvAdSDoq18yERhVXKX3+xDyAtk15IiaT7gNOnZsfqLVA1dpDiY2FZ hCDLOOzkRa7pXulAgGcY4wvgU2J2e0ZkAwm4rvXyz2N/vtzYidBB9oJH5cdVCI1oE3bf g8VyFkFMAwiE39PDFtfw3VdDC9UUzVqAHQeVW2pJcUZ2PLpA+GFWTjQGVR0lgFbR1cpx t17Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=gpwCksN0LZsUzbPY2FkedaNU78SqdrJFCEZ38+wzX7M=; b=scZXv8dFq88eR+pYG5pLEDPCSXYlurAQCojgzsmd69ML4Q4SB+Rukh2ZtT0MiQ/YmB DMii7RdItKpnbN20N/NhQKtfpFydB1lF3W2jKkCbWkqE4hbHQhFIRazx1VcvZq+jJ5ZY W8V0mT7nzzSS97CFLc5jjRU2kw7jC+pEUNplwvsC82hPf9Cs+iaMfz4lGD9Le5CkJ3/o T6Iv3/4+6b6kpSrEv0Bf2Wxx7u+OkSGG9gMVbafrGO5uPfI8iJyAXpwt10BhSvOx51FX Yt4a8LNlqz5FSMnWd64ouRSEhSXn4tQvWNXZjMB89InvkMLYuhwsSTyQ83pXqmPTEwUb uzuA== X-Gm-Message-State: AOAM5329h3xgCxWnp9N6RYQDB4ZNMlbbRdVsupmTv0G48rGj9LxgJ7il PX//s92E9oqBRDjm092SYlawDvN118Boqg== X-Google-Smtp-Source: ABdhPJyFoWg0cWxupSuGmJWeNYQdMMim5kJB7U9Xch3PBZL1Fdk9DmTyq5eanjkifaLzK3vv+l51pQ== X-Received: by 2002:a05:600c:5020:b0:38f:f83b:e773 with SMTP id n32-20020a05600c502000b0038ff83be773mr31396447wmr.57.1651156851522; Thu, 28 Apr 2022 07:40:51 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id bh26-20020a05600c3d1a00b003928db85759sm130221wmb.15.2022.04.28.07.40.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 07:40:51 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 54/54] hw/arm/smmuv3: Advertise support for SMMUv3.2-BBML2 Date: Thu, 28 Apr 2022 15:39:58 +0100 Message-Id: <20220428143958.2451229-55-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428143958.2451229-1-peter.maydell@linaro.org> References: <20220428143958.2451229-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" The Arm SMMUv3 includes an optional feature equivalent to the CPU FEAT_BBM, which permits an OS to switch a range of memory between "covered by a huge page" and "covered by a sequence of normal pages" without having to engage in the traditional 'break-before-make' dance. (This is particularly important for the SMMU, because devices performing I/O through an SMMU are less likely to be able to cope with the window in the sequence where an access results in a translation fault.) The SMMU spec explicitly notes that one of the valid ways to be a BBM level 2 compliant implementation is: * if there are multiple entries in the TLB for an address, choose one of them and use it, ignoring the others Our SMMU TLB implementation (unlike our CPU TLB) does allow multiple TLB entries for an address, because the translation table level is part of the SMMUIOTLBKey, and so our IOTLB hashtable can include entries for the same address where the leaf was at different levels (i.e. both hugepage and normal page). Our TLB lookup implementation in smmu_iotlb_lookup() will always find the entry with the lowest level (i.e. it prefers the hugepage over the normal page) and ignore any others. TLB invalidation correctly removes all TLB entries matching the specified address or address range (unless the guest specifies the leaf level explicitly, in which case it gets what it asked for). So we can validly advertise support for BBML level 2. Note that we still can't yet advertise ourselves as an SMMU v3.2, because v3.2 requires support for the S2FWB feature, which we don't yet implement. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Eric Auger Message-id: 20220426160422.2353158-4-peter.maydell@linaro.org --- hw/arm/smmuv3-internal.h | 1 + hw/arm/smmuv3.c | 1 + 2 files changed, 2 insertions(+) diff --git a/hw/arm/smmuv3-internal.h b/hw/arm/smmuv3-internal.h index 6de52bbf4da..bce161870f6 100644 --- a/hw/arm/smmuv3-internal.h +++ b/hw/arm/smmuv3-internal.h @@ -56,6 +56,7 @@ REG32(IDR2, 0x8) REG32(IDR3, 0xc) FIELD(IDR3, HAD, 2, 1); FIELD(IDR3, RIL, 10, 1); + FIELD(IDR3, BBML, 11, 2); REG32(IDR4, 0x10) REG32(IDR5, 0x14) FIELD(IDR5, OAS, 0, 3); diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c index 3a989b09cb4..daa80e9c7b6 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -259,6 +259,7 @@ static void smmuv3_init_regs(SMMUv3State *s) s->idr[3] = FIELD_DP32(s->idr[3], IDR3, RIL, 1); s->idr[3] = FIELD_DP32(s->idr[3], IDR3, HAD, 1); + s->idr[3] = FIELD_DP32(s->idr[3], IDR3, BBML, 2); /* 4K, 16K and 64K granule support */ s->idr[5] = FIELD_DP32(s->idr[5], IDR5, GRAN4K, 1);