From nobody Tue Feb 10 09:57:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) client-ip=209.85.128.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1633271959; cv=none; d=zohomail.com; s=zohoarc; b=dmLdMxSNsRQ8E8gZbAOOPKzY2i4wlowglIYPzIPSO/wBiNZwNE0G+thyv0gJsQ2li+Iu5uYW4BQKkTJctC+5D7JZutwhVPaiTCi7+PW/vcbjTeFIONE/x2me2jleI1Ykk5MvQI4zD5YClA9nht+ZOJ7wdeN0YLmYziRdlseAzGU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1633271959; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=sX5SHn+t1hUwUCEa3NcF3T73v997Fa0S7tR6YYfqS+4=; b=ZszOB7cAAJtZWVmPhcuzUEjr2rIcMAu1y/JPb7100B2oD6j377orFE6qsOzfB9Hoh4yA6jAaSJas30rFDz1iYdgAW5zXQjXEGOfkPxoqcp7MOAOOzNshjUVrA7bk1lcfiu6Fjd1mQ7+qKR7o1yVmsI9uPCuPdH4gCbQTpCLdLMw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by mx.zohomail.com with SMTPS id 1633271959487288.4795579519239; Sun, 3 Oct 2021 07:39:19 -0700 (PDT) Received: by mail-wm1-f49.google.com with SMTP id s198-20020a1ca9cf000000b0030d6986ea9fso1300424wme.1 for ; Sun, 03 Oct 2021 07:39:18 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (118.red-83-35-24.dynamicip.rima-tde.net. [83.35.24.118]) by smtp.gmail.com with ESMTPSA id h3sm4632267wro.42.2021.10.03.07.39.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Oct 2021 07:39:17 -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=sX5SHn+t1hUwUCEa3NcF3T73v997Fa0S7tR6YYfqS+4=; b=qwZNrFbibhpBh+oyOBL24w3nguIZMcDRw9CGn4M+Ga9Rv75N7p/8ZRuDtimr4P9xZQ fNZu3MFVWvPbj9XJpiP4UZqGKeH/bm3gH0BnTXkAhlZ4wGz0c/v3J941hES/LhzRoL8i 1Oaoc+4PSuA3Zlt8hnY0ad1OTcSoonBabQgicAsL8m1aP0ugYIr8LmwdQaftErM4DaAv BfWzJiqTr4lAei97CRxFWiT6Hkq8j6Wapn+VlU4E7pp9aaGCFUOZYfoPCzsWr8BGHa8T aJmw1vF5MzQ+TW2EmTK7xqRIzmQDmipKB13IX4FUfDyFebWK2jcXGGXDL9XKZW+fzRRj Feqw== 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=sX5SHn+t1hUwUCEa3NcF3T73v997Fa0S7tR6YYfqS+4=; b=xDR16losISjlb5kHibvIHha3V/ZNDuQxas1gPHuYO/043R9f6/vNPe9X440TMbiQCp gqJOkAk8AZNWW0r+DvUt24IoGs9B67vMauH6nPT83FzrWINFlbvcKbabaCSXChISetio ox79Sd/XJyeYa69m4/iA3iOGq5WBD85OL3WExtQlvnE7YD8znLdvRvhct5T5Whc2PD00 9NaKXaaqjpiL2WAUHDYCn7chaSm3nd8sobjjNx6z9CGDxudsMMsmjZatPtJyPaoknqLi uRtApHs201OrH6uYCYNznsmOzmoy/M8ySmewI9j3s2tS1kYG6PzuBcH+jhnR0zEl8/hI 5LWg== X-Gm-Message-State: AOAM530W/J1QgPzcgxWDtN9B8RlN03mSOdxqdNgfrfIVduJ9gjbGwhyL EG6mkVc5d8+bmDgk2Pgm/zQr1erob5c= X-Google-Smtp-Source: ABdhPJzkj3ZQMjpVeD3E5uCz1dAYuHyWaCZVamc4Ml8o8VOelHYe1QnRJ5942zz6XkxMSPgIPD00Ow== X-Received: by 2002:a05:600c:378f:: with SMTP id o15mr12178673wmr.89.1633271957702; Sun, 03 Oct 2021 07:39:17 -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: Peter Maydell , qemu-arm@nongnu.org, Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 3/3] target/arm: Use the constant variant of store_cpu_field() when possible Date: Sun, 3 Oct 2021 16:39:01 +0200 Message-Id: <20211003143901.3681356-4-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211003143901.3681356-1-f4bug@amsat.org> References: <20211003143901.3681356-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: 1633271961578100001 When using a constant variable, we can replace the store_cpu_field() call by store_cpu_field_constant() which avoid using TCG temporaries. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- 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 b41e0f50dfe..77c7a3ab2ec 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -388,8 +388,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; } } @@ -764,9 +763,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 @@ -8386,8 +8384,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. @@ -8401,8 +8397,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; } @@ -8701,7 +8696,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)) { @@ -8712,8 +8706,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 @@ -9511,9 +9504,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