From nobody Tue Feb 10 13:36:37 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