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