From patchwork Wed Nov 27 20:27:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akram Ahmad X-Patchwork-Id: 101980 Return-Path: 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 12561385842C for ; Wed, 27 Nov 2024 20:28:50 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on20621.outbound.protection.outlook.com [IPv6:2a01:111:f403:2614::621]) by sourceware.org (Postfix) with ESMTPS id 0EE433858416 for ; Wed, 27 Nov 2024 20:28:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0EE433858416 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 0EE433858416 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2614::621 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1732739296; cv=pass; b=Db7SPnF5prxXh3RHG8q8IdaX84WOQjCI5uHTjRfH9tagm8UtQ/Q9hHcWIFhGB5QYV/eqseZzKzlkGRsWBQfgSzlxCG3CHrSzQiekogiccSduA4PTQHjhiBaoe26ZBrNmP7oNf+DmBFtUOkczp/MxMGdkYcAVikgoVL8XjsqwWu8= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1732739296; c=relaxed/simple; bh=GOTTo6T66zb1JZGkRImoVRiOTYjaGcRVeqxHT5y1d5k=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=b7eDdGCJDTKKH/alEd1mZlci2HwPE/ovqfrEKB/4G40tVpHAjtBQLoYvhrcsQGpJsMMurDciEHOX3DNTmnd8lw+iGvMDI/XVqsEGFkoPnQcUUcZJMmw3DYZ93zjMHSjGcqVmTM+M9YrBVSsSDCC1M1h8zQAoCsv6/qzb5jKBASA= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0EE433858416 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=SEfpBSMa; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=SEfpBSMa ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=IXykIa/GGjE8uqPTKk7QLc7Wxntc79yudEMYWVBUAnBfbCcYiMZH4vWkGGrmp1v9l/AhoaJV85suazMykPd/pWS0QWsHk72yulcRP/POWu7WuOBoPgIHVKEP0Q6dy6gk8LVBM1Pryg4/61K3xY6aPRfgZOy0wCzOQ1H6l6wTKl+fL+ZzC8uLmlwJnOU2QVgjwkBcGGbkBfaka8+1gAOEy/AnuQDKFr8DQnxNVVlwyv37/HguHC6yg5GBPZ9iOoG+BMENLOnNLfg0ekpMIRI7av6vmziVJR0afBVTX1i6PDkPc6o79tJRUIF2ceMaDi/nHjlmUUYuJvXvKjCBHIi1Zw== 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=dK+vj8Kkw0Zuf+JIyyHIlUrmno1DWEYn6UnEKsNiE/4=; b=AZoPU5Myeq2K3TJJ1/ckqX9+JFTxwB2M5h3DZPeqRy2v3Yz9lRMG5SdbaRL5dc1P1CrQEmaHZ9PtT8C9LxlL4BYJROjddkCreIwRAA1GCwXXIoAMAd0xbTS3Ss/TMstJq2sdgLN0UE+bNiX/KDFQJd5PJs3h4qkYqKM2kKh/9s9Md8YMci2dyuBOTSLJu/xV7L0bvmeDB1yCZiI1WAdlR0H6+prXob129Gz1poUoWeInR+oWh3XpCratVIWEdbMvceJbvlNE3HyXFVemcEJzX+SDfGtJlr7dwoMUNxJRYMNvj6N8kAkrszqA6GHIgVOFHdF93g8JoJsV6IkjwqTdBQ== 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=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) 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=dK+vj8Kkw0Zuf+JIyyHIlUrmno1DWEYn6UnEKsNiE/4=; b=SEfpBSMaSbAhHeTM1cW9zeDILnllIRihqS1fSPtZ9TKJ+KLE1wT7+DOh/ugAXzz7Wz+G3AYs3QxHth70Wa0QNtmU38NaMbYR9LaToQG+dH6adQjrX6WhidnaZ0B99wyU9eluDksKH1yGnZSGvVQiRIpXnTP3GgO/u8kMq5MbhlY= Received: from AM6PR04CA0064.eurprd04.prod.outlook.com (2603:10a6:20b:f0::41) by GV1PR08MB10719.eurprd08.prod.outlook.com (2603:10a6:150:16f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8158.27; Wed, 27 Nov 2024 20:28:12 +0000 Received: from AMS0EPF00000195.eurprd05.prod.outlook.com (2603:10a6:20b:f0:cafe::91) by AM6PR04CA0064.outlook.office365.com (2603:10a6:20b:f0::41) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8207.14 via Frontend Transport; Wed, 27 Nov 2024 20:28:12 +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 AMS0EPF00000195.mail.protection.outlook.com (10.167.16.215) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8207.12 via Frontend Transport; Wed, 27 Nov 2024 20:28:11 +0000 Received: ("Tessian outbound 5b75617ec243:v514"); Wed, 27 Nov 2024 20:28:11 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 8d25ed6a205c2100 X-TessianGatewayMetadata: BBZ+YxF9OIO2HmRQW/L8sM2E1/hBLRGeWlyr6qdCs919atVjyNiJQBvC4oVfBazBZLkK1Z+5kr1EYpgTFqLDJ72WxNK5atFHcMhCHyddpWBxUkrhb672g/EliOirGN6puBDxtReu4smjNTF6VJGSc0FnSRhnpNozOOk3y/wHxSM= X-CR-MTA-TID: 64aa7808 Received: from Lffe868897a7e.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id F7A30018-0A50-4A76-8357-D3BCEF001612.1; Wed, 27 Nov 2024 20:27:59 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lffe868897a7e.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 27 Nov 2024 20:27:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GF9sXMUxZJZnAfaYDffKCNhmA6KbQWZHCSLKNwhtQkSXHnr6s6+Q3+sB6FxG0h/yXZhWUvOkmHqPstKo9LsEJA2ZAqA4iQ7hm0L+RTwbxm8G81TYEYbNPL/+PgZdeEZFCbY/U24gtkkBYDIiY/WDj3OTl/JZh575pPfVDFU3WV7b2TeZ5gqJLCSuxkIDek1WRQWd0Wbg6+FSEcGnXp9wfoNiiUusBTbiwS6x4noyxYV7VTzSS0XcOrDxA2wtT5OdZOjuosIhCPLl03kBCcTjOhprRjQqNHBPUsPMPBCB/BB9n6e91WLNUFEvNxGOQC0+aVxaV2J5dTGSe8K365wRfA== 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=dK+vj8Kkw0Zuf+JIyyHIlUrmno1DWEYn6UnEKsNiE/4=; b=wzd71X/8UlrNCsmwd0bsJiRtePT9zh2yh2MaL/Km+6TwbDP+KZ77iCT6LCj6mrVFDwX47QGG4UqojbLIbv4QJpqLw5qV6Ydf9wam1tXAkLrxxs6/johgSmDYZUrysefwu2JNzLQgbgGAamT4AyrDo0TaT1meG2ounZ7d8HzFYDCfI6I0BMONQMst7CxV10AVPI50GhSiAIP9FKvHOfB0rFLrnaLi+Bbb0/QI88KabcOdZmtxWXjdaVLg7kwyJanBFPxo/B/uUvgYguBebbho95fvr8frAhCG6pjg8dTUzZ58jT3CZsO1Vl51kIF5lngyXizR4S9M6l23B1tB/Hp4DQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (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=dK+vj8Kkw0Zuf+JIyyHIlUrmno1DWEYn6UnEKsNiE/4=; b=SEfpBSMaSbAhHeTM1cW9zeDILnllIRihqS1fSPtZ9TKJ+KLE1wT7+DOh/ugAXzz7Wz+G3AYs3QxHth70Wa0QNtmU38NaMbYR9LaToQG+dH6adQjrX6WhidnaZ0B99wyU9eluDksKH1yGnZSGvVQiRIpXnTP3GgO/u8kMq5MbhlY= Received: from AS4PR09CA0016.eurprd09.prod.outlook.com (2603:10a6:20b:5d4::8) by AS1PR08MB7451.eurprd08.prod.outlook.com (2603:10a6:20b:4dd::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8207.13; Wed, 27 Nov 2024 20:27:54 +0000 Received: from AMS0EPF000001A1.eurprd05.prod.outlook.com (2603:10a6:20b:5d4:cafe::18) by AS4PR09CA0016.outlook.office365.com (2603:10a6:20b:5d4::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8207.13 via Frontend Transport; Wed, 27 Nov 2024 20:27:54 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF000001A1.mail.protection.outlook.com (10.167.16.231) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8207.12 via Frontend Transport; Wed, 27 Nov 2024 20:27:54 +0000 Received: from AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 27 Nov 2024 20:27:54 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 27 Nov 2024 20:27:54 +0000 Received: from ip-10-248-139-139.eu-west-1.compute.internal (10.252.0.220) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Wed, 27 Nov 2024 20:27:53 +0000 From: Akram Ahmad To: CC: Akram Ahmad Subject: [PATCH v3 1/3] testsuite: Support dg-require-effective-target for us{add, sub} Date: Wed, 27 Nov 2024 20:27:39 +0000 Message-ID: <20241127202741.771893-2-Akram.Ahmad@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241127202741.771893-1-Akram.Ahmad@arm.com> References: <20241127202741.771893-1-Akram.Ahmad@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF000001A1:EE_|AS1PR08MB7451:EE_|AMS0EPF00000195:EE_|GV1PR08MB10719:EE_ X-MS-Office365-Filtering-Correlation-Id: 72a58c94-6fef-47e8-0e1d-08dd0f220342 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|1800799024|36860700013|376014|82310400026; X-Microsoft-Antispam-Message-Info-Original: XhCaRWLYWX78SxjLdVzTAMax9hqNKogy+tnNngsthP+rqpeqyz55dT9iyOLyc6m6IUEyDw2vdzmZUGZqBBcMz3DBvGTiVE+oWst9B8GifO5xIB+MtR0WeSLW//Dr5QkNY+FYLnp4gGi5iuHn0XZ49zlzdrKJc0n7sDC/v0qo0dcsYaPJlrdW0nHYajs3hn8ghGKxLhdaiivPEQoGkGgp3JM7GE8vmfA4VsnJzIa8nD6oFhkC1WKweMlxTpxKYkKJAFHWJYEzcenxrRkc3p8MFSpAQbbuosysH5zCqrOsWKaW0ECwQ9ZsKzYlf5NM245B9gN09eMDSX03C9P4xsdZhesbI3wt4iLmFXQ9Qk6a4fEbK8H1fKaQ6aACsmbIRJru88/qX2zjfl7/OUQvYhYoxtjOTEIF69wcSgw+K0PLy51QKQJ/NKve88Md/F9rW29rFI33+OaZQA4N+WOJ1fi8Rs2ED00+wzrgIIlaWezUYfvDpdHcGKdLSG9kdF1uQsqoJir6maQWMljOkHj49t7oHu7mnnsnwgMijrqIBmabsWC3MpPZbn0cy0nmtlOofxolxg9kGzbqGDKuJOJMmOvExjOaE56AdD+kzf4e42C+B/kb4kWr1qj4WoavXetY/hi5l5P88YM9aozJsNk+23MVKdagyypMYiz9wSD/iSZZVcgP106evbpBAjx05fiYkT8JUxf2in9k8QOTkkKQKUEL4JI+2OHhss9vEKNHjvSpInthI3aZBEglTTBi2JUH4orOL/H3udTKy6CnC8d36KCbPJQjQDznNVj3BreZAQKWcuB94wtMiihfYMkVfArX5C7Y5qmiDG8nX8ABTcO8DJTmXkzseeeCvb4vzGBpCnz8l3F3Sf1d43gKW5CXRC70bumSbaYTsDhyqurao0FyYxNDt3GEwjMZCBAn52uy+8h49ac5/105Z+BXlq+/hIdEhJQwPa1OD2gaqE0GXc/yB3GdACJEe76IS+Z3tPa/B6IVg1XJ8b5Np9Ie+xxxA+ZC16wLaRxaXxNFO+IF50TjPjAlTzYU85JS8kO2svVxIysT1ExD+n434w9CyQzEeBGG5i4iOvcDlCXrOyAzHK0gXbzMo872nEwKM0U8YkAkD5bjRkHeOhZaZRenM0aS49ZF8yrKtzqkrQgM+32UcflpbXWQ8KwbkEUc4hXk4XL+eDN99WZOOGj14UR0Te/FQkdT9kWiUhr+F4yGTK/Cv2CrB0F9EesWz5mbE2RRhd0O3V9w0H8clVT8FEu/blDHP6IAOVggX4xGR9InwoCFSV4b//VU5iE4ii0xZsu5X+O1yQAw+sUzubKna7tvV4MWhKuKBcm1R4J9HnUZLVCTcKz5eZeb6NHAArL4/bV/i3r0zJgt/vQX+gcvi4X2CEY9eE0EuU3hKg/eXA5fPr7GXPv4TMXslKqopuHaKNsUa1t/bG06WIqtIvvftVNLenTmSsJx9eLH X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7451 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:20b:5d4::8]; domain=AS4PR09CA0016.eurprd09.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF00000195.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 17959845-9bf0-4aae-e560-08dd0f21f947 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700013|14060799003|35042699022|1800799024|376014; X-Microsoft-Antispam-Message-Info: 4ybfryfkU+7fewTgrBKUemrXaezNpAI5omvMwguPqQebgm2FXZNb1Kf9PL8o8ihi4jiNO8uN3WupzkYMpKjBQ3M31bdvplDkGH2nqGdXJOZa9fJ+SDEsipU5zpXoMjsgGwYlgxQ/+vGZ30M/eVD+stBc8f1b/Vdp91tNHluDBIq/ujIJPokD6/ToflBBB3rs8mmVcSYsUFvYwpzdPMvUHQPUnXm70HWEuAUvD3uqfO8+ka+CrJfuJ0YS6owbHm3pFz8g1E3JBqqSNXAznyofcC2ppeQM23JrQwMqRnEYTZPG7snbpsm4f/nBRkohq0HIRVPM2S5ajChL9N4c5dN9WOdnJgWE9AxykUppMvWdpINzyMosGCgRK3Q4KmEZhb3PUyF6nqfNbAmeUqpBS7gwV++rZoM7rr6mbOYSkgb1QgX5v0rO/iuORYeNSfJfuNutTJroDK3144M8GPQvksIkm7Mffw2pn/bNa82I06g5uvtCFPx5EdhAwuReijgNW6DLN6jN++oArHf9EFFAVRPqZ5uvsHkdo48sM411mlPl88yUTmRsIP71UwNBlxoiHjSUpIerkl5D7VFUI0Q3KX8wNzFtRmcrFIzqSPqeVuAj3Nxd8xm+Dto76fJJxcCibMJbPxmVM4W2Zytjp2TJCq5UHdiwWii4vsixTW+E4UL2lgh0TCgi317ShxEHfuIQRRfh4YFfTKBUmm1V8E6Yv8nGVYIg9Gw0cU2dV2Ew1DCJYxacgzwIwKatqSfUdqNKEsgOM3JfLUupV1bYB+CAvV3c5LYo0NBU6tmG1+LLKrXRMK4OxGrELXoSKMXq+j6kKPINEDh/87ODnY1mRxcIUWJuxtb6DoW5+bt9+/4RQfnxwdyLd5fakj89oMGXqPiyTb5vSfQbHiAe/neRYj5QycJ4j23Dwx7nVbxoZCz11XFZ6Zlo7L4Tceg9JESP0P6UlNu3yYhcuFY6E+uXQyKib6W/jFhkG0Wqk/YeAhDxSQQrxa/QvY8uVB/jue/HyaMLk1MEgj1EPq3RFzmV+XbGoDUAu9oEh8WfahneiOa1QygJy0k1KfIIkuWxzJhvmZr34x7au7f4yi5XE8EaWP5lMuZw26S4633znu1Pu43cyrImfSO2TEjg8him2rY/5p9eMWwKhkOtlGQ2mFAOFACa46xgfGPxp7J4rEbsiuGFgXROR0RYoXDEi+6WfjaZfymOryZbPZsVDGplo8gGRuEH/sG003XymE6XcpfIY338GtaBGKtPB9TgRpbAAKUGDiaGZwlGzz7ycf6tDTdTi2laNseWkWGOf6CrlK94i/VlJ3r8yUfr7d59M4QFUVxiwvrnDIF4DSTsPkydqftOXAT3yScSUiwRdwHRkhnD3889R+Po07hrzPP6ZH71j4hxEMWcYqSOGoX1uFIdMF8YvTCY0vLdLexzjfesNrzci7tbTMUA7Vu0BX5VhQBtNozmlfe8VBu/ 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)(82310400026)(36860700013)(14060799003)(35042699022)(1800799024)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2024 20:28:11.3975 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 72a58c94-6fef-47e8-0e1d-08dd0f220342 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: AMS0EPF00000195.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB10719 X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org Support for middle-end representation of saturating arithmetic (via IFN_SAT_ADD or IFN_SAT_SUB) cannot be determined externally, making it currently impossible to selectively skip relevant tests on targets which do not support this. This patch adds new dg-require-effective-target keywords for each of the unsigned saturating arithmetic optabs, for scalar QImode, HImode, SImode, and DImode. These can then be used in future tests which focus on these internal functions. Currently passes aarch64 regression tests with no additional failures. gcc/testsuite/ChangeLog: * lib/target-supports.exp: Add new effective-target keywords --- gcc/testsuite/lib/target-supports.exp | 56 +++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index d113a08dff7..ec1d73970a1 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -4471,6 +4471,62 @@ proc check_effective_target_vect_complex_add_double { } { }}] } +# Return 1 if the target supports middle-end representation of saturating +# addition for QImode, 0 otherwise. + +proc check_effective_target_usadd_qimode { } { + return 0 +} + +# Return 1 if the target supports middle-end representation of saturating +# addition for HImode, 0 otherwise. + +proc check_effective_target_usadd_himode { } { + return 0 +} + +# Return 1 if the target supports middle-end representation of saturating +# addition for SImode, 0 otherwise. + +proc check_effective_target_usadd_simode { } { + return 0 +} + +# Return 1 if the target supports middle-end representation of saturating +# addition for DImode, 0 otherwise. + +proc check_effective_target_usadd_dimode { } { + return 0 +} + +# Return 1 if the target supports middle-end representation of saturating +# subtraction for QImode, 0 otherwise. + +proc check_effective_target_ussub_qimode { } { + return 0 +} + +# Return 1 if the target supports middle-end representation of saturating +# subtraction for HImode, 0 otherwise. + +proc check_effective_target_ussub_himode { } { + return 0 +} + +# Return 1 if the target supports middle-end representation of saturating +# subtraction for SImode, 0 otherwise. + +proc check_effective_target_ussub_simode { } { + return 0 +} + +# Return 1 if the target supports middle-end representation of saturating +# subtraction for DImode, 0 otherwise. + +proc check_effective_target_ussub_dimode { } { + return 0 +} + # Return 1 if the target supports signed int->float conversion # From patchwork Wed Nov 27 20:27:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akram Ahmad X-Patchwork-Id: 101982 Return-Path: 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 205A03857BA3 for ; Wed, 27 Nov 2024 20:29:25 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2060e.outbound.protection.outlook.com [IPv6:2a01:111:f403:2612::60e]) by sourceware.org (Postfix) with ESMTPS id DF0C53858C41 for ; Wed, 27 Nov 2024 20:28:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DF0C53858C41 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 DF0C53858C41 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2612::60e ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1732739296; cv=pass; b=iJtawr1HxBgGaXVaOLHKbrjZGua4Q5mF6Pudz0A9Q/PjOAXhV4mNmXxKWEQZ/95uWqXXtd6uLL5DX1gRV5dAwgWqr6BvAMbsXfUV3YlGq7Yx+NTLFVVYuIQxQYpPtKw/5jzSpz5Mo4oQd8+UNczGd7yZeV10a/PEHbf08OQrfH0= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1732739296; c=relaxed/simple; bh=gxeNMiJn+zUyROv6QHn0Q9Gb+2a49yxmIjP8lQFALrA=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=dgWP2jtfG8w5ZDNNuwx5X64zZWTVXdGSw1ywkSytyspL8Ry641aN8pl+ZAbT55jyZaZwreNq3QxHDZKfGQDTfkXr3rtkpTBQAgCKZ9tZSUqlYmB6e20hRG6fRG5heJ48Oqwu30AxMozDmEpEBJ4oKG/rhfesqwflq3vYhkJz9HM= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DF0C53858C41 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=dW67gvGe; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=dW67gvGe ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=yzsgfADmVzHz/MSQWADQUr4ca6xiFyC8+TxsCi67D4Xk2lJXpo4LUmAR0zBgTgCtrJLqLg8S9AKYoi++8HczF3kCsIEHR0WObXPF+ekzDpC5tAZ8sv8cuHwP06Od4NwiF+DoKhAPMzOBeombzTUGHRNkn9+flcrvsjtC8KsI7+kBH5o9yFTsvrTF5lAaf9XVxl+A9g2q26I0JWYRlAMsieYf1gnC6svw/yQ41jA+/wnapU6Sr1/ru2ZSGpPN4BoVp+xDNEXUVHeC0ClM9nOYOLyDR4l3RycuYc6kjTZ7bo1Yh6MYVJsIMYLodF27RAJndyWxIFbEG3wv7rKB+Dnw3w== 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=MtwsIofpgkThfI6NKNxW9Jz7E8PuxWQLkMyKr29VKSA=; b=JtsYkHeL3K16ZmiVeSiCT+2p6AgBD+tZn1ywJDgN95N3eRiwBFYppOedSlgN74UGJZJ1DKKNE+MnVTUZmpOCXJkGM0pA/YQYlysPB3ktTwXWmt2mP2XniYVq/ZXSEfs2JqlkGOK8MjRSytwR+EkRqUJ/07HFbZTY+oM4vC3K6YrB6DZYAoD00YNpVruvrqtZsGrnihZ7Md9UOpedQovB7DMif5SooK3RYchxmQTtNd1y20SsxrPgJgM87mxt1b2WsXvtHxhUPDAJ2yrt0dVx8irsPsH/dc01lLmfdOLf1Tpxjb/44XyKcq8BBhtw2t31uzSGawFHmVZ1LSuXeF71Cg== 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=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) 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=MtwsIofpgkThfI6NKNxW9Jz7E8PuxWQLkMyKr29VKSA=; b=dW67gvGeBgV65BDAMocUc1v2vBSWURa/PSDGzukwjsTZs0/ir7eztDH+F+t5ZFaBnwW9WOcBMiiu87AbK43Q+MzDlhkA3XLBGtOqXwrdPGC8n8+GPQUyqa7uSuY5qQ648mgz3b/9dfyg1eMPpVTOOkJ5JvKNMiD2izQcnSGy8l8= Received: from AS4PR09CA0030.eurprd09.prod.outlook.com (2603:10a6:20b:5d4::20) by AS8PR08MB7371.eurprd08.prod.outlook.com (2603:10a6:20b:447::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8182.21; Wed, 27 Nov 2024 20:28:11 +0000 Received: from AMS1EPF00000046.eurprd04.prod.outlook.com (2603:10a6:20b:5d4:cafe::7e) by AS4PR09CA0030.outlook.office365.com (2603:10a6:20b:5d4::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8207.13 via Frontend Transport; Wed, 27 Nov 2024 20:28:11 +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 AMS1EPF00000046.mail.protection.outlook.com (10.167.16.43) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8207.12 via Frontend Transport; Wed, 27 Nov 2024 20:28:11 +0000 Received: ("Tessian outbound 5b75617ec243:v514"); Wed, 27 Nov 2024 20:28:11 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: ce7d35eb6de33796 X-TessianGatewayMetadata: X6HNoC/p7Tv83xuqhIabAyGpYrOKDtiCGWYXaGMMtuLpGJC6rwCL541+7sltOmmp0Mk4sBylnV2tuFkBlQBi8PkuaHhvzPj8e0N56HfcwjKWWpSPqCQISXuJj7ZsepKijqkn7ljVDQ2lG+GFt6sNf5iu3070yH/svjKBsh53EAk= X-CR-MTA-TID: 64aa7808 Received: from L310a9e81b148.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 9D001279-C75D-48A7-A7B4-2765589AB1E5.1; Wed, 27 Nov 2024 20:27:59 +0000 Received: from EUR03-DBA-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id L310a9e81b148.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 27 Nov 2024 20:27:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tMO1soRiU/eoQ/l9zM7gzrqEDzTvAX2PhWDvOWxLytJLEo4UxouNAvkQX1gfmU+dIMYzyxsYohCnnC82jBUnZ4AFRnd2R+ynqrX15TiZeZrnuJsUDzrMS8HkVgVx9VuDZuJhRTR9vnFaUT1vXG8jaH3sFR9KQjA35XidI0/wVsP3SUKDFtHXeQrHVYBHMkmkwW3tih5cK9oUQcjG8gb3BZbSTY4W4NodA6WBFTglQKjacLoY3ZhCXGERGe5hYGui3x8H7PvYZUYZB08gbiz3aox9WqAm/AtfYf9pJ3TriDGltDaX6whmyifcRuhkyZ2GIPNv9LD3BKnlvapW0XQ6uQ== 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=MtwsIofpgkThfI6NKNxW9Jz7E8PuxWQLkMyKr29VKSA=; b=nTekCf+dZOw2BbH4mw/KalqXZcR+Qozd1KwvPGN/h7ogdCBc3RoK+9uF9b4m+dkIzwAwQ3iupqATTvH+BqoWWL6QtLj+y5h9BBE7sZR+TL13aVp2v6i5njqYreeaDjo1BraIIomuo4jSsA2K5Us2P4EQH3E4ylYg1zTRP156lnGV4brwEwVeJjJUTC56nXPVm/LbIzQQMEFJlnzUm96A0WJZznoSyzOpISY3AKwgCpHT3g+APLcgf6yfqxWj3G/oWWGWCuDROkVG8jrH4HWJfODVMTOUO/zRFN7+8CnvemqFzMt8v7R4YO+++7sxWNXBPCiuWPBulwreVO2+tN5kmg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (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=MtwsIofpgkThfI6NKNxW9Jz7E8PuxWQLkMyKr29VKSA=; b=dW67gvGeBgV65BDAMocUc1v2vBSWURa/PSDGzukwjsTZs0/ir7eztDH+F+t5ZFaBnwW9WOcBMiiu87AbK43Q+MzDlhkA3XLBGtOqXwrdPGC8n8+GPQUyqa7uSuY5qQ648mgz3b/9dfyg1eMPpVTOOkJ5JvKNMiD2izQcnSGy8l8= Received: from PA7P264CA0284.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:373::10) by DBBPR08MB10603.eurprd08.prod.outlook.com (2603:10a6:10:52b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8182.20; Wed, 27 Nov 2024 20:27:55 +0000 Received: from AM4PEPF00025F99.EURPRD83.prod.outlook.com (2603:10a6:102:373:cafe::d4) by PA7P264CA0284.outlook.office365.com (2603:10a6:102:373::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8207.13 via Frontend Transport; Wed, 27 Nov 2024 20:27:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AM4PEPF00025F99.mail.protection.outlook.com (10.167.16.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8230.0 via Frontend Transport; Wed, 27 Nov 2024 20:27:55 +0000 Received: from AZ-NEU-EXJ01.Arm.com (10.240.25.132) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 27 Nov 2024 20:27:55 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EXJ01.Arm.com (10.240.25.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 27 Nov 2024 20:27:54 +0000 Received: from ip-10-248-139-139.eu-west-1.compute.internal (10.252.0.220) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Wed, 27 Nov 2024 20:27:54 +0000 From: Akram Ahmad To: CC: Akram Ahmad Subject: [PATCH v3 2/3] Match: support new case of unsigned scalar SAT_SUB Date: Wed, 27 Nov 2024 20:27:40 +0000 Message-ID: <20241127202741.771893-3-Akram.Ahmad@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241127202741.771893-1-Akram.Ahmad@arm.com> References: <20241127202741.771893-1-Akram.Ahmad@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM4PEPF00025F99:EE_|DBBPR08MB10603:EE_|AMS1EPF00000046:EE_|AS8PR08MB7371:EE_ X-MS-Office365-Filtering-Correlation-Id: b134c153-a2d7-4b71-9784-08dd0f22034b x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|1800799024|36860700013|376014|82310400026; X-Microsoft-Antispam-Message-Info-Original: 59+rSgK+lad2naE/CNTM2EvNVx04x2IOSRPSmvLsefNYpH625al6plSo4qEda5fxLAWe8FRcOxg2NYYEEaE6CPGWY3g4kgb8JPh/GYhhYdM71qtENAb7FG4Oq+x/ydD3q6GTNGYvzhzTNjYriONxQ+aDl+Hlo3VcJVdi4C1FVqfAIalZ3UR0tz+jXdnZixP+pYm84Rnli5gnziI6BtpQId7CpKkdMyDnwXSXsizsKShHsLzNO4yWzqVjyqTb55Iwj41mJ8osBGv835bZltG3IJlpyhEasUwZGOOXK4VrAf1aa71QvJMargSMSTAkTMYlyxU/GbGJVik6QJjpOcwfNEGLiUnyliSydb8EgmZS6QoIfvfPPpgaQY/juiTHCvD13ZJ21Osfy/uh+cy3X7hFt7adO76inFTTkVsx9k1tB7h4YBmkHRaxfYlTC18vA9EeMIZ5ABG9tiP+tKsWcLgeISgoafHEs1hUoXvc5FOGL/T4yT3cuM3aD9atNpy7XuR8zr/dzGQBruxJmSjK9utv2zCYb4KHVrSR4p1Lo5Ouj8o8L33Fm7vhsN5/Jj5YqGkGMgSnFn3ZnD7qR+2LlZBVy6+dDcHi42Xi/XCieUpYjV9hqR2D+GxlZ4RcNZdTDi40ffsfF+7BF2oYtkcpQ6t9IFfcRkKySzAcr7IQuU1E5w1ct6biED57C425rrtKwfpbBYYckwVXXQGEBkWoSlvrBjq6MLkFhnUFNDlkHkHy6gXVEDhvrO7swGK7lw6T0DuMyDiylI1shC4LnMQd2boRS183v49ib3MTDuLgssC+eqFUqf9p3q3ItKo2HblCgw5RE9zOU6eI8Sxf7V9rVlxGMDQSZaVBWwzUh1uf8PiHC5WGWMFKYZtzxO2zIc+FwfnWL887cQr31wPRRbLNo7b/1Wy4I/uhNe6yU8enr3WMGs6cp3mdjS0AMPgqISxLqJBxMdse4VITVBUNIiCiWYAYTLkLhFU1bJ9KNhnesyaBcXBnq12VqwLDUK76shEzAuYNJ/DgWmQLRSJ6t3+a+QIqOKPwwZvJ7i8OnN3hD2WGTGqOfZFPCKD0d1+AWKcCWUjViSL4xsQFyaTIRZgU2eFDcUTI/ZNo127lb+2DvUBHZoEW2xXiySEh7MPtCyo1HNEII1fubVqODZvIySshLIk+TRysYdSuDXcqVuw6EscTFzBOS/zLoiM17mF3d31KWEsoqXct0fCoye5kSoR8IILKBmzgAXUgpeNjzvbNNV6oKE0rhZ8VEqhM7tP7S6I/SgvvEB+jTV2zpoqKlWV4HOrEanE2dHm68Vs2RpkX6LRq3SN1Tg2eo5M2BbZ3f9DlY/m/EOQxO8JBCOOVHh/S5fawkSCwBu1Z7uSY05VaEc5hEGHUkLYra0UJrAZDFycmPJJQ1emaVPmYHwVQpYx0934JAw== X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB10603 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:102:373::10]; domain=PA7P264CA0284.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS1EPF00000046.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 174d6f6f-bcce-4633-9ea2-08dd0f21f9af X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|35042699022|82310400026|14060799003|36860700013|376014; X-Microsoft-Antispam-Message-Info: VqMiOU85BHDBrO9hS/t5xeC04HWoSLyoQfPM3Kj6LY9DWL3ry1D8FWSAVfYNEGO5aMrm0WM7ZRs7OQXtdcyScJGOkmFZ111ZN4LZHXNhLCOEzzFKfbHsMkQpBBPZJR5dZm70mSIUZOjnY5ehJQoaJiuaESgnWND111nu5aoGf02qALW2emivb+IH2C5v1/KQvymveEWFdNYrHvvQal6OQjmdpTGMTWTKCgwQAjaYR/eOtaYhQU4okGMgnPp8QFcOk1GUvh7H1/3wqsySzoUFlQP190Y4p+TuA6OhqTbLqtOgqh1H14PCGtj4+xVOjRZh3w6bD7J/Lzi3SQwWxoFiPnsaAWfZMo+v4u4qgscXeAreTnfVGdbJVUdVkSybJsmJwfdjDWAx07wujOqkaohNqsuFV+paPYtH8rRL0ACf+hhhn6DOMx4VijH+sKT62DNYcZT/BUAFETQy+JjXN472yxmvMxZ+9SrHAx+v/uu7Gw0cQesjsX8IKuL+OUdS3UQ18DtRgyyGK6VxK73dArP0/4LabFYHix/JsBPEyRrBz2sQ5V1PhULx8Azp0o0/eLGVkK3QBAphPQ/hEzINVo0se2uzn3wMQu8Xeol4y5FwaAtbHRmkwD6jZXkESmnvpN2zfmBYbUtDfkX9FAQAq814EpgeTvbSK+NeKaYVGced8YKjRbmURI2TcVKlLTYBcqqmtOOiB7giX1lUY8WWHTtSAKxoNacxTlNsP8oGt2zneRzt615SmhOOiRejXKlEjwh630YUhjdhAA/vevc1ngwBHiYnbQRZGVi++Yd0o+YWMb+63akHHw9p4ZPqsfq3LV7pJ0qlQkKR1bK0iCOT97np25kxVx/8y8hhSWFrN3w+f7i0njBEDdKUni84IY95EJgaU732cSsWAIBmN5Kt2xcoVa3RQ0wIBECQKhWhjVrbS66E2LqjicSw5UtmLDeGSgPMJ2vEdxkJov8RQx3VYh/jxNBGXdL41mbsHvELHEGBCXiVNH7Dw5A9p3byb2uveEXGAbjJ9cJ+vUo22nkJ5CsSd8Q429uo1Q8CGX+/qN4ZKaZy+gcmgPYe0CCpPkP06yVnGSfN1XtY7ugwOEvvSjNMhec+j395Z/A9RZ8DPVrgwr1UJGSdAu2etJmw/E0dJC4G8yifEKXzgr8rDbU4s3s7rlZgYj3xbyA8X+x1DHQwaCssyKFMNzXYAUR70YqaL8x2bXOl9+1BH32nQSOUKzL/K1lSVs3xo3zNkKANZ6njSl26GZ1llrmqkMhAVcwAap+XuNa3upa7zPdfDWPEuHpzIAPsrNqSlcWbHtNrcYYpYOklf/AofSIkSG6nDgofgYOHAQQW8f+d0Lpk0yqJmdLdBOP770+2A9eV8saZTK2OYwcziRjIFVgUyXl4iungLaH6+P8jaBhqBZNyMgUMguzJlQ== 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)(82310400026)(14060799003)(36860700013)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2024 20:28:11.4600 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b134c153-a2d7-4b71-9784-08dd0f22034b 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: AMS1EPF00000046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7371 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, RCVD_IN_DNSWL_NONE, 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org This patch adds a new case for unsigned scalar saturating subtraction using a branch with a greater-than-or-equal condition. For example, X >= (X - Y) ? (X - Y) : 0 is transformed into SAT_SUB (X, Y) when X and Y are unsigned scalars, which therefore correctly matches more cases of IFN SAT_SUB. New tests are added to verify this behaviour on targets which use the standard names for IFN SAT_SUB, and the tests are skipped if the current target does not support IFN_SAT_SUB for each of these modes (via dg-require-effective-target). This passes the aarch64 regression tests with no additional failures. gcc/ChangeLog: * match.pd: Add new match for SAT_SUB. gcc/testsuite/ChangeLog: * gcc.dg/tree-ssa/sat-u-sub-match-1-u16.c: New test. * gcc.dg/tree-ssa/sat-u-sub-match-1-u32.c: New test. * gcc.dg/tree-ssa/sat-u-sub-match-1-u64.c: New test. * gcc.dg/tree-ssa/sat-u-sub-match-1-u8.c: New test. --- gcc/match.pd | 8 ++++++++ .../gcc.dg/tree-ssa/sat-u-sub-match-1-u16.c | 15 +++++++++++++++ .../gcc.dg/tree-ssa/sat-u-sub-match-1-u32.c | 15 +++++++++++++++ .../gcc.dg/tree-ssa/sat-u-sub-match-1-u64.c | 15 +++++++++++++++ .../gcc.dg/tree-ssa/sat-u-sub-match-1-u8.c | 15 +++++++++++++++ 5 files changed, 68 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u16.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u32.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u64.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u8.c diff --git a/gcc/match.pd b/gcc/match.pd index ee53c25cef9..4fc5efa6247 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -3360,6 +3360,14 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) } (if (wi::eq_p (sum, wi::uhwi (0, precision))))))) +/* Unsigned saturation sub, case 11 (branch with ge): + SAT_U_SUB = X >= (X - Y) ? (X - Y) : 0. */ +(match (unsigned_integer_sat_sub @0 @1) + (cond^ (ge @0 (minus @0 @1)) + (convert? (minus (convert1? @0) (convert1? @1))) integer_zerop) + (if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type) + && TYPE_UNSIGNED (TREE_TYPE (@0)) && types_match (@0, @1)))) + /* Signed saturation sub, case 1: T minus = (T)((UT)X - (UT)Y); SAT_S_SUB = (X ^ Y) & (X ^ minus) < 0 ? (-(T)(X < 0) ^ MAX) : minus; diff --git a/gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u16.c b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u16.c new file mode 100644 index 00000000000..641fac50858 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u16.c @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target ussub_himode } */ +/* { dg-options "-O2 -fdump-tree-optimized" } */ + +#include + +#define T uint16_t + +T sat_u_sub_1 (T a, T b) +{ + T sum = a - b; + return sum > a ? 0 : sum; +} + +/* { dg-final { scan-tree-dump " .SAT_SUB " "optimized" } } */ \ No newline at end of file diff --git a/gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u32.c b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u32.c new file mode 100644 index 00000000000..27f3bae7d52 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u32.c @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target ussub_simode } */ +/* { dg-options "-O2 -fdump-tree-optimized" } */ + +#include + +#define T uint32_t + +T sat_u_sub_1 (T a, T b) +{ + T sum = a - b; + return sum > a ? 0 : sum; +} + +/* { dg-final { scan-tree-dump " .SAT_SUB " "optimized" } } */ \ No newline at end of file diff --git a/gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u64.c b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u64.c new file mode 100644 index 00000000000..92883ce60c7 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u64.c @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target ussub_dimode } */ +/* { dg-options "-O2 -fdump-tree-optimized" } */ + +#include + +#define T uint64_t + +T sat_u_sub_1 (T a, T b) +{ + T sum = a - b; + return sum > a ? 0 : sum; +} + +/* { dg-final { scan-tree-dump " .SAT_SUB " "optimized" } } */ \ No newline at end of file diff --git a/gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u8.c b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u8.c new file mode 100644 index 00000000000..06ff91dbed0 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u8.c @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target ussub_qimode } */ +/* { dg-options "-O2 -fdump-tree-optimized" } */ + +#include + +#define T uint8_t + +T sat_u_sub_1 (T a, T b) +{ + T sum = a - b; + return sum > a ? 0 : sum; +} + +/* { dg-final { scan-tree-dump " .SAT_SUB " "optimized" } } */ \ No newline at end of file From patchwork Wed Nov 27 20:27:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akram Ahmad X-Patchwork-Id: 101981 Return-Path: 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 155E13857707 for ; Wed, 27 Nov 2024 20:29:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 155E13857707 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=WAVtG+tJ; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=WAVtG+tJ X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20619.outbound.protection.outlook.com [IPv6:2a01:111:f403:2612::619]) by sourceware.org (Postfix) with ESMTPS id F1B423858C32 for ; Wed, 27 Nov 2024 20:28:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F1B423858C32 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 F1B423858C32 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2612::619 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1732739296; cv=pass; b=En+XnQEQvcdTfcDNt4FdohHKVDnOHYzJyXr43lqgjGyiLWJ+VrPOIbnw/MBHX/msXe9KIg9FDHQ6dvmr2DDzoGJN3Jc7H8pjQW+alBnbg8vQrLzgCnA+OZ8gTUd99+2Lds9CWoSEmI5qi7B8xt0t6mPu2Wpj+/URo/NEIU5A8QY= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1732739296; c=relaxed/simple; bh=FT7g7I9CWjuK0v+qh2jPZ+7NVFKzxr3rU6ldydNrHTE=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=UIyM7F+FHHRzQZfJ15KyW5elk7vl6iQADnOeiQ0a8HQlI99r8XpijMic4BCyAMHLmTH3+9axPc8PLC8ybxdUjoAKpsndCp9A5CsWDqw/3H8QAUcG7rWvuYWsL8wiy5A7EwhNX088oU1PkP5QTspyvby9L5pfz7GJAt4OKj01sbk= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F1B423858C32 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=MIqmXq6BPMB94ovlU8bcMk1c6NKZpXU4Y9axDktbzCHcMHtbs5QwzK38Ua6Nw8Xgz8dK7uWhvNm/fN9Yo+EdAB4gQAeLCjvMtRbnqggwdfzZ5N5GLyAwAS627qL6ikWi94ZFO50j9TZUCqQWttdD3cZPy0lQd/X9z2liWyxkLQ9/PpbuCe1fseRCLlsXpcVl/k6DhJZUHv3EBr7cmHHye9JqOhD+aD1Yz1gjxUmIZufi6OOxTG4kLJ67voFwIc73E76v8s3eu/ixkQyTdkwlvlVpow3QdhCRN8jj7F+EG9MPwMcoL6lnIWNx8BvoZY4VpuJV38+oYQHqA5eIJGGAxw== 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=nr5xdDf7m/5CtGv+KpqEXDG2yCss7nEXdE1vtQoU4+o=; b=Tk8NpuAgcdDuH2sODytuCBmvqmQCiJdkQO+s1T5Ji6RrLwDM7YylK9WWodEoBayK6Qg5rydoDt6h63hOY9MV0qyPFmtevkbXow5tbmcIbG9vN9wke4FePiSbPStROBb/kg+ELhMmV8VSCgFcVKELdywMsJsRZiwTOxu9OzywVlGZCrhDQUqtyTnRWaTb+d07MwKWdeAxxX5de2II4nUlU7AOmb4doTrodSqj+IncY5OU+gvYeC0O1ToOZjeiq8ZYgXiS9bvw4rq/TGG/EqmI/Gzyb3vz3G84lqfwg7NNcYt2TV7KGAVbjZj4w+8oF+vGe0VgL0MEME09xDTpYs5iYQ== 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=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) 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=nr5xdDf7m/5CtGv+KpqEXDG2yCss7nEXdE1vtQoU4+o=; b=WAVtG+tJYg0Tt9Zsf2JCVQzb4ALvuCFyqUItTm5vx3H5YZp3VbDQFotQ3deDJACRbH9AgnHYXtwJru2g+flo9ITiqj8LbZliiYvRg4ok9hK7BW6Mb2VRttTZmzrZO0FXbL95rJd/cZiZHmK/ye1Bwyyv+mSPBYSTMUsTJeOi04o= Received: from AS9PR04CA0142.eurprd04.prod.outlook.com (2603:10a6:20b:48a::16) by AS8PR08MB9839.eurprd08.prod.outlook.com (2603:10a6:20b:614::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8182.20; Wed, 27 Nov 2024 20:28:09 +0000 Received: from AMS1EPF00000040.eurprd04.prod.outlook.com (2603:10a6:20b:48a:cafe::a3) by AS9PR04CA0142.outlook.office365.com (2603:10a6:20b:48a::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8207.13 via Frontend Transport; Wed, 27 Nov 2024 20:28:09 +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 AMS1EPF00000040.mail.protection.outlook.com (10.167.16.37) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8207.12 via Frontend Transport; Wed, 27 Nov 2024 20:28:08 +0000 Received: ("Tessian outbound 02553984e049:v514"); Wed, 27 Nov 2024 20:28:08 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: dd2132bf10c334c2 X-TessianGatewayMetadata: ricuXnpbaNvtZdQ1bQsK2ZoKbiagpcfGB4vXjAA7+gs6hhKvGDern5sGRnowpqpjEo7q3Vq8DhWAljc2xheNzoRNQc+mVpXZJ1uEiGpsD2X7mqG1ReEmK/w3BmtahDxg0N8crHwAeHijUf+DgqG51jyi+umxBXl0On88YKKb9cY= X-CR-MTA-TID: 64aa7808 Received: from L56e022458d22.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id EF00046A-9939-4D5F-8920-8A09CFF4DA57.1; Wed, 27 Nov 2024 20:28:02 +0000 Received: from PA4PR04CU001.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id L56e022458d22.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 27 Nov 2024 20:28:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nh5hrbkOshdeLwUcbAW6tuvm88fHvCDuTV+EjEVxIU7itNAeI775KDqjD+Q7HfhlJHzEE/ZW/e61CYYZIqDRt9J/nj7/t1ZNxTG/a1RIryCQB88vMGs7Htaq7KDhutEyGarkOH8XR+OYIr4iHSZaPsDh239XqrVHZZrHto9trcgmEToLAP72FVp13/TfnN8WDWRT4dFTifxX8ilXz6k4s4p8z0cpIl5bCn3KcFcybjVS0mLweyhNUHXDSkzf2DbvllfwixM2GI/5BkdMH2eMgwLvAuQnbVWDO8k4172az4drN9lMrMncCwIgOzE90Jv5eP1OJ1UM7EhC0Kufo9K+2w== 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=nr5xdDf7m/5CtGv+KpqEXDG2yCss7nEXdE1vtQoU4+o=; b=ABr06yDAHA9b7oJZZmR8HWtOhiiKTNMef2PoZUV/9hQnha6y0qt8gZFC9djY3ec4dTnYTn/eWAI7K1mzwqCPg1bKAgydLYm7ZnFt4xckhfKV3tD7qCWKcURBg/BLtiYsQ+3BNjQBxpnZdy4Snejpd6+SYRSe6a+YoFOUZmdqV1SIvWA9f0wSAv437B6QW8fHMzbo6x0Kc2Hu4cu9bc8JtBPFmpdPwbkdnKA2m1DCo82iRCFZiEor7l/c6/ty6Kn7aNCkrJLHyqpp8BfUVREadodeADI5w68D0pkq99blSlHU+zM/xEb+Jbi7yHV6MDmS+xm4iXhT1xwfk7s+z6OvFw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (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=nr5xdDf7m/5CtGv+KpqEXDG2yCss7nEXdE1vtQoU4+o=; b=WAVtG+tJYg0Tt9Zsf2JCVQzb4ALvuCFyqUItTm5vx3H5YZp3VbDQFotQ3deDJACRbH9AgnHYXtwJru2g+flo9ITiqj8LbZliiYvRg4ok9hK7BW6Mb2VRttTZmzrZO0FXbL95rJd/cZiZHmK/ye1Bwyyv+mSPBYSTMUsTJeOi04o= Received: from PA7P264CA0283.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:373::7) by GV1PR08MB8379.eurprd08.prod.outlook.com (2603:10a6:150:8a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8182.20; Wed, 27 Nov 2024 20:27:56 +0000 Received: from AM4PEPF00025F99.EURPRD83.prod.outlook.com (2603:10a6:102:373:cafe::eb) by PA7P264CA0283.outlook.office365.com (2603:10a6:102:373::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8207.13 via Frontend Transport; Wed, 27 Nov 2024 20:27:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AM4PEPF00025F99.mail.protection.outlook.com (10.167.16.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8230.0 via Frontend Transport; Wed, 27 Nov 2024 20:27:56 +0000 Received: from AZ-NEU-EX05.Arm.com (10.240.25.133) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 27 Nov 2024 20:27:55 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX05.Arm.com (10.240.25.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 27 Nov 2024 20:27:54 +0000 Received: from ip-10-248-139-139.eu-west-1.compute.internal (10.252.0.220) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Wed, 27 Nov 2024 20:27:54 +0000 From: Akram Ahmad To: CC: Akram Ahmad Subject: [PATCH v3 3/3] Match: make SAT_ADD case 7 commutative Date: Wed, 27 Nov 2024 20:27:41 +0000 Message-ID: <20241127202741.771893-4-Akram.Ahmad@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241127202741.771893-1-Akram.Ahmad@arm.com> References: <20241127202741.771893-1-Akram.Ahmad@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM4PEPF00025F99:EE_|GV1PR08MB8379:EE_|AMS1EPF00000040:EE_|AS8PR08MB9839:EE_ X-MS-Office365-Filtering-Correlation-Id: 03c27955-ef02-4abd-297d-08dd0f2201c4 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info-Original: FAoKt7xqJHs1g3sQuiBFQdevcN9DUhw4fqehC25K3BDeLrLxXR5qks13VfVJ8A097hdx5D8c9MptRyfn+4Sn73Ajak1X/TSII0XvFpgZ5PZHWmHgOguaDsbtIfrn5X7FPM0pUzIKbey5aSA4LsFPRMnUDnKh43SrohAIPU1/fJT/ZEaI6CPhKDq3OCX7rRzAQ27y7bVaHBZRznPA10FBW89HIqfldRNzBiPJ3lkXsazhIqvckmrD+U0guX7HdsltfR8tBGjDefPX+VGwrZnBHs/oz3ZLpDq6czyvX1Ozpt1zFHytuUUUETdjafC3n2ShSRA4grBAiMbb8gi8CZHIuQdBl7VpWHRq0x/f69l+Fh0LZ0X/1L2mdPrG5cFr+mNV4L+jJtAmoRRKmUPkZZ5iHII9EzBF1iZLN5+o01awY+cW2D1rbTz+4PDuIivDD7tGQTW4EA5j2/e4CZpylv5KD8YQD8JMy/FLdym0Tiv6XgiSfpulJLocB5uUw4qNQFTcVb+L8kbbcr8b4hlR9P+JPPTD1is0X6FB1ElcvWlB98+soNRVzWEcZS/fzj79hyaj2jbbh8lZJ5vRCS0zCbJbMZIl4gCss1KXgXKiG0rcaLloweOB4CWSZXF9fpXhIskDDBGLW2UjIImy1lFv6cgQvdmfLQw4ZhGC7/pr3vljfCpRypWy/Mj/sl2TUJjEhFC3tfJPxjMCl24rn0F7PMKWXx2inlkGF0D+Wus107/QNBsIdT9sDYYqdPnV9hBekn/eKbq+sL6WbnS/mQKE4HUTx4dQTkLCo/9mt+tfeZTnVBM0l7MJejNsWS8HXVboVLEbhiTi5sYuT9h1l+F1e5ZBzvgsMpqiParwIoWMjqMY1hzAwas1BiivWLMKXLLyvtHOfbQl1jVB7mLeuwKjxvwzZR1wzoFz7MNRP84GnXnO4NjaisLl05KZ99C5iI/D2lxxzBdzC0N5kTxb8GfoQkymG8M04Uax1sv9b2I1NF7V0JEVCNBWLIv2xS2ZKX+YK7bKbfvTUtIc0F8qfknu4ES0ITe8EnP4B3Y8D9Gz9vrPKdpQdhLchhBltDyxtmY3rWQy6DWDyK3NzJilwoQlnQl6xzNM68Q+bgoiV877DNpTyUz7nQJGubtlaYK9U4txfamCcdv2Ey0bn/nylUF2xLfzZRO1noUg4ARzLj6CkJZZcjAp5yb7oZZRb7JaJ0qKzc9zeVwp3puMUHowblMtDanpZbDc3XO3I9hA7nMWVPDaoIZLA741WV0NsRddYvR4PeJT34f4r6OUnYAbwOEpbDHjYt4TOx0YmC6zrBcYEXbM4DhkZdn86yFPyTqL4sCxDe/Asq4OtjEhME52bnJK4oZnmv05LiumnjRu1rAaxwG5fIh6DoCikFawfJlhneWFor6qFptJvcDgcP7wn93NbX/Q8Q== X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8379 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:102:373::7]; domain=PA7P264CA0283.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS1EPF00000040.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: bbc62f72-193e-4db5-c196-08dd0f21fa13 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|35042699022|82310400026|1800799024|14060799003|36860700013; X-Microsoft-Antispam-Message-Info: LwF44qrTiXGGUGPb66LOfnsA4cIMwehgtp1pzsftDzq2KPNnUk8MlNFn8GR34IozlDUcC7BLHMxPMuXnxqHSrNUISydaiCDk5XvbpR2yw1Tiphh2m/BcrmIjdFhpQtaf/vO6EeDn/TLQDxjEzT1h9W1AIBDrattxMbxmb0annPfjiFfR7W3qhCjhFREVh106PTPqN3PNR57bOSHlPa/wriNIp2HveHU7rJN4znLUztZ4jeLu3+LwvoHL+zTJ36ND0+ZCmgbsbw2Eqn8K63BGWVYWmGNwCqj5uSRRSKHeJK/0UJg1okf5U55qSDlGASs9pay8pSxdVkp6UZTruRK4X2LJX+q2zVz9u4p5Nrt0Lrfzut81ImfZy8u8tObFmmkLY4PhDxxZJSivW+m10vuyE+oqx0UoGJp8xpCm+7vP7lStB8E2fzdqwr9B277I3faMrijndHlE3AAlpHRe6HhAJJXsrkNfFtzRHyxNfLC12i3vc5Gls4Gg/8UWL0KgW2vTDItKpFU1tBega6mOu5sYZ2nNvPWEbihb8hefoHSV9/k7hW2IOHu57Q82z3oCRyUlU247mWSNv76pm4CNjDJBasHVZX43C/5QA18K8HPmN69SNKnHD/w1gYnD3F51JHchfE+bQ+gImb9wF2FCxT9uiSnZuAiUGvcoXGbiQTTq2TTEWCdIw8FKgiycv7guk55jHHNUfNqD6R19p17E2ZYMPpFD8z89tG+p8hP+vHpo1tMUKfoMX6a86RSqRFotBnm5NN/A6iLNJwXLMIoB/2kgA8bmuny2R1RAy7UbFJkV4Aj5ChRxf2LHEVhvZ/0DqDwnR+3r5SX4rIzaujuUNBcHjpRKgGWrqTmfRGAS4bd/LwilsUgM99e79BWa1d43NyxbUHH58B5X1Tod6yWU9U+cqED97uRXeWCF9U7gIZ0DfnpejVzsx5XNjmXuvxEKR+nSceXUJ0IuHQRRzLFn8qcSn/UAaHGxSsIOe1VkzO4ncuUuX4p+mkQKvBkT6nz1XVr71LFFf+tSIdcPCHHj3Yyt8YGub1RN4rLpVdVNVitbSxqBtWXjpKOqjjPDJgLA6RlJyGTAwImmHelWUhVHs31/+6oWmFAYRoZXdT5KjbYStVCjjW2YxEpR4q9FVDU73HaRciSV3XpnC/pG7f4u64nsT10XOwFOJEoxD2bzEkAq78S5mHukxo1CpjG/lDit5F1Af+Y+bPvIGGcoe5E6+TkxxM/ErbJZWPTJSX0SKbZSO2BhXCnZRDGT1bFbbQ0pGivLo6CvYIay01cm76PEkhvOHn7swEDXw7+biYfNvKjNbTpl76MXUIPLsdNui35bcemWYZj4CuxrkX/Bwe0Iul2In2HADG63rS3v2OmXpN9myHHCd55mODNsPFI7aA/WqP1mMX9lpXuVoLs1gDzxfe7nXw== 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)(376014)(35042699022)(82310400026)(1800799024)(14060799003)(36860700013); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2024 20:28:08.8791 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 03c27955-ef02-4abd-297d-08dd0f2201c4 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: AMS1EPF00000040.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9839 X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org Case 7 of unsigned scalar saturating addition defines SAT_ADD = X <= (X + Y) ? (X + Y) : -1. This is the same as SAT_ADD = Y <= (X + Y) ? (X + Y) : -1 due to usadd_left_part_1 being commutative. The pattern for case 7 currently does not accept the alternative where Y is used in the condition. Therefore, this commit adds the commutative property to this case which causes more valid cases of unsigned saturating arithmetic to be recognised. Before: _1 = BIT_FIELD_REF ; sum_5 = _1 + a_4(D); if (a_4(D) <= sum_5) goto ; [INV] else goto ; [INV] : : _2 = PHI <255(3), sum_5(2)> return _2; After: [local count: 1073741824]: _1 = BIT_FIELD_REF ; _2 = .SAT_ADD (_1, a_4(D)); [tail call] return _2; This passes the aarch64-none-linux-gnu regression tests with no new failures. The tests will be skipped on targets which do not support IFN_SAT_ADD for each of these modes via dg-require-effective-target. gcc/ChangeLog: * match.pd: Modify existing case for SAT_ADD. gcc/testsuite/ChangeLog: * gcc.dg/tree-ssa/sat-u-add-match-1-u16.c: New test. * gcc.dg/tree-ssa/sat-u-add-match-1-u32.c: New test. * gcc.dg/tree-ssa/sat-u-add-match-1-u64.c: New test. * gcc.dg/tree-ssa/sat-u-add-match-1-u8.c: New test. --- gcc/match.pd | 4 ++-- .../gcc.dg/tree-ssa/sat-u-add-match-1-u16.c | 22 +++++++++++++++++++ .../gcc.dg/tree-ssa/sat-u-add-match-1-u32.c | 22 +++++++++++++++++++ .../gcc.dg/tree-ssa/sat-u-add-match-1-u64.c | 22 +++++++++++++++++++ .../gcc.dg/tree-ssa/sat-u-add-match-1-u8.c | 22 +++++++++++++++++++ 5 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u16.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u32.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u64.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u8.c diff --git a/gcc/match.pd b/gcc/match.pd index 4fc5efa6247..98c50ab097f 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -3085,7 +3085,7 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) /* SAT_ADD = usadd_left_part_1 | usadd_right_part_1, aka: SAT_ADD = (X + Y) | -((X + Y) < X) */ (match (usadd_left_part_1 @0 @1) - (plus:c @0 @1) + (plus @0 @1) (if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type) && types_match (type, @0, @1)))) @@ -3166,7 +3166,7 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) /* Unsigned saturation add, case 7 (branch with le): SAT_ADD = x <= (X + Y) ? (X + Y) : -1. */ (match (unsigned_integer_sat_add @0 @1) - (cond^ (le @0 (usadd_left_part_1@2 @0 @1)) @2 integer_minus_onep)) + (cond^ (le @0 (usadd_left_part_1:C@2 @0 @1)) @2 integer_minus_onep)) /* Unsigned saturation add, case 8 (branch with gt): SAT_ADD = x > (X + Y) ? -1 : (X + Y). */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u16.c b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u16.c new file mode 100644 index 00000000000..866ce6cdbc1 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u16.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target usadd_himode } */ +/* { dg-options "-O2 -fdump-tree-optimized" } */ + +#include + +#define T uint16_t +#define UMAX (T) -1 + +T sat_u_add_1 (T a, T b) +{ + T sum = a + b; + return sum < a ? UMAX : sum; +} + +T sat_u_add_2 (T a, T b) +{ + T sum = a + b; + return sum < b ? UMAX : sum; +} + +/* { dg-final { scan-tree-dump-times " .SAT_ADD " 2 "optimized" } } */ \ No newline at end of file diff --git a/gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u32.c b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u32.c new file mode 100644 index 00000000000..8f841c32852 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u32.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target usadd_simode } */ +/* { dg-options "-O2 -fdump-tree-optimized" } */ + +#include + +#define T uint32_t +#define UMAX (T) -1 + +T sat_u_add_1 (T a, T b) +{ + T sum = a + b; + return sum < a ? UMAX : sum; +} + +T sat_u_add_2 (T a, T b) +{ + T sum = a + b; + return sum < b ? UMAX : sum; +} + +/* { dg-final { scan-tree-dump-times " .SAT_ADD " 2 "optimized" } } */ \ No newline at end of file diff --git a/gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u64.c b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u64.c new file mode 100644 index 00000000000..39548d63384 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u64.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target usadd_dimode } */ +/* { dg-options "-O2 -fdump-tree-optimized" } */ + +#include + +#define T uint64_t +#define UMAX (T) -1 + +T sat_u_add_1 (T a, T b) +{ + T sum = a + b; + return sum < a ? UMAX : sum; +} + +T sat_u_add_2 (T a, T b) +{ + T sum = a + b; + return sum < b ? UMAX : sum; +} + +/* { dg-final { scan-tree-dump-times " .SAT_ADD " 2 "optimized" } } */ \ No newline at end of file diff --git a/gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u8.c b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u8.c new file mode 100644 index 00000000000..c43ddd717d9 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u8.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target usadd_qimode } */ +/* { dg-options "-O2 -fdump-tree-optimized" } */ + +#include + +#define T uint8_t +#define UMAX (T) -1 + +T sat_u_add_1 (T a, T b) +{ + T sum = a + b; + return sum < a ? UMAX : sum; +} + +T sat_u_add_2 (T a, T b) +{ + T sum = a + b; + return sum < b ? UMAX : sum; +} + +/* { dg-final { scan-tree-dump-times " .SAT_ADD " 2 "optimized" } } */ \ No newline at end of file