From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <SRS0=xfWu=WF=arm.com=Tejas.Belagod@sourceware.org>
Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on20611.outbound.protection.outlook.com [IPv6:2a01:111:f403:260c::611])
	by sourceware.org (Postfix) with ESMTPS id 6C3803858CDB
	for <gcc-patches@gcc.gnu.org>; Tue, 18 Mar 2025 05:57:33 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6C3803858CDB
Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com
Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 6C3803858CDB
Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:260c::611
ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1742277453; cv=pass;
	b=fL2jrN/yk/i12Olx10o13xsFEKOCFxjbIVdm4mTRV1H/Wsz9fFF1YisbDq31rs++zB6Od4OL6QOheL7JAbavNi8BEIx1MzAIh0Esf/cRmGNpKIDuVi4WiGC5C/WefpahXpQjX1QkMSgaLmKFAPCSRaYhGBxfrfUejWVRPkjf8Nw=
ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key;
	t=1742277453; c=relaxed/simple;
	bh=Ggb9698kFhDmnYJ+vtz0PTbuLkM2Ln6TWtfdJ+VkQUs=;
	h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:
	 MIME-Version; b=usbe0Bm3uhvggyN/N5mL9o+6TQkO2G6hGS5rfZxvawJKgpMczxzREchIXzZ7FquIw7U4D/voM+DvCntioMsdFw/V1ZJcxUJgGoxFfFTqhIi5DKjykTn3vXEZs2cqreyQ9nAiwhxV/fyY1tS5TF0tIUepavf68cjEGAnwMbxdxxc=
ARC-Authentication-Results: i=3; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6C3803858CDB
Authentication-Results: sourceware.org;
	dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=V5Mjnfzv;
	dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=V5Mjnfzv
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=IPG9X2H4gvibQvJhbH5Ban7P6f0ZiZFL/ML77e+R3fU+69IKz48+tp2BAqQz1Gv14unPWSwwzM1Fsupnrl1IEqwJ6JS5by48rkNpOEYNbOQrA5IP1E5w+sO8pZ4JZde6ASLFeHQPfyI5hIDPwGRL75Kml2hgJlrq2l0dJQCdwgFpPG0pWBmw2M8a0pMSBV8klPZ2zopQ+powwaLnrI0gz05CmLy/MkwvoZLuJoAfrBqz8kNhi3DUn7hTjzSzljvQHLbWOGJmObqGh+AH0UfbI+QWsgM/3ckWi5eL8W1sUhccp+Mcx/4VzMCbXdfcM4wse5twK5K2+VloeHny8v3faQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bu2SgGUn3S0XQHsvtScjoGzr+yhlzrKirrnRr2+Ahmg=;
 b=SJ4swpjKnxrD7A521UOkm2ZXk4j6bh50d+QUTEZyMZ1oXuZhrn8QUyYhZGBRGSRLld9xoK6uIv0mYlziCJbOdRUzqDfh3Lf4MNN/1cSsy15clIJ+enExdGfvMb/t2NWQyGSfMkzrPSyD3LjpFu6SedjSCL8bjmTN+jCptsuJrbUOx2hnDup32mrM3e2ZHXuyzecr6dPFr5hbxnBnAW/uj8z475NZ1MWlNCvAO90SR74cSh0izj03gnVZWBqGvy5Oqn7VWN15ELP8YWB/5cmyHUvoLghCp7WKmxag6hlsbf/2Fc+XXYXZi63+XBMfOR0Smd67c7lhRpwhG0LMMgWxjg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass
 (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass
 (signature was verified) header.d=arm.com; arc=pass (0 oda=0 ltdi=1)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Bu2SgGUn3S0XQHsvtScjoGzr+yhlzrKirrnRr2+Ahmg=;
 b=V5Mjnfzv3dgiRbDZN4T9/m2zjFgfUT07djHBZHEsYENF2wD6vImY+OCEvGnw8323YBXWJDufdB+fedcQPKTX/eQopylgTeubkhXjSPIxnaS/s0FiQHdFzlwOOAEdV5VHAjynJyD4FmuaMKM1mS8wbSCHStzpJqT+GDVscwG+JJU=
Received: from AM9P192CA0009.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:21d::14)
 by FRZPR08MB11071.eurprd08.prod.outlook.com (2603:10a6:d10:13c::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 05:57:28 +0000
Received: from AMS0EPF00000197.eurprd05.prod.outlook.com
 (2603:10a6:20b:21d:cafe::ca) by AM9P192CA0009.outlook.office365.com
 (2603:10a6:20b:21d::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Tue,
 18 Mar 2025 05:57:27 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF00000197.mail.protection.outlook.com (10.167.16.219) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Tue, 18 Mar 2025 05:57:27 +0000
Received: ("Tessian outbound 17f7e587bbed:v594"); Tue, 18 Mar 2025 05:57:27 +0000
X-CheckRecipientChecked: true
X-CR-MTA-CID: f0e14abb956bb08c
X-TessianGatewayMetadata: 5ZawXArOuaqcNdUSaVWY7IzFG3sjK3Dufw2DHxBLIouIVy3gi0eCUNrGIxMjxJ/Uhm6YAX1RKnONZrfz0bWfEHL/Rlxps4qzoIj1JNEZ541GkIYihpzapXgLfIOWi/twSVx9SzDgpXvH8DJeviQwrO/SAIXCQ7pTDIhxrO/3Ngs=
X-CR-MTA-TID: 64aa7808
Received: from L0b42120772aa.1
	by 64aa7808-outbound-1.mta.getcheckrecipient.com id 16DD1DF3-4DC7-4512-8677-5009B586176C.1;
	Tue, 18 Mar 2025 05:57:20 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
    by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id L0b42120772aa.1
    (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
    Tue, 18 Mar 2025 05:57:20 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oPj9f2DYhuuZBvKNrNMqj57Bey1iQcArqv5kZP12Ec50QWgCtHEZ6c5ci5N5JGkQsYwuH3+Z8qxe2H+s5IMnrgKf2+4bkJopbfGW/BK64jbxd5qZ6imdSWcNDFn6SFkPck4tZVdu3Xd0/b0TbZN9uefU3/zKZP8AcidbB1+dCj8ztOK95VAHcSzsVqTgyqVOH0d/6x0lv8Foa1LTMzaR0SxW+zgDHhrlDnAKiuGyaLAWxyj16Y6gq6rwhemyvYhWRuqlk7PorryK1hjdjoyiNch1CX0+CK+pBFYNXxWnfBh0mGe39wklMlrDSXfVvzNYeb1ZvKZhbAxY36wLU/Poyw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bu2SgGUn3S0XQHsvtScjoGzr+yhlzrKirrnRr2+Ahmg=;
 b=WdNULKg4/YoTd4VNoUgHr0crb5wt+//ki9CKtDxrb2j7DARVcKWjnxOfY3pitISrbd0Q4SknodQIb+nGtdinlz8HpH9oUKPJLQSZbddTVblw+Jdqa6Y7YlnvJxy8zfHz3tj74rovp80EWjkDRdNNEPyx5e1ybDJK0l35V/t9ie9BntEmW7STFM6fbxji0qWEkg7yDEsYKJU/Oi7R7I3jqKSo6iwYgBooiDmethTIJp9ZPVkMLe7VVsYKl2t+KcB4HlPStxZk6UluKkIogVaXeJnN8Oy2/H1zGuU66g2DUlCnzY4DCy50wu9tkjGWm6zsIBeJe/J0DlS0XmBniCpE7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is
 172.205.89.229) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com;
 dmarc=fail (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Bu2SgGUn3S0XQHsvtScjoGzr+yhlzrKirrnRr2+Ahmg=;
 b=V5Mjnfzv3dgiRbDZN4T9/m2zjFgfUT07djHBZHEsYENF2wD6vImY+OCEvGnw8323YBXWJDufdB+fedcQPKTX/eQopylgTeubkhXjSPIxnaS/s0FiQHdFzlwOOAEdV5VHAjynJyD4FmuaMKM1mS8wbSCHStzpJqT+GDVscwG+JJU=
Received: from AS4P250CA0016.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:5e3::8)
 by DU5PR08MB10659.eurprd08.prod.outlook.com (2603:10a6:10:51b::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Tue, 18 Mar
 2025 05:57:15 +0000
Received: from AMS0EPF0000019E.eurprd05.prod.outlook.com
 (2603:10a6:20b:5e3:cafe::a7) by AS4P250CA0016.outlook.office365.com
 (2603:10a6:20b:5e3::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Tue,
 18 Mar 2025 05:57:15 +0000
X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 172.205.89.229)
 smtp.mailfrom=arm.com; dkim=none (message not signed)
 header.d=none;dmarc=fail action=none header.from=arm.com;
Received-SPF: Fail (protection.outlook.com: domain of arm.com does not
 designate 172.205.89.229 as permitted sender)
 receiver=protection.outlook.com; client-ip=172.205.89.229;
 helo=nebula.arm.com;
Received: from nebula.arm.com (172.205.89.229) by
 AMS0EPF0000019E.mail.protection.outlook.com (10.167.16.250) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8534.20 via Frontend Transport; Tue, 18 Mar 2025 05:57:15 +0000
Received: from AZ-NEU-EX06.Arm.com (10.240.25.134) by AZ-NEU-EX06.Arm.com
 (10.240.25.134) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 18 Mar
 2025 05:57:14 +0000
Received: from a078660.blr.arm.com (10.162.46.14) by mail.arm.com
 (10.240.25.134) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 18 Mar 2025 05:57:13 +0000
From: Tejas Belagod <tejas.belagod@arm.com>
To: <gcc-patches@gcc.gnu.org>
CC: Richard Sandiford <richard.sandiford@arm.com>, <jakub@redhat.com>, "Tejas
 Belagod" <tejas.belagod@arm.com>
Subject: [PATCH v4 1/3] gomp: Various fixes for SVE types [PR101018]
Date: Tue, 18 Mar 2025 11:27:06 +0530
Message-ID: <20250318055708.61207-2-tejas.belagod@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250318055708.61207-1-tejas.belagod@arm.com>
References: <20250318055708.61207-1-tejas.belagod@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-TrafficTypeDiagnostic:
	AMS0EPF0000019E:EE_|DU5PR08MB10659:EE_|AMS0EPF00000197:EE_|FRZPR08MB11071:EE_
X-MS-Office365-Filtering-Correlation-Id: d471c9ca-e409-4bd7-9404-08dd65e1c368
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?FK4fTtuVIT/I8gs6Bk+A3TQCGd8qiEPTRulhHn2Ma1FyQD1BYMiGI8lPN88v?=
 =?us-ascii?Q?l/yYWJG4hDUZ/x99v4mJ68YtwUCWSG/u9CUSOQRxE6d5I8iczxQ0E/GKBCzC?=
 =?us-ascii?Q?bVgB5T5QZhA10KJW6ERs3YdygA3Aa3hhsfVaiUdGi7Itm1UIBAXnS8lOjwHV?=
 =?us-ascii?Q?gw1HTVFeZsH1i7D8wOxS0YCqQKeRVeYy556+lZCCTQiE7ljYI9sia5plxxpf?=
 =?us-ascii?Q?aq+BTPDidj8MHQ4Vpfpclb4bYlssTCWdLH1GS0YzxDLrAg10LLbOnflpC/ZS?=
 =?us-ascii?Q?QdQ83I7IOOQzkzHE4ViBNrrnTocFHz+yB/oqjk4W7CvxAhU+zMmXIbUNtb5N?=
 =?us-ascii?Q?mZ5wfcfIEi0Nh38MpbUEIkBnXzjtVd4pzWa6uCF3aZE9OIGdScC45aWmy4KA?=
 =?us-ascii?Q?kh/esVIovKpj/lez1sWn8iRx/3gQ7wUNKw0UG/w+JEc4XX+Nd1My36xXfyrs?=
 =?us-ascii?Q?T3naeloKrMpQLWbdEckg19aOvAtDDJtptAxDlIwfKbOA0WaHDCcjJMd9Fn7E?=
 =?us-ascii?Q?Ten9ThX8Vzs/vCVvW84Uiu87jmU+mtfdZJOfx4sIqa7c8cxYTmEZ0onYIdxF?=
 =?us-ascii?Q?HwYXXRc8MJx/rifkLWokZsQXRYfEDXtBDd3xolFxJh35sb/DmYJuRkVNReR+?=
 =?us-ascii?Q?y2RPE8VbZ2F1NOiVMY7kO4RIP/M4gjBwmu/gw7ZuhrjuvI7DOdJxnxy1/Y1w?=
 =?us-ascii?Q?AL7bp4NfsC9o+4qk5mUrKZVShmFg51UPoyTTZGQaol+V0TnuMXE37kY/CB+4?=
 =?us-ascii?Q?HjyR+SE/1j3zCvO3i8b+vjGHvCUMStf4VHrNSwo7EQA2WliJNd14ifXzubyq?=
 =?us-ascii?Q?MmYa9/jk04XbIWGTbfTqslwjvRE/sEp2YexVzdNpk06iEgmmDulo2VpYefA7?=
 =?us-ascii?Q?D/4Z6WHkO9vR5+rxedvwkX2CBBVNvoVWY2zqamcK5YPHiX/eGfvdjIm/rxwU?=
 =?us-ascii?Q?9NX2t5rGRyeWoYkwLg6Dgj2bh/99utKgBOR/ugqyQFc7LW1a3L3mAIptzNoC?=
 =?us-ascii?Q?Qha5Ev+dZpnKWJJ6MZgkxu0v2wn82e7yCLX1f4is9JGJT6cbFZDaaXBn092R?=
 =?us-ascii?Q?nDlGrM4glqMzdObVkbhkyx2otm7DO23GKXY1oDqWXpKJKB3rWQi5BW55GDx/?=
 =?us-ascii?Q?xiatdMw6o+VmFVnAQv9XeVkVB7eyW1xhWO2bllUi0IK155T3L2y0jihE2S7o?=
 =?us-ascii?Q?u3VZLZDbk3hg+1XoxYJYMtekWliZYEPIvN5tlI9yQ/6S6ha3veC+F6WOzmSG?=
 =?us-ascii?Q?3JdhI/nzNqKDl/gbwkY8D12mIoqJ41yYXSqzTsFLxRP6+zgX/oDlNRdIR7rD?=
 =?us-ascii?Q?YQK34PNFaIvaulswUvtl2ArMOE2+Gv6LiPFiyI4MZx1B4S66L/bpGzN2V/HO?=
 =?us-ascii?Q?AGEF6WJUihgkahdHFlUPb9l8RL8bv87ZXgx3GEHKdkIuFFHMErSVkr/mxk3z?=
 =?us-ascii?Q?cNCU2H00Qm8q4p4Dd6B7AD1dBm2WDElBSR5d756SUMjjlF/ZUIHK7eBJg6TO?=
 =?us-ascii?Q?FvtBEZghJp6HerI=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:172.205.89.229;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10659
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:20b:5e3::8];domain=AS4P250CA0016.EURP250.PROD.OUTLOOK.COM
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF00000197.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	22cbe6d8-71e4-43bb-1fb2-08dd65e1bc30
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|35042699022|376014|14060799003|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?BCSGlCepFP+wx2aUYhbWLkzfNezAptrWYLiKuuzjmtxdcQrRnrFTlkyX7+4X?=
 =?us-ascii?Q?Q2hLQGkOArXC/5Rxpo0VNGrKxb/xj4U9fCQxKNgvFvvgKwzHI8S3i/SkH6me?=
 =?us-ascii?Q?hnV/CvjU80Tb3P4CsnBxgguUQdjVEnjM6pqkutjhS+5p9cgmgVIWrZRkoxpY?=
 =?us-ascii?Q?JxjU9wjeAAZZY6onnunrMc6+dEgdaBIme9zy6CUdDSbQJMrablexzNy3lo+I?=
 =?us-ascii?Q?8LGC5ozPQYx7UBkYSWmIUrLBzUPdEeEgEbVK0//7ywNPA5wwsFZtNSQ7Mv/P?=
 =?us-ascii?Q?KTNB2QyoGRKmTgGyTTC4TOGiCK5q9D8R17Yj8XzE1sRJw4unNvtf5U/jwOpi?=
 =?us-ascii?Q?xJmIb5hEHMHEPiFSa8Td/MJWSlGZy2eI8hRUgWCxKTWyLqgiTlHnwKFAFDtF?=
 =?us-ascii?Q?F3gp+tpDlFiYbea+surCkIyA2r/5A3h2yOUJWdMfIdnySIwCYiQ4jfI7to8v?=
 =?us-ascii?Q?doowMtP2mA+/82wxvtSYvigdA5Jwx2uVVp/uGuV/eATC3ozXH6UR69F1aSFP?=
 =?us-ascii?Q?RMumIDmhRzfSgQi1jt60iUTx1kwkl+/C1b+0cSf2QHDFvM+Wg9cgCw9HMz6J?=
 =?us-ascii?Q?W3R/hBxfxOdzSmcpFvzqrw9o9wOP3cG74ri6YDVCxTUJqlXTnabz/vQSG5zE?=
 =?us-ascii?Q?MAgYXpX5sAiPBv1SgQxSy1Y2/lrL7u45zpo09tUOObwAe/yT7/0/gLOcc3RL?=
 =?us-ascii?Q?QR9nB6X3riDEnuIppKCbv1b0XHkGZcanoLwaaaFHDMC7g382p9MxKc/hnuH8?=
 =?us-ascii?Q?LZx4WquyE1MjnuLgXMXq+lI7xgecyiB8ZwQbraBeVJ4VIdnFs4W8IinBuNhJ?=
 =?us-ascii?Q?EW3+J0uRVzLQwOj8RiL+7kj3it+/J4mLVliPipGuSp4+nmibKhF76dm5xPFR?=
 =?us-ascii?Q?tM+7Ed4fZzmMNqq3j1TEI1uyFynDjnIusWhS7vRMtTcw1G1LAUiDrmcn0YNU?=
 =?us-ascii?Q?mi4oZgJrHDurJ1+kMZk5SCOl7MAzdzd3r7jmxhL57ruL0S+JcLtw23K/ZaYQ?=
 =?us-ascii?Q?3Q8hhAasj76oRmNY7e/efpdTcM6niXXosSmmOGMr/kyXqmHoort0sh+I6S0t?=
 =?us-ascii?Q?oilSoVYdtk07p713BaPVXevXSDsqPKv3jD265jqoat8ZvENNGUq/kpmwcM0O?=
 =?us-ascii?Q?C0xIZqYRC27owCkP/Sw6/XcI/Wd4NWiA0bYBFExfIZSInOcIVpLDPImgI9Y8?=
 =?us-ascii?Q?Bp937Bf6fo/SN6vXFEDIYzCJDMxVpZl6ylHc5CGrOc4hx0icdsjSEA2WTspr?=
 =?us-ascii?Q?nY4OIe6NQetXQVHR1LlttXKSK7Ri3GiRzKTR3Z2GvnbAhqxgMRL1yPH9i7lC?=
 =?us-ascii?Q?AXuMtUCFxr8cgBGseHevvIgQPxKOujwpITLWS1C9J1DmSe1oZQ5R4AFSdvfu?=
 =?us-ascii?Q?pelUDTfxW+HepFhlG5g6WJSS8Ywl8pEFlm+fKFm/b6Cd606WR8SLgpVzKIp1?=
 =?us-ascii?Q?NwaaJ5BINpYsNLmD/oAQAg3hLih14/Dyh+hpLerIU+NwROm+41FpMoq6PPpi?=
 =?us-ascii?Q?+oetkXYEMEMOw+U=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:64aa7808-outbound-1.mta.getcheckrecipient.com;CAT:NONE;SFS:(13230040)(1800799024)(35042699022)(376014)(14060799003)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Mar 2025 05:57:27.6311
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d471c9ca-e409-4bd7-9404-08dd65e1c368
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF00000197.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: FRZPR08MB11071
X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,GIT_PATCH_0,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org
List-Id: <gcc-patches.gcc.gnu.org>

From: Richard Sandiford <richard.sandiford@arm.com>

Various parts of the omp code checked whether the size of a decl
was an INTEGER_CST in order to determine whether the decl was
variable-sized or not.  If it was variable-sized, it was expected
to have a DECL_VALUE_EXPR replacement, as for VLAs.

This patch uses poly_int_tree_p instead, so that variable-length
SVE vectors are treated like constant-length vectors.  This means
that some structures become poly_int-sized, with some fields at
poly_int offsets, but we already have code to handle that.

An alternative would have been to handle the data via indirection
instead.  However, that's likely to be more complicated, and it
would contradict is_variable_sized, which already uses a check
for TREE_CONSTANT rather than INTEGER_CST.

gimple_add_tmp_var should probably not add a safelen of 1
for SVE vectors, but that's really a separate thing and might
be hard to test.

Co-authored-by: Tejas Belagod <tejas.belagod@arm.com>

gcc/
	PR middle-end/101018
	* poly-int.h (can_and_p): New function.
	* fold-const.cc (poly_int_binop): Use it to optimize BIT_AND_EXPRs
	involving POLY_INT_CSTs.
	* gimplify.cc (omp_notice_variable): Use poly_int_tree_p instead
	of INTEGER_CST when checking for constant-sized omp data.
	(gimplify_adjust_omp_clauses_1): Likewise.
	(gimplify_adjust_omp_clauses): Likewise.
	* omp-low.cc (scan_sharing_clauses): Likewise.
---
 gcc/fold-const.cc |  7 +++++++
 gcc/gimplify.cc   | 19 +++++++++----------
 gcc/omp-low.cc    |  2 +-
 gcc/poly-int.h    | 19 +++++++++++++++++++
 4 files changed, 36 insertions(+), 11 deletions(-)

diff --git a/gcc/fold-const.cc b/gcc/fold-const.cc
index fef7a6cc48e..4687412f01f 100644
--- a/gcc/fold-const.cc
+++ b/gcc/fold-const.cc
@@ -1284,6 +1284,13 @@ poly_int_binop (poly_wide_int &res, enum tree_code code,
 	return false;
       break;
 
+    case BIT_AND_EXPR:
+      if (TREE_CODE (arg2) != INTEGER_CST
+	  || !can_and_p (wi::to_poly_wide (arg1), wi::to_wide (arg2),
+			 &res))
+	return false;
+      break;
+
     case BIT_IOR_EXPR:
       if (TREE_CODE (arg2) != INTEGER_CST
 	  || !can_ior_p (wi::to_poly_wide (arg1), wi::to_wide (arg2),
diff --git a/gcc/gimplify.cc b/gcc/gimplify.cc
index 5bdd970f570..534c8457280 100644
--- a/gcc/gimplify.cc
+++ b/gcc/gimplify.cc
@@ -9125,7 +9125,8 @@ omp_notice_variable (struct gimplify_omp_ctx *ctx, tree decl, bool in_code)
       && (flags & (GOVD_SEEN | GOVD_LOCAL)) == GOVD_SEEN
       && DECL_SIZE (decl))
     {
-      if (TREE_CODE (DECL_SIZE (decl)) != INTEGER_CST)
+      tree size;
+      if (!poly_int_tree_p (DECL_SIZE (decl)))
 	{
 	  splay_tree_node n2;
 	  tree t = DECL_VALUE_EXPR (decl);
@@ -9136,16 +9137,14 @@ omp_notice_variable (struct gimplify_omp_ctx *ctx, tree decl, bool in_code)
 	  n2->value |= GOVD_SEEN;
 	}
       else if (omp_privatize_by_reference (decl)
-	       && TYPE_SIZE_UNIT (TREE_TYPE (TREE_TYPE (decl)))
-	       && (TREE_CODE (TYPE_SIZE_UNIT (TREE_TYPE (TREE_TYPE (decl))))
-		   != INTEGER_CST))
+	       && (size = TYPE_SIZE_UNIT (TREE_TYPE (TREE_TYPE (decl))))
+	       && !poly_int_tree_p (size))
 	{
 	  splay_tree_node n2;
-	  tree t = TYPE_SIZE_UNIT (TREE_TYPE (TREE_TYPE (decl)));
-	  gcc_assert (DECL_P (t));
-	  n2 = splay_tree_lookup (ctx->variables, (splay_tree_key) t);
+	  gcc_assert (DECL_P (size));
+	  n2 = splay_tree_lookup (ctx->variables, (splay_tree_key) size);
 	  if (n2)
-	    omp_notice_variable (ctx, t, true);
+	    omp_notice_variable (ctx, size, true);
 	}
     }
 
@@ -14402,7 +14401,7 @@ gimplify_adjust_omp_clauses_1 (splay_tree_node n, void *data)
       if ((gimplify_omp_ctxp->region_type & ORT_ACC) == 0)
 	OMP_CLAUSE_MAP_RUNTIME_IMPLICIT_P (clause) = 1;
       if (DECL_SIZE (decl)
-	  && TREE_CODE (DECL_SIZE (decl)) != INTEGER_CST)
+	  && !poly_int_tree_p (DECL_SIZE (decl)))
 	{
 	  tree decl2 = DECL_VALUE_EXPR (decl);
 	  gcc_assert (INDIRECT_REF_P (decl2));
@@ -15143,7 +15142,7 @@ gimplify_adjust_omp_clauses (gimple_seq *pre_p, gimple_seq body, tree *list_p,
 	  if (!DECL_P (decl))
 	    break;
 	  if (DECL_SIZE (decl)
-	      && TREE_CODE (DECL_SIZE (decl)) != INTEGER_CST)
+	      && !poly_int_tree_p (DECL_SIZE (decl)))
 	    {
 	      tree decl2 = DECL_VALUE_EXPR (decl);
 	      gcc_assert (INDIRECT_REF_P (decl2));
diff --git a/gcc/omp-low.cc b/gcc/omp-low.cc
index c36ae38cf8e..00bcf27fa47 100644
--- a/gcc/omp-low.cc
+++ b/gcc/omp-low.cc
@@ -1461,7 +1461,7 @@ scan_sharing_clauses (tree clauses, omp_context *ctx)
 	  else
 	    install_var_field (decl, false, 11, ctx);
 	  if (DECL_SIZE (decl)
-	      && TREE_CODE (DECL_SIZE (decl)) != INTEGER_CST)
+	      && !poly_int_tree_p (DECL_SIZE (decl)))
 	    {
 	      tree decl2 = DECL_VALUE_EXPR (decl);
 	      gcc_assert (INDIRECT_REF_P (decl2));
diff --git a/gcc/poly-int.h b/gcc/poly-int.h
index 7c8901a971a..77f78752e74 100644
--- a/gcc/poly-int.h
+++ b/gcc/poly-int.h
@@ -1906,6 +1906,25 @@ known_alignment (const poly_int<N, Ca> &a)
   return r & -r;
 }
 
+/* Return true if we can compute A & B at compile time, storing the
+   result in RES if so.  */
+
+template<unsigned int N, typename Ca, typename Cb, typename Cr>
+inline typename if_nonpoly<Cb, bool>::type
+can_and_p (const poly_int<N, Ca> &a, Cb b, Cr *result)
+{
+  /* Coefficients 1 and above must be a multiple of something greater
+     than ~B.  */
+  typedef POLY_INT_TYPE (Ca) int_type;
+  if (N >= 2)
+    for (unsigned int i = 1; i < N; i++)
+      if ((-(a.coeffs[i] & -a.coeffs[i]) & ~b) != int_type (0))
+	return false;
+  *result = a;
+  result->coeffs[0] &= b;
+  return true;
+}
+
 /* Return true if we can compute A | B at compile time, storing the
    result in RES if so.  */
 
-- 
2.25.1