From nobody Mon Sep 28 01:13:32 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1785990782; cv=none; d=zohomail.com; s=zohoarc; b=ZdYZIy0bk+3XuwV0NHR+NlGHUdPxBDXSDa2JY2XS/Lxxk/ZTLcxe95gqdY/n5pjGJ40xHRVtgPNyyjTkYOTDAEmAZGqWpL4SqH8DYbLD1S0csDuBacqQDT6R4iVZ+eEuxFrOKwOrHGIp5LWS26oVdzeP2r+2x+S8LVxJaOb+UwY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1785990782; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=7v7Z+jUrMyLbMvr/H3tEiPNRxqOAGx/XOr1xzx4/+xU=; b=Ig5ZDWeKze+msB7MKT/tMdZe4fDztd2Srh+RQcznSA8evqa8QZXxDBJoHISy/s4i0CtS/uLZry3t5wvfVfPhea5eH3/rkn7sZTdQYQSL+Bo8CKM0017CdyMBKj7UCg4w0h/wK1BpK1owa2sqljWextlVqUoEtnt384sCtPSHy9c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1785990782710727.3188276092992; Wed, 5 Aug 2026 21:33:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wrpmf-00029s-0l; Thu, 06 Aug 2026 00:32:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wrpmR-00027X-DF for qemu-devel@nongnu.org; Thu, 06 Aug 2026 00:32:33 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wrpmP-000454-Mo for qemu-devel@nongnu.org; Thu, 06 Aug 2026 00:32:31 -0400 Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6763x1V8482620 for ; Thu, 6 Aug 2026 04:32:28 GMT Received: from mail-pg1-f199.google.com (mail-pg1-f199.google.com [209.85.215.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fvjueg3ac-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 06 Aug 2026 04:32:27 +0000 (GMT) Received: by mail-pg1-f199.google.com with SMTP id 41be03b00d2f7-cb6ef846b33so456604a12.1 for ; Wed, 05 Aug 2026 21:32:27 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315863b0a9csm29958146eec.2.2026.08.05.21.32.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 21:32:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= qcppdkim1; bh=7v7Z+jUrMyLbMvr/H3tEiPNRxqOAGx/XOr1xzx4/+xU=; b=f9 ECWGJe8QNlazkO1QTvBKJxp4z37KXDJUkKrz98Iea4j6jn4yPJT8g33mqCDQsiI8 YHR1ImwR+P1gghDe8qJlEIKuRu+Fma5xYyzcTSl4Fw4a8APxHkVsGFS6Z7cc8VQs 7FQfZ7fBw1Zen8Q8ziyyiIeVM0aVeIpSfXsM/ITkSzu2D0PumgnCcljqjisdnzgT NwXyNDvoCWj3hmed1jPm4rfLNDp2A98mea90r7jKghpVtU7dyk2uVg0ahFFuLyij 8MNoVZRhBv/DQhtDy50Q1b2cB+bFlcXDbzpaeD2WhXhVdlSpwhORPTyB0GkDStd7 hvJ49PBo9tVu1Kr5l3aQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785990747; x=1786595547; darn=nongnu.org; h=content-transfer-encoding:content-type:content-type:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to:content-type; bh=7v7Z+jUrMyLbMvr/H3tEiPNRxqOAGx/XOr1xzx4/+xU=; b=Yaw+2sNI4hL1Vwd605u6fBE5h6UxB+ZxCrS396DMMmqrmvdh2CK+3crl7p9M/boakz pEvyYV27KLjxEnPjcQ2PkEeESejAMA33eR5xnHz2mUl1TnDh4xCS/KneGQAo5i+6Ny+v /PJKVlRI6JqEBkqx8yf7fESDHKYDXNS1tB79y/JsnfXq5DobSqOvtRZJjXlSK9ZkrUE2 k0Wk3ehtQi85k2PioyAoGjNwPyhIQkIluOdT33etfdFluouKqHSURVzS4J2MOa/uBOu+ jJAECXZsjsaXc0+g1fG778vQh4jqdFyC2Q27Gfrtc5kbF9yOCasdkWt1qYFeGHXYwucm qxyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785990747; x=1786595547; h=content-transfer-encoding:content-type:content-type:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=7v7Z+jUrMyLbMvr/H3tEiPNRxqOAGx/XOr1xzx4/+xU=; b=H5NNjX+TjjGXGcRMNN4JkVHKFi+8uSoP2A8fcrj3iBNkl3J194UmEcEPwQS09GpHSa HYwjUQwVs865IkHj+qdjoEfBoKDjGKaaNzIcA2BtY8MsrPcS+QV40ztHLJworuS5WGM2 FL1PzLgz2RoO1UDD7gRnvnIbhr1d5U1M9OWQ6NcOkikPYLlkFYfb0U0Tnp//TRc0lxxn J1S32okaFN9mdiwmiGTCUDtQIA/apidaEAyPpY8oEcLL50rSlUwVHXUXZtQzNv/NhxOY oj4RBgCeODJui9mGTlx2WO7g2Z7/4zBoA7fhFjccDO2gnv2swdQHPCCdBZ0qH/IEy/HE V07Q== X-Gm-Message-State: AOJu0YwkmNG5nyXU75jVhTbp4HdYYgDYBD3f7U3Z3Ff2J+6U3PV11LM0 g8MruOdUt/FDu8Y6pcLzCbJrvwYWVsNbakZVmPqt/qWTDioPQb8KYE+PEJoqd4s1NfLk18LJlmk HAXOIMGwkRRSV+Zr35T7YMeebk/h0/JDXtVD5dK1QBstoyx6qZSMVFXyG0fP7hAgn/w== X-Gm-Gg: AR+sD11GO7POOoviB4q51G+BFYzU67gLrtr+HVTAKYlUubALxLrtSgpKfidXpZL+SYb DnBu6UEPRzADCANMlJClmhr7k6XY/GhbH6lwNHgvOf3YES95Ju49JWNOKqO0M5VJq2eDv2je0T/ yHK1buSNQUmU1tuotFg7VlP3++lnocLhYY4p5l8XO1ZKbCXRMQbiEJamO4+xIFubYisKs0rGLL7 yutf7mzaJb9SYq/arKH+W7onoLyPebmMhJzhjRKAgHIUhazpy74UX0TholPjqMG4QLv9Jol4OMw kMiCD/tLha0X5uiPESnwtweMIHZa+ClwmSzNE2LNzLO9vfjh/BDzhw7cEIhUekFoeVg9bV9v1ae HEzRMmuj3aubddabM6AgArk/YQc436ihTgfpj2Tc5Q+UDfKYq X-Received: by 2002:a05:6a21:3393:b0:3bf:b7e8:68ab with SMTP id adf61e73a8af0-3cb9c0712b1mr4607344637.2.1785990747078; Wed, 05 Aug 2026 21:32:27 -0700 (PDT) X-Received: by 2002:a05:6a21:3393:b0:3bf:b7e8:68ab with SMTP id adf61e73a8af0-3cb9c0712b1mr4607282637.2.1785990746606; Wed, 05 Aug 2026 21:32:26 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , marco.liebel@oss.qualcomm.com, Brian Cain , richard.henderson@linaro.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-stable@nongnu.org Subject: [PATCH v2 1/6] host-utils: fix ssub32/64_saturate return type and clamp direction Date: Wed, 5 Aug 2026 21:32:18 -0700 Message-Id: <20260806043223.3787083-2-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260806043223.3787083-1-brian.cain@oss.qualcomm.com> References: <20260806043223.3787083-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=aNzAb79m c=1 sm=1 tr=0 ts=6a740e5b cx=c_pps a=Oh5Dbbf/trHjhBongsHeRQ==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=69wJf7TsAAAA:8 a=kM50MvNqywxRmdRKJWUA:9 a=QEXdDO2ut3YA:10 a=_Vgx9l1VpLgwpw_dHYaR:22 a=Fg1AiH1G6rFz08G2ETeA:22 X-Proofpoint-GUID: YY8WDr1Pr-rDCKNLkdBCs_xCfmqq3HP0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA2MDAzMSBTYWx0ZWRfX/GAg8xMaAYLi QUJHFfCYSthJ758vHVd3mCS/xvN9vNZo3LbVBjdQeK3snFPekJBu2jnk4KzHpQVYmXAm7V7BTMJ ssyl08D3VKEk1Pat0cSGqSYk2dXyyGJHfIlsE4JKHX8tEEMYiO1+G7AWP6Y1ko8/NtXnlawoxGZ r6muPQeGv2ONX0Pyki/oEp1IWMKu+ty6ktbJztvDDBVDRSwIt1KhE7s4TrUkTbRY9rgn7NbFEBI DuGXpEeC3mq2TxRA8KmVZ10V/mo/lehBqQwJhSXe66xMv7TFroNaDV3425728uXqJFROQKEBEi2 ZWQYnUptEND7Gx2LhhIHRzNvBX0/LCPTmJ0dUD3+4lsih2xQ5Ozc+/2xWK9ipJR1b8tgubNDOIi lKI9vnzRU55g1RHrZrSPdVzGVKmxFTg48NWQTFXViQLVkhIEk0fso+vVBe3g3KOgptxWURct7Ev 0IbSgqa+O0YNyN6n4UA== X-Proofpoint-ORIG-GUID: YY8WDr1Pr-rDCKNLkdBCs_xCfmqq3HP0 X-Proofpoint-Spam-Info: AW1haW4tMjYwODA2MDAzMSBTYWx0ZWRfX2h/PlQwRCfeI BgViX9wSnd9JTYWhbrIHCBRenjO3TzIdWW5uU2nX9wpYc/8eP4Ftb3rrwXFsri1mZKQRVa7/ly/ oEjMdASw4m2fXXlf8nRNU5WD8N677iM= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-05_06,2026-08-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 suspectscore=0 adultscore=0 clxscore=1015 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608060031 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1785990783369158500 Content-Type: text/plain; charset="utf-8" ssub32_saturate() and ssub64_saturate() were declared to return bool instead of int32_t/int64_t, and clamped to the wrong bound on overflow. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Cc: qemu-stable@nongnu.org Fixes: 16495533131 ("host-utils: Introduce signed saturation primitives") Reviewed-by: Pierrick Bouvier Signed-off-by: Brian Cain --- include/qemu/host-utils.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/include/qemu/host-utils.h b/include/qemu/host-utils.h index 2e8da7fb3d0..1db9dbb138e 100644 --- a/include/qemu/host-utils.h +++ b/include/qemu/host-utils.h @@ -607,10 +607,10 @@ static inline bool umul64_overflow(uint64_t x, uint64= _t y, uint64_t *ret) } =20 /** - * sadd32_saturate - addition with saturation + * sadd32_saturate - 32-bit signed addition with saturation * @x, @y: addends * - * Computes @x + @y, and saturates rathern than truncating the result. + * Computes @x + @y, and saturates rather than truncating the result. */ static inline int32_t sadd32_saturate(int32_t x, int32_t y) { @@ -622,10 +622,10 @@ static inline int32_t sadd32_saturate(int32_t x, int3= 2_t y) } =20 /** - * sadd64_saturate - addition with saturation + * sadd64_saturate - 64-bit signed addition with saturation * @x, @y: addends * - * Computes @x + @y, and saturates rathern than truncating the result. + * Computes @x + @y, and saturates rather than truncating the result. */ static inline int64_t sadd64_saturate(int64_t x, int64_t y) { @@ -637,31 +637,31 @@ static inline int64_t sadd64_saturate(int64_t x, int6= 4_t y) } =20 /** - * ssub32_saturate - subtraction with saturation + * ssub32_saturate - 32-bit signed subtraction with saturation * @x, @y: addends * - * Computes @x + @y, and saturates rathern than truncating the result. + * Computes @x - @y, and saturates rather than truncating the result. */ -static inline bool ssub32_saturate(int32_t x, int32_t y) +static inline int32_t ssub32_saturate(int32_t x, int32_t y) { int32_t ret; if (ssub32_overflow(x, y, &ret)) { - ret =3D x < 0 ? INT32_MAX : INT32_MIN; + ret =3D x < 0 ? INT32_MIN : INT32_MAX; } return ret; } =20 /** - * ssub64_saturate - subtraction with saturation + * ssub64_saturate - 64-bit signed subtraction with saturation * @x, @y: addends * - * Computes @x + @y, and saturates rathern than truncating the result. + * Computes @x - @y, and saturates rather than truncating the result. */ -static inline bool ssub64_saturate(int64_t x, int64_t y) +static inline int64_t ssub64_saturate(int64_t x, int64_t y) { int64_t ret; if (ssub64_overflow(x, y, &ret)) { - ret =3D x < 0 ? INT64_MAX : INT64_MIN; + ret =3D x < 0 ? INT64_MIN : INT64_MAX; } return ret; } --=20 2.34.1 From nobody Mon Sep 28 01:13:32 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1785990821; cv=none; d=zohomail.com; s=zohoarc; b=hPBnROyYdlP0K/DYgPM9uY4AMMWP+o4BDbVBxkTv+gJFSIPi08hOSsLUe6p7leDMuU4jacH5gmAtDW+6C1o80svYvQ8HMMJsT6uJw/EafPB9TTIUVMUJjICioeazYyWYN0SBezg5xOB+5q9JKmpYadVk9SL9NQvYppcAwj36+tI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1785990821; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=vimfb4mB5Y/rzzknLn+teggVHiC4aAHA6lBicXhjL6o=; b=IiW1rV//TvuYiLuvTs2c6zB7F6LKnAGCpGl6e6V27p9gpHgW3WeFRUajZZHKx1eNdaraZYXbauGCcekghnfWjW85Ka/H/RmAry60lZlcShRPNiVTdRjPhOASqxbumAskTUFYkPRFU4fwNYdPR144OZtEGiyZ73rtDS4kYKZQw+0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1785990821112189.8185604493251; Wed, 5 Aug 2026 21:33:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wrpmi-0002AO-Sf; Thu, 06 Aug 2026 00:32:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wrpmS-00027Z-Py for qemu-devel@nongnu.org; Thu, 06 Aug 2026 00:32:33 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wrpmQ-00045O-Fs for qemu-devel@nongnu.org; Thu, 06 Aug 2026 00:32:32 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 675NbMLV170489 for ; Thu, 6 Aug 2026 04:32:29 GMT Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fv5x5uk2h-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 06 Aug 2026 04:32:29 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-38ecc48b3c2so2477598a91.1 for ; Wed, 05 Aug 2026 21:32:29 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315863b0a9csm29958146eec.2.2026.08.05.21.32.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 21:32:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= vimfb4mB5Y/rzzknLn+teggVHiC4aAHA6lBicXhjL6o=; b=KtOq4P84B9VpuXrC edFbFEYZzDea+wJnEgzzfpxM14rPOFi/KMAY2SPgmO3npfMOP4Z0wIkWIEribeu1 FJ9dvIzru9P8CigLOYrJl7AzdwU5nUbn0FUgqfbLxOWLtMupLVIkmI3H3zXETS03 jmP4cVs2BD1U4CzOdhJxkIzs60vBSZCfOt7F4cyMTLF9OCDi0rlEw6K/m7SdQk+H OQXXy063V3WQrcsanGzR72OtX1paotqU6K05+1s7/oXPT5sAxync5iV1Z8WU6Lr+ EwAYgv6QrOnemEOU0qvXYnNRrEvpl84HaRLmzu7t1PE9K8dSMahKRnpiK0hX3rgp QVjY1w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785990749; x=1786595549; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=vimfb4mB5Y/rzzknLn+teggVHiC4aAHA6lBicXhjL6o=; b=QUcPQMet+qcij+RUrtEpmMYqxYPftNYL24aOK1nWXZ88QEwTxwfLMCSnd1vcMNYkvA T+18IJnwD2mLG5fNqhKVJpsFKjsdKPglHQZa+YLpNu4K3wEk066bqFwDxQeLKVbnEN/+ F4i0SHU+l6RsCNRIwqvJMDBsr9EmyBKRKEokaanmve0U1Bf0BjvFeInAclGUqy3hovuZ VaLqzGyopzMXEoshD4uBbzItaqMvz7MrkGdeW3lHYZiJVEmDORaVRKK+0askQ9KMQ1XG XP+Fs0B72medZf2t13ExZgEiM3a8Cz11WGAkewI8+zOUgeX6gdI9e2hD7EKyg+hkGxBa ulNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785990749; x=1786595549; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=vimfb4mB5Y/rzzknLn+teggVHiC4aAHA6lBicXhjL6o=; b=BE2KXEtQpU2i2GRNoimYGqPFzasIZeyVacHPZfa5wd/Ge3RyznHG/wzeYkZsn/LeqY T2abPXjvywHEQc0b0i0bFroyInkAMy9h+g+8bHjHaJYTs97zK5luijxR5tQstpoIN1UX wRo1SmckgXR3/Xsi4xeMrmh08/iAk6MEyBjmvTp5MZfZscOwZUgmGOeC59psc59Qn8+G O8S5kef8R3vUrheMkvo3ZltgsKwfIaRwO4G/EnzwXyWkfNtpqScvzBjt9FViRzhR5cdn yUHM3nGElAsMz4DnKhlkdHFhigT/6AjoaDm84iLEN5OMVJgK7Gnr1kt5rJexVMoB9gl8 3VEw== X-Gm-Message-State: AOJu0YwdamYkRLLg+CFFgSq0G8CFnlqmWXBIjLIR/EhcOYhGeYOFvBuS GSslW/hzLLD1gfdohnx6AGrEYSsx7VQu4OjHvyVX8xlgs75tsIMc7fv0B8IP5e45+zJE2cmCOhL 3ZykHOWAVDDvzxxUfBYOaIFFO2p8Ar44X4My5LS4m71jdwSqQzti/32DVoPBR+Y2lIA== X-Gm-Gg: AR+sD10GyFxxhQ+PRB0ToxMwzB4/guDdzsZcNzRgWInw+6xR9DWOipUq9KeurtopfNW ksfF3OceZiJ5U4DcideXtxUziRT3OcJ/Eitba9/BIRJQs8ZS3Nu774z9Qc9yVJ9W6xiH1Jcx6Ad mWDi3JvcDmIrEhTvyDJ7/fnOGe77GxBAY1XXTNEHWFPINwNBnsSdhtBmXxTR+anh0Qpn9/iEwiN FLQ6SLEjEMo9svq3BbL9s3Mc0w0oJXPHU7i+2WJ6zUz3SpniE/uS9oX54hw66Az6s1Ra3cYaVh4 pcVEHwyqE4y3TpI96sz3DpL+CwubzC5l6jasGiRTsWeQ3cAH4zdOe6ISdG3vVzZMr7yN12paZK0 dhXAw86j9pv7e8/63Xi3i0uggizS1WNGaaeSCvoNMaZwBFFiD X-Received: by 2002:a17:90b:2245:b0:36b:bec8:94c5 with SMTP id 98e67ed59e1d1-3903c5a6abbmr8761533a91.10.1785990748572; Wed, 05 Aug 2026 21:32:28 -0700 (PDT) X-Received: by 2002:a17:90b:2245:b0:36b:bec8:94c5 with SMTP id 98e67ed59e1d1-3903c5a6abbmr8761498a91.10.1785990747989; Wed, 05 Aug 2026 21:32:27 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , marco.liebel@oss.qualcomm.com, Brian Cain , richard.henderson@linaro.org Subject: [PATCH v2 2/6] target/hexagon: add GVec overrides for HVX saturating add/sub Date: Wed, 5 Aug 2026 21:32:19 -0700 Message-Id: <20260806043223.3787083-3-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260806043223.3787083-1-brian.cain@oss.qualcomm.com> References: <20260806043223.3787083-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: c9ni_TQsHJcjj0INatL857fv71AcuzBN X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA2MDAzMSBTYWx0ZWRfX+bQl9muMLvUs ZNqc8LFWJ32fs8uonsCppOEJKMkom4N1lyPv/5Kfr778Bd0E9HbcpkxQ96ZFZ3v6gnvHR52d/5I vqo7C3sekcKTA2MXgYjC3St6bUj999SfgKMXK5dX+fAtVy6MuO65TiAQoVGoG/cFQw3ghQ9F6WZ DFVfWdcvotlSGLw3QE8lYUIxagaJUVlWEXd6uGwb2MBHh6NSTfB1bN9FxCegdxPe28fkoH0O6mp lefnCbRqQgyp8nVrFu+9IsIo7Cq99Mmf+r480jPXNg2JpLhknwsCVgDmPtFmScfDP5UaytbAaow lq2Jr4Rq44wDmU7BHYLhuaZd71RjftKfJaLpE1esDpSnp+qQ7yWZmthsf3kch7CGSLEPTCAdX3b EWkEJgMxgd28PKskTLQFOKkl+vkswencudnBDhGcl2jBzsW6Ryw+OjpdzrTBKPjvnGG5zGOpyQn AA1Ke/CpbTOxdBHPbUA== X-Proofpoint-ORIG-GUID: c9ni_TQsHJcjj0INatL857fv71AcuzBN X-Authority-Analysis: v=2.4 cv=RcygzVtv c=1 sm=1 tr=0 ts=6a740e5d cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=0_kjDyPZ7ljX0vQYBzoA:9 a=0bXxn9q0MV6snEgNplNhOjQmxlI=:19 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODA2MDAzMSBTYWx0ZWRfXyG1z0Qm5mfXk jX6Ijh3HkIVJbMHF1G59TN8wEnktHUdSni9JAiT3XE3Cd/dt1K8o8CgNkAMUw3XKh4RzD9Aza1H oeobdMHcLMIu5Rvg0jW9xUzMPdgv8CA= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-05_06,2026-08-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 adultscore=0 phishscore=0 impostorscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608060031 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1785990821483158500 Reviewed-by: Marco Liebel Signed-off-by: Brian Cain --- target/hexagon/gen_tcg_hvx.h | 93 ++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/target/hexagon/gen_tcg_hvx.h b/target/hexagon/gen_tcg_hvx.h index 0da64d467e6..43a0f358f00 100644 --- a/target/hexagon/gen_tcg_hvx.h +++ b/target/hexagon/gen_tcg_hvx.h @@ -234,6 +234,99 @@ static inline void assert_vhist_tmp(DisasContext *ctx) tcg_gen_gvec_sub(MO_32, VddV_off, VuuV_off, VvvV_off, \ sizeof(MMVector) * 2, sizeof(MMVector) * 2) =20 +#define fGEN_TCG_V6_vaddbsat(SHORTCODE) \ + tcg_gen_gvec_ssadd(MO_8, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE) + +#define fGEN_TCG_V6_vaddhsat(SHORTCODE) \ + tcg_gen_gvec_ssadd(MO_16, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE) + +#define fGEN_TCG_V6_vaddwsat(SHORTCODE) \ + tcg_gen_gvec_ssadd(MO_32, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE) + +#define fGEN_TCG_V6_vaddubsat(SHORTCODE) \ + tcg_gen_gvec_usadd(MO_8, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE) + +#define fGEN_TCG_V6_vadduhsat(SHORTCODE) \ + tcg_gen_gvec_usadd(MO_16, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE) + +#define fGEN_TCG_V6_vadduwsat(SHORTCODE) \ + tcg_gen_gvec_usadd(MO_32, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE) + +#define fGEN_TCG_PAIR_ADDSUB(OP, VECE, DST, SRC_A, SRC_B) \ + do { \ + tcg_gen_gvec_##OP(VECE, DST, SRC_A, SRC_B, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE); \ + tcg_gen_gvec_##OP(VECE, DST + sizeof(MMVector), \ + SRC_A + sizeof(MMVector), \ + SRC_B + sizeof(MMVector), \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE); \ + } while (0) + +#define fGEN_TCG_V6_vaddbsat_dv(SHORTCODE) \ + fGEN_TCG_PAIR_ADDSUB(ssadd, MO_8, VddV_off, VuuV_off, VvvV_off) + +#define fGEN_TCG_V6_vaddhsat_dv(SHORTCODE) \ + fGEN_TCG_PAIR_ADDSUB(ssadd, MO_16, VddV_off, VuuV_off, VvvV_off) + +#define fGEN_TCG_V6_vaddwsat_dv(SHORTCODE) \ + fGEN_TCG_PAIR_ADDSUB(ssadd, MO_32, VddV_off, VuuV_off, VvvV_off) + +#define fGEN_TCG_V6_vaddubsat_dv(SHORTCODE) \ + fGEN_TCG_PAIR_ADDSUB(usadd, MO_8, VddV_off, VuuV_off, VvvV_off) + +#define fGEN_TCG_V6_vadduhsat_dv(SHORTCODE) \ + fGEN_TCG_PAIR_ADDSUB(usadd, MO_16, VddV_off, VuuV_off, VvvV_off) + +#define fGEN_TCG_V6_vadduwsat_dv(SHORTCODE) \ + fGEN_TCG_PAIR_ADDSUB(usadd, MO_32, VddV_off, VuuV_off, VvvV_off) + +#define fGEN_TCG_V6_vsubbsat(SHORTCODE) \ + tcg_gen_gvec_sssub(MO_8, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE) + +#define fGEN_TCG_V6_vsubhsat(SHORTCODE) \ + tcg_gen_gvec_sssub(MO_16, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE) + +#define fGEN_TCG_V6_vsubwsat(SHORTCODE) \ + tcg_gen_gvec_sssub(MO_32, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE) + +#define fGEN_TCG_V6_vsububsat(SHORTCODE) \ + tcg_gen_gvec_ussub(MO_8, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE) + +#define fGEN_TCG_V6_vsubuhsat(SHORTCODE) \ + tcg_gen_gvec_ussub(MO_16, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE) + +#define fGEN_TCG_V6_vsubuwsat(SHORTCODE) \ + tcg_gen_gvec_ussub(MO_32, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE) + +#define fGEN_TCG_V6_vsubbsat_dv(SHORTCODE) \ + fGEN_TCG_PAIR_ADDSUB(sssub, MO_8, VddV_off, VuuV_off, VvvV_off) + +#define fGEN_TCG_V6_vsubhsat_dv(SHORTCODE) \ + fGEN_TCG_PAIR_ADDSUB(sssub, MO_16, VddV_off, VuuV_off, VvvV_off) + +#define fGEN_TCG_V6_vsubwsat_dv(SHORTCODE) \ + fGEN_TCG_PAIR_ADDSUB(sssub, MO_32, VddV_off, VuuV_off, VvvV_off) + +#define fGEN_TCG_V6_vsububsat_dv(SHORTCODE) \ + fGEN_TCG_PAIR_ADDSUB(ussub, MO_8, VddV_off, VuuV_off, VvvV_off) + +#define fGEN_TCG_V6_vsubuhsat_dv(SHORTCODE) \ + fGEN_TCG_PAIR_ADDSUB(ussub, MO_16, VddV_off, VuuV_off, VvvV_off) + +#define fGEN_TCG_V6_vsubuwsat_dv(SHORTCODE) \ + fGEN_TCG_PAIR_ADDSUB(ussub, MO_32, VddV_off, VuuV_off, VvvV_off) /* Vector shift right - various forms */ #define fGEN_TCG_V6_vasrh(SHORTCODE) \ do { \ --=20 2.34.1 From nobody Mon Sep 28 01:13:32 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1785990803; cv=none; d=zohomail.com; s=zohoarc; b=HQeVo7QRNQr5f9BP13tS5Iqnyxlv3DdNXdsqJshObfPgDFSLMkGiMIuLBEOSjVWpEjD+MkDMRTY5NHhy7FqyF1pLdkE/ZmQ8KGZIpA1JLecLWDRRFBGpf2grqKfck5VMBfueHRy4cCDfsgp4A0Na5Sv/Afk7lauq/J2o7N/XFiY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1785990803; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=0n1hwlJsHzSmx2dFXPr1Z0A5cUsYOIaUndeJcb2d3Ms=; b=DfhktlsAWG0bvCVLk83hVUIHZ/AEkNDbUkCCCl34NLU1NjfKEXYZsssRXRPfMmKBsJhD5aZYHELYLzdpz08VkIo3HO8lfJ1aIFIqZtIIMIv3M36qul7c35o7r2Mz5aRwpL7ANiKjELNfcjnPUiXqfa+Z+l8Y4jj3KgpSC/J/3iw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1785990803928297.48100724318294; Wed, 5 Aug 2026 21:33:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wrpmp-0002An-RG; Thu, 06 Aug 2026 00:32:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wrpmT-00027a-2I for qemu-devel@nongnu.org; Thu, 06 Aug 2026 00:32:33 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wrpmR-00045V-Iv for qemu-devel@nongnu.org; Thu, 06 Aug 2026 00:32:32 -0400 Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 675NbM094138443 for ; Thu, 6 Aug 2026 04:32:30 GMT Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fv5x9uhj5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 06 Aug 2026 04:32:30 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-38e4758ab46so2129744a91.0 for ; Wed, 05 Aug 2026 21:32:30 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315863b0a9csm29958146eec.2.2026.08.05.21.32.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 21:32:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 0n1hwlJsHzSmx2dFXPr1Z0A5cUsYOIaUndeJcb2d3Ms=; b=nwUCtLK/+5V0KFp1 SO/FCGwfd/oIhYLfO//YZ12OZGBBkMk3piK+iaQ2tFzgrU97z6KyFRNIBGSZM1pY gQuQWilbcUx8trKlNZeflRKP5jTwRx8nky+vzUZwaerG0CjhYKjXx3N10L5k9DJ+ r5A05VJuw0KXOUgeJaBh2ehqfm9nqNpvVwxvmAm31ROEYBQpmCu0A1eecHPiJc5B MHD7O9xV97/XmI8PuNRWN15KJWS8nL+/qbJv18pvzSbVc1MAKIidQD6lfnfKgwTl tf0nqEIlUs9tXJbgUVi0ZKjZSNazeip5pVaJF0A6lb5M0nHtX0+zOYMFCGvjwbN2 +TMTBw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785990750; x=1786595550; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=0n1hwlJsHzSmx2dFXPr1Z0A5cUsYOIaUndeJcb2d3Ms=; b=CbQ5ERe/JhLbwpRJS98zu5l94q1vcoZcV0WrIVsu4kNQjawc3Aw63EW5AMM5q7dxjA SknKbGZlhhK0uMHwUbCB7DisvFTzkDKu6c1wtYz3/t3u4q0ChJUVhdByDaTJ+daNr4Ob H145dRj3BPZSYM6qsX79gUY/6uSnareBoLGDbjAB0Exa6ctPvFtZNwrRfw9An+F68zES KRgJp4VDQ0RRGwyntmUcJojvn1rHGDzSwGOxm9M/L9AjjqcCGpFJGhE/QGOIs6mu6IU6 IgiU4RyQXYso0sHhSq8/y+CBRXEa0ZLMow6VCweqcokFC5juWtDkutx3x2JhO7gFQ/0l YboA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785990750; x=1786595550; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=0n1hwlJsHzSmx2dFXPr1Z0A5cUsYOIaUndeJcb2d3Ms=; b=SAbEbFLIEdhHrV2YuZiTl6SINLk58bPVTDlTzY94vLZIbZDmb3MqxulzfRLlZNh0PQ tj4BPSGpiyf9mzEYH6zf50vUNuB+GVabWkZYOZ78nKsbE6R1pspbnV5ZMjuwH6dwnI9a SLjcAlfpTBuYCRvywq6GT0M2GebU2impVUcvy9FNJxeHzgfMe+ghj418yhO+mAwqp/a+ OWE6ciQlKr90wenMocPUmEm/wYxQ0ThYXQXJ+b6y502KzHxp1Q0XxKKIUfzUwXwuJv6j wnimYI5dCRNT2C62DpD/+MUaDCVx/JBTXN1gzSym+r3IR0nEBvu1FRL3bJhzZnieoMhf bOgQ== X-Gm-Message-State: AOJu0YxG3tZk+k/DHRXbHP1ihWTmQk0WIPdauXaCYu1FEjFWcdsOKfiF 2hNHnK7bzIbniOGhwBL6bUJvLZUHnixuvW2VLYIwXudTt272CmwsQHDIYbPzwNdls7Jl6ebJQB4 aYBxj4xmiPa7ofQAuIaB8aIVSpNTHp6ynPMXJl3dW3jEGL2i5C+2qDrzM+bUzUEy0vg== X-Gm-Gg: AR+sD13dSHt2mrj2vNKV33haC4BhaQ8XiKZQWV3DURrd+O63VDa9lPxw0FNKT8J9prK UMuuuXNmFO/UKfsMFy+9uKSqL10jVvQTR5MfyRUjvok01gHAG8d/jnrPhQMy20zLqb9Vek+JgJ7 3oIQiy2ZCqS5t0DnsLmLAao4JfzPCqUvZIUnB39/5C2LtQV/rxFUHlwl8bJ9cfH10Q5P59/O7zy WNb6LKaQ8i6zyw7q7QObHpJ3MKpsoel2FrFvXo+7cLYEKMpJM1n1qVNVXgfhpN2qSMnek+UfIP2 x6Px+MAM70T08BfpVWYcnmU6NBmLPrTvZ9ns5Mp/AMmFk3iu6k74RlLZnQ6jQtanJdZZSg7RyKu kfV3C9oxfoZvF3t+S8vx+zo/oOUHaax8IbmnVkxPCuFOrq70Q X-Received: by 2002:a17:90b:3c0b:b0:382:1a6f:ba3b with SMTP id 98e67ed59e1d1-3903c543fcbmr11983173a91.5.1785990749664; Wed, 05 Aug 2026 21:32:29 -0700 (PDT) X-Received: by 2002:a17:90b:3c0b:b0:382:1a6f:ba3b with SMTP id 98e67ed59e1d1-3903c543fcbmr11983127a91.5.1785990749192; Wed, 05 Aug 2026 21:32:29 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , marco.liebel@oss.qualcomm.com, Brian Cain , richard.henderson@linaro.org Subject: [PATCH v2 3/6] target/hexagon: add GVec override for HVX vmpyih multiply Date: Wed, 5 Aug 2026 21:32:20 -0700 Message-Id: <20260806043223.3787083-4-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260806043223.3787083-1-brian.cain@oss.qualcomm.com> References: <20260806043223.3787083-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA2MDAzMSBTYWx0ZWRfX5Jj+Ps3o+D1Y wjKuPYhb2fbj9vLoDQ7xyZpv70yZPM/WOoVgjvaVoFwdm1Ox86iSB50y8qtV9v8R+XyRqR88Jdu mZwB/I3PaqoKMMq4hJCB/IRxYdQ5mLy3tgK9KNcIm0R493q2/WKFGng3mCI26AozLZW0PgjhyhR d3Og2U2SfmiOLxJM2tgUeXzEgo6NrBAX2LrsKFvvtosHZiPY4TCM32LSnzvEzglcCiRHdi28x4s C3jh5jYxy5e1cB9K1gOk9Fy7yKFI3mhuw+hkTXRKQ/514Et9RKAqhftXRv21dwd/GEXhoO/CMdb wBwx4bE2ZtMGGK6ZD/SVKw+BvrYF+LrgfAb3R8y+XdlYMfjobamN4L6uLGItB6PzejZCuXeCCCd 1ZFb+GDeMUPb7bwYyX4/7BmK4b9knKEw6s2n4CvCJdBPF8YJBgMbz03j6QkDMdpG04JoJuWvq9j 06U5MDzvWdMQ9LyuShQ== X-Proofpoint-ORIG-GUID: UascEK6ER__4FEpCjr8x1rGHAhHJSgwt X-Authority-Analysis: v=2.4 cv=BMqDalQG c=1 sm=1 tr=0 ts=6a740e5e cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=BRFeZrn0LRIrCjf-XoEA:9 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-GUID: UascEK6ER__4FEpCjr8x1rGHAhHJSgwt X-Proofpoint-Spam-Info: AW1haW4tMjYwODA2MDAzMSBTYWx0ZWRfX4iPCHrtFqOYw KytrR4sq46iiuONJ21rnjifFSdez7ifBquJ1t7VRqxJ0kLlItJhijqtcGMO8M9sXIhULvCmkYwY jkQasRjEEZek5D8CrdffwX0Ugbb4zSQ= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-05_06,2026-08-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 phishscore=0 suspectscore=0 bulkscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608060031 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1785990805587158500 Reviewed-by: Marco Liebel Signed-off-by: Brian Cain --- target/hexagon/gen_tcg_hvx.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/hexagon/gen_tcg_hvx.h b/target/hexagon/gen_tcg_hvx.h index 43a0f358f00..f843fe4e2e1 100644 --- a/target/hexagon/gen_tcg_hvx.h +++ b/target/hexagon/gen_tcg_hvx.h @@ -327,6 +327,11 @@ static inline void assert_vhist_tmp(DisasContext *ctx) =20 #define fGEN_TCG_V6_vsubuwsat_dv(SHORTCODE) \ fGEN_TCG_PAIR_ADDSUB(ussub, MO_32, VddV_off, VuuV_off, VvvV_off) + +#define fGEN_TCG_V6_vmpyih(SHORTCODE) \ + tcg_gen_gvec_mul(MO_16, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE) + /* Vector shift right - various forms */ #define fGEN_TCG_V6_vasrh(SHORTCODE) \ do { \ --=20 2.34.1 From nobody Mon Sep 28 01:13:32 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1785990836; cv=none; d=zohomail.com; s=zohoarc; b=JEL7hIjRYYM2dp3g/ExTgbBtqcMo6txHIdN35d5mcaGj2rC5U9fHBbWDS6E4oL1mkJcPX1RU655Qyb4ZKxxFNQwGBLj7T6gRpIZYsu/CgYOsm0UQvDk/U19rQjWC2/EBvr0ZqC5YvpJNvJHfM5vRKgGAiMqXIFn0NSKlv737IWI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1785990836; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=lMrOYVV1lXui4kcopBU4l1JIok+w71OlrrEVUyncEEM=; b=JX11Qv3P+/rm0jeLt4DBQAY9H7/HLLVXhzCurIASN6v4SWfLht4xRAxpsCCkBdftk1RPLQQ+GnYrn62ccJu3tofqIRnFo6chnXechvswSzzPKMIqdxEq07UllyWO9eKIMbAOsP1bunqp+CkHLimoeYlPE4+O9Vcowj6sd/3Y/7U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1785990836866347.9474265784528; Wed, 5 Aug 2026 21:33:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wrpmr-0002CV-Ai; Thu, 06 Aug 2026 00:32:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wrpmV-00028O-03 for qemu-devel@nongnu.org; Thu, 06 Aug 2026 00:32:41 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wrpmT-000461-GE for qemu-devel@nongnu.org; Thu, 06 Aug 2026 00:32:34 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 675NbISx170270 for ; Thu, 6 Aug 2026 04:32:32 GMT Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fv5x5uk2m-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 06 Aug 2026 04:32:32 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2cacd6d37edso22458755ad.0 for ; Wed, 05 Aug 2026 21:32:32 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315863b0a9csm29958146eec.2.2026.08.05.21.32.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 21:32:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= lMrOYVV1lXui4kcopBU4l1JIok+w71OlrrEVUyncEEM=; b=M0pEMEcqJEqLurNB azY1nmQu6oaab5RIKonCJWNZmLPC+aboE6ldVw2/JmPeX82Wdus6vwC9BENcbhfv EgeXPgvAEMCldidwklHDHOsg8Y3l2pmaT6DRqJklBFuThCqxy6aAv5wYbwQhdSZx a4DKaQvrKm+oDhUCiDDtg5eiinPVOvPoaXphlfDp1ez7IQSo/X8nqCZmoVzj8/kJ 3qV55MAuP6JlaeMqV1FeHRh128B4V8sEMkgZGxnQfr0LagMCNomujos/tWPz7i6Y CaGkjuQvUKZvPmn/53y5t/vSeMBjxQWZrcOxR7fS71qE2TEM4SBgLEQBjXwAz+EO POb/SA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785990751; x=1786595551; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=lMrOYVV1lXui4kcopBU4l1JIok+w71OlrrEVUyncEEM=; b=X0KrACkXioYCMSJFV7qXdyx2Hf2781dVF1r/RGnEJbTUegVQdOFSWvhtJj6Vw8xY9V Y4nrAJA0RjatSLbfrjoUP29pfhXI5zCqR/IwRZjPU5UE3Toa9DDUy2VG4NqzTeC72THp hUb39wuY4rX0l6i2OjklTQ3erdT3VFikv/Yw+soPxLXcyKqLl8SrJHazSvJDMAVZYayh 8gL0PdrkJ+OfukEsw5Dg/+TzpWbqyfyU0vS+xqBxYyYe4MsziIW8POu919HupdtLa90c CdurL2f8s43WXXIkXCrAJChrcnIkR2qQAIo+jD2etqtajfjbALJ6t9lHO65g57k8qx/Z ls3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785990751; x=1786595551; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=lMrOYVV1lXui4kcopBU4l1JIok+w71OlrrEVUyncEEM=; b=KTX7eC84vF44xi7QT5EZcMahCUbvbMx6YDvdwEOI0emSmN2xHWsgRkA648/eMi9x1H Wgm1DvO3SVLPvBh0f/Xrn8eZaE5tHingZ2wjqpvj91lvrsSPjemjfL14DDrxs0v1PCl2 pE2VtZE3+VO/cHOi5s4iJqFo2mOTG2IonNC4FaQ3X4BGqYxDsTwT/rNg8D1T5GZMT8TY v74hSXQi+wD38+00aIW3FEMy/Zlecpw+V0xYuEybV1KR+tgQHNi4jgVOZhG6Ql2SVFRn rL3+BvY/iu4jK//hshrcMEu/8t2gkgW/0cwJkOcdEF9NbKgt3PVe8K/EG4aHkARUATDq +vIQ== X-Gm-Message-State: AOJu0YzfKYNS4pLwcdJUfHweIniZrgtsyXGhxYxnLMuvcbE+JMfbI50E tY+sKggCuTMKDdqXwGuAY+Pl0w3tjeUjJFUSBiev6l6B+W936gLogEHV1VX6bx+e0HXN+5GHVbR p8shi9SBtulJgAy3HdV5XP/ncz1Auy15BRF83bujUKfvay0Jmhr2z8npw8lMhDggf+Q== X-Gm-Gg: AR+sD10G7p/UEuo7IGaZXaO8r0+fFh3f4ejIwbHYeiK/A/wtMsN23HTlrGv003E+4cF on304K2eNu3rKBCWTC9hx9P+9ru20aFrvt8PRAdZS9JK9bem98xPssWB8kvGO1JN/sNYakuVGiI /2jL9kckNSWRfoI2BcRVllFZSRu4yiYpv+UAtrnUgHRu+K/pt6YoRwQQrVWTbzHRx/VyG6L6HMH txbE+95wfV1wGdnYYRiaN+QN9h8N1KfIYpYcxL95xdiUBHFgDYNrwTB7gzn2lydpvtSqBBdaZwI otS3pxK/eL3+GgCM526/eqG3uPOUmYA2I/l0U9IgtmsDE7WahIDRpeDUyeqKM+JnDyH3tEgPISZ negCLLyfBBYXU/SO2EKjnnv8zztTKPVg2Yc7NEqe2MLT6F0l1 X-Received: by 2002:a17:902:c40d:b0:2c9:9a19:df with SMTP id d9443c01a7336-2d0ca945b59mr130568755ad.18.1785990751150; Wed, 05 Aug 2026 21:32:31 -0700 (PDT) X-Received: by 2002:a17:902:c40d:b0:2c9:9a19:df with SMTP id d9443c01a7336-2d0ca945b59mr130568275ad.18.1785990750695; Wed, 05 Aug 2026 21:32:30 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , marco.liebel@oss.qualcomm.com, Brian Cain , richard.henderson@linaro.org Subject: [PATCH v2 4/6] target/hexagon: add GVec overrides for HVX absolute difference Date: Wed, 5 Aug 2026 21:32:21 -0700 Message-Id: <20260806043223.3787083-5-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260806043223.3787083-1-brian.cain@oss.qualcomm.com> References: <20260806043223.3787083-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: XpsgEcUKCgoRCEXVOcqn9sQ7Kso79Sxd X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA2MDAzMSBTYWx0ZWRfXxA8LFPOitHbU 0IqfJ0mlI3HYFqBiVSgmheMCI0y+L2c7e/bhvSgHsJZYCgGOyQxK7nSEFlO5x0v4BaGLdpFgAXy i+ifjFnbQPsABLPmypeMaFNoYwSzak8XNwNm6j7hg5PbWKym1n32/4Xg25/WllLTCFvZxwn8t18 qk0tMBcVCTfkjRIfGade59zHLy+7POgY7YRV/wwpIVuh/LFecV2QFBqp+ASObYY0nCATD/5BIZY 6xG2xAZLIcRt06XUoADEUYhYKOV9uuobBJ7oX9QtObAk3t4Nq9eKiBcchOZZN1F/VmhLaFg7TBZ RMyoNgMPgIbcyJTu1EFu7Nh4yWTltEypoju7EVh5WzbxAqjDF7xsunhp7FSHH5LN/CiXSOtEo2b d1N797+ZPTbxQfXRilZancARNas9K9idA9NWv5uG3K0ETXkA/aTVsXDkJFMzfSC9XHGxNdgSidu HLDjXAlRkJDQyKCE3fA== X-Proofpoint-ORIG-GUID: XpsgEcUKCgoRCEXVOcqn9sQ7Kso79Sxd X-Authority-Analysis: v=2.4 cv=RcygzVtv c=1 sm=1 tr=0 ts=6a740e60 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=bqCQIhKX8jNGfYgsMrQA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODA2MDAzMSBTYWx0ZWRfXwkSkh8SyZvO1 KGzrWUon95situpn8rWzCS5Km1BdyUKbXXgkki1sg6BkJJHw+QfSOI2zubnh8oJ4t71mrQkWiGl yrVsvWi/sudkEMZJkUJXuoNCt1I3HvA= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-05_06,2026-08-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 adultscore=0 phishscore=0 impostorscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608060031 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1785990837588158500 Reviewed-by: Marco Liebel Signed-off-by: Brian Cain --- target/hexagon/gen_tcg_hvx.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/target/hexagon/gen_tcg_hvx.h b/target/hexagon/gen_tcg_hvx.h index f843fe4e2e1..3cb52c761ae 100644 --- a/target/hexagon/gen_tcg_hvx.h +++ b/target/hexagon/gen_tcg_hvx.h @@ -332,6 +332,29 @@ static inline void assert_vhist_tmp(DisasContext *ctx) tcg_gen_gvec_mul(MO_16, VdV_off, VuV_off, VvV_off, \ VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE) =20 +#define fGEN_TCG_VEC_ABSDIFF(VECE, MAX_FN, MIN_FN) \ + do { \ + intptr_t tmpoff =3D offsetof(CPUHexagonState, vtmp); \ + MAX_FN(VECE, tmpoff, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE); \ + MIN_FN(VECE, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE); \ + tcg_gen_gvec_sub(VECE, VdV_off, tmpoff, VdV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE); \ + } while (0) + +#define fGEN_TCG_V6_vabsdiffub(SHORTCODE) \ + fGEN_TCG_VEC_ABSDIFF(MO_8, tcg_gen_gvec_umax, tcg_gen_gvec_umin) + +#define fGEN_TCG_V6_vabsdiffuh(SHORTCODE) \ + fGEN_TCG_VEC_ABSDIFF(MO_16, tcg_gen_gvec_umax, tcg_gen_gvec_umin) + +#define fGEN_TCG_V6_vabsdiffh(SHORTCODE) \ + fGEN_TCG_VEC_ABSDIFF(MO_16, tcg_gen_gvec_smax, tcg_gen_gvec_smin) + +#define fGEN_TCG_V6_vabsdiffw(SHORTCODE) \ + fGEN_TCG_VEC_ABSDIFF(MO_32, tcg_gen_gvec_smax, tcg_gen_gvec_smin) + /* Vector shift right - various forms */ #define fGEN_TCG_V6_vasrh(SHORTCODE) \ do { \ --=20 2.34.1 From nobody Mon Sep 28 01:13:32 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1785990810; cv=none; d=zohomail.com; s=zohoarc; b=AmxOetnu9bELWHX+dgrqDCViuFDEpVqHj5EgArf4EQMJj+P86SzWAcxzwxEJCrho6KthL1tq/StK1iqofI++BjFYgHXxN1IJMBG02dQx8jntxoVq1uyUkdn0lkkjIMu6OGTlxGgF6ewIm7pQVXbCM9zCrnn1ajqTcz/nHi0/o48= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1785990810; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=AcHGNCDebCbowTTEdPwquByXSx6ozOh5OPsSYRLG/l0=; b=jIqCjTMCA14aWvkZbIjLuX5ml5C6ICvY5BYKPqXGJcHyAlg1qA74PgIq4vmbIW+4F1cbolMWVcBIniz+207B0PD8sDZQerGAMDGCGNLfMi4CyuegeR+1xmGnmAw+6C3Ds3CFOTLbOC5Scb8WheTXdR8mzGxSdQlEI7jzm4keZDg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1785990810860539.5618018172524; Wed, 5 Aug 2026 21:33:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wrpmr-0002CE-46; Thu, 06 Aug 2026 00:32:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wrpmW-00028j-93 for qemu-devel@nongnu.org; Thu, 06 Aug 2026 00:32:41 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wrpmU-00046L-MW for qemu-devel@nongnu.org; Thu, 06 Aug 2026 00:32:36 -0400 Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6763wqRr482374 for ; Thu, 6 Aug 2026 04:32:33 GMT Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fvjueg3aj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 06 Aug 2026 04:32:33 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-cbe62e01567so1558093a12.2 for ; Wed, 05 Aug 2026 21:32:33 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315863b0a9csm29958146eec.2.2026.08.05.21.32.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 21:32:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= AcHGNCDebCbowTTEdPwquByXSx6ozOh5OPsSYRLG/l0=; b=KlR6U6919kCZLvcd vBR6nrDFYUDscDQUhIGLpGu5xJB0okJjjAxCeYm1R0RyTMq7IhuQJkgDAG0/nVR4 daux8fsrTyuUgkXX2X/jCykorRhxqGDbwe1jEOJg2UfVjqx089vMAh92BotPjZjK pKRMnKOsDuxi9fdS0XonG8OIeU51hHgQK6GedWrGVOuUY7c7KzdPN3vqGw3j1D29 Iz9syuic9c9AZxAvtcF6iYJbsF8tX9D0VnnvOUbgETEXBkbIK+ePYTpOIaEwXmfT orZn79FzZzhGRPWoxohCYeo4F/LJPW8cKC2XAo87MkCQdIDxIUt2ByiD+6HNN3dH LSapDQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785990753; x=1786595553; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=AcHGNCDebCbowTTEdPwquByXSx6ozOh5OPsSYRLG/l0=; b=bIvR05Fm0a4kF5udabdaEld4SjMQliJqb5Nl2jTk7FvuVlBmBCBN7TX/7JGnxZ59Ev tdIZdqFVmInYhkOFNQbpf512UHb8UCc8R++PR2YdY0jE6NVdVhPeiv+J1QggT2urzTSg OHLt/9UcgThhhr/2aEFQ7TnmPe4HdlwwmWzLNA3M2lqmjkuBoQyvbp7k6RVVKvJJjx6w mM3iJ3sBQT9wB7XvhyuZY0V6PgL7qzO48let5R9kM3KAuS41zQAk/HZ2BN52bWDxfCNj NfYFsq//qR6GOfdstXzSjJj1GTC3odaDC/FoYZQ3c8htQqXHRYWwPQ6GBL01yqyvjug1 2yeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785990753; x=1786595553; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=AcHGNCDebCbowTTEdPwquByXSx6ozOh5OPsSYRLG/l0=; b=T+jkU2Kwg85pksD883TEFRyehwih1lDJZCKI26Bbv+7iYjwp3toChYelL2nEFHyoS/ AHq/3EpPK6crE+53Yfx5SrsdgEx+5XoU1rqk4BneURQziKvUezLw2UENXy06AO/DUW+/ 2fjNKt+xGRUeNQ6+gAwgMTyWfovo6iNy11WBT2ERIDrb+fTf7qAUpMOP9iw1VNzgwgEW Jt9tzQAP+iMt792Gs1QOYvXRAcAXcu71W4cnSXEGq6I6egEnXeRgTX3CIjCytP1xLpYB Hz14Ey3Sk6Y2C1IU2XSfnlzOC2bhKnOgizmMrkEJCH6ZH7Dvsl9w3javkIg7R9/luV5b gAHQ== X-Gm-Message-State: AOJu0YyzIDg/EeeOhZbX59umMDTYPVef7VY02ZWAaFkW8UY54EM/RoZm QXDdSZzd4u1iDbf8xPDhfWvWj1qLFwHMUHvXIfC2xBxuOCEaZqsAj+xxF4SGCimootpg2Hb1Mvw IjONjLM5MJ1CpZiIBzmRFVposEnptDBraXrt51iHJEHxC2JQT/6WkoeHksNjfMobOxw== X-Gm-Gg: AR+sD10izWA41+G2sIq6KtxsrZL1fiID3OV52bWUgftME68jWxEI+/bZqvM8AZ++lJn WQ6ISJLUQDSC0hyoSsKhKD/tDgKxas7lTsGUiVooQvvcr9oeMzRNMk1qT1qovGCvTLKfdSFOaSg 714AsT4Jb3vx5O8g+rMYoTfQCDEx2VNDyRm8Zj9k3Vr+7aTMMVCn585QKkYERw4imSRnQxnFwHt K3XqSCj66Wwdm9vezHIeC7S8zfP/zkLezPe3+BYOKfb0sbIXO2kzuFXtGfkm8pg9hMYFLXZLRcX euKht6sdNv8Dk/AMTj8v7BZSg4mDxvCRh+BHK4FdVWhZf88i52t6l2LtKHsq0ql9LybTOltvNv7 H4cCF+004uLaQvLTq6SP0gOXwJm69gLEonKYnL8xtK8ONV77b X-Received: by 2002:a05:6a21:329b:b0:3c0:b766:751b with SMTP id adf61e73a8af0-3cb85e991f7mr12918129637.14.1785990752633; Wed, 05 Aug 2026 21:32:32 -0700 (PDT) X-Received: by 2002:a05:6a21:329b:b0:3c0:b766:751b with SMTP id adf61e73a8af0-3cb85e991f7mr12918083637.14.1785990752101; Wed, 05 Aug 2026 21:32:32 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , marco.liebel@oss.qualcomm.com, Brian Cain , richard.henderson@linaro.org Subject: [PATCH v2 5/6] target/hexagon: add GVec overrides for HVX vector average Date: Wed, 5 Aug 2026 21:32:22 -0700 Message-Id: <20260806043223.3787083-6-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260806043223.3787083-1-brian.cain@oss.qualcomm.com> References: <20260806043223.3787083-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=aNzAb79m c=1 sm=1 tr=0 ts=6a740e61 cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=5fOnMlAeMDB701wdRugA:9 a=QEXdDO2ut3YA:10 a=x9snwWr2DeNwDh03kgHS:22 X-Proofpoint-GUID: n5IKwJKjAqFClt4dAwWFO1XK-HyepfDi X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA2MDAzMSBTYWx0ZWRfX5gMurBn7tEWm Js+uqVnnbz0p0c7qt25zY//QN1OMq9q6PW1YlLb8qN27MW2yMr1z/w/H8hGDCN/8Np09qA8sZcd H0VOnE9x1c78JWqvkYLBo5edylx1b6Yjr3W079esZtATYzLC6/afKmOusrb/MYtcxcf1dq7H3r4 TbqJB1Z9v0KXv9fhHCS4U0Mz2w9HiM5f6mXuRNoLD76PdveBuJVoWEQ580tPw/gTx0vg4Rz0MFX Jd/2/RzxjZ/WXUzuq1qUdU6uhetNPzyRh1uvA0K693is808EOX/eVm9PNRHXzFbDsYT4kQYBRI6 OgzaFNPeMKer/wzqcz8XOVk5alXogZ+8q4tiGJ8WSDUistIc2852pXec0Hf31UEtrWMlp8qkbko 5Qr0ucSo6i6rW+NNAUipdahxQupB57Ry1XEN4GbRt6lSUlwYg6B9SxD1ApPCg2szP0kiEzkafa2 XchPmLsYSUFN8ik9K9Q== X-Proofpoint-ORIG-GUID: n5IKwJKjAqFClt4dAwWFO1XK-HyepfDi X-Proofpoint-Spam-Info: AW1haW4tMjYwODA2MDAzMSBTYWx0ZWRfXw2CsS6kgZHAi tDKuhJuEmNHUyJ7OQbNMlaV0ghJKZri9aveV/jvzCW4YV/h3cRJja1vP0dzc4THRP43M4DvgRQe wmEtkHipunZUBMuK4PPic+hBOcxtvn4= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-05_06,2026-08-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 suspectscore=0 adultscore=0 clxscore=1015 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608060031 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1785990811423158500 Reviewed-by: Marco Liebel Signed-off-by: Brian Cain --- target/hexagon/gen_tcg_hvx.h | 62 ++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/target/hexagon/gen_tcg_hvx.h b/target/hexagon/gen_tcg_hvx.h index 3cb52c761ae..97c373c10bf 100644 --- a/target/hexagon/gen_tcg_hvx.h +++ b/target/hexagon/gen_tcg_hvx.h @@ -355,6 +355,68 @@ static inline void assert_vhist_tmp(DisasContext *ctx) #define fGEN_TCG_V6_vabsdiffw(SHORTCODE) \ fGEN_TCG_VEC_ABSDIFF(MO_32, tcg_gen_gvec_smax, tcg_gen_gvec_smin) =20 +#define fGEN_TCG_VEC_AVG(VECE, SHIFT_FN) \ + do { \ + intptr_t tmpoff =3D offsetof(CPUHexagonState, vtmp); \ + tcg_gen_gvec_and(MO_64, tmpoff, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE); \ + tcg_gen_gvec_xor(MO_64, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE); \ + SHIFT_FN(VECE, VdV_off, VdV_off, 1, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE); \ + tcg_gen_gvec_add(VECE, VdV_off, tmpoff, VdV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE); \ + } while (0) + +#define fGEN_TCG_V6_vavgub(SHORTCODE) \ + fGEN_TCG_VEC_AVG(MO_8, tcg_gen_gvec_shri) + +#define fGEN_TCG_V6_vavguh(SHORTCODE) \ + fGEN_TCG_VEC_AVG(MO_16, tcg_gen_gvec_shri) + +#define fGEN_TCG_V6_vavguw(SHORTCODE) \ + fGEN_TCG_VEC_AVG(MO_32, tcg_gen_gvec_shri) + +#define fGEN_TCG_V6_vavgb(SHORTCODE) \ + fGEN_TCG_VEC_AVG(MO_8, tcg_gen_gvec_sari) + +#define fGEN_TCG_V6_vavgh(SHORTCODE) \ + fGEN_TCG_VEC_AVG(MO_16, tcg_gen_gvec_sari) + +#define fGEN_TCG_V6_vavgw(SHORTCODE) \ + fGEN_TCG_VEC_AVG(MO_32, tcg_gen_gvec_sari) + +#define fGEN_TCG_VEC_AVGRND(VECE, SHIFT_FN) \ + do { \ + intptr_t tmpoff =3D offsetof(CPUHexagonState, vtmp); \ + tcg_gen_gvec_or(MO_64, tmpoff, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE); \ + tcg_gen_gvec_xor(MO_64, VdV_off, VuV_off, VvV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE); \ + SHIFT_FN(VECE, VdV_off, VdV_off, 1, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE); \ + tcg_gen_gvec_sub(VECE, VdV_off, tmpoff, VdV_off, \ + VECTOR_SIZE_BYTE, VECTOR_SIZE_BYTE); \ + } while (0) + +#define fGEN_TCG_V6_vavgubrnd(SHORTCODE) \ + fGEN_TCG_VEC_AVGRND(MO_8, tcg_gen_gvec_shri) + +#define fGEN_TCG_V6_vavguhrnd(SHORTCODE) \ + fGEN_TCG_VEC_AVGRND(MO_16, tcg_gen_gvec_shri) + +#define fGEN_TCG_V6_vavguwrnd(SHORTCODE) \ + fGEN_TCG_VEC_AVGRND(MO_32, tcg_gen_gvec_shri) + +#define fGEN_TCG_V6_vavgbrnd(SHORTCODE) \ + fGEN_TCG_VEC_AVGRND(MO_8, tcg_gen_gvec_sari) + +#define fGEN_TCG_V6_vavghrnd(SHORTCODE) \ + fGEN_TCG_VEC_AVGRND(MO_16, tcg_gen_gvec_sari) + +#define fGEN_TCG_V6_vavgwrnd(SHORTCODE) \ + fGEN_TCG_VEC_AVGRND(MO_32, tcg_gen_gvec_sari) + /* Vector shift right - various forms */ #define fGEN_TCG_V6_vasrh(SHORTCODE) \ do { \ --=20 2.34.1 From nobody Mon Sep 28 01:13:32 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1785990821; cv=none; d=zohomail.com; s=zohoarc; b=T/+wJGVRFlOCpvc1FL+zONSRzMN2S/iZKARzbQozWqAkGWzuA3yokwDKhcACimbMAnPPuLNNEPav/ipEJGjdbeUnwzbSfT+5YH9ttBw4sLp6G/FsWxQ+ML9Ef+RA2GWznqNIWnTVAiYrsy7whHmhKvsmWpUsJupzORUlHCcCmO0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1785990821; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=j2Tq17a6Nx88JT8R5fCoaV+t6aHZHI82tO8YJOFApiw=; b=IX5/Xegd6WG8hB9mvHpZBGduODNYlY5IFiqno5rfLI1Ii8lprhovIuKSeaM7Slgr3UWS2hiKz/6gp65ZU8mRlZHu8ghfE+YKPjNhprmailCqTZbJzxMvvVEWYkkrnYjKC2DUOZBcxfJ6xi8j5w2PeYQhPNa3GolNjBE37giaQxo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1785990821845384.04289307179863; Wed, 5 Aug 2026 21:33:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wrpmr-0002Cj-Up; Thu, 06 Aug 2026 00:32:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wrpmX-00028p-Q1 for qemu-devel@nongnu.org; Thu, 06 Aug 2026 00:32:41 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wrpmW-00046W-5J for qemu-devel@nongnu.org; Thu, 06 Aug 2026 00:32:37 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 675NbIxd170289 for ; Thu, 6 Aug 2026 04:32:35 GMT Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fv5x5uk2t-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 06 Aug 2026 04:32:35 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-cb5cc1e139bso1284809a12.3 for ; Wed, 05 Aug 2026 21:32:34 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315863b0a9csm29958146eec.2.2026.08.05.21.32.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 21:32:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= j2Tq17a6Nx88JT8R5fCoaV+t6aHZHI82tO8YJOFApiw=; b=XXsa5y4YPZHQHEds tipZc+aDN7GDJrbmTTWAY+bjopW20NFyalfUhGFjNJv0hfrLnqtHtWRgtOiaRyiy zw1A6toizt9Qn8WwU3S4gm6CNlD6aC/6RlVa02ZJa/I3CZEnlK44WoGtWXV9opY3 +74vPjP2ckqJppMkVdwK2LL7CBkZPhOLj9u6lBN6z12yMvxaeCJi4JVdwj5DjInb xC94b5ZRdv1OZEbQa43+A5tL/XKaw8xRkwiVIErWZxJNVnEOlnuZdTW2aYYYdE7h IkAnXNbgSGKgCdZgsPtOeCv8ewXlR2FtCb/uNEcmRCgGOefyDHhY4AYV+WmA8Sws nOfr9Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785990754; x=1786595554; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=j2Tq17a6Nx88JT8R5fCoaV+t6aHZHI82tO8YJOFApiw=; b=kXXFMOJm6XgE33uEYV14ZUMBtgDQFRQl0TzXhejjTBLLAFXEwwyBszAvuL2mcjtwCr 2TWmlYIDvWNLus+aixxg64tetJX86xODnvLhgNnOujMDCzdvTQs99qcGstKqxqz6EhS6 Yq6MO4ONNRREvggeJsstngjnRtvc9wGbFFADtFNvHRxgBEqrJ6UMb/JrIzmrF/AawN9U H203/6KBAaLP60Bqo69wKJK+jkKOd7dms7om9QjRlvsVDzKuuwmaBbiryJuh/RBfzhkE gkQgiZNFVo+wI8G8XT3hHy57LMeQEYE+oluN92DWJ3FwFvh5+Am/S/6m09FGrPGRAUJf lJTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785990754; x=1786595554; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=j2Tq17a6Nx88JT8R5fCoaV+t6aHZHI82tO8YJOFApiw=; b=KnMIhXkO9ZCiof8daIMx2/pVgtdaWfBWiOC9yfx0l7TATuA0x710NiCcidsiQpvoxi KR/uBuhUQLlPAkpCHcHZbXjMK+BXyj8X2jycKVP8F/rkDigEGe+OR5uTcKjVgg3HkSY0 dLectW3Nmj7TWxeW0YcsqM6JTL1r5L3K09Vvh6/4/EmR9PKAvb98+1C+rGEka9MKhf5C mKi9G1VAOPiGYqx8iZR0EzRWLZfnnCRtnmCXsgXPsoimVI1HgfKUkTwPup1xg71HVgDR HAmcrgKKUeBOLpasJlILP3M0L7m85MnLliTd2N06BTfwbWnpAWyCFuHMjAAMNBAD0fpt N0vg== X-Gm-Message-State: AOJu0YwdttcoarpceIxWd9MQdt/kDcbor4P4tYWUYueGfVcKsJGmALmv meQHvq+Li+tlSZxcByG+ohwyzVxzlL/vsDI2r3LzdXu4sELUhV4j/B2BibzVQ+WzDdLYbElYvS0 Y7Q0kolUFpflUjP4dQ9hsxIQuL3F93DBB/WUXlrAPg4KfEhlJQ2rdFPmyQKuovDDZ/w== X-Gm-Gg: AR+sD125Lxbbb9Osi86XP0VBPs2h0LuWlUe2RxQESPU6zKVGIHeqY8md9dSfFr6Ix9y ZcuyMzjGkzikpTk1wESdpft+tGZOQt8JenjxSKoqP6mHzJzhQY3Xdbnz19/d8G0GeHoShm9n7YT OoeqS2UZdfVGHcIBkv+UpaNsLmdJVvzFW9jcgk+2n3mn7CVejP3//AqCMYG3ekmqdlh0wvVUlDy HVcR361UAPqiQbTuftE5IB6LDRkPIurDBW7O+93njDu6WjvbLCQ7vIldeFnU20H91e8EHG7MNLj f/+xRm0kGEScH2wtrfq/a5kp+dog+9HigYqWexbapGgGsJ/vq7ueCEHFN8vjgUY/aRfhOch09YR +WqauTDuRNZD6X4Jgf7dBV3uZXsCCQUedj0hkXFBNb05z/EkR X-Received: by 2002:a05:6a20:7fa1:b0:3c8:e140:63c3 with SMTP id adf61e73a8af0-3cb86076804mr12923899637.37.1785990754104; Wed, 05 Aug 2026 21:32:34 -0700 (PDT) X-Received: by 2002:a05:6a20:7fa1:b0:3c8:e140:63c3 with SMTP id adf61e73a8af0-3cb86076804mr12923855637.37.1785990753681; Wed, 05 Aug 2026 21:32:33 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , marco.liebel@oss.qualcomm.com, Brian Cain , richard.henderson@linaro.org Subject: [PATCH v2 6/6] tests/tcg/hexagon: add HVX test for V6_vsubwsat saturation Date: Wed, 5 Aug 2026 21:32:23 -0700 Message-Id: <20260806043223.3787083-7-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260806043223.3787083-1-brian.cain@oss.qualcomm.com> References: <20260806043223.3787083-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: 4b-umCXmVeJtVZdXBIGU7vLgCxTOhsxp X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA2MDAzMSBTYWx0ZWRfX1Sm3UKRsi0eV kpr65rmWkyATXdC9wj6icycq/HxgRLScqzXjAYxNrmZQKl/FIogQBBXDJRdIv1pmI8WkZ+jKWzs jBtZhxYqvzqTNvkLKFUFBKAoYBZrv7bykSz6t3jEvBrqSHyHox7FyX3kZblOhCNG335sSHyeUOu At1PQE+jhto7pnbku3HCzJeZOUaDNpjljou1IowDDicfmSYWJM9VXvUBnPr9oUl5KiP8PMq6dng Xb7IDVbFQ27ZiNsNZeq/3qXSgbA3OZxLPcdZhOgp1hSlBjSQzWOQ2Yu0sPkLYNUC3Lx633P8s9B BSKmEKShnk2k54W7ZAF4BXNE/rpaQNkvxcRFelLRhpmEKLsdir8HSbigMORFKCk3CQBHpajU/Fu 71p8eZhsFKxuGRFJBSGnCmrjtMVXHrT64p7EcPZ/GjGdAkFD1XtD6z3EXbzOn+apUmTalUEzDdE SjH8C7UJEJwITUEt3tw== X-Proofpoint-ORIG-GUID: 4b-umCXmVeJtVZdXBIGU7vLgCxTOhsxp X-Authority-Analysis: v=2.4 cv=RcygzVtv c=1 sm=1 tr=0 ts=6a740e63 cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=KziaR8soUeEz0EukW7EA:9 a=QEXdDO2ut3YA:10 a=x9snwWr2DeNwDh03kgHS:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODA2MDAzMSBTYWx0ZWRfX/cEVb+1pv7Ai Mfe5T3obB5zoGcULE5CUhyaRUOmiV/gbKASGaSpDcZHfBTEHNoVsrr+PWCJrG6T4AxqzOEYWQkD D4SZA5x6bD1UzxFLbjwCiEhOPfUWNUc= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-05_06,2026-08-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 adultscore=0 phishscore=0 impostorscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608060031 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1785990823474158500 Reviewed-by: Pierrick Bouvier Signed-off-by: Brian Cain --- tests/tcg/hexagon/hvx_misc.c | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/tests/tcg/hexagon/hvx_misc.c b/tests/tcg/hexagon/hvx_misc.c index 90c3733da07..641cff59aba 100644 --- a/tests/tcg/hexagon/hvx_misc.c +++ b/tests/tcg/hexagon/hvx_misc.c @@ -20,6 +20,8 @@ #include #include #include +#include +#include =20 int err; =20 @@ -386,6 +388,47 @@ static void test_vsubuwsat_dv(void) check_output_w(__LINE__, 2); } =20 +static void test_vsubwsat(void) +{ + const int32_t x0 =3D INT32_MIN; + const int32_t y0 =3D 1; + const int32_t x1 =3D INT32_MAX; + const int32_t y1 =3D -1; + HVX_Vector v0; + HVX_Vector v1; + HVX_Vector vres; + + /* INT32_MIN - 1 underflows and must saturate to INT32_MIN */ + memset(expect, 0x12, sizeof(MMVector)); + memset(output, 0x34, sizeof(MMVector)); + + v0 =3D Q6_V_vsplat_R(x0); + v1 =3D Q6_V_vsplat_R(y0); + vres =3D Q6_Vw_vsub_VwVw_sat(v0, v1); + memcpy(&output[0], &vres, sizeof(MMVector)); + + for (int j =3D 0; j < MAX_VEC_SIZE_BYTES / 4; j++) { + expect[0].w[j] =3D INT32_MIN; + } + + check_output_w(__LINE__, 1); + + /* INT32_MAX - (-1) overflows and must saturate to INT32_MAX */ + memset(expect, 0x12, sizeof(MMVector)); + memset(output, 0x34, sizeof(MMVector)); + + v0 =3D Q6_V_vsplat_R(x1); + v1 =3D Q6_V_vsplat_R(y1); + vres =3D Q6_Vw_vsub_VwVw_sat(v0, v1); + memcpy(&output[0], &vres, sizeof(MMVector)); + + for (int j =3D 0; j < MAX_VEC_SIZE_BYTES / 4; j++) { + expect[0].w[j] =3D INT32_MAX; + } + + check_output_w(__LINE__, 1); +} + static void test_load_tmp_predicated(void) { void *p0 =3D buffer0; @@ -530,6 +573,7 @@ int main() =20 test_vadduwsat(); test_vsubuwsat_dv(); + test_vsubwsat(); =20 test_load_tmp_predicated(); test_load_cur_predicated(); --=20 2.34.1