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