From patchwork Wed Oct 18 15:02:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Victor Do Nascimento X-Patchwork-Id: 154922 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp4856838vqb; Wed, 18 Oct 2023 08:06:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE9dbJheXI7EWQgEg91cz/2NIz7Bk8hEBHmx4EJy6KTdLFuWLWQFTYAt+2OyJ/gDe8Zr5xH X-Received: by 2002:a05:622a:591:b0:410:20b8:967e with SMTP id c17-20020a05622a059100b0041020b8967emr6894977qtb.12.1697641587348; Wed, 18 Oct 2023 08:06:27 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1697641587; cv=pass; d=google.com; s=arc-20160816; b=BuYWM+xG2u4fhwAv66XiSktuJmeJRQy0ZL3KysJoMYe49z6DJqKTTHjdhfYKoaVmiE cC9vD58w9WJ6AFNfJQ+IT9DFys01rc7KaWrtCMGAsBamx2NGDwOnYuOi+bqZ9KeDijqK Qw43eqh0MygABN4trbJ1rQBp+5byyMn4zZ/T7CswmRt0PH3Ep6Wp4hfLs8sIxTKczaOS DedFCYdtwnIjQORXRGE8FokB6BYoZx41RQFmGF8TOxEHyNZG+cGKB5Izv45Q5mXesqf+ DXeKzg+VasL2EazXkDeNIiGxR1E1BaSGXr3w+jOwJTF7PCn4qNuiJ0zq9Yf0C9+gy8Px 0kRg== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:nodisclaimer :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=/OXd54640tpaoxM08ksANG7m1jYwET0zYcVpO4t0uUI=; fh=puYCM8FRHzins9HjEsl9lyIrPa8b21rR+m5ND3mNx7M=; b=NrCWKSRcSImY8EQGE3D0d5IS2pv14PYZp4JXrFUNqLYL3jh+KQCu9tArmvQtb1VCHt O+6W2+Xn5+KT3J4J7QFJe4OqUtJtOcq6/GGXeCGXO2XS3qQCxILup5icTnalQ2PHBWKG MwvjbaxScYQR+o6SaSfWd9T11/+O6Ik69XtD3FMRKWWoCMlx2D4IKtEf9VNZPVnQgoQM 1w+jwLluQmwnJlHR+/CCa6F2lAWJ/imi+7oF2ANC+y7sX69HtNR9acZsZdRdvY5sUUIw Tbuq7e0gjuNSiRDhryNAz8HbgIdCFsfRWQKkIq3bGq8s1S2Ww9FZiAWNKPuj+DPbFM5e f4Ng== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=0DmlfeVn; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=0DmlfeVn; arc=pass (i=2); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id m6-20020a05622a054600b0041cb4580d37si43750qtx.359.2023.10.18.08.06.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Oct 2023 08:06:27 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=0DmlfeVn; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=0DmlfeVn; arc=pass (i=2); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D0A4E3853515 for ; Wed, 18 Oct 2023 15:05:57 +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-db8eur05on2047.outbound.protection.outlook.com [40.107.20.47]) by sourceware.org (Postfix) with ESMTPS id 8860A3858C5E for ; Wed, 18 Oct 2023 15:04:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8860A3858C5E 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 8860A3858C5E Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.20.47 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1697641490; cv=pass; b=UW9Ak2JkDIi6MBGmkes9g3p2fpsQLSxKNY4VXhjMnEYtiObYGHBKZDGsPSz1LG29rhnYhBemFUXxAu2MovtVp+q/s2pQdfCBxL8rmmqdYLKjJH8t8unk7vGtkvT/d9U8hrAAhfGdReYx1qjXHzjhWyVDpDBetH1A+6C505pBzaw= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1697641490; c=relaxed/simple; bh=hu5mgFi9XQUiSKwPI1mfSnW6o8Q1dCSgXLY+mkWuPD4=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=Igj8P4RG9Fx7Mpe6Nuuw7N3pJA+hCKmgV4ajuIlQ3ysmSSzExr4BdmxgQ6unFkKo2Jabfr0LkeHrUg/0cPaV0YUXrGnI2Yl/uv6KfyMfWrI6dTAQ0OBIsi8D/IVMmsfggHgjxzdQJ2JywJA6Gx4XvBVv5xOMrXB7Z2cJwqlqfXk= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/OXd54640tpaoxM08ksANG7m1jYwET0zYcVpO4t0uUI=; b=0DmlfeVns/qT5X2OCqcpNRHGhZaV80TBulWZwNl0bS42+k14iMBTWCAxHztiMhU7dyMUhbezvAoaJrVn7ZVnvT6+dMCEmRC/kJQwg0L71L6G12HyHsipCkMqb5a/Z4TYAt6HZcN2gXzo5DR4M33JO/AtX54iiZ9GBVyLa+fpPS4= Received: from AS4P190CA0027.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5d0::16) by GV2PR08MB10353.eurprd08.prod.outlook.com (2603:10a6:150:db::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.35; Wed, 18 Oct 2023 15:04:29 +0000 Received: from AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:5d0:cafe::55) by AS4P190CA0027.outlook.office365.com (2603:10a6:20b:5d0::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.36 via Frontend Transport; Wed, 18 Oct 2023 15:04:28 +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=armh.onmicrosoft.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 AM7EUR03FT017.mail.protection.outlook.com (100.127.140.184) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.24 via Frontend Transport; Wed, 18 Oct 2023 15:04:28 +0000 Received: ("Tessian outbound 36e2b13fe8d0:v215"); Wed, 18 Oct 2023 15:04:28 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 531eedb8728b1d63 X-CR-MTA-TID: 64aa7808 Received: from a1365e48d6cc.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 61289ED3-A1DB-43EC-9BC5-02B799F7209C.1; Wed, 18 Oct 2023 15:04:22 +0000 Received: from EUR02-AM0-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a1365e48d6cc.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 18 Oct 2023 15:04:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n9mmtgNoWOWd3gDFv6Ir/SAzP1d9hzbzoiBajizFcKLNrPEvcboRGScBONPM/Uh9nkFQ4I2OyweEgwIMPw+xDLvAEO/w472PpHP5lC1kS4patcJRsHiAu/8DIGwdvFmZD/RjptxNw06DsJlGURip3YbY8DPlz4Q5J1KeD/bwq10JrYvFcyd81fOvXgH9s7HnGyozOXN9OTGPhgpLXkComUY2gs82HjEoxOISdq/UUHbk1qrm6L3p0ZPKAMvoXPqbuwE3ieLaYHuIlB3Sc3udLSHHRRktqP+Yuwf6Gc+iXZeiy2m11uZZf1yVBtOGUUaTp5hTTs34sd/ZZNHBajk1Hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=/OXd54640tpaoxM08ksANG7m1jYwET0zYcVpO4t0uUI=; b=haPmVQIfDiisJ+QMUhDmhhC79QITCzy0qGic7FetTzdjZdKnQ0pI/2MP4/GNb9JIWvC/jF9WGcqqOlRvQGTF/y855eUb2WdlvuMXaAEQxQSUsyUZ/7qb3UkpKjdQ7cS4Fc0hJ5Tdb4xqlZ9IWJFhtLL42mOZQWIEKhgBVbd78kfNEmh+sAvSYXrWYIgp++RMvYrFEsfBceEZ6LeZ4cnzoALh0KgqTx8Q12Qm8JdHmWRrwMXsQg5aYt9Uzi0+62G7AUUHUrlWAtyFvodComv3jxZtBfl53MREjIe0s9y2D089CYnELU5QGjSu+IA+zqMkgUgM+r+LHkM0fdHRQssd6Q== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/OXd54640tpaoxM08ksANG7m1jYwET0zYcVpO4t0uUI=; b=0DmlfeVns/qT5X2OCqcpNRHGhZaV80TBulWZwNl0bS42+k14iMBTWCAxHztiMhU7dyMUhbezvAoaJrVn7ZVnvT6+dMCEmRC/kJQwg0L71L6G12HyHsipCkMqb5a/Z4TYAt6HZcN2gXzo5DR4M33JO/AtX54iiZ9GBVyLa+fpPS4= Received: from DUZP191CA0047.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:4f8::14) by VI1PR08MB5439.eurprd08.prod.outlook.com (2603:10a6:803:13b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.23; Wed, 18 Oct 2023 15:04:20 +0000 Received: from DU6PEPF0000B61E.eurprd02.prod.outlook.com (2603:10a6:10:4f8:cafe::c7) by DUZP191CA0047.outlook.office365.com (2603:10a6:10:4f8::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.21 via Frontend Transport; Wed, 18 Oct 2023 15:04:19 +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 DU6PEPF0000B61E.mail.protection.outlook.com (10.167.8.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6907.20 via Frontend Transport; Wed, 18 Oct 2023 15:04:19 +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.32; Wed, 18 Oct 2023 15:04:16 +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.32; Wed, 18 Oct 2023 15:04:16 +0000 Received: from e125768.cambridge.arm.com (10.2.78.50) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.32 via Frontend Transport; Wed, 18 Oct 2023 15:04:15 +0000 From: Victor Do Nascimento To: CC: , , , Victor Do Nascimento Subject: [PATCH V2 2/7] aarch64: Add support for aarch64-sys-regs.def Date: Wed, 18 Oct 2023 16:02:43 +0100 Message-ID: <20231018150310.253793-3-victor.donascimento@arm.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231018150310.253793-1-victor.donascimento@arm.com> References: <20231018150310.253793-1-victor.donascimento@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU6PEPF0000B61E:EE_|VI1PR08MB5439:EE_|AM7EUR03FT017:EE_|GV2PR08MB10353:EE_ X-MS-Office365-Filtering-Correlation-Id: 1b2938a0-b21b-4a58-1a0f-08dbcfeb86cd x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: r+RqqLD+LPsJ11pqvpo10Tx5NHSjt2Kf62J7KfyDM814ZvKgxfvzVV/qq2qeeFab7a7ueHNEXD36K5D5Z3nK3AvPtrAH2PyNA4tBhG217zRRXxSvuZpIopVt6ABkxzl6TDwiIus1A1rdjWtPtWxT8ksMHG3wGCGk8NCROiLotvlSAJR7fOLmWQen5gJUmme+eneofymXGLTi/P6qL73wnLhMqVkUFO3LTbiF6L6WlZakPoEQOl17RHq+AeRpMITgdVEe+pO7OE4pvIzckpItAHV6jyo+eDqa7i1qaQGASOct4CwLx3lyivK6Vi3ElR4vBjRMQAq09y/GnW2l2I8Yw0Tzp/jJ7Hl5t/X7nu/+3EVKpQHOkYAup2ypux3e5vi32lNhRXKyuE4tXGxJWAGHpiPbyTCgJ3kmy92aV+1gEy52PbemDu5KS6ATVYes5QWVgUE6RG//CUlRprvoKR6pahV5xWrjCt53wWkZ5aq7rvsuaIJuQhIUtJtXiPZ9ggOINiOSawDnD/DeC84FcNDqYHbE4uV3NsL2OQGg9jSsO//GGEUpgNnw3FC6qxgovSEDGOKTsvNviYjjEJt5A/FnqKUucezSXZJ2wJ353IrRveoYg7TSE3UqhsQPlu6DzApbp3DJmnuDb46uKKjqd00dSs17n93Qg5YKocvwkAtgIX+rCL0BM2TPXo75d3QWD2+7kn+PkrqaxWMyGgJGUQTm5RVvF8DXheatcNR3a6Xg22Jxxbitvb5n32+T61UHqCHD 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:(13230031)(4636009)(346002)(396003)(136003)(376002)(39850400004)(230922051799003)(82310400011)(1800799009)(451199024)(64100799003)(186009)(36840700001)(46966006)(36860700001)(4326008)(478600001)(5660300002)(70206006)(70586007)(83380400001)(8676002)(86362001)(41300700001)(6666004)(8936002)(2906002)(6916009)(54906003)(316002)(7696005)(336012)(40480700001)(47076005)(2616005)(81166007)(1076003)(26005)(36756003)(426003)(82740400003)(356005)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5439 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 746b3873-700f-45a4-103a-08dbcfeb817b X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: V5Qgl2na/TQU2uXMnKevQDv4ctA0pSrk0ZavThxIgsE4q5tFHk3tj9M9hEOjbxtqp0I2Eq3y4K0m9a5egVN1n2UMItYjgbnhku7CwDCQLz2kJwBe8/PuI2Fkf4xQBOTJAFBKQB7XGDtiQU2iziz58mUgfXGqwisQxFplP2IKqztUDxbM5nTjB01oFjek6B8dyCmvr95eVkby/FfhCN32LDqMWAH49aq4VwLpo19YsiENGj2vFutqCapCXi+AHCBhsrpcDU0t57+I/Ua7T3V8TKKnVv/2nyi5E5g9N0FZ3Jmsv3QLQfzUjMUEfO5EEYRqEARNo3fLFGyjNEVgjNDhCZ5GuxGQX+/O1XSnqImGmRMOxuo3Q/yHekrO6n7s7kTqI14Y82v8r4dcIp7NylKpN0S6/JtXjlOtsSvtRWUTNsqzrih7ZFzFOzU4PwhkSRRDGS8pth3W6079So3EaycMg/rPnCvMguq/0leq3SAjZpBTqWXq+SPPZE5m7ClLBWm+84Z3ZUGxxhWbEO8dR8bGoAi0cO6OSX6LLUcSvoV/lPFl/huUBOAMUEa1xrv1hCyU7Hr2QzI+LaGqhn90kmXQ7roHnyJ/77C5KTh1SsdAT4RbTYidcD659I16s2H/6Sds3rnsvaj6knJC+8A51hMRhRkKAV3DSE6j30jaSKrLTAjZkRwKdHMCHHDVNYeGX/b4qjJkvIzoeZTH7n+qxMLqkJRD5DrFbHqm6g9zihXho8b16OYHVIyEB4n2wvEZqMxx 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:(13230031)(4636009)(136003)(376002)(396003)(346002)(39860400002)(230922051799003)(451199024)(64100799003)(82310400011)(186009)(1800799009)(36840700001)(46966006)(40470700004)(40460700003)(40480700001)(6666004)(70586007)(478600001)(70206006)(6916009)(41300700001)(54906003)(47076005)(36860700001)(83380400001)(86362001)(82740400003)(81166007)(2616005)(316002)(7696005)(336012)(426003)(1076003)(26005)(4326008)(8676002)(8936002)(36756003)(5660300002)(2906002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2023 15:04:28.8128 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1b2938a0-b21b-4a58-1a0f-08dbcfeb86cd 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: AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB10353 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, 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+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1780106225453286576 X-GMAIL-MSGID: 1780106225453286576 This patch defines the structure of a new .def file used for representing the aarch64 system registers, what information it should hold and the basic framework in GCC to process this file. Entries in the aarch64-system-regs.def file should be as follows: SYSREG (NAME, CPENC (sn,op1,cn,cm,op2), FLAG1 | ... | FLAGn, ARCH) Where the arguments to SYSREG correspond to: - NAME: The system register name, as used in the assembly language. - CPENC: The system register encoding, mapping to: s__c_c_ - FLAG: The entries in the FLAGS field are bitwise-OR'd together to encode extra information required to ensure proper use of the system register. For example, a read-only system register will have the flag F_REG_READ, while write-only registers will be labeled F_REG_WRITE. Such flags are tested against at compile-time. - ARCH: The architectural features the system register is associated with. This is encoded via one of three possible macros: 1. When a system register is universally implemented, we say it has no feature requirements, so we tag it with the AARCH64_NO_FEATURES macro. 2. When a register is only implemented for a single architectural extension EXT, the AARCH64_FEATURE (EXT), is used. 3. When a given system register is made available by any of N possible architectural extensions, the AARCH64_FEATURES(N, ...) macro is used to combine them accordingly. In order to enable proper interpretation of the SYSREG entries by the compiler, flags defining system register behavior such as `F_REG_READ' and `F_REG_WRITE' are also defined here, so they can later be used for the validation of system register properties. Finally, any architectural feature flags from Binutils missing from GCC have appropriate aliases defined here so as to ensure cross-compatibility of SYSREG entries across the toolchain. gcc/ChangeLog: * gcc/config/aarch64/aarch64.cc (sysreg_t): New. (sysreg_structs): Likewise. (nsysreg): Likewise. (AARCH64_FEATURE): Likewise. (AARCH64_FEATURES): Likewise. (AARCH64_NO_FEATURES): Likewise. * gcc/config/aarch64/aarch64.h (AARCH64_ISA_V8A): Add missing ISA flag. (AARCH64_ISA_V8_1A): Likewise. (AARCH64_ISA_V8_7A): Likewise. (AARCH64_ISA_V8_8A): Likewise. (AARCH64_NO_FEATURES): Likewise. (AARCH64_FL_RAS): New ISA flag alias. (AARCH64_FL_LOR): Likewise. (AARCH64_FL_PAN): Likewise. (AARCH64_FL_AMU): Likewise. (AARCH64_FL_SCXTNUM): Likewise. (AARCH64_FL_ID_PFR2): Likewise. (F_DEPRECATED): New. (F_REG_READ): Likewise. (F_REG_WRITE): Likewise. (F_ARCHEXT): Likewise. (F_REG_ALIAS): Likewise. --- gcc/config/aarch64/aarch64.cc | 38 +++++++++++++++++++++++++++++++++++ gcc/config/aarch64/aarch64.h | 36 +++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index 9fbfc548a89..69de2366424 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -2807,6 +2807,44 @@ static const struct processor all_cores[] = {NULL, aarch64_none, aarch64_none, aarch64_no_arch, 0, NULL} }; +typedef struct { + const char* name; + const char* encoding; + const unsigned properties; + const unsigned long long arch_reqs; +} sysreg_t; + +/* An aarch64_feature_set initializer for a single feature, + AARCH64_FEATURE_. */ +#define AARCH64_FEATURE(FEAT) AARCH64_FL_##FEAT + +/* Used by AARCH64_FEATURES. */ +#define AARCH64_OR_FEATURES_1(X, F1) \ + AARCH64_FEATURE (F1) +#define AARCH64_OR_FEATURES_2(X, F1, F2) \ + (AARCH64_FEATURE (F1) | AARCH64_OR_FEATURES_1 (X, F2)) +#define AARCH64_OR_FEATURES_3(X, F1, ...) \ + (AARCH64_FEATURE (F1) | AARCH64_OR_FEATURES_2 (X, __VA_ARGS__)) + +/* An aarch64_feature_set initializer for the N features listed in "...". */ +#define AARCH64_FEATURES(N, ...) \ + AARCH64_OR_FEATURES_##N (0, __VA_ARGS__) + +/* Database of system registers, their encodings and architectural + requirements. */ +const sysreg_t sysreg_structs[] = +{ +#define CPENC(SN, OP1, CN, CM, OP2) "s"#SN"_"#OP1"_c"#CN"_c"#CM"_"#OP2 +#define SYSREG(NAME, ENC, FLAGS, ARCH) \ + { NAME, ENC, FLAGS, ARCH }, +#include "aarch64-sys-regs.def" +#undef CPENC +}; + +#define TOTAL_ITEMS (sizeof sysreg_structs / sizeof sysreg_structs[0]) +const unsigned nsysreg = TOTAL_ITEMS; +#undef TOTAL_ITEMS + /* The current tuning set. */ struct tune_params aarch64_tune_params = generic_tunings; diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h index d74e9116fc5..cf3969a11aa 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h @@ -179,6 +179,8 @@ enum class aarch64_feature : unsigned char { /* Macros to test ISA flags. */ +#define AARCH64_ISA_V8A (aarch64_isa_flags & AARCH64_FL_V8A) +#define AARCH64_ISA_V8_1A (aarch64_isa_flags & AARCH64_FL_V8_1A) #define AARCH64_ISA_CRC (aarch64_isa_flags & AARCH64_FL_CRC) #define AARCH64_ISA_CRYPTO (aarch64_isa_flags & AARCH64_FL_CRYPTO) #define AARCH64_ISA_FP (aarch64_isa_flags & AARCH64_FL_FP) @@ -215,6 +217,8 @@ enum class aarch64_feature : unsigned char { #define AARCH64_ISA_SB (aarch64_isa_flags & AARCH64_FL_SB) #define AARCH64_ISA_V8R (aarch64_isa_flags & AARCH64_FL_V8R) #define AARCH64_ISA_PAUTH (aarch64_isa_flags & AARCH64_FL_PAUTH) +#define AARCH64_ISA_V8_7A (aarch64_isa_flags & AARCH64_FL_V8_7A) +#define AARCH64_ISA_V8_8A (aarch64_isa_flags & AARCH64_FL_V8_8A) #define AARCH64_ISA_V9A (aarch64_isa_flags & AARCH64_FL_V9A) #define AARCH64_ISA_V9_1A (aarch64_isa_flags & AARCH64_FL_V9_1A) #define AARCH64_ISA_V9_2A (aarch64_isa_flags & AARCH64_FL_V9_2A) @@ -223,6 +227,38 @@ enum class aarch64_feature : unsigned char { #define AARCH64_ISA_LS64 (aarch64_isa_flags & AARCH64_FL_LS64) #define AARCH64_ISA_CSSC (aarch64_isa_flags & AARCH64_FL_CSSC) +/* AARCH64_FL options necessary for system register implementation. */ + +/* Mask for core system registers. System registers requiring no architectural + extensions set up a feature-checking mask which returns any passed flags + unchanged when ANDd with. */ +#define AARCH64_NO_FEATURES (uint64_t)-1 + +/* Define AARCH64_FL aliases for architectural features which are protected + by -march flags in binutils but which receive no special treatment by GCC. + + Such flags are inherited from the Binutils definition of system registers + and are mapped to the architecture in which the feature is implemented. */ +#define AARCH64_FL_RAS AARCH64_FL_V8A +#define AARCH64_FL_LOR AARCH64_FL_V8_1A +#define AARCH64_FL_PAN AARCH64_FL_V8_1A +#define AARCH64_FL_AMU AARCH64_FL_V8_4A +#define AARCH64_FL_SCXTNUM AARCH64_FL_V8_5A +#define AARCH64_FL_ID_PFR2 AARCH64_FL_V8_5A + +/* Define AARCH64_FL aliases for features note yet implemented in GCC. + Accept them unconditionally. */ +#define AARCH64_FL_SME -1 + +/* Flags associated with the properties of system registers. It mainly serves + to mark particular registers as read or write only. */ +#define F_DEPRECATED (1 << 1) +#define F_REG_READ (1 << 2) +#define F_REG_WRITE (1 << 3) +#define F_ARCHEXT (1 << 4) +/* Flag indicating register name is alias for another system register. */ +#define F_REG_ALIAS (1 << 5) + /* Crypto is an optional extension to AdvSIMD. */ #define TARGET_CRYPTO (AARCH64_ISA_CRYPTO)