From patchwork Fri Sep 12 11:55:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinath Parvathaneni X-Patchwork-Id: 120132 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 0657E3857C7B for ; Fri, 12 Sep 2025 11:57:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0657E3857C7B 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=f06JPlsG; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=f06JPlsG X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazlp170130007.outbound.protection.outlook.com [IPv6:2a01:111:f403:c20f::7]) by sourceware.org (Postfix) with ESMTPS id 9666E3858D21 for ; Fri, 12 Sep 2025 11:55:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9666E3858D21 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 9666E3858D21 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c20f::7 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1757678158; cv=pass; b=Nf0qVgJwmTqAyfEFZovoQRAx2KMPZfOg4Ua7f7m3Bd0kK/H5ECysAa9XCKp9Pwa6yaSndDC5NZn1oj6ke9mW5u9YhzLxoWz5NT7lYhxPaiok5liMqmaa6eTk1KIJKebBIww1sQpp8DAcWQRuM6W04/EnP9AsceOGOj6jc5OSa/Q= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1757678158; c=relaxed/simple; bh=1JNVTyQ4cLaPwlrpb519oeWVoLqC4IB4BucnH/oXx8A=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=uEs7gRU0daUrTUWaJnxcApAY4svYzorMDf+2U1kabShM7q6qrRTGIuh+R9mXFB7GyCqj4SOyLTQzxvPx8FYMyef/r0rK6WRter2+07Qv4WKJuxar5QqZQ9Iey7ZQE/arTQikMaGtoCiZr+vmhNoqclNt4WExaFntc1LDE+wmLGA= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9666E3858D21 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=m/0iOyiqLhu0OOwVLX0nhSI39JT5Zr7K5OneLFZNrqMthMOvtj8ZQ6TjhxxOfEBhDLS61WhQyOeW8s0BZwWNUrDBn6lcG2uU5jWeyOc4ZxKV1XT2nE4TY4UuUnCAh9aTHrX6kZw5rJWWEu1/AVWeGTSrt15oh4J9fan/3WCIuS3rGKwgtGEl5V9P8Z5Bfx9EXGnxzEWJLItlhmJhJpPrP8PXtC8e4fa9hiRGnzgMF3pcA/SMg1395VhP6SI2I7ThTgRP+lqlqukxbuW3DOBx0+AwURjxyqk7eMX4raSi8x6kZa3Am+YqTtLovCSC78X8NVBvSP+6iZKK92MriHvecA== 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=MejW6gyVDrOtNm1IOWdFPO56zWusty0XxtNh5KEuuu4=; b=B+xXZ+2VcBAM/K1KQN3SGr2UN/BV+VEovQljkTsubYJrjaY3p4Iu8GOTQXvBdMnzTVt3M8puN/LSMUQufCARiIiS8n1FOAAyVmjr0Sa0S3SW7gfcocfGYmYqWtxWOg6Jmujq8O+tZ/atieY4T9opG0NK+JYWC7G5aq5PKTc5/6AbGb93foDnyqnaivUVId/i3xunLAKw9w8pRDR69eg3CGL52Vk4Yj/G4dCung36Ph7qqseTgc2dEQzsFIxG3Mu8e7NJB14A3Jzg+seN518mJBIvMiQeIdoXGSBc+VNI/jbugxD0bKc5c96xk4yC/IwlqLgq9e5z9nLQPYwigShocA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) 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=MejW6gyVDrOtNm1IOWdFPO56zWusty0XxtNh5KEuuu4=; b=f06JPlsGnRKzRebzQ0/F3MQafcFPBuUt7/i73LYcVZ2Fj2UI7kuKUjUCT4DzTxlXEVfVwI5sWeaiYsQFCGW+ESAn16r68FWtYJVTeD3o5//G+OE+EAQy6rAOqXsZLBxPEHJ9gAwCmTYMPVNSzCCJy3fhU8H9bJISI1l/JBs+76E= Received: from AM0PR02CA0004.eurprd02.prod.outlook.com (2603:10a6:208:3e::17) by DBBPR08MB10436.eurprd08.prod.outlook.com (2603:10a6:10:534::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Fri, 12 Sep 2025 11:55:53 +0000 Received: from AM4PEPF00027A65.eurprd04.prod.outlook.com (2603:10a6:208:3e:cafe::45) by AM0PR02CA0004.outlook.office365.com (2603:10a6:208:3e::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9115.17 via Frontend Transport; Fri, 12 Sep 2025 11:55:53 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) 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 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by AM4PEPF00027A65.mail.protection.outlook.com (10.167.16.86) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9115.13 via Frontend Transport; Fri, 12 Sep 2025 11:55:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D5QAnxMOtYsoknjyrkyFgnpDpfSr663c7ZNS0b9ppDn9yIL7i9CMan6ir3afu4xL5L+NFKAk3r+Si3wG9D/65IXqcgLQawhlAO1O444QET/CDn0PzDKSt6cZMROyurFLW1ojkX3zG1/rFXgMqFYJNgBX+rBVXicoUjdSqbvYmacczVrycUVls5XSNLLOkBE/NhKcneASDLMW5TNm9FaDrk+hg9AwjiEu+Rn+3ONyI+97wJr6pSNhrVPOyQmPFiFw1to4UeHGTxk2gO1j8NvoxKySHoM+PBmz1EqHKhr2BIVxiDHG9OVAUFGKAhIsLT8l3O8MhZHojueNc31SYR2Q/Q== 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=MejW6gyVDrOtNm1IOWdFPO56zWusty0XxtNh5KEuuu4=; b=o5N8drzkOz17PQETvwtC2bfANphIEUlrck8ngH2CVnlLQOUJ4dBU06TsIW/CkqRlqtvPEr2VnbSMWjpyc8FWKwIx959pjO1QSCxCYWnAihgVrA2PcUdWZgS7FCNh9fYRlOZGA+G0voxgDDwIJ/LcXe4YhIAxmlnRuMUwSkAx174WqRYIGXjvgt+CYkaqnLZXsAo32B1GjupZ2XHaGzOQEosXJMHlad6znGmyPM5C6xKvp4uf1kSFPKDk28T9e81deQNA6NgKzgAc820G0H2jZMRq4QMFs0mcXzzWSk0zDzVCGRRj3LqhkMriL7YDqJZSt73Pw7vL9Qek/SEhbCE4CQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 172.205.89.229) 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=MejW6gyVDrOtNm1IOWdFPO56zWusty0XxtNh5KEuuu4=; b=f06JPlsGnRKzRebzQ0/F3MQafcFPBuUt7/i73LYcVZ2Fj2UI7kuKUjUCT4DzTxlXEVfVwI5sWeaiYsQFCGW+ESAn16r68FWtYJVTeD3o5//G+OE+EAQy6rAOqXsZLBxPEHJ9gAwCmTYMPVNSzCCJy3fhU8H9bJISI1l/JBs+76E= Received: from DU2P250CA0016.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:231::21) by AS2PR08MB8974.eurprd08.prod.outlook.com (2603:10a6:20b:5fa::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Fri, 12 Sep 2025 11:55:18 +0000 Received: from DU2PEPF0001E9C6.eurprd03.prod.outlook.com (2603:10a6:10:231:cafe::c2) by DU2P250CA0016.outlook.office365.com (2603:10a6:10:231::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9115.16 via Frontend Transport; Fri, 12 Sep 2025 11:55:18 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 172.205.89.229) 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 172.205.89.229 as permitted sender) receiver=protection.outlook.com; client-ip=172.205.89.229; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (172.205.89.229) by DU2PEPF0001E9C6.mail.protection.outlook.com (10.167.8.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.9115.13 via Frontend Transport; Fri, 12 Sep 2025 11:55:18 +0000 Received: from AZ-NEU-EX04.Arm.com (10.240.25.138) by AZ-NEU-EX06.Arm.com (10.240.25.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 12 Sep 2025 11:55:11 +0000 Received: from AZ-NEU-EX06.Arm.com (10.240.25.134) by AZ-NEU-EX04.Arm.com (10.240.25.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.27; Fri, 12 Sep 2025 11:55:11 +0000 Received: from e120703.cambridge.arm.com (10.2.81.20) by mail.arm.com (10.240.25.134) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Fri, 12 Sep 2025 11:55:10 +0000 From: Srinath Parvathaneni To: CC: , , , , Srinath Parvathaneni Subject: [PATCH v1][GCC] aarch64: Add support for menable-sysreg-checking flag. Date: Fri, 12 Sep 2025 12:55:05 +0100 Message-ID: <20250912115505.2831286-1-srinath.parvathaneni@arm.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU2PEPF0001E9C6:EE_|AS2PR08MB8974:EE_|AM4PEPF00027A65:EE_|DBBPR08MB10436:EE_ X-MS-Office365-Filtering-Correlation-Id: da8cff5b-697b-4156-16d8-08ddf1f352e0 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|82310400026|376014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info-Original: 1bGSWNrrKlYY1wToanDGp7WkCPIXcoCPo5wAX3SbhCcD9oEcWoiInCnqqzjXEPP2/KwY754qk9mkmlatVGIni+oC3yxzOq8E39e0hE2t6gfE5EdhC8H6djcp+ZQrbcf5PWhzI+SmriEIpRig4StFuPWyarxN9f4BoL7fCrRWIwQoCIXtg6AKA9TxoKu/f3CldeiHj9rK2ZC05RmT70qjlkNvora0yn6pzYFfYwvnSCT8ATAWz5Fe38yIVfFTE4nLuxw4h4gJpXlvzR6LBxsb/X+MR1DNfU438dPnldbZb15ets2KrPmZ+FgNB7NdzgTzJ47QMJPjbyCyJQqol46ZMVOUZFoFHixdtNr/bJ2DEOc3WHCeBj/UnEro8VVt+zo7XC1YlwiDG5+KL8MvPddBjEuZ7DualXZnglJKd2U+jUuDwU9gRIh6CGWTVoxKWBblVs5257WlhDzVRTBi7JQoeHFIGNHWb9iv3ghiKGfR77gPpU70/y3vs4Y2a2WcBDhsMpCbKB7P/7gvvWgpZQXRybtHtu1zuWuDDtzRs4LCKd279ut9hikWC2KnDCZUdZ5NLb/o2qsEE2ruxLAtoGXSfO3gUwmBvpcw/6FulaWV/U2BUNPagquVPQ3VK/+qEl6zCBuEAu39anb/I58lhW5yHDEoYp7sw9Xd7l2gXABUT6jmhSSTB9zgNgoOKVKSq5JFI0lutzzlHnLxi0hmVjPYsDkatuJ1Rje3JzR8AoV4PQpsCQ1DfWJdzknA/uK8Jdwq2HJO8p5m9MumHS+Pfkf7WPs1PcBxNBc891YmbRefO6DeBm1Xcq70+dirt/py9eGor9ijzScH4BOOtoH+hAz70QTYJ0kDYHqLTs3QO6zV0+efLRTbTF3GqlrHHaMUSp21GbbSRHSYYjs2VOa+TZ2Y1AGMGBfO3z1RUsfi8sQ0Hy7dfW1np6xcoUURb7SfEZRhw6dSwo4W9P53LrfaEiu5ISPAelGAMYL4Cr1j5tGeXYO8a5DzXNX2wYx/Ai2xG/C2+WY+S2l3XDRavvecRJImNpd5udA09YiADxWBLhcvZAr+z3molz+NwcSSeSWA/V+0CIIub1UMEcw0rXlS6csn3bzWENgZ/TGhbNbzv0VjqDvrq/Rv0nU0kyqcH1BIP8Ko7Cww8FU5AGuJn75g/1w0G6XPimsSf1EqfhcK/0nfoaJIs3n/CZ0lQxtiyUBvmbRYrzANQb6IZBR+Tf+jfT3cEGcyvXCQKSFOEQtKNEFoKQD1bIdnVOCqkzO/Xnq064SaxV+nTcM0YVCYlhzw6QtP2VKtBzm8ty13bwnJuwzopkBrBQi1RH/i70ohiy+amKYD7avM/SgC0AGr/iVTg9MvaNBLfNWQWsJMiUSTagKyKlboeX6Fy6u19lFETjXeeBAL1Btv45s0lwgjQQbvX0DaX8q1YNskMqu/SHHqb4d7K8Euu0IETc2kcLBCtNnAhyISlm7CnJ60XtNHDPO9tuqn4LtpSst/CI8sTpTLDh7afKo= X-Forefront-Antispam-Report-Untrusted: CIP:172.205.89.229; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8974 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM4PEPF00027A65.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 61ec5ef1-01a8-4acc-cf38-08ddf1f33ea5 X-Microsoft-Antispam: BCL:0; ARA:13230040|35042699022|14060799003|82310400026|1800799024|376014|36860700013|13003099007; X-Microsoft-Antispam-Message-Info: gR0OBNAQ7gjMn6KtqFiEYPHwiULwQj5Nw06jlgAaRbrFnTsAHtdaUEVWv8V9KA80on9QCJMWrDCTcY6LN8mYJacxb+D9Jc30EaIWHKpyoYdRVqSS1QT8FO0Zx65hNkm/VS5UleIMZxISOo+YJNBcfyCjCNjYRFuP9XgXWG2gYozxWUSsWfyOYRQ/N2RLBnfTOKVits/6vOSV0kp+y+ElpM+53Xp4oE9KYL5NkuEN1X2gwyGRJ8fqyj/YzZt0h9miGMr5OVR/y1yn/PoB8jVZynamqWkYz7wdsXB8B8acf79CmW37Huzm57cPnBJRfJWEvbi6DdWbNK8irPfB6Ki65HIVxe2g+pQ5DhN9Obay54RL69iUWI6tQn6APANiB7xT3BkSBp3YdxYCPA+WcKohSh+QdMFbsy+DaceaTTNTx2+EZ/olsHeINqI/2DAV5X+5kllheQTxOhF10uZwLSNjHJujwp4BSgw2Z8LBhbZsWznx4oG81m0aoBsYQhve2QlGFVJ9yEKt8a/WDcOr1vGcKY2dl9XhZPantocutpeJMiyhTjpeFn7PDide7A2qkF6gqS+6O6E9T6w9H8s4JsdzyiZe5Ed1HHN79TDkMvJhZTiLiNP/BUcVS1zYucMlAie7cs2K5R7SC1qs4RTOzEOFhRLRBgAuvc+n6zD9ncINkHZFLkl1RP5H/3XakGXwOhXFxddqP3osAroUo4RVXFj9uwNnJDZVTLq2NWpS5MCNSwptPt4IBgUhVFQDDyZJ2w3/4MDh2nGAMEkT8pO1h553VpMPV4w5wXKvRO69mY0O6zbtgL9j5kLK+uYcfgAg+aaOh1bApu424etrkK6nH5OgAXjeEar9+h9qyBshGNeJVgel/A2wtK4V3WEfxYtt8QuYqPaFqbioh6Y4e5L552WzlfcysDMJJ6bSLBZe8sU4JpVhyJAHCti9/qkvqYNr3BMPKxz/l13hzHpy69N7A+tyyHWTG2nYYBPrT+hCpxcpWOAsMzTTwT76BisXYKH8oxcN88gcToNIddsCePEpLOmYjynjdpQDSgfPxaN1ZKhw4p+qRfX8Gwr180g1utTnaJXlX9XjTY6c4TnbpI9NnfDWB/qeHKUk6KfQWibmNB1W9/zqNGIVp50SvKFMNfubTTgG6NR7xGdZAsf24J5Afwy39/tP2uDW173Ww9pEsNfbx6paRbX3IXzgsWORVlK1CvlrLLoADKbXSOK5swoJpsJt/QcGP7M7xbBg8g3XmIfqN7DtkGWhpPVWe9dZf7rjmMob9+gusBvqHjHD06cifvqpkmSaOMSJFDaS8u8UdgbZwyJy8zvO84pqxCDd34soBuEzcurCd5KhrkksIFjP9I26Xlq+vK/L3kRngsMv19OEnU1BIVlm+EewuOPtz9e+a85wHcz6rTHJ5cmPJHFssNklwck4ZwpNvpOYX9/r81QdzZdnicWoPyr1kxwyYjLIcPS4gITdb9lGFECyNYpoGX0Z/6rxNxrexHnFJZa7LUk9gFw= X-Forefront-Antispam-Report: CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(35042699022)(14060799003)(82310400026)(1800799024)(376014)(36860700013)(13003099007); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2025 11:55:52.5873 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: da8cff5b-697b-4156-16d8-08ddf1f352e0 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129]; Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: AM4PEPF00027A65.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB10436 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, KAM_SHORT, SPF_HELO_PASS, SPF_NONE, TXREP 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 Hi All, In the current Binutils we have disabled the feature gating for sysreg by default and we have introduced a new flag "-meanble-sysreg-checking" to renable some of this checking. However in GCC, we have disabled the feature gating of sysreg to read/write intrinsics __arm_[wr]sr* and we have not added any mechanism to check the feature gating if needed similar to Binutils. This patch adds the support for the flag "-meanble-sysreg-checking" which renables some of the feature checking of sysreg to read/write intrinsics __arm_[wr]sr* similar to Binutils. Regression tested on aarch64-none-elf and found no regressions. Ok for trunk? Regards, Srinath. 2025-09-12 Srinath Parvathaneni gcc/ChangeLog: * config/aarch64/aarch64.cc (aarch64_valid_sysreg_name_p): Add feature check. (aarch64_retrieve_sysreg): Likewise. * config/aarch64/aarch64.opt (menable-sysreg-checking): Define new flag. * doc/invoke.texi (menable-sysreg-checking): Document new flag. gcc/testsuite/ChangeLog: * gcc.target/aarch64/acle/rwsr-gated-1.c: New test. * gcc.target/aarch64/acle/rwsr-gated-2.c: Likewise. --- gcc/config/aarch64/aarch64.cc | 5 +++++ gcc/config/aarch64/aarch64.opt | 5 +++++ gcc/doc/invoke.texi | 6 ++++++ .../gcc.target/aarch64/acle/rwsr-gated-1.c | 13 +++++++++++++ .../gcc.target/aarch64/acle/rwsr-gated-2.c | 14 ++++++++++++++ 5 files changed, 43 insertions(+) create mode 100644 gcc/testsuite/gcc.target/aarch64/acle/rwsr-gated-1.c create mode 100644 gcc/testsuite/gcc.target/aarch64/acle/rwsr-gated-2.c diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index ef9c16598c0..5eb7e4dc17c 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -31702,6 +31702,8 @@ aarch64_valid_sysreg_name_p (const char *regname) const sysreg_t *sysreg = aarch64_lookup_sysreg_map (regname); if (sysreg == NULL) return aarch64_is_implem_def_reg (regname); + if (aarch64_enable_sysreg_guarding && sysreg->arch_reqs) + return bool (aarch64_isa_flags & sysreg->arch_reqs); return true; } @@ -31725,6 +31727,9 @@ aarch64_retrieve_sysreg (const char *regname, bool write_p, bool is128op) if ((write_p && (sysreg->properties & F_REG_READ)) || (!write_p && (sysreg->properties & F_REG_WRITE))) return NULL; + if (aarch64_enable_sysreg_guarding + && ((~aarch64_isa_flags & sysreg->arch_reqs) != 0)) + return NULL; return sysreg->encoding; } diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt index 9ca753e6a88..5df5a159459 100644 --- a/gcc/config/aarch64/aarch64.opt +++ b/gcc/config/aarch64/aarch64.opt @@ -82,6 +82,11 @@ mbig-endian Target RejectNegative Mask(BIG_END) Assume target CPU is configured as big endian. +menable-sysreg-checking +Target RejectNegative Var(aarch64_enable_sysreg_guarding) Init(0) +Generates an error message if an attempt is made to access a system register +which will not execute on the target architecture. + mgeneral-regs-only Target RejectNegative Mask(GENERAL_REGS_ONLY) Save Generate code which uses only the general registers. diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index d0c13d4a24e..f2a4929f793 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -823,6 +823,7 @@ Objective-C and Objective-C++ Dialects}. @emph{AArch64 Options} (@ref{AArch64 Options}) @gccoptlist{-mabi=@var{name} -mbig-endian -mlittle-endian +-menable-sysreg-checking -mgeneral-regs-only -mcmodel=tiny -mcmodel=small -mcmodel=large -mstrict-align -mno-strict-align @@ -22091,6 +22092,11 @@ The @samp{ilp32} model is deprecated. Generate big-endian code. This is the default when GCC is configured for an @samp{aarch64_be-*-*} target. +@opindex menable-sysreg-checking +@item -menable-sysreg-checking +Generates an error message if an attempt is made to access a system register +which will not execute on the target architecture. + @opindex mgeneral-regs-only @item -mgeneral-regs-only Generate code which uses only the general-purpose registers. This will prevent diff --git a/gcc/testsuite/gcc.target/aarch64/acle/rwsr-gated-1.c b/gcc/testsuite/gcc.target/aarch64/acle/rwsr-gated-1.c new file mode 100644 index 00000000000..b9fb39cf0c6 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/acle/rwsr-gated-1.c @@ -0,0 +1,13 @@ +/* Ensure that system register are properly gated on the feature flags, when the + guarding is enabled through "-menable-sysreg-checking" command line flag. */ +/* { dg-do compile } */ +/* { dg-options "-menable-sysreg-checking -march=armv8-a+sve2+sme" } */ + +#include + +uint64_t +foo (uint64_t a) +{ + __arm_wsr64 ("zcr_el1", a); /* { { dg-final { scan-assembler "msr\ts3_0_c1_c2_0, x0" } } */ + return __arm_rsr64 ("smcr_el1"); /* { { dg-final { scan-assembler "mrs\tx0, s3_0_c1_c2_6" } } */ +} diff --git a/gcc/testsuite/gcc.target/aarch64/acle/rwsr-gated-2.c b/gcc/testsuite/gcc.target/aarch64/acle/rwsr-gated-2.c new file mode 100644 index 00000000000..ef143af3ec8 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/acle/rwsr-gated-2.c @@ -0,0 +1,14 @@ +/* { dg-do compile } */ +/* { dg-options "-menable-sysreg-checking -march=armv8-a" } */ +/* Ensure the system register are rejected by compiler when guarding is + enabled through "-menable-sysreg-checking" command line flag and proper + feature flags are not passed. */ + +#include + +uint64_t +foo (uint64_t a) +{ + __arm_wsr64 ("zcr_el1", a); /* { dg-error "invalid system register name 'zcr_el1'" } */ + return __arm_rsr64 ("smcr_el1"); /* { dg-error "invalid system register name 'smcr_el1'" } */ +}