Message ID | 20250204074119.446402-1-quic_apinski@quicinc.com |
---|---|
State | New |
Headers |
Return-Path: <gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2B1393858401 for <patchwork@sourceware.org>; Tue, 4 Feb 2025 07:42:24 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2B1393858401 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=quicinc.com header.i=@quicinc.com header.a=rsa-sha256 header.s=qcppdkim1 header.b=OMZ5fFGX X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by sourceware.org (Postfix) with ESMTPS id EC644385840A for <gcc-patches@gcc.gnu.org>; Tue, 4 Feb 2025 07:41:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EC644385840A Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=quicinc.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EC644385840A Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738654894; cv=none; b=w8o1CTfHoyVSYlzYEIIxxanDxLMhKvRJOx1Nr29kvhKZj6K8UHqSe1KkGvUUTN3zzyv30j8ylnzNiUfEd4NgRCcLUYQMFu+bKm/Piu7OS1f2eJbznropWKFBWfXQorl8180Cc4rAw4afZ7i55Y94tRMlD4dCYZD5WnjC2C3YzaU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738654894; c=relaxed/simple; bh=9v/V7s1lentuWTwUxIJ6q1OXQ4BvDLtP+w/5f/LrzUc=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=bksDkZmCJg2SoBPRcsm6z8zvqx7M8AbKKOyB+lb8LH5GiZoyRQwd7YC0Bzbg4Pl3LafSmyOnbMrtGcN4L4+VJYorM5BTsj1dpFokqEXvEaPMVPXuan/Wnqy/rbbGsoVre4tQl491v4Rq7i9KYclYT9onypLbhHX1A4d3BJC+NdQ= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EC644385840A Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 513KQmje027045 for <gcc-patches@gcc.gnu.org>; Tue, 4 Feb 2025 07:41:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=31ZRh/BQ4qRLppyMMOL8Gh vxHjIeVgo7vrDIjDNPx+E=; b=OMZ5fFGXFRcwfBGDnP0VeS7qQxRpzwshSITD2y m/bE0PYIS95RL+DB6I+NIAwXTMZrvnOSJPPXPDVxQJkumKDI9JlWNSZ/O8rdFTrU ZIwjYE7E2w1GuhvJe27MY+Nnu3HxotJeN5A0nosEfn3eNBXkolNGoV9rjKPL+Dba iYZBIUI2k6frpkv0VVSefn3Wg18aL2V/lTmXGlEcwNEJcJU3wQRGteTgIPFyFyd/ BFVT5E4O+yeg9sEVIyGb5jYsF2V/dT/J2XQrQpVeSnNblB8AWvmeqCppFt8g6sOk yEvDNVHugSWU+HNJRDjIG84H091yPmxkMVthJk3quFy8BuIw== Received: from nasanppmta04.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 44k4ufs7fe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <gcc-patches@gcc.gnu.org>; Tue, 04 Feb 2025 07:41:32 +0000 (GMT) Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139]) by NASANPPMTA04.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 5147fWwY012486 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <gcc-patches@gcc.gnu.org>; Tue, 4 Feb 2025 07:41:32 GMT Received: from hu-apinski-lv.qualcomm.com (10.49.16.6) by nasanex01c.na.qualcomm.com (10.45.79.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.9; Mon, 3 Feb 2025 23:41:31 -0800 From: Andrew Pinski <quic_apinski@quicinc.com> To: <gcc-patches@gcc.gnu.org> CC: Andrew Pinski <quic_apinski@quicinc.com> Subject: [PATCH] optabs: Fix widening optabs for vec-mode -> scalar-mode [PR116926] Date: Mon, 3 Feb 2025 23:41:19 -0800 Message-ID: <20250204074119.446402-1-quic_apinski@quicinc.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.49.16.6] X-ClientProxiedBy: nalasex01b.na.qualcomm.com (10.47.209.197) To nasanex01c.na.qualcomm.com (10.45.79.139) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: p7Lwrw2ByOhvigr-Q9iyxuEKfXUXdVaZ X-Proofpoint-ORIG-GUID: p7Lwrw2ByOhvigr-Q9iyxuEKfXUXdVaZ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-04_03,2025-01-31_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 adultscore=0 bulkscore=0 mlxscore=0 priorityscore=1501 suspectscore=0 spamscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2501170000 definitions=main-2502040061 X-Spam-Status: No, score=-14.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org |
Series |
optabs: Fix widening optabs for vec-mode -> scalar-mode [PR116926]
|
|
Checks
Context | Check | Description |
---|---|---|
linaro-tcwg-bot/tcwg_gcc_build--master-arm | fail | Patch failed to apply |
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 | fail | Patch failed to apply |
Commit Message
Andrew Pinski
Feb. 4, 2025, 7:41 a.m. UTC
r15-4317-ga6f4404689f12 tried to add support for widending optabs
for vec-mode -> scalar-mode but it misunderstood how FOR_EACH_MODE worked,
the limit in this case is not inclusive. Which means setting limit to from,
would cause the loop not be executed at all. This fixes by setting the
limit to be the next mode after from mode.
Note the original version that added the widening optabs for vec-mode -> scalar-mode
(https://gcc.gnu.org/pipermail/gcc-patches/2024-October/665021.html) didn't have this
bug, only the second version with suggested change
(https://gcc.gnu.org/pipermail/gcc-patches/2024-October/665068.html) dud. The suggested
change missed this issue with FOR_EACH_MODE.
Bootstrapped and tested on x86_64-linux-gnu.
PR middle-end/116926
gcc/ChangeLog:
* optabs-query.cc (find_widening_optab_handler_and_mode): Fix
limit for `vec-mode -> scalar-mode` case.
Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
---
gcc/optabs-query.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Tue, Feb 4, 2025 at 8:42 AM Andrew Pinski <quic_apinski@quicinc.com> wrote: > > r15-4317-ga6f4404689f12 tried to add support for widending optabs > for vec-mode -> scalar-mode but it misunderstood how FOR_EACH_MODE worked, > the limit in this case is not inclusive. Which means setting limit to from, > would cause the loop not be executed at all. This fixes by setting the > limit to be the next mode after from mode. > > Note the original version that added the widening optabs for vec-mode -> scalar-mode > (https://gcc.gnu.org/pipermail/gcc-patches/2024-October/665021.html) didn't have this > bug, only the second version with suggested change > (https://gcc.gnu.org/pipermail/gcc-patches/2024-October/665068.html) dud. The suggested > change missed this issue with FOR_EACH_MODE. > > Bootstrapped and tested on x86_64-linux-gnu. OK. > PR middle-end/116926 > > gcc/ChangeLog: > > * optabs-query.cc (find_widening_optab_handler_and_mode): Fix > limit for `vec-mode -> scalar-mode` case. > > Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com> > --- > gcc/optabs-query.cc | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/optabs-query.cc b/gcc/optabs-query.cc > index 65eeb5d8e51..f5ca98da818 100644 > --- a/gcc/optabs-query.cc > +++ b/gcc/optabs-query.cc > @@ -492,7 +492,7 @@ find_widening_optab_handler_and_mode (optab op, machine_mode to_mode, > { > gcc_checking_assert (VECTOR_MODE_P (from_mode) > && GET_MODE_INNER (from_mode) < to_mode); > - limit_mode = from_mode; > + limit_mode = GET_MODE_NEXT_MODE (from_mode).require (); > } > else > gcc_checking_assert (GET_MODE_CLASS (from_mode) == GET_MODE_CLASS (to_mode) > -- > 2.43.0 >
diff --git a/gcc/optabs-query.cc b/gcc/optabs-query.cc index 65eeb5d8e51..f5ca98da818 100644 --- a/gcc/optabs-query.cc +++ b/gcc/optabs-query.cc @@ -492,7 +492,7 @@ find_widening_optab_handler_and_mode (optab op, machine_mode to_mode, { gcc_checking_assert (VECTOR_MODE_P (from_mode) && GET_MODE_INNER (from_mode) < to_mode); - limit_mode = from_mode; + limit_mode = GET_MODE_NEXT_MODE (from_mode).require (); } else gcc_checking_assert (GET_MODE_CLASS (from_mode) == GET_MODE_CLASS (to_mode)