From patchwork Fri Oct 18 15:12:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akram Ahmad X-Patchwork-Id: 1999265 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=fFamOBZF; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=fFamOBZF; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XVSs45g1Dz1xw2 for ; Sat, 19 Oct 2024 02:13:44 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E8A8E385828B for ; Fri, 18 Oct 2024 15:13:42 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on20627.outbound.protection.outlook.com [IPv6:2a01:111:f403:260d::627]) by sourceware.org (Postfix) with ESMTPS id C3F4F3858D37 for ; Fri, 18 Oct 2024 15:13:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C3F4F3858D37 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 C3F4F3858D37 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:260d::627 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1729264396; cv=pass; b=Q/0yDKBAwcELjHg4ROokfvkpFGUvU+dX8bov7u0et8gA0FwOucoI+K7gAQHM/WXEkyicInNmHdQ9AU4WcP/G6CVkkBe6rbrercIydg0aLslKmqVqzOnZvZ6545PUk6dhKh9wBo2GY/vP5yogF8SjNNg7JEzviMXl0TQSJKx0jEU= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1729264396; c=relaxed/simple; bh=wpjELa5cP8wy95CaNI244GAOqzA0+PuRYJ9Wo+sFgwU=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=S4EQsiTGMiF5ezL+hymk2c+WQ+uTmcIwdIDs/m/QyIL/ydplmFDh6BkwvBFrkPKeaFVHVqH52B5Ds4e8IJchMuQy78fOFLcGOkCrPqEOvUMdNldiIwfitYtq6GdaE0mPmaCY1pXwYBjFfzwX00A0xlBSEyBrcVqsQfB4WvlVYxc= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=PV5VHovXIN/xnbusAtXjRkNGjD6IEgdNd3aPlDoAG3kzQToha6ZaLp05exj9JK4f7xvwjFPOoDVwmr19wHrDz1jGIgo1em8p+KFEG6fMqjX5Qr28Kjmhy427qFDsxs+mSv/Q/A/8XCgpqcH+QvqyVI6uzsH2tR8JH/PXJcgloJEHfsYsGfCiCtVc8RURc72gQIYedjtGeNwasZlYH2usAFHjTQyVMPnxLwHAUkERAs2dki+LFwecL6Fs0HdJJAyjBl3m+ebr7RoSI9PYbT20OTSQ/s0svG0nWKeOIh9btsJQL2eUNzGTV0jLvCE3/jeZA8rTk7fLXPFnItu2WF9SPQ== 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=QDiPXZDWdKXhm9mT2X0BFLwQ8h8yrOEoWZ4tPgS1UiU=; b=t19pqZCIsUR/iDLup8k48AoYNuBk2o7gU5WxP+zGRakbXzQuvWC3yOwQq4LspYtwluwA9iL3rEAf1j9+/zIEE7qxZ/BJpL5JsYLw82stZ9KJnT7+/4rI1vHHnwfAxGoacXzzlGgtpFJMCtmxcCCwfs7hRDqn3JXUZk2UZs/Q8FhWYOGuNWhSiMVmY9o28p1AuHRo1F9i/pqzTqjdr4gzlGjHHyf359kSCM1MY02haJ3lg5O2TI9gRhYz+vLm33dwSh1IBksTrev7lQrf1NJuKD+4PefocWxoRnN5L5hGLUVQHo30UgWmWviRS/w5LYYI5xbE565L/HIwTb1N76RQ8Q== 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=QDiPXZDWdKXhm9mT2X0BFLwQ8h8yrOEoWZ4tPgS1UiU=; b=fFamOBZF23WQSpxsGBl3vxWInrgJHxPX6dbszzSdHi4bwWZUHHIsj50EyUorBza3gB+EtERVX1svWPbNN+c/o59CrsX5mbwtOvpwwgwWA/op/NU742tFE9F+lgJ80ScCpMgCWQul9/dzDySVdTb3AI5V9KDQz+C6lX5aUim61DU= Received: from DB8PR04CA0012.eurprd04.prod.outlook.com (2603:10a6:10:110::22) by PR3PR08MB5866.eurprd08.prod.outlook.com (2603:10a6:102:85::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.24; Fri, 18 Oct 2024 15:13:07 +0000 Received: from DU6PEPF00009526.eurprd02.prod.outlook.com (2603:10a6:10:110:cafe::e7) by DB8PR04CA0012.outlook.office365.com (2603:10a6:10:110::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.21 via Frontend Transport; Fri, 18 Oct 2024 15:13:07 +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 DU6PEPF00009526.mail.protection.outlook.com (10.167.8.7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8069.17 via Frontend Transport; Fri, 18 Oct 2024 15:13:07 +0000 Received: ("Tessian outbound cd6aa7fa963a:v473"); Fri, 18 Oct 2024 15:13:06 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 070d92e60f841cc4 X-TessianGatewayMetadata: 3le+QscVpLYjl2vsBO6K6O+FwFytsI27XQ88gtd7y1ReQyGSG2Dp/dfMlSa1+oeX7Ga8O03V9q0QbPr+mqGPeia4vjfdUhMO63qzzDuLxx5m+h/nzN9a36vHvTVLn7rble2yjGYY8JbveR6+GfgVTXnenfE0HQUWo3z+8XiQxh8= X-CR-MTA-TID: 64aa7808 Received: from L9b6eff03156f.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 34454EBD-7635-4307-9968-36A45C6AC730.1; Fri, 18 Oct 2024 15:13:00 +0000 Received: from EUR03-AM7-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id L9b6eff03156f.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 18 Oct 2024 15:13:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=E6sQ2RjIkJKCKtAJBOMoPh2131LEHObMscc0/8KOPx+zEUsRYthKAquubdyGcEFE7plHh34o1YMiw2wxzxPDk5AgUjyULsXHeRMOtgvxwH6cS3u8VSOG87G/O3p9EHqvTlpOMMAP9aam+x9+QYIMk5QWeE2DDeaJNogEwclhsX0iDPb0cFe92xUg7du5akz8ZVKS6tIV0TrESauBfMZ5USSADP6USYwTAP/VcJSk3CSYCrjqY9L1aVunof/AYilKmxZ4mUYP8ruSpDdt8JapPBSjiTeCqZJPutyeuOaz3OWWHl8eWGWs3EcNUYqHSfG/pokMe48fWMzBAeYNuLoeOQ== 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=QDiPXZDWdKXhm9mT2X0BFLwQ8h8yrOEoWZ4tPgS1UiU=; b=ZLSXiVmxdj1NFtnV0iojjjsmddCw08LQnudIrQDLiyGKYiTeLtL/lJOnjte4a5UIIH3U7990iW5yxWTb1Q7GdaZMFEDp6ZSwc8z/4/Zj/eVYF9aksRWjcmCLD7YB2D/8Tw5z/B1O6E1piREpbcA7woqKA3q7ykx/WDBiGxs50i0Y8a7eWcOqeTzPDMb+MrSaZPS3ZDrt4dj0k2EjWQfBJDSRRIDArwffwQYeAtXytve6JPFiEkvKB49103apgki0BsEa+ZgPa+/qW8dUD6JPiN3gHiXZDM6ibou9qxgNBR7EA4iq06rxXRz+/PgD5BYaNCZT5QYkiStEbT1mEPYaOg== 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=QDiPXZDWdKXhm9mT2X0BFLwQ8h8yrOEoWZ4tPgS1UiU=; b=fFamOBZF23WQSpxsGBl3vxWInrgJHxPX6dbszzSdHi4bwWZUHHIsj50EyUorBza3gB+EtERVX1svWPbNN+c/o59CrsX5mbwtOvpwwgwWA/op/NU742tFE9F+lgJ80ScCpMgCWQul9/dzDySVdTb3AI5V9KDQz+C6lX5aUim61DU= Received: from AS4P189CA0067.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:659::25) by AS8PR08MB9043.eurprd08.prod.outlook.com (2603:10a6:20b:5c1::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.18; Fri, 18 Oct 2024 15:12:54 +0000 Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com (2603:10a6:20b:659:cafe::28) by AS4P189CA0067.outlook.office365.com (2603:10a6:20b:659::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.24 via Frontend Transport; Fri, 18 Oct 2024 15:12: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 AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8069.17 via Frontend Transport; Fri, 18 Oct 2024 15:12:54 +0000 Received: from AZ-NEU-EXJ01.Arm.com (10.240.25.132) 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; Fri, 18 Oct 2024 15:12:53 +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; Fri, 18 Oct 2024 15:12:53 +0000 Received: from ip-10-248-139-139.eu-west-1.compute.internal (10.252.78.54) 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; Fri, 18 Oct 2024 15:12:53 +0000 From: Akram Ahmad To: CC: Akram Ahmad Subject: [PATCH 2/2] aarch64: Use standard names for SVE saturating arithmetic Date: Fri, 18 Oct 2024 15:12:19 +0000 Message-ID: <20241018151219.308512-3-Akram.Ahmad@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241018151219.308512-1-Akram.Ahmad@arm.com> References: <20241018151219.308512-1-Akram.Ahmad@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF000001A5:EE_|AS8PR08MB9043:EE_|DU6PEPF00009526:EE_|PR3PR08MB5866:EE_ X-MS-Office365-Filtering-Correlation-Id: 17a7248f-733c-4782-0044-08dcef875edb x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|36860700013|376014|30052699003|82310400026|1800799024; X-Microsoft-Antispam-Message-Info-Original: qrYTA9M76Xwmss1af4Qx3lGYh7/ZtoIN16Qcoz+SNAa1PxlqQ2d+OefiHsN2dlsqXyEItbj4lH6kcNP9ekQe11yk3o1mx1xz1wAmCYzB8Npu3hEKX3yx6v93MEjWSpIbmslea0j8CKMONoiQeCqTLpKWZ7sKMx96gTxTDHdPgSjJroImruo66EIzwo+wATmR+dK0+I+LKpUEckJ3zyXoHTbcqCtUNTOJUbu3qUzITFjQV3CRgeLOWuOj2ZJ4sIbhAsXs2sQn1Fq5jpEck1GO4OJ3T4uWV4OhLraPxz32B42TmTtpi+DlD/fQwEyFvWQUDOlFu+GK90CIHNtInAZLdqgSa9KZLcJocxO8cNjxKLwFwrG4x64bKlcdiGWN6D72GIyETsUto+vFubo+hikSC7yno8AWbtvucLK+dCHynV6NQE9gE0dajsjeaVsTdiMKO0t/p4PDlGgFvpHfIeLmUwfyVGk3bstGhQ9wJjlCoRD8hepElhWxmTBbVhb1cHLoUE2a7pz5H9ncCCvyr1cUABPo/fgs4vFk7FhMaLd6fXCzQo6j9KdYNtv99XwnK4jbG21FgeW+3+E4fP3jDLTFyV/dmUq9o0khkJOZ3K1anOOHUbgXbc7SIXiHMoQ59sd37pUAzrnvPbfjC87F3rY9G8k8Nq/X3EdIHSIW7bGfjcM+bjrBhS607/v8W/O7nWP4kUWCXENiSZ1SUcaqwLVr+9DPNkoLaEFvH3Z4m1X9Iwsy82EHBHCOP3L0ICO7RztjW2Cj9JTkkOXpqHdcigTckEB/aFpsctfONeNx0qpoRrkNGJ2dWxIjrrLrz8CLkXFnyx53bH4y3IYmT3N0ek39qLfy3eAc93pH3q7a9sbR2jfAC4rw2IT89VM+CgSYUXk+AWaX7JDb3I3KTV4W5ssxGjMjx6LIJwpCoNBi+h2nN6zpFPPZyl9iwQiplAb1EFPCF6qH8Ikz+tUy6RTEOV8u0ORKoKvhZ1qWpJQ90Q3DaSaOrSiFyTzyaf0ijiifVGxj3SCtNMzdU/C/Z4lEOuD6TWcDUEEAJJuKeswZ9kRsAellg6fAjpTwQtIyWLXXq+Q2IGpFSk3DqoMkpvUAbABpjTd45t88ZUvfa97mgq+Eq0MQORFuIOqD9/am1sKcZOiFoOWPtkYL1X0c4szIr9ouTD3/3zf0zH/JdrRImJewsB3pPAFiSqW3VSU4JB5acbPKwYtd8scZ7hJBxfP1Khk6LhuA7NvPJL9mCBLTi7EbdqvEjT5ldBaN0AiwCw+VkYR6+1fp0xYYRK8eOoDsZMY7I/gNdqjQbXg9D0BNZNWAWK4NALZF3CgLjaZhl5QPqD/7zI0EadJzdqGfixZlol22zcxNMgvL2M99FMnvth/kMJH9V5HZQz0Ahx+Po43eyhQAt3uFu7QRWWvULchP98au8Q== 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)(36860700013)(376014)(30052699003)(82310400026)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9043 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:20b:659::25]; domain=AS4P189CA0067.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU6PEPF00009526.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: b58e965f-7bf1-4041-5315-08dcef875744 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|376014|82310400026|1800799024|35042699022|30052699003; X-Microsoft-Antispam-Message-Info: xW0iLySgtMRHRU4UqcmWZBoz5MVyP2qShFj2w45d1cRBdZzgelZdLVc+413bgcL0vqie6M965qMu5WrGsBhso9adftsV4bJzaqPeI9VfeddEsU8xZZ9x4ZGok9b02eoOyTcfMKDwKpQYDtRr7m8yuXXMOvFm0ejsZdoNP2+BBkLGDIp5XUs4jB0wZ2FF4ICJBW1M4pi1ZhW1/TlWu1FOZ/dmjz7f2GntLLKHgjFeOOBh/ar3l+BdMP3Eoe+vZxwjLbmUJEyM4PFRL8ShsIsLXyJHiwg1PXCsa/NXbeZLiw+hdwKO+lo8K/tkjaQUXIqIvt0JpH9L0WeLtmU49xKmlNydG3l/oGh/WWyRC5xBK4O86tXdbH9/TknbxE7uVZFcz9oqnVjgNEgUfOevauDoe9ushSksHLlx2CRfbuLbYEFaGuc9+ePWmOmMETT2n9udZbiXvz9Bnfqe/Z1xufwT83u6a2GCphHejDw6XJvrC4dehQSO+B58b1e7Rt05Wby1r3hKqj3F/fKyuWh7g/vsWERY8O33sWrrN5DuoMFyofDTtb8IUOgMFPkNxhqCZswsdtP7IM2IS8ECfV+9qvTfQyjoT+b9TvyATmW5W63R0u7bNehtLXLQLNkRg0ZWIiMLajGDYLrOl5uD6Srrdg4wvQJLLk7ZQqsWw/7bdciyfAL1Svt4+m7VKzA4oZZ1c9h3Q8b8afqaVs0IYKZ9izZ5Pgi1G4fmrjprydB9zEbOWAlhYAAgeV9yuYgAypTu0ME/GW6SFCimsbUzigx2oufn+V2cfVl4uR7l220Hr1Pc+hgoBj2TCET8QzpAKBjG6pzEjW9ER+Zy6el0K/eER9DsBuTcu5POO7qsPCSPr1lA4oG8w4d5r4fd7hVKYonz4Px5SCS9EXB5yWqfwHOdynwLBmah+5vARKF9rwcN7k63WUWHUiYtlAQdvh6RSGKj5JrHb9yXAZ4wEozlA+RRF1b9nD+nCptAxzp/Q+h3i4KwCbamINtUW2RWVTo6jgZqVCA/xkPLytN+PMY0tmIcmd6X7FpC51SGNp1Q0cN0QrxqQ2tTtdlEis57zppXwkeyh62F+sgeUqur58WQvDgq+e7W+RMfINqkieM6NVJkf7oPHWfSkgX910mhAPc5YS8QkzcfkdD+PGihAROJUsmh0BwuPF7Z6Wja9we7/nh2351Yj262z9UkArZcZlNa7/Io0ud/zzK3kbaWP0Vac5Xt3cQnCcKeFeKPpoxCZMlXiQgqlesgQEZUMgLBe02UhSj2VzPrcCIQB+nkbNRPyQAphn60KifqFBW75gC6sW6URCcfbu8TgHdJ7h62KHapXZ947g75Jfq6xJhEvOjQ/rWQMfjH3DkOk5I5vGtZZGqC5BFBAGQL2OzgMrehiDAR1xClTCEackGY0dBrdxPaZiJuLlG3Sw== 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:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(36860700013)(376014)(82310400026)(1800799024)(35042699022)(30052699003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2024 15:13:07.0801 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 17a7248f-733c-4782-0044-08dcef875edb 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: DU6PEPF00009526.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5866 X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, SPF_HELO_NONE, 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~incoming=patchwork.ozlabs.org@gcc.gnu.org Rename the existing SVE unpredicated saturating arithmetic instructions to use standard names which are used by IFN_SAT_ADD and IFN_SAT_SUB. gcc/ChangeLog: * config/aarch64/aarch64-sve.md: Rename insns gcc/testsuite/ChangeLog: * gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic.inc: Template file for auto-vectorizer tests. * gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_1.c: Instantiate 8-bit vector tests. * gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_2.c: Instantiate 16-bit vector tests. * gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_3.c: Instantiate 32-bit vector tests. * gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_4.c: Instantiate 64-bit vector tests. --- gcc/config/aarch64/aarch64-sve.md | 4 +- .../aarch64/sve/saturating_arithmetic.inc | 68 +++++++++++++++++++ .../aarch64/sve/saturating_arithmetic_1.c | 60 ++++++++++++++++ .../aarch64/sve/saturating_arithmetic_2.c | 60 ++++++++++++++++ .../aarch64/sve/saturating_arithmetic_3.c | 62 +++++++++++++++++ .../aarch64/sve/saturating_arithmetic_4.c | 62 +++++++++++++++++ 6 files changed, 314 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic.inc create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_1.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_3.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_4.c diff --git a/gcc/config/aarch64/aarch64-sve.md b/gcc/config/aarch64/aarch64-sve.md index 06bd3e4bb2c..b987b292b20 100644 --- a/gcc/config/aarch64/aarch64-sve.md +++ b/gcc/config/aarch64/aarch64-sve.md @@ -4379,7 +4379,7 @@ ;; ------------------------------------------------------------------------- ;; Unpredicated saturating signed addition and subtraction. -(define_insn "@aarch64_sve_" +(define_insn "s3" [(set (match_operand:SVE_FULL_I 0 "register_operand") (SBINQOPS:SVE_FULL_I (match_operand:SVE_FULL_I 1 "register_operand") @@ -4395,7 +4395,7 @@ ) ;; Unpredicated saturating unsigned addition and subtraction. -(define_insn "@aarch64_sve_" +(define_insn "s3" [(set (match_operand:SVE_FULL_I 0 "register_operand") (UBINQOPS:SVE_FULL_I (match_operand:SVE_FULL_I 1 "register_operand") diff --git a/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic.inc b/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic.inc new file mode 100644 index 00000000000..0b3ebbcb0d6 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic.inc @@ -0,0 +1,68 @@ +/* Template file for vector saturating arithmetic validation. + + This file defines saturating addition and subtraction functions for a given + scalar type, testing the auto-vectorization of these two operators. This + type, along with the corresponding minimum and maximum values for that type, + must be defined by any test file which includes this template file. */ + +#ifndef SAT_ARIT_AUTOVEC_INC +#define SAT_ARIT_AUTOVEC_INC + +#include +#include + +#ifndef UT +#define UT uint32_t +#define UMAX UINT_MAX +#define UMIN 0 +#endif + +void uaddq (UT *out, UT *a, UT *b, int n) +{ + for (int i = 0; i < n; i++) + { + UT sum = a[i] + b[i]; + out[i] = sum < a[i] ? UMAX : sum; + } +} + +void uaddq2 (UT *out, UT *a, UT *b, int n) +{ + for (int i = 0; i < n; i++) + { + UT sum; + if (!__builtin_add_overflow(a[i], b[i], &sum)) + out[i] = sum; + else + out[i] = UMAX; + } +} + +void uaddq_imm (UT *out, UT *a, int n) +{ + for (int i = 0; i < n; i++) + { + UT sum = a[i] + 50; + out[i] = sum < a[i] ? UMAX : sum; + } +} + +void usubq (UT *out, UT *a, UT *b, int n) +{ + for (int i = 0; i < n; i++) + { + UT sum = a[i] - b[i]; + out[i] = sum > a[i] ? UMIN : sum; + } +} + +void usubq_imm (UT *out, UT *a, int n) +{ + for (int i = 0; i < n; i++) + { + UT sum = a[i] - 50; + out[i] = sum > a[i] ? UMIN : sum; + } +} + +#endif \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_1.c b/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_1.c new file mode 100644 index 00000000000..6936e9a2704 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_1.c @@ -0,0 +1,60 @@ +/* { dg-do compile { target { aarch64*-*-* } } } */ +/* { dg-options "-O2 --save-temps -ftree-vectorize" } */ +/* { dg-final { check-function-bodies "**" "" "" } } */ + +/* +** uaddq: +** ... +** ld1b\tz([0-9]+)\.b, .* +** ld1b\tz([0-9]+)\.b, .* +** uqadd\tz\2.b, z\1\.b, z\2\.b +** ... +** ldr\tb([0-9]+), .* +** ldr\tb([0-9]+), .* +** uqadd\tb\4, b\3, b\4 +** ... +*/ +/* +** uaddq2: +** ... +** ld1b\tz([0-9]+)\.b, .* +** ld1b\tz([0-9]+)\.b, .* +** uqadd\tz\2.b, z\1\.b, z\2\.b +** ... +** ldr\tb([0-9]+), .* +** ldr\tb([0-9]+), .* +** uqadd\tb\4, b\3, b\4 +** ... +*/ +/* +** uaddq_imm: +** ... +** ld1b\tz([0-9]+)\.b, .* +** uqadd\tz\1.b, z\1\.b, #50 +** ... +** movi\tv([0-9]+)\.8b, 0x32 +** ... +** ldr\tb([0-9]+), .* +** uqadd\tb\3, b\3, b\2 +** ... +*/ +/* +** usubq: { xfail *-*-* } +** ... +** ld1b\tz([0-9]+)\.b, .* +** ld1b\tz([0-9]+)\.b, .* +** uqsub\tz\2.b, z\1\.b, z\2\.b +** ... +** ldr\tb([0-9]+), .* +** ldr\tb([0-9]+), .* +** uqsub\tb\4, b\3, b\4 +** ... +*/ + +#include + +#define UT unsigned char +#define UMAX UCHAR_MAX +#define UMIN 0 + +#include "saturating_arithmetic.inc" \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_2.c b/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_2.c new file mode 100644 index 00000000000..928bc0054df --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_2.c @@ -0,0 +1,60 @@ +/* { dg-do compile { target { aarch64*-*-* } } } */ +/* { dg-options "-O2 --save-temps -ftree-vectorize" } */ +/* { dg-final { check-function-bodies "**" "" "" } } */ + +/* +** uaddq: +** ... +** ld1h\tz([0-9]+)\.h, .* +** ld1h\tz([0-9]+)\.h, .* +** uqadd\tz\2.h, z\1\.h, z\2\.h +** ... +** ldr\th([0-9]+), .* +** ldr\th([0-9]+), .* +** uqadd\th\4, h\3, h\4 +** ... +*/ +/* +** uaddq2: +** ... +** ld1h\tz([0-9]+)\.h, .* +** ld1h\tz([0-9]+)\.h, .* +** uqadd\tz\2.h, z\1\.h, z\2\.h +** ... +** ldr\th([0-9]+), .* +** ldr\th([0-9]+), .* +** uqadd\th\4, h\3, h\4 +** ... +*/ +/* +** uaddq_imm: +** ... +** ld1h\tz([0-9]+)\.h, .* +** uqadd\tz\1.h, z\1\.h, #50 +** ... +** movi\tv([0-9]+)\.4h, 0x32 +** ... +** ldr\th([0-9]+), .* +** uqadd\th\3, h\3, h\2 +** ... +*/ +/* +** usubq: { xfail *-*-* } +** ... +** ld1h\tz([0-9]+)\.h, .* +** ld1h\tz([0-9]+)\.h, .* +** usubq\tz\2.h, z\1\.h, z\2\.h +** ... +** ldr\th([0-9]+), .* +** ldr\th([0-9]+), .* +** usubq\th\4, h\3, h\4 +** ... +*/ + +#include + +#define UT unsigned short +#define UMAX USHRT_MAX +#define UMIN 0 + +#include "saturating_arithmetic.inc" \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_3.c b/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_3.c new file mode 100644 index 00000000000..14e2de59b1e --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_3.c @@ -0,0 +1,62 @@ +/* { dg-do compile { target { aarch64*-*-* } } } */ +/* { dg-options "-O2 --save-temps -ftree-vectorize" } */ +/* { dg-final { check-function-bodies "**" "" "" } } */ + +/* +** uaddq: +** ... +** ld1w\tz([0-9]+)\.s, .* +** ld1w\tz([0-9]+)\.s, .* +** uqadd\tz\2.s, z\1\.s, z\2\.s +** ... +** ldr\tw([0-9]+), .* +** ldr\tw([0-9]+), .* +** adds\tw\3, w\3, w\4 +** csinv\tw\3, w\3, wzr, cc +** ... +*/ +/* +** uaddq2: +** ... +** ld1w\tz([0-9]+)\.s, .* +** ld1w\tz([0-9]+)\.s, .* +** uqadd\tz\2.s, z\1\.s, z\2\.s +** ... +** ldr\tw([0-9]+), .* +** ldr\tw([0-9]+), .* +** adds\tw\3, w\3, w\4 +** csinv\tw\3, w\3, wzr, cc +** ... +*/ +/* +** uaddq_imm: +** ... +** ld1w\tz([0-9]+)\.s, .* +** uqadd\tz\1.s, z\1\.s, #50 +** ... +** ldr\tw([0-9]+), .* +** adds\tw\2, w\2, #50 +** csinv\tw\2, w\2, wzr, cc +** ... +*/ +/* +** usubq: { xfail *-*-* } +** ... +** ld1w\tz([0-9]+)\.s, .* +** ld1w\tz([0-9]+)\.s, .* +** uqsub\tz\2.s, z\1\.s, z\2\.s +** ... +** ldr\tw([0-9]+), .* +** ldr\tw([0-9]+), .* +** subs\tw\3, w\3, w\4 +** csel\tw\3, w\3, wzr, cs +** ... +*/ + +#include + +#define UT unsigned int +#define UMAX UINT_MAX +#define UMIN 0 + +#include "saturating_arithmetic.inc" \ No newline at end of file diff --git a/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_4.c b/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_4.c new file mode 100644 index 00000000000..05a5786b4ab --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/saturating_arithmetic_4.c @@ -0,0 +1,62 @@ +/* { dg-do compile { target { aarch64*-*-* } } } */ +/* { dg-options "-O2 --save-temps -ftree-vectorize" } */ +/* { dg-final { check-function-bodies "**" "" "" } } */ + +/* +** uaddq: +** ... +** ld1d\tz([0-9]+)\.d, .* +** ld1d\tz([0-9]+)\.d, .* +** uqadd\tz\2.d, z\1\.d, z\2\.d +** ... +** ldr\tx([0-9]+), .* +** ldr\tx([0-9]+), .* +** adds\tx\3, x\3, x\4 +** csinv\tx\3, x\3, xzr, cc +** ... +*/ +/* +** uaddq2: +** ... +** ld1d\tz([0-9]+)\.d, .* +** ld1d\tz([0-9]+)\.d, .* +** uqadd\tz\2.d, z\1\.d, z\2\.d +** ... +** ldr\tx([0-9]+), .* +** ldr\tx([0-9]+), .* +** adds\tx\3, x\3, x\4 +** csinv\tx\3, x\3, xzr, cc +** ... +*/ +/* +** uaddq_imm: +** ... +** ld1d\tz([0-9]+)\.d, .* +** uqadd\tz\1.d, z\1\.d, #50 +** ... +** ldr\tx([0-9]+), .* +** adds\tx\2, x\2, #50 +** csinv\tx\2, x\2, xzr, cc +** ... +*/ +/* +** usubq: { xfail *-*-* } +** ... +** ld1d\tz([0-9]+)\.d, .* +** ld1d\tz([0-9]+)\.d, .* +** uqsub\tz\2.d, z\1\.d, z\2\.d +** ... +** ldr\tx([0-9]+), .* +** ldr\tx([0-9]+), .* +** subs\tx\3, x\3, x\4 +** csel\tx\3, x\3, xzr, cs +** ... +*/ + +#include + +#define UT unsigned long +#define UMAX ULONG_MAX +#define UMIN 0 + +#include "saturating_arithmetic.inc" \ No newline at end of file