From nobody Mon Feb 9 20:51:53 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) client-ip=209.85.128.41; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f41.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1635310576; cv=none; d=zohomail.com; s=zohoarc; b=Q6H1cysyFYmkgxNecIh4a4PPKrSQtyf8TMm1UwDD/7Q4qHGXeKNmwoO1gI+1++nKXEafJWNY04RtnfT0wCG00iy1MIHxIlzMALQ6qtPW94OfyI7RGM9LV5re0Ly2CNcHJpU6euP6Fml9CpN3kJUIIS+SZpnbtiUWYttnH4lSNZM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1635310576; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Zo5TdWihX0fqFGQkJwGnLAD68vX5IqLcZuqWCOpy/Ho=; b=GAz9cmKnvUBNgShT35f7+r4cQgwrRv1I/U2YJHW4GFPSpeyRtS0kinBq9HenQPQ33bVur3xhUpoNpWIGfwY6RQUqGBJCY3GzpLvSpuWFEWVKUKKs/V1PW6AD/pmamDd+zp+AHnCJ/GJcewLAl/KKSMu+sE4k0jN8Q3WMRwAHldQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by mx.zohomail.com with SMTPS id 1635310576554216.70857875412514; Tue, 26 Oct 2021 21:56:16 -0700 (PDT) Received: by mail-wm1-f41.google.com with SMTP id o4-20020a1c7504000000b0032cab7473caso2171092wmc.1 for ; Tue, 26 Oct 2021 21:56:15 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (62.red-83-57-168.dynamicip.rima-tde.net. [83.57.168.62]) by smtp.gmail.com with ESMTPSA id h14sm2429034wmq.34.2021.10.26.21.56.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Oct 2021 21:56:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Zo5TdWihX0fqFGQkJwGnLAD68vX5IqLcZuqWCOpy/Ho=; b=EEs301cbturZRJCI1X6xYwruY/+L+oGeqviC8Aw0CJp4Mf+BV06OKL+1DzQpHXy9zn O0y7xp0mU2y1qpn7LaATDY/OwJLlxHL5GMzVT4h6VQzjtb9ayUAlyi0g3uhahWliCGe1 Osg2fRJ3eiXdDXpsecnsY2FbBoMFcfeorh2s+F2HflHTB49YnY7siJqXKrFCgPwamBs0 nB9LUIh3s7Lzs8eBXnYsHzW60dWCz7GP770HUH/POBtAz+flawV/kjNQNOHsl2MZ3jaA mTKInCqBstpod1GvMOB/A8zHJ/RYZNhDo9tvTBu+83FOf0J6Gpd/pr59ZCRSvCvM4Wx/ OsMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=Zo5TdWihX0fqFGQkJwGnLAD68vX5IqLcZuqWCOpy/Ho=; b=k8JlTcBJ5tbuQianfT+GjK+LsVkfTV7SClfXj2hnAJtvesqoXurGGrdRz2jtrYtDB6 dHpberqLxA9g5k2hmN/JkHAVD1fsuoPX2MIHoSO0i9Ivj7xMS/FKJ7Jpb5n1Gc9MFoK+ dpm89mlVXleJsH84cabhFz14BgVHbDFeTFKgoite4FvOPoIPHCT0i9yNweoukqpXZgBe JozeiUUHBkx0UqPafclRhXw7zQgR1T2leAn/GUyBIsT+cubT8X+wTKWFR2jQecaSdBYs Acr73E1P1PbcxwCFokdku5t0pb0KsDJyOSQrm9p87ohMPvPVGKwlZfIETBmLgzPQsTT3 YwbA== X-Gm-Message-State: AOAM533k+zYq3y4/r0FBzkqxkHNSEilhvK+jGNti/nyLP92JaOL7enQH NHuTgAtEB0gnDuiuTVjRbtQ= X-Google-Smtp-Source: ABdhPJy9wMzOXO9yGkkrDUEXhuBkTyjZan5iG4FNsfmDNA/t99vZ/w1aIl1Y/jrNfbBxgqzUH0pU+A== X-Received: by 2002:a05:600c:ac2:: with SMTP id c2mr3303175wmr.118.1635310574725; Tue, 26 Oct 2021 21:56:14 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , qemu-arm@nongnu.org, Peter Maydell , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 1/4] target/arm: Use tcg_constant_i32() in op_smlad() Date: Wed, 27 Oct 2021 06:56:04 +0200 Message-Id: <20211027045607.1261526-2-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211027045607.1261526-1-f4bug@amsat.org> References: <20211027045607.1261526-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1635310577170100001 Avoid using a TCG temporary for a read-only constant. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/arm/translate.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index d6af5b1b039..083a6d6ed77 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -7849,10 +7849,9 @@ static bool op_smlad(DisasContext *s, arg_rrrr *a, b= ool m_swap, bool sub) t3 =3D tcg_temp_new_i32(); tcg_gen_sari_i32(t3, t1, 31); qf =3D load_cpu_field(QF); - one =3D tcg_const_i32(1); + one =3D tcg_constant_i32(1); tcg_gen_movcond_i32(TCG_COND_NE, qf, t2, t3, one, qf); store_cpu_field(qf, QF); - tcg_temp_free_i32(one); tcg_temp_free_i32(t3); tcg_temp_free_i32(t2); } --=20 2.31.1 From nobody Mon Feb 9 20:51:53 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) client-ip=209.85.128.51; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f51.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1635310581; cv=none; d=zohomail.com; s=zohoarc; b=YlsSr2NwdZLIwUoyFSJuwoIVJdZH0a6ObTCZ+4Ec6MYwn5k17NPwiWi0VaDoljNmo1N/rncGVh6S9CRyPIZtXOPGVy/VFCteg9P2k4II6M4eoSmkcVIwmp96zAjwVUiz4Tt6MJ93Ivn8xe06L1FT6Qtiw7GiNej0ELlaTenuKGc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1635310581; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Xgqwxzvm1yoHh/fzT0KNAI1LNIKM1+1SON195Vhqr/o=; b=l2e7L1RrZx5GdcCw8Hn5R8eZii2eFH+Cs+A1XStqo0HZ1QGE9mEeCvME1RYA2ndoWQLLaTx4WzjdKcLuqM1yjFM0OflRpaEM+TYl76s6hdSBAIV5+ubpnp5VTmx6hAmmCylHtVubopaGMR39H3RaV60ESgOKSswnEemIR+KAE3c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by mx.zohomail.com with SMTPS id 1635310581662222.91776286303275; Tue, 26 Oct 2021 21:56:21 -0700 (PDT) Received: by mail-wm1-f51.google.com with SMTP id z11-20020a1c7e0b000000b0030db7b70b6bso5134508wmc.1 for ; Tue, 26 Oct 2021 21:56:21 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (62.red-83-57-168.dynamicip.rima-tde.net. [83.57.168.62]) by smtp.gmail.com with ESMTPSA id d3sm21667468wrb.36.2021.10.26.21.56.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Oct 2021 21:56:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Xgqwxzvm1yoHh/fzT0KNAI1LNIKM1+1SON195Vhqr/o=; b=UIt/DChPhUSIG3lPRxfquQIOiN8e1V2Th5+2iNdfQj7m3mYpVBQQqAYP2M2LCr6BYY gRMA8o/+e/70yDg4rCkYg2bzYmTHrZdG5Zx2vddBTSa1urIsbPiz2F5TnaTTfTeps4MH rT6/QuqxOUbBgunO03a5iIVxNwtji6BQLsZt0VxB6ynhdHcRB+PERGTA/qFCC0Gckqof Bkgrc76D82hMdY43vpI5nsOTyrIExwSidVj1P7uk8Qga2Y4prQ+bBtRJ5RmNNu7K5jMv Y6GqrLu+ecKgF0UTmKHqY7zK41kYULWr6Gu4IK9BrnTP1aSVF4jIiPHPWWZEar9Bx64f w/EA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=Xgqwxzvm1yoHh/fzT0KNAI1LNIKM1+1SON195Vhqr/o=; b=tb+Vnezq22t+FVS8bp1BAXsGxcCVzqI3IUw0bQ4Cpv++TLiApKFNk3g6eqrt7eW0m9 RIEuOakDlFlYC9LVVNgfDQjZMzHerMWSzOhy0hMvrJ/Pi/ms618zx6XR4ibdPU3TE1yz w7kLWWiRPcy0rg5TeLYQZuxud1bgoYhFAeGlsNWceJa/rwdxW0V5y41HT1+mDLmIhtAF bXSzbKYUYBDDV+Li2oXBlQtzP91CihjJJ9UniIaN0aXAIkZw+X0gh6AbQ11req+/osrH c0np7qcT0fIfdoNXcjTAY7jxcuVQlQHVsk/rAdQTu7TBX5prIrMgq7PyAKZjooMP6d46 fVjw== X-Gm-Message-State: AOAM533MvMtJ5hx+op5PBzkwLduQGiicgFOPLsEZVrYbkMhzJ5JSW7tM mQCTaAzHuM0aGa0VJzvuj5uWWPNjmtE= X-Google-Smtp-Source: ABdhPJxvYP8nzccWn/Pb7Y8T8dSn8DgzFW7W6toZ5ataKUxFc4MRnJFYsTuz4UfH6l0cDcuYBNtgug== X-Received: by 2002:a7b:c927:: with SMTP id h7mr3288597wml.68.1635310579926; Tue, 26 Oct 2021 21:56:19 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , qemu-arm@nongnu.org, Peter Maydell , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 2/4] target/arm: Introduce store_cpu_field_constant() helper Date: Wed, 27 Oct 2021 06:56:05 +0200 Message-Id: <20211027045607.1261526-3-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211027045607.1261526-1-f4bug@amsat.org> References: <20211027045607.1261526-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1635310583270100001 Similarly to the store_cpu_field() helper which takes a TCG temporary, store its value to the CPUState, introduce the store_cpu_field_constant() helper which store a constant to CPUState (without using any TCG temporary). Update the single store_cpu_offset() user in do_coproc_insn(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/arm/translate-a32.h | 11 ++++++++--- target/arm/translate.c | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/target/arm/translate-a32.h b/target/arm/translate-a32.h index 88f15df60e8..2e708ca3dbc 100644 --- a/target/arm/translate-a32.h +++ b/target/arm/translate-a32.h @@ -61,14 +61,19 @@ static inline TCGv_i32 load_cpu_offset(int offset) =20 #define load_cpu_field(name) load_cpu_offset(offsetof(CPUARMState, name)) =20 -static inline void store_cpu_offset(TCGv_i32 var, int offset) +static inline void store_cpu_offset(TCGv_i32 var, int offset, bool is_temp) { tcg_gen_st_i32(var, cpu_env, offset); - tcg_temp_free_i32(var); + if (is_temp) { + tcg_temp_free_i32(var); + } } =20 #define store_cpu_field(var, name) \ - store_cpu_offset(var, offsetof(CPUARMState, name)) + store_cpu_offset(var, offsetof(CPUARMState, name), true) + +#define store_cpu_field_constant(val, name) \ + store_cpu_offset(tcg_constant_i32(val), offsetof(CPUARMState, name), f= alse) =20 /* Create a new temporary and set it to the value of a CPU register. */ static inline TCGv_i32 load_reg(DisasContext *s, int reg) diff --git a/target/arm/translate.c b/target/arm/translate.c index 083a6d6ed77..5061e55f2c0 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -4855,7 +4855,7 @@ static void do_coproc_insn(DisasContext *s, int cpnum= , int is64, tcg_temp_free_i32(tmp); } else { TCGv_i32 tmp =3D load_reg(s, rt); - store_cpu_offset(tmp, ri->fieldoffset); + store_cpu_offset(tmp, ri->fieldoffset, true); } } } --=20 2.31.1 From nobody Mon Feb 9 20:51:53 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) client-ip=209.85.128.43; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f43.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1635310586; cv=none; d=zohomail.com; s=zohoarc; b=WB1yln4WTus6xhondqoi6xCEAbkiMvTrTQYurT1mvjgVPyMMPixN8ogBSvAsiMVV3VXNC2rItfM8xjZOsC7A63bv8QDj5IKLMyhDaBFH9qFPRHO12bvuBssH7mZNsGJiw7Evdd88dM2AJ1g+g4f08hou8n8nMDc0HljVZ9RisLk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1635310586; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=aUWK5GIvdKJkNgsviIlVDW6DDcBmHOa3/s4hjVgxLIw=; b=iqgx6X+8S2fZUSrTC3c7VGkb2p0u1As5Gmi03Wni3N1KAUugPmZL+rzYVE8qkJsJG6FiBjfbYbDyQGDsjkR6z4dLq97XP8s6WfzaCudoD2qEn1EYEYCPURxXDjXRh/fwcDQvpLKs6K3t74GFc1AoifJt8ZhddiNzhL241+J6kk8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by mx.zohomail.com with SMTPS id 1635310586513240.03064295057675; Tue, 26 Oct 2021 21:56:26 -0700 (PDT) Received: by mail-wm1-f43.google.com with SMTP id z11-20020a1c7e0b000000b0030db7b70b6bso5134591wmc.1 for ; Tue, 26 Oct 2021 21:56:25 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (62.red-83-57-168.dynamicip.rima-tde.net. [83.57.168.62]) by smtp.gmail.com with ESMTPSA id i14sm2206763wmb.48.2021.10.26.21.56.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Oct 2021 21:56:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aUWK5GIvdKJkNgsviIlVDW6DDcBmHOa3/s4hjVgxLIw=; b=WNcyyKAOyKM2YG9mLLHAoUI/rb1qWiiLyA753qocH5gbs5OXE2iiV76u2YCQPwgaW9 1oWhYMTcskLUI4FJApUynN2/ZTdrpTLzVqDFnV2PxSCvkljhm/8S8CPwsn7jgBEzTpYd +Ut3sBHfx/GlFr+fQ/CilAwstsLZ4yq18oOetNrDShw6j5Na51e1QtfXAKA3R6idNNLW v1gudQNkNjLjSxeyOrGuvK/9PtxKt+gU3Yfr5iAWy8NV66dUjo89xFY8CxSkkBzV0w37 eFBNFVf+CRJcYsWYHPxnTRwHglkRqg8ATaj1eeEs20hgn0fJXoqmxarALun1Gh3YzSCT rnrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=aUWK5GIvdKJkNgsviIlVDW6DDcBmHOa3/s4hjVgxLIw=; b=Qu902W3NWQV2ztq8oO3Dn7KW/RmoWN7mvebZBZcB4x7+qs7s6+zKTpioDTRwKDK3eU Mcr98U/IIZQBAReiLtyy6oRVXvwSXXAnnR4lgZ2PyRLO5PVw91atU8+MV9rqew2bj5Yd RTQjLZKMRNa9hEy/9m1ILlFV4TQMasyUlXvC5G26BDwu5yRJm8dvzDuLS3D8DZaAfnjv druonrgrUfpMdG17c9wlJ7cySSLfA2ctlGHPdUKEKsdS0H/fQeOezQPjClM+Mi0eOQwL VLBhekCWKP6llj3AOK4uKS/LmKdAM6kSabpeh9lhEWkBhoULlgdBGir4iOWBLYsrY361 gOOQ== X-Gm-Message-State: AOAM5314b/RctkqEDmphcEr5I8R1hIduAclvxSykZN0OXWQxPcFqC64c 1Lu94gJXFYuiTGpDr5f9cRk= X-Google-Smtp-Source: ABdhPJyS0JSxOyxMbWfsNciNdlTWP55PgMfHGA89D6xed1Jtxk23rRZ4e+xGDD8U3ZKXumzbolkoZg== X-Received: by 2002:a05:600c:4f81:: with SMTP id n1mr3289012wmq.63.1635310584729; Tue, 26 Oct 2021 21:56:24 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , qemu-arm@nongnu.org, Peter Maydell , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 3/4] target/arm: Use the constant variant of store_cpu_field() when possible Date: Wed, 27 Oct 2021 06:56:06 +0200 Message-Id: <20211027045607.1261526-4-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211027045607.1261526-1-f4bug@amsat.org> References: <20211027045607.1261526-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1635310587445100001 When using a constant variable, we can replace the store_cpu_field() call by store_cpu_field_constant() which avoid using TCG temporaries. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/arm/translate.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/target/arm/translate.c b/target/arm/translate.c index 5061e55f2c0..484b0eed0cb 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -364,8 +364,7 @@ void clear_eci_state(DisasContext *s) * multiple insn executes. */ if (s->eci) { - TCGv_i32 tmp =3D tcg_const_i32(0); - store_cpu_field(tmp, condexec_bits); + store_cpu_field_constant(0, condexec_bits); s->eci =3D 0; } } @@ -740,9 +739,8 @@ void gen_set_condexec(DisasContext *s) { if (s->condexec_mask) { uint32_t val =3D (s->condexec_cond << 4) | (s->condexec_mask >> 1); - TCGv_i32 tmp =3D tcg_temp_new_i32(); - tcg_gen_movi_i32(tmp, val); - store_cpu_field(tmp, condexec_bits); + + store_cpu_field_constant(val, condexec_bits); } } =20 @@ -8362,8 +8360,6 @@ static bool trans_BL(DisasContext *s, arg_i *a) =20 static bool trans_BLX_i(DisasContext *s, arg_BLX_i *a) { - TCGv_i32 tmp; - /* * BLX would be useless on M-profile; the encoding space * is used for other insns from v8.1M onward, and UNDEFs before that. @@ -8377,8 +8373,7 @@ static bool trans_BLX_i(DisasContext *s, arg_BLX_i *a) return false; } tcg_gen_movi_i32(cpu_R[14], s->base.pc_next | s->thumb); - tmp =3D tcg_const_i32(!s->thumb); - store_cpu_field(tmp, thumb); + store_cpu_field_constant(!s->thumb, thumb); gen_jmp(s, (read_pc(s) & ~3) + a->imm); return true; } @@ -8677,7 +8672,6 @@ static bool trans_LCTP(DisasContext *s, arg_LCTP *a) * doesn't cache branch information, all we need to do is reset * FPSCR.LTPSIZE to 4. */ - TCGv_i32 ltpsize; =20 if (!dc_isar_feature(aa32_lob, s) || !dc_isar_feature(aa32_mve, s)) { @@ -8688,8 +8682,7 @@ static bool trans_LCTP(DisasContext *s, arg_LCTP *a) return true; } =20 - ltpsize =3D tcg_const_i32(4); - store_cpu_field(ltpsize, v7m.ltpsize); + store_cpu_field_constant(4, v7m.ltpsize); return true; } =20 @@ -9487,9 +9480,7 @@ static void arm_tr_tb_start(DisasContextBase *dcbase,= CPUState *cpu) /* Reset the conditional execution bits immediately. This avoids complications trying to do it at the end of the block. */ if (dc->condexec_mask || dc->condexec_cond) { - TCGv_i32 tmp =3D tcg_temp_new_i32(); - tcg_gen_movi_i32(tmp, 0); - store_cpu_field(tmp, condexec_bits); + store_cpu_field_constant(0, condexec_bits); } } =20 --=20 2.31.1 From nobody Mon Feb 9 20:51:53 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) client-ip=209.85.221.47; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f47.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1635310591; cv=none; d=zohomail.com; s=zohoarc; b=XeJ7nNNiA/diNSYbpCDDat47oZxXCgbaFOSmf0NKM/Rn3oQXWQSyFJdrADKQzhThFhcgLyPHaPQRoaHnz07H0j7s+ArFBPuNVi3PCwIiO7UQVJP2Rf8/Q9s7d5tsuv5qWSyh7pj5MwOobj3SuWtenZW6Vxy/tBtgxT2d2i7GcCE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1635310591; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=MY9quCqJ/2Bz6tK8Zx9ZzguPdmzXrHRSyEOAkDlUTqE=; b=Kg2cuRQyG3JGFG0C9G57RHfMGx7/fTbhspIZ3Jppaz1OTz8rtUUDn24oKPqS02TiH8YBVDTPEd9SVR6aL/Ed/fHzM/xfnWcR7uEuLpUQE/s6nwjWesNJwpgrN/fFd0fOtGuDD+OflsxJUQ2kKpNOSU22fU/bQJFsgsdUznE++Dg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by mx.zohomail.com with SMTPS id 1635310591080889.5269340228588; Tue, 26 Oct 2021 21:56:31 -0700 (PDT) Received: by mail-wr1-f47.google.com with SMTP id e12so1910450wra.4 for ; Tue, 26 Oct 2021 21:56:30 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (62.red-83-57-168.dynamicip.rima-tde.net. [83.57.168.62]) by smtp.gmail.com with ESMTPSA id b15sm2251061wmj.22.2021.10.26.21.56.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Oct 2021 21:56:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MY9quCqJ/2Bz6tK8Zx9ZzguPdmzXrHRSyEOAkDlUTqE=; b=X8rD3XRQQbIQ8SMC/Nk5M7bQ94j/6zB4N/OuCASoFwtlzKH8rAcjVvxlTB3WNO1pAl NEk8LaRchiDAKnkJiFrjG5qMyiz0R1rq0Gc7uSLuVmRlcdOdXRUgo34B3LWixMOHF3A2 s1xqzxYWWNyd4q02U1VuoZ8LS5c02P1gSihtYK2kjBTzQyL4rZEYBncs97H8HnmY43yZ Z6nx8Xd3UAJrr4Sjs9BYdCZcP6stKAj09adf9C0My9P80o9npiVGxJNLGihGdbatV6MO Sgm7vQ/a8vnrYXBG3IVLCm5rdiLWkKQZcMeHeOJ9ISKbX1OwGpUOjtjdv5dT6SE0lNNU USMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=MY9quCqJ/2Bz6tK8Zx9ZzguPdmzXrHRSyEOAkDlUTqE=; b=zeWjDso+zFoZAiy/lOk+AyWO3jmrJIS07auKuZCQekW2SYRnogNK1n4rEPAbNJ54g/ dy8fiNb+sIUXAytjRPV8ZdY9/Gqr+vnWfDrTj3BQU+V4Mtz1REf3l05KKV/F6ZMoOYpV YzO+VO9wgvbGihi+oFUgqbA4MdqF00cOzknlsLYVUivygYWkVU2nNXyao8RO27uN/Ccr nPS7jmUeYTux9YYnrftHkWsZRo6Mmd69iI8QzJxijdnVv7fM93XqRI00Dv8giLjQV5Sb r5WMATSSnVbUPgOz7RyP1PrnceMm2tyLR2erwlkHr/w+h1/Qjz553WRD7Fl5/mjgZpEt 6GWw== X-Gm-Message-State: AOAM533jcyChYt0aoAFoAnhiXVX+MPmoh6TE1o+JfYQ7EmDYqAPPBkpr qRVjOAfdvZI0smJyESoVre0= X-Google-Smtp-Source: ABdhPJxMgpDy0JqUWHhi6yYdqqlRxMPreg4jX8v33K8cVS5ju+Hf1vKe9tCMLjXHPI3VLaG6NFFmeA== X-Received: by 2002:adf:dc0e:: with SMTP id t14mr38656196wri.277.1635310589374; Tue, 26 Oct 2021 21:56:29 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , qemu-arm@nongnu.org, Peter Maydell , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 4/4] target/arm: Use tcg_constant_i64() in do_sat_addsub_64() Date: Wed, 27 Oct 2021 06:56:07 +0200 Message-Id: <20211027045607.1261526-5-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211027045607.1261526-1-f4bug@amsat.org> References: <20211027045607.1261526-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1635310591649100001 The immediate value used for comparison is constant and read-only. Move it to the constant pool. This frees a TCG temporary for unsigned saturation opcodes. Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- 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 bc91a641711..76b5fe9f313 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -1943,20 +1943,20 @@ static void do_sat_addsub_32(TCGv_i64 reg, TCGv_i64= val, bool u, bool d) static void do_sat_addsub_64(TCGv_i64 reg, TCGv_i64 val, bool u, bool d) { TCGv_i64 t0 =3D tcg_temp_new_i64(); - TCGv_i64 t1 =3D tcg_temp_new_i64(); TCGv_i64 t2; =20 if (u) { if (d) { tcg_gen_sub_i64(t0, reg, val); - tcg_gen_movi_i64(t1, 0); - tcg_gen_movcond_i64(TCG_COND_LTU, reg, reg, val, t1, t0); + t2 =3D tcg_constant_i64(0); + tcg_gen_movcond_i64(TCG_COND_LTU, reg, reg, val, t2, t0); } else { tcg_gen_add_i64(t0, reg, val); - tcg_gen_movi_i64(t1, -1); - tcg_gen_movcond_i64(TCG_COND_LTU, reg, t0, reg, t1, t0); + t2 =3D tcg_constant_i64(-1); + tcg_gen_movcond_i64(TCG_COND_LTU, reg, t0, reg, t2, t0); } } else { + TCGv_i64 t1 =3D tcg_temp_new_i64(); if (d) { /* Detect signed overflow for subtraction. */ tcg_gen_xor_i64(t0, reg, val); @@ -1966,7 +1966,7 @@ static void do_sat_addsub_64(TCGv_i64 reg, TCGv_i64 v= al, bool u, bool d) =20 /* Bound the result. */ tcg_gen_movi_i64(reg, INT64_MIN); - t2 =3D tcg_const_i64(0); + t2 =3D tcg_constant_i64(0); tcg_gen_movcond_i64(TCG_COND_LT, reg, t0, t2, reg, t1); } else { /* Detect signed overflow for addition. */ @@ -1977,13 +1977,12 @@ static void do_sat_addsub_64(TCGv_i64 reg, TCGv_i64= val, bool u, bool d) =20 /* Bound the result. */ tcg_gen_movi_i64(t1, INT64_MAX); - t2 =3D tcg_const_i64(0); + t2 =3D tcg_constant_i64(0); tcg_gen_movcond_i64(TCG_COND_LT, reg, t0, t2, t1, reg); } - tcg_temp_free_i64(t2); + tcg_temp_free_i64(t1); } tcg_temp_free_i64(t0); - tcg_temp_free_i64(t1); } =20 /* Similarly with a vector and a scalar operand. */ --=20 2.31.1