From patchwork Fri Jan 31 13:17:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Carlotti X-Patchwork-Id: 105726 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 C8CE03858D37 for ; Fri, 31 Jan 2025 13:20:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C8CE03858D37 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=DTeZzPOo; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=DTeZzPOo X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazlp170130007.outbound.protection.outlook.com [IPv6:2a01:111:f403:c20a::7]) by sourceware.org (Postfix) with ESMTPS id 7F5BC385840E for ; Fri, 31 Jan 2025 13:18:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7F5BC385840E 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 7F5BC385840E Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c20a::7 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1738329501; cv=pass; b=ohLcH8D58R5hmApw5568eT+AW3p0qVGGaNp/wHkaQf3DD4C33wjYeE5YH2q/4zxMeHrNy9p7MVKqw6svuRS2NSi6Fh6DLxuKYej0C0n7Ci3d4YUzbHnhVzedmHOp2tor/E7v07AtCVy6HgHx0HEVG7JRhvrOa5eAQHpk7fxroeM= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1738329501; c=relaxed/simple; bh=TxgPH9y2BoezSDYsmxIFJxZZS9YlJdMGInUycyWPSqc=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=aV64iamrjQrmhEGrhf3fJupqwK9xT+fqyhF9uOmNXUsWff02v6+lHMTWnT2OLJUlpdHCe6+uG11n50mMR1lwmWfFu3Mi3fWm8tbfeejpnUHVKg2r0EZd5zXeMNf5O4X2sKLeU0rzlWApffI1+hdRpk3gamryleDSGS5H9zMGFOY= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7F5BC385840E ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=Jq3gpFQ1eHJvttdy6etnHYbfHNGl7uz19XpDmPoVU4PVMmb62Jba5RWx2HDMyiZd3VU6KNxb1XNqA5+vqvtq1irq9u6H4Yvp70dJTs7K2zSg9FGcGl3cYany/+rky0Hl4GmvtQE1IQCzlbKED7U4Yv653nQ4YuNGLlaRCDvnbyFYIQBjuYx0KKw6gdLP88L7cGI54CY7mDJfw/n6Uum++gzloweSUgqf3Ieg6PMTobCldL4PuR5XfJNmYH7H6RYdeXB59bLdj6LxOYJYwk6c7suZVkxM98xtlrzFlFLQI7g6UUUHgAObwD4mgg8CSiuPavHvomCyLpfNnMadsDi3pA== 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=+K2vTLTuAtPHWRdLz2O6DfOaht15nea1W5o0SRaJDwQ=; b=wfkvbueAzSzPgI8uKF1arQWTHixmetfdkgE7S3hFz/1EDecx3ehRx6HTHeAnA7fgoVSWUie410H9u/p/EWZ4JOyBAAcO7XtReaxJbeJyRSuYuWY/AUj+YNxTKl/vQodaoGXp6/4iWTX+KmED+D0QWpxXIwXSGUUlrksREgoer4v/yealWZAEIDj72NBe8dVMTeT9f2jI/P9Zbv9cD2xhCJujeV1twOPw7+2cbGVT7xSs2Da+ePSo8B943QV89sflYBcR9MPPk1baU8gbaymjhV3ahOPzhWNDB8b6AUvEFEQweGIMTwLe9tF1H2gu60xSqYxF9/TlFaXI5oa6WNJtkg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.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] dkim=[1,1,header.d=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=+K2vTLTuAtPHWRdLz2O6DfOaht15nea1W5o0SRaJDwQ=; b=DTeZzPOoFsLqswctQ7fIxiOuPf0E861ywpZsp5g++gtIzDywYQEMBBrspT+96lqEk0k1sZw4E2ZgD0j0GfGYuDGBd4DrCCqCp+D6HeicEDSYAKjvPuWe0EBQp8+pHF9IcKlOrFf9DZKRBJzWT5XwPX4G9+q7OSO0UuyvNdONNMg= Received: from DB9PR06CA0012.eurprd06.prod.outlook.com (2603:10a6:10:1db::17) by GV1PR08MB7755.eurprd08.prod.outlook.com (2603:10a6:150:56::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.20; Fri, 31 Jan 2025 13:18:14 +0000 Received: from DU6PEPF0000B61D.eurprd02.prod.outlook.com (2603:10a6:10:1db:cafe::24) by DB9PR06CA0012.outlook.office365.com (2603:10a6:10:1db::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.18 via Frontend Transport; Fri, 31 Jan 2025 13:18:13 +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 DU6PEPF0000B61D.mail.protection.outlook.com (10.167.8.137) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8398.14 via Frontend Transport; Fri, 31 Jan 2025 13:18:13 +0000 Received: ("Tessian outbound f834169b9670:v560"); Fri, 31 Jan 2025 13:18:13 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 82f76515fd5b7f0e X-TessianGatewayMetadata: +9LfE5kj6SNAq+veJkbyuWnD9x8SgNaoCfLfrT6fMEc60Uk/v6Gssy8dc04uIMykWR5aNdRbe9CQcezJnDFZZL7koTIrl+M+iknNHjzzVCVTvfrMjRm8isB/I4qQoDjgWnzLGGGhGJZrW1Ms6blN+592ch0vSVmY6/t1yVSFmDSxcLIBxPyf630MOUDHEnBC X-CR-MTA-TID: 64aa7808 Received: from L0e05ad3e1240.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 8EFA0308-5958-4C98-B780-B13874FD0FF6.1; Fri, 31 Jan 2025 13:18:02 +0000 Received: from EUR02-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id L0e05ad3e1240.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Fri, 31 Jan 2025 13:18:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n1JtDeZ2gGz9Ma/ZftilGsf2lUpLZNacfGLXhH8UIEmiDgmuMTuacsD9bOUEcyBZJiXxpqTDx8p7N/KR2aDB3zLiGnHb3k0kG06Md9S6zZv1pDT6LV7ZYAjJ+UGZS0Wt/D00pqamIjKPdLVAMHGr71xxj8WsdqDAWwgz6hVZj/P4+Dc57d64L5VEyEceEYD/mS55vF3cNiK96KA76jJ+FOzT3vTtwnWQZhX+pcel/uZNd6MCRe+vgU7CKUmnELISzo0oWoeEvypd9twS+RcM6wzMW5/32JeJjJ+qU705nLwFUJTAzldS1/xYta/yBhd6V6kbhW/PCqJpj9RS4nGdQg== 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=+K2vTLTuAtPHWRdLz2O6DfOaht15nea1W5o0SRaJDwQ=; b=OKsGGXKCI7YU8qzVwCSaxIbQraBKZ2/iHuD1Jx18551YhguU8TD+Ht13ynOpX872IMv6CHMI6cwn5kqdMtlFiS9qBhPPeqw+yb7llvHpYQsL2jx3s+FS0eN3TTtOl4/BdfZVpBv0ihxHoY84bqfTV6NC50MWl7A5KlW6ckttHFTsfWA9m1QI540JWYPRWtGnUNcZSs/8tAkFnJ6+smiqhDXBh7gtfHDq8LWWOmmcUdkDqYuh18cEb2K136J0he+tpKtu6gI4eyv7g4fxwAjooU2kbxILd1Vb6Kg0dRIStoYQjACiUi2sMiSQ6Tpu1aQnwJz6Gm1iJ2j717jlb+5I/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none 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=+K2vTLTuAtPHWRdLz2O6DfOaht15nea1W5o0SRaJDwQ=; b=DTeZzPOoFsLqswctQ7fIxiOuPf0E861ywpZsp5g++gtIzDywYQEMBBrspT+96lqEk0k1sZw4E2ZgD0j0GfGYuDGBd4DrCCqCp+D6HeicEDSYAKjvPuWe0EBQp8+pHF9IcKlOrFf9DZKRBJzWT5XwPX4G9+q7OSO0UuyvNdONNMg= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DU0PR08MB8255.eurprd08.prod.outlook.com (2603:10a6:10:411::9) by DB5PR08MB10163.eurprd08.prod.outlook.com (2603:10a6:10:4a2::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.18; Fri, 31 Jan 2025 13:17:59 +0000 Received: from DU0PR08MB8255.eurprd08.prod.outlook.com ([fe80::cbc8:c020:6a1b:d27a]) by DU0PR08MB8255.eurprd08.prod.outlook.com ([fe80::cbc8:c020:6a1b:d27a%3]) with mapi id 15.20.8398.017; Fri, 31 Jan 2025 13:17:59 +0000 Date: Fri, 31 Jan 2025 13:17:57 +0000 From: Andrew Carlotti To: binutils@sourceware.org Cc: Richard Earnshaw , Richard Sandiford , Nick Clifton Subject: [PATCH 3/3] aarch64: Support +sme+nosve permissively Message-ID: References: <8f330e1b-7f31-0feb-7746-86ee519a74e7@e124511.cambridge.arm.com> Content-Disposition: inline In-Reply-To: <8f330e1b-7f31-0feb-7746-86ee519a74e7@e124511.cambridge.arm.com> X-ClientProxiedBy: LO2P265CA0297.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a5::21) To DU0PR08MB8255.eurprd08.prod.outlook.com (2603:10a6:10:411::9) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DU0PR08MB8255:EE_|DB5PR08MB10163:EE_|DU6PEPF0000B61D:EE_|GV1PR08MB7755:EE_ X-MS-Office365-Filtering-Correlation-Id: 3bb1cea9-4a43-4aba-c2c3-08dd41f9b75d X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr 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|366016|1800799024; X-Microsoft-Antispam-Message-Info-Original: z5+84i+dR1YMMUsjyrzDa0p+4tlmlEbjOmP/KmKKCmZiZ0qYypefWwKU4XFjhNQ0JKKl0DTYr+DjmG2TOPFi8mk1AY3yjisKJTjXUJLBgeqW7I8y3L7BacpWCxV4mWir/TxhP4gJANIHUurO7C0e81wROxw8UOY2ZteUKaNzDtQOtz+nyOgZXrSQq5QaYWPvjcxD8m9zpFhuCusqgzhDXo0k5j7pobYgauA5BMi4wm9NunJNczCVfcd8E1YIi0NBNfT+e7SiF2BniKF6va8uyFACCdLjnVyD8ikM84lvm2vRO1r6z9VeWcA9Zo19ookCk897EcMf0yVNqpX8zlu8fA6wetvhmlN91+5H2w3imuycA00j0iwrntKFwQCKMNljKiZwm1hEC2AykUiDAbFxG8cLBihfJxawPzfQbg5CYn7M7077s09AxuCM7ttsGVfRjg0BRIrLarw5mIZA42HuJHQyEoKPzxYbJvusyeIzgZK2uhjKUirl/gXiwARxwBaSI23F8AOnIR8l/Itf+BPklFdlmGeer6srX4flWIMhuj0vjxHt90Amti5CjkvBZaXXDJJuA+C701xOTT5ayWb9SwQ7GV7BftRYA7+td35UsMVBuJ/+IzjxCHiyp4S6IB0tiHnF7vhXZZTdszk7wJRjC9Gq2oyt+kQPxnoVfKVeKc7dt1txHYOjEeznbzD2BwJOR2L5o7Bp+84mXqqXBKHePPoTiRMNYB6Q0kUTk6Iiga/PJvMZb/k40QseHgJKu38rZ5+DJ4QiwQcyAdWL92gNYRQsgVQ/Lqm5tQObv7EW7qTr+OsKSDUXzL0C/sYNjjJxQHDPXAxQgiEeWZBkGSpzCrxf67JZB+1mokf3PuplZtibcg6ngC0i+t3l75ZW/KN0zkfvMaV6zJB+30s53vlHZYdzDiu2YvLJ6mRm0YdzEMB75g2HidsBcIuu8SgvxKxJImK3yUi7j5QVBBGgJssSkWJ/VT7+vRSCE+Uk7Yvp3n5W6+keZCsgvy29cP1GG7prkWDrW/1OxhGSEbISShxrp/Nb9sh43fkaNhaO62dbOc+v+PvdWeIMYnRdd3qIVkVtLDVBIfUzgoJ4Pe+uGrLnPKAf0587eU2Ag1jf4Oya0DqO2ZSa7ryZRqSulZ45nQ+zx6Dj5R9ICeCD1Hr6Bkv5xnglnE3O+f8mVKb91nJgKwA8ssgHfk5/f8YtaG0tU5NIeTnDbsZDEIFGD6zrvkPL/4v948lrcqTERx0puRQdiBzsH0fhdq1RAaLoFEIFNNIg7yiMt5vKQ0LPNPXfGhGP1MLXOddHwJNf9PrLLw3kyuPuFOQ4mHhK0MlFVmaclFFxXFPA+VRqiGBjPRbhWM0vi4W2aLoZfnIoqVkSmcD6DvDoCspowbH3pD5wtfrpnyMo X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0PR08MB8255.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10163 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:10:411::9]; domain=DU0PR08MB8255.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU6PEPF0000B61D.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: a68a9839-da2f-41fd-0a8a-08dd41f9af1c X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|35042699022|82310400026|14060799003|376014|1800799024; X-Microsoft-Antispam-Message-Info: Mox50Zy8zV9RxmxujjFevd+hjIxmcoaUNKElaHiAKIXEVsa3mpLe0bQywmqKm6jdC3G+0W2/lLvmKjjPQ8ZHtQ5lo6bVxigwmuY9gLrQkMVS3hiYpW8ny3ERi8i4Zvh1S19GZYE++CKKUzAcnEHOmaYUzXXaSmOAai+sYP+IG7261gSLwl1NHl5RtsCIl9Re1i9exzRyIR9e4u2CM4vnAnp1rJDjP7lCo6MYdTTiNtN4UzVvHE+15o85pODGC9C4LARoYWEz+c+HOegKH5LWL9ISSGVPlHIWJousvHOO4dlvQ5t+BIWqSFxoyE5O6osrK2GMD/jbWF72yrbUHquLxkWYeb0YggA8fLHOqOgu6jFcGJrHXWhVw7MSsE9PFJdkcF7SDVT9K+giLSr0irbljiIB6XUQ2xM5Y9YAKlRFaN5eeSb5fkjdyL8SQUgpMdvS2oyw/bEg8J5y+Wn4JvHgM2C/gTeBSJXH6/1tb9BGmfef1TLG9RVbm0wd+K0sCdPRAOIY+dJoyq5CCoM4CFZ6WR1Czya96NHJhSSRo1rK6fCBOpkI/XMIMXEE2uTInzLjAXmwdvhJw3Vn4zMVpI4m3bqMWmAJNeHGUGORy64SHDsThaaRhZ7SMoRUF2ncfQPV0v5pyB+Nxd+QJ6Fe5cuJCv5rC9HNY7hVzWoO4xAeWK0E30If3MLKwYl+C5CDqKlCyjDiGSMIMUgfEVxvJkc5qxm9l6Uzv7OFluwaGYAdECOw0je/8nccnA/Ed5+ANHetagku4B6DSRgNQhtEtIn0PUetfsHcPB/16VOfxmDsIYP3j/RRZpCwgiMmgJeN5gFAm0+niu58k5rI5DDM0hJRzoYEWi6grhSohqTpZ3acIdFXhvetho8CntdNUy6ppkwL/ug75HVpG1IM0ZstjIXJOECI6emq7u4Gb5jwenr8Ais7URYt6M+ZMrtCQfJV2Q7xaN19TK2UiHVVZCJxzaI/UDqtXEHslE6vGQ8PjrKuPvq/mR/VE7Lm3UlxzYDoF0cZxQIWiPUfN9TAV15Y5X+77y+2trja0sDg1FXBR4wC8RHx4lUG2Y+cKP8QL2aoHrZq4uH84RvLDPj2bKNftQWRBA6JbH4m2B6BdzXxqXzye5vp1i6Hzgexehva3MI0ZD1J26MsJjJevs1kbhAjhX0vdgVMAU0NgjnE6KarTT/PmZXUI7ouBiDugugAky/x+uuJkGgOL88VeHp3SO5ewmvprUQAdQN2d7ixzWEuf4D1i9rPwrnjtW0ESLAABkchMUWRi6uMxRPgR356hXEA5zcGQDxvo3CyqdchNsT3z3bUl2Gq7dNFlcncq9OiGkzlAFbUail+ReailKTzP9TLCKLHuQfCxJSz1kmKZKR8N8FJbZCCftnYEePop+FAMZiIgTt6WLN6PXjwLTYeZJUulu7o5sViTdqAX+SSB/mM7E8M4Ba88WLOWVYuJt4at4bTonDrOp1BnaK0lGl9zs3C0JxVUlxQ3Hm+E1b8MKCBrpHrysA= 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)(36860700013)(35042699022)(82310400026)(14060799003)(376014)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 13:18:13.5359 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3bb1cea9-4a43-4aba-c2c3-08dd41f9b75d 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: DU6PEPF0000B61D.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7755 X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, 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: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org There is inconsistency regarding whether or not +sme implies +sve2 and whether +nosve2 implies +nosme. In particular, GCC 14 assumes the dependency exists, and canonicalises target strings accordingly, whereas LLVM treats the features as independent. This patch removes the positive implication while retaining the negative implication. This is the more permissive choice in each case, and allows us to support target strings written with either interpretation in mind. This reduces our ability to detect invalid instructions, but we already can't rely on this detection because gas doesn't know whether functions might be executed in streaming mode and/or non-streaming mode. The aarch64_feature_enable_set change is functionally redundant within this patch. It is included because the longer term intention is to instead remove the workaround in aarch64_parse_features, once the internal feature checks have been modified to support having both AARCH64_FEATURE_SME set and AARCH64_FEATURE_SVE unset. Similarly, the dependency from +sme to +fp16 is currently redundant, but this redundancy relies upon an incorrect dependency from +fcma to +fp16. This can be fixed in the future, but it might require modifying internal feature checks for a few FCMA instructions, so it's left unchanged for now. diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index b40886dc08c958b9b2094e8d791e9b373c257ccd..122ff49ca1aea61241a4a71b1e7891cb72a7e85e 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -10715,7 +10715,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = { {"sve2-bitperm", AARCH64_FEATURE (SVE2_BITPERM), AARCH64_FEATURE (SVE2)}, {"sme", AARCH64_FEATURE (SME), - AARCH64_FEATURES (2, SVE2, BFLOAT16)}, + AARCH64_FEATURES (3, BFLOAT16, F16, COMPNUM)}, {"sme-f64", AARCH64_FEATURE (SME_F64F64), AARCH64_FEATURE (SME)}, {"sme-f64f64", AARCH64_FEATURE (SME_F64F64), AARCH64_FEATURE (SME)}, {"sme-i64", AARCH64_FEATURE (SME_I16I64), AARCH64_FEATURE (SME)}, @@ -10837,6 +10837,13 @@ aarch64_feature_enable_set (aarch64_feature_set set) for (opt = aarch64_features; opt->name != NULL; opt++) if (AARCH64_CPU_HAS_ALL_FEATURES (set, opt->value)) AARCH64_MERGE_FEATURE_SETS (set, set, opt->require); + /* As a special case, we want +sme to imply +sve2, without letting + +nosve2 imply +nosme. This is to ensure maximum compatibility with + both toolchains that assume this dependency and those that don't. */ + aarch64_feature_set sme = AARCH64_FEATURE (SME); + aarch64_feature_set sve2 = AARCH64_FEATURE (SVE2); + if (AARCH64_CPU_HAS_ALL_FEATURES (set, sme)) + AARCH64_MERGE_FEATURE_SETS (set, set, sve2); } return set; } @@ -10941,6 +10948,20 @@ aarch64_parse_features (const char *str, const aarch64_feature_set **opt_p, str = ext; }; + /* The special handling in aarch64_feature_enable_set ought to be sufficient + to accommodate uncertainty over whether or not +sme in a target string + implies +sve2. Unfortunately, many streaming SVE instructions are + currently marked as requiring SVE or SVE2, and some parsing and error + reporting decisions also depend on SVE or SVE2 being specified. So for + now we will reenable the SVE and SVE2 bits if SME is enabled. This allows + us to support, for example, a compiler passing the command line + `-march=armv9-a+sme+nosve` and expecting all SME instructions to remain + enabled. */ + aarch64_feature_set sme = AARCH64_FEATURE (SME); + aarch64_feature_set sve_sve2 = AARCH64_FEATURES (2, SVE, SVE2); + if (AARCH64_CPU_HAS_ALL_FEATURES (*ext_set, sme)) + AARCH64_MERGE_FEATURE_SETS (*ext_set, *ext_set, sve_sve2); + *ext_set = aarch64_update_virtual_dependencies (*ext_set); return 1; } diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi index 1dbefde26de416bd750f966c86207e50d498711f..10888d1e78fe10feaa2316db0d0b0f2899796947 100644 --- a/gas/doc/c-aarch64.texi +++ b/gas/doc/c-aarch64.texi @@ -267,8 +267,8 @@ automatically cause those extensions to be disabled. @tab Enable Advanced SIMD extensions. @item @code{sm4} @tab @code{simd} @tab Enable the SM3 and SM4 cryptographic extensions. -@item @code{sme} @tab @code{sve2}, @code{bf16} - @tab Enable the Scalable Matrix Extension. +@item @code{sme} @tab @code{bf16}, @code{fp16}, @code{fcma} + @tab Enable the Scalable Matrix Extension. This will also enable @code{sve2}, but disabling @code{sve2} does not disable @code{sme}. @item @code{sme-b16b16} @tab @code{sme2}, @code{sve-b16b16} @tab Enable SME ZA-targeting non-widening BFloat16 instructions. @item @code{sme-f8f16} @tab @code{sme2}, @code{fp8} diff --git a/gas/testsuite/gas/aarch64/sme-nosve-1.d b/gas/testsuite/gas/aarch64/sme-nosve-1.d new file mode 100644 index 0000000000000000000000000000000000000000..39abbe6906700991b13ab6ccb55fc3df8336590e --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme-nosve-1.d @@ -0,0 +1,15 @@ +#as: -march=armv8-a+sme +#as: -march=armv8-a+sme+nosve +#as: -march=armv8-a+sme+nosve2 +#as: -march=armv9-a+sme+nosve +#objdump: -dr + +.*: file format .* + + +Disassembly of section \.text: + +0+ <\.text>: + *[0-9a-f]+: 04d6a441 abs z1\.d, p1/m, z2\.d + *[0-9a-f]+: 4503d041 adclb z1\.s, z2\.s, z3\.s + *[0-9a-f]+: c0904460 addha za0\.s, p1/m, p2/m, z3\.s diff --git a/gas/testsuite/gas/aarch64/sme-nosve-1.s b/gas/testsuite/gas/aarch64/sme-nosve-1.s new file mode 100644 index 0000000000000000000000000000000000000000..e41d791f2e43ec4e8f5a51da4667a0b4e76f67ab --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme-nosve-1.s @@ -0,0 +1,3 @@ +abs z1.d, p1/m, z2.d +adclb z1.s, z2.s, z3.s +addha za0.s, p1/m, p2/m, z3.s