From nobody Tue Feb 10 15:46:47 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.50 as permitted sender) client-ip=209.85.221.50; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f50.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1635092194; cv=none; d=zohomail.com; s=zohoarc; b=Jq6R9bOjzX2+oax4fm9rsxBT6g7huMJeu9fgJUN7K8OnPe5i7k7x97J0PO+YKjV3ztR9S8HXmuRBL1JggiOdO7/UQMe3np/KUVpP0fh8wo9GK+eOp6WPHAkuf5EdCn/zCn4Yh2OoND5KzId3gQhetYYSrJR/n1FSERnIAjH2pKk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1635092194; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=O1BoBsNweUhtwI2foBYUrbLKkFOSUy9/c6YZdEqMFi0=; b=VsJsu3fodqxYL0MNSle3q5WZbLxvAr/veApanwUEuINgOHz8osSHzuwiMaWLvnNAOsA2PzlaiZEy/IveXw0K/7PAXBhYThOvHO27ogw6GMe0zanZyY+hK96JdqFUW/Rpx6AcU0qMREk/o58SLyk9aa9dxlCZmD3G9VqEsUWVz4o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) by mx.zohomail.com with SMTPS id 1635092194022970.8295547348237; Sun, 24 Oct 2021 09:16:34 -0700 (PDT) Received: by mail-wr1-f50.google.com with SMTP id v17so6788136wrv.9 for ; Sun, 24 Oct 2021 09:16:33 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.. (62.red-83-57-168.dynamicip.rima-tde.net. [83.57.168.62]) by smtp.gmail.com with ESMTPSA id f1sm9622312wrc.74.2021.10.24.09.16.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Oct 2021 09:16:31 -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=O1BoBsNweUhtwI2foBYUrbLKkFOSUy9/c6YZdEqMFi0=; b=HLQx7+s9mS3U6Bvl98KXWFqJTLGr74GgiZKciOnQAmb+7/uxFgWCeOWZJOQWj20UTD rrelJvkwbTj+AOn3i3N/4PXLTSaxya3mvTUw5RyLCItuA10wIb6CK8L+tHqBmnCB1wnE zi1yZK8hKDKr95gquXeScTAUH4Q8BWTARbZOo490iLLuGEE+q+RYmHcLkF8tLg8KVu1p GBGDyKclBqHNVXD3fS9MyCho5J1y7oK5Zyqgrf2GXtXKeiH85HNP8JvAQFCGXq0zvXAy U+SgY66j0ED8DDQCvcpwucXi1XNKDTUvxc/LbVYVp3SkaIU4PJL4pzPKqL1aAE8bEX3w gKPQ== 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=O1BoBsNweUhtwI2foBYUrbLKkFOSUy9/c6YZdEqMFi0=; b=z6ViZokVT9XzI+nUh4j7DWX+M/ro3E4Q+ydR4Na8soGqK8Dhcio4Ed6Hj18jbnd9U7 F+iMhXPEol5QQkp8C7FcqA9YrdNtzPrwWkGfSYAz/q6qRlRC0aEAQk0+7SoSBY8+gMbn /u6kwXqicBxjUgP02WRULie5jjF52T5L3zg7wjTb1nX2f3IlBlUXO4CZRBK/o1cUFBpR 37HCDQlKaCk0g4xw7G5XMutWODehGhRoHXPZ8HXrFAs5vMJW3vkgyV82bfO/BA1NoHuI JT74ttxaQk+Eh6OAdp5nvjf+ZUrFe1psJZcDFhbAVPk6MOM8qjNWlX65P+PaIto4EYur +iEg== X-Gm-Message-State: AOAM5327iukYiIM/BJZg4IC1+npDezbXo82X1slbgFQBqhubDZorXG1x YaSX5RNXv2x8OH8VVbbzL6r+EEu2U8s= X-Google-Smtp-Source: ABdhPJxDj8PiGq/HRzQ54R5Igr4+2Sa/DnlyjQeYFGs1T8sysTiV5+BpXZ3vC5+mwD/8GqpoZiLyAA== X-Received: by 2002:a5d:6941:: with SMTP id r1mr4573781wrw.373.1635092192305; Sun, 24 Oct 2021 09:16:32 -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: qemu-arm@nongnu.org, David Gibson , Peter Maydell , qemu-ppc@nongnu.org, Richard Henderson , Greg Kurz , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 2/4] target/arm: Use tcg_constant_i64() in do_sat_addsub_64() Date: Sun, 24 Oct 2021 18:16:17 +0200 Message-Id: <20211024161619.325903-3-f4bug@amsat.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211024161619.325903-1-f4bug@amsat.org> References: <20211024161619.325903-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: 1635092194456100001 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. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- 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