| Message ID | 20260318134957.129565-1-muhammad.kamran@arm.com |
|---|---|
| State | Committed |
| Headers |
Return-Path: <binutils-bounces~patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 894574BC89AD for <patchwork@sourceware.org>; Wed, 18 Mar 2026 13:52:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 894574BC89AD 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=ILdOiqve; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=ILdOiqve X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010013.outbound.protection.outlook.com [52.101.69.13]) by sourceware.org (Postfix) with ESMTPS id 06D7C4BAD165 for <binutils@sourceware.org>; Wed, 18 Mar 2026 13:51:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 06D7C4BAD165 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 06D7C4BAD165 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=52.101.69.13 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1773841896; cv=pass; b=VF1aUpUDuh3V9+496CywAq5e5lA4FLjzvEAAeR4yrKs3CZM9PSh5ML5ci/CqEHw1hehS7cbp29JdYPSrOAPKkrbDmEzHXFHCpNWjCwJ2qb9rBER5939QDZdL5JoDvGd66Vhta0oCthElV+BnV9SDVtnUtiRJpIgNbcMEG2yXUN8= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1773841896; c=relaxed/simple; bh=rTz78UVCprRPR6TRda/xXucYNBgZbD8fMBUODZ3SyZI=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=aI2gPG9MBaJ9kKGld56Kug9n6xikH6spfTspiqe5X/49MIyCtc37T3sU44TMrdyrWCTPav0Dzg5EcxvcWNV1rlb365FgBLtTQqQ3Ggu05OC82kLROy8djqIhVyfgL0Oy3GAP1FOPhZMaMLE96UsLF/bKTq+699eNm2RWQJ8a6wQ= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 06D7C4BAD165 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=PPTYzudGeuoqQdRzYqKWR32ohzii5kyEPl4MBduf25WgUSZdRu9Ue1CuMtavJAXpVVtZfxkmcwtDCkNgwzuxIuFvs2vtQ2CeDb/7JPw2V2VHyf1FKETkngTSU7KRUhNC4GS5CB4hk9TGhJWrpqN7oF71gZAw4eT2Ex+gLmnevGaM1D8civAL9re6MQG9o5YDIwY4z+CJFqKmZMUXPU436NQmwwq+i3xehq04NqaHgeidZh5yzoHj4kVUmy3wSzKFRmZttA5lUw5qZTX6Veh925AxC/sz4OqVfUwHxuMHV3RGrQAktE7beXim7tbKh4SVQStM7KLmlR7TMRiuq9Q6Jg== 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=ilcEVPwcsGvxvKvq1fzMHxLm8LmV/PdJfTrfwBNND+A=; b=THLI6cpFmAupdhW1VvFeefN0EOKWac6qUJxLE/+lOTnRRToLg0X5WAnZAP8iaSACczylXNo+x4oClKQ1NRJVnP0fEEI7XjqedMOnu+KYe5+FC3qK8FNGnKfr57O+DLhdORM9ub4LvUxDTciCC9YxngVhwwOn4BGsC64ODSNHE26WLcfgLQRRSgpkokgmv5kXwdu2tOMOnMWwHNuTAEtR+n6rAcDFFtRLs0e+XxJbvW1y2rNeGJu/mATZGPyuynwJRVfqUrTQ+TOBCKRbjuBKeRUASC9EPYA0RZiKfw2qMv+X7272xSughKHB/1M/TTFOTnSwfThxlcx2GaWfPAM7vQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) 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] 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=ilcEVPwcsGvxvKvq1fzMHxLm8LmV/PdJfTrfwBNND+A=; b=ILdOiqvesIkr4lNDgTdNa+/wc8zALxQhZkwdCMQkYsgDX8cwmUycM/Nnu/uY8UM618yCBGDkSvbZZ29olHVpPUJK8PPamISc9/GkNZMSzWOinyYDlZKrummPFeqpDogzlUNmlVnxy0qRWQKMblsWNGzBKoljtZdbVtO3it15iEU= Received: from CWLP265CA0473.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:1d4::6) by AS4PR08MB7760.eurprd08.prod.outlook.com (2603:10a6:20b:517::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.18; Wed, 18 Mar 2026 13:51:22 +0000 Received: from AMS1EPF0000008D.eurprd05.prod.outlook.com (2603:10a6:400:1d4:cafe::db) by CWLP265CA0473.outlook.office365.com (2603:10a6:400:1d4::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9700.27 via Frontend Transport; Wed, 18 Mar 2026 13:51:16 +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 AMS1EPF0000008D.mail.protection.outlook.com (10.167.242.84) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Wed, 18 Mar 2026 13:51:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZLNti/AUOytDGvv+9gEYUm+cUXuyspp36Ai3lk96kfShY4JXy2b2djqFvhRmmae+8E01wHAiVCkinxaleohafyccjkF1DMpWDJp6z5Vl28wAcPggmyyywASRUBO/FZ4LQv3DwxZBNOGk322POyMRjiUtWb0vBZz+FzwDM/AUfeA6yhetIv7eGeT2emuwge80wTL4A9zM/zh0lcs7JZTTlL9SJsyYU7lOXe3wywJb8e01etoFWbdr5HXT6PJIzpUvi3Bb2ra9+Iu0rSP4Jg/7B0lB/UARzCWDcT1sK/WC45E8IfKO1zI0qpv1Rx+ZC79QbxTUA+N6DompRRm41pUEZw== 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=ilcEVPwcsGvxvKvq1fzMHxLm8LmV/PdJfTrfwBNND+A=; b=pTRNOZjXh0fw+cUHLJHg56CqcuLm+9ucvrsOgCBpAiXE4K0s22TmUXE2jUwM9dInQvgmvf9dEAg21LonejWZ2z+MF0aX1974iich3AlI9P7FLBDVf3SGRQ6+M/SJsYi3d+jU1YEM8MUDOsGI7/1+PpvGshLTqovKGwtY/lwOD3zBcRYAQ2GPaoOC79WOJpFtaiojxJgMSUIX1ztW+oIOQ2kegHM/XZeHU/HwlpQiCruEhH46LXjIUdRri5o0YqWg4TkLzf7pPdmc4GPncrYcecJNa3YmnUDmo+vhy9/YaoHD3pxr7lDl0yvFNH6yfJ22Mq5g9qgcLgOrWqYTWsKrQQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 172.205.89.229) smtp.rcpttodomain=sourceware.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=ilcEVPwcsGvxvKvq1fzMHxLm8LmV/PdJfTrfwBNND+A=; b=ILdOiqvesIkr4lNDgTdNa+/wc8zALxQhZkwdCMQkYsgDX8cwmUycM/Nnu/uY8UM618yCBGDkSvbZZ29olHVpPUJK8PPamISc9/GkNZMSzWOinyYDlZKrummPFeqpDogzlUNmlVnxy0qRWQKMblsWNGzBKoljtZdbVtO3it15iEU= Received: from AM0P309CA0007.EURP309.PROD.OUTLOOK.COM (2603:10a6:20b:28f::18) by GV1PR08MB8179.eurprd08.prod.outlook.com (2603:10a6:150:91::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19; Wed, 18 Mar 2026 13:50:14 +0000 Received: from AM4PEPF00027A60.eurprd04.prod.outlook.com (2603:10a6:20b:28f:cafe::33) by AM0P309CA0007.outlook.office365.com (2603:10a6:20b:28f::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9678.9 via Frontend Transport; Wed, 18 Mar 2026 13:50:12 +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 AM4PEPF00027A60.mail.protection.outlook.com (10.167.16.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.17 via Frontend Transport; Wed, 18 Mar 2026 13:50:12 +0000 Received: from AZ-NEU-EX03.Arm.com (10.240.25.137) by AZ-NEU-EX04.Arm.com (10.240.25.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Wed, 18 Mar 2026 13:50:04 +0000 Received: from ip-10-249-57-232.eu-west-1.compute.internal (10.249.57.232) by mail.arm.com (10.240.25.137) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29 via Frontend Transport; Wed, 18 Mar 2026 13:50:04 +0000 From: Muhammad Kamran <muhammad.kamran@arm.com> To: <binutils@sourceware.org> CC: Richard Earnshaw <rearnsha@arm.com>, Alice Carlotti <alice.carlotti@arm.com>, Muhammad Kamran <Muhammad.Kamran@arm.com> Subject: [PATCH] aarch64: Reject no-Xt SYS aliases when Rt != 31 in disassembly Date: Wed, 18 Mar 2026 13:49:57 +0000 Message-ID: <20260318134957.129565-1-muhammad.kamran@arm.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM4PEPF00027A60:EE_|GV1PR08MB8179:EE_|AMS1EPF0000008D:EE_|AS4PR08MB7760:EE_ X-MS-Office365-Filtering-Correlation-Id: 52a09d8d-009f-4a1f-d10c-08de84f5704b 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|82310400026|36860700016|1800799024|56012099003|18002099003; X-Microsoft-Antispam-Message-Info-Original: SSG6/RubdO9vz5IPTTcIH9C2atMAxAEtGFnqjRIlmsCb1qaR77Bdil2Aii1Aq7UvcO0zrdUO4JfqAVmBfNykUB8C7ioUoa4MzPmFkWtOXoz3ZsMxcURJI1yz2PY4gBBS1lSiA12h7EHaTH18C6ijDNfZ4JPtEo1mxB2xeF0swXvjSX4b7i5PghZkJlMM7Wx9pXhlqlumgSFIgDuXdoVlUod/agnAjvLwe8yE5BbqDz9LUSSFaCwjolcVtQdCK7heflo2wIp2ztwdx55YgJ07DG18maHRx/bqtTCaXxCPOKBePvYBN0gtKi7wCWXNng//zm9UzgwIByovZisZCT5cYO/dcpFcVNXMLlKBJu0SkRkEdNallf4kRHz3697+BdJu76L7DWqdvT22iticbSqtCZW++RELisDZQiVdSFGs2/c1CE8Jmej744/NMaq1TjlzU4sEa/B3tOeCg7fzQHP9aLfG823ufjtQXY1Efc902qiB+UyWJI039SdeV1TWatODX8bkCzT7qukTyFJ8ggy2YiWv/3oQxvou3sua46RHHmry7kpkQpK6pFzwK0cziMIgVStwspkT+qHRVCQOCnqxXkuY0Z1juVAe3lV04bqgqx162soQori6lJ1zunG7GZiVC+EtePFi6sCRPcVmNKGRStyFVdpH6XnvT/hyYYuc5U1OpIk8j0hTLl0Z8Ws5HsSQ7j9QmxBZ+38t4NT8ZHlfZhGa9FWaaVazxUMUn0sVj1U6pCJ+fTTK6LMKCnvh5g/SBOV8n+al6dMJSaesAWGZEA== 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)(376014)(82310400026)(36860700016)(1800799024)(56012099003)(18002099003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: uinB1Et7tOzkJYib1cnEc1Llx4DNcfN+yBnPXiozNgspgH6lHbNsYxrcLswP5mWIcHg5KTBAenZXcC6SHefIKgiOzkjdUt3ykqxqoli8bMONRpDCl+RIxILnAqwVEZ+Dl2589QvesbfzN+tqtTTRh9Iwy1MRkar7uz8F0TvW1u2Dldp2Yx2ItJmIgXuPl4Y8OddRED0quJdRFX4fV1wab2JSkZHj25VzgZcyONLQB5LGynBlYWTT7twlT14wMZEeLpHfdFyuaVKf00UOL0zqYiPkakDaemaHXoFdh/lB20YOuQ06rI1ZYgeRJTdyuEFj/1XRCFBYlXAEEc3SfO39kw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8179 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS1EPF0000008D.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 0decff6d-b336-43db-239e-08de84f54719 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|14060799003|36860700016|35042699022|376014|1800799024|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: ft/zpY4q9wIoNfSYhYNJaI1UJ6dTmNAhQbxVdEuj0Ww6U6ulOhPYEjanb1TRo1RwY7Qign8YdvWhYToOvYSMy1CgFwmjXuFxr3jMikzNEGcQGwuetIKjJRAR5PbMjyJp6NYJqoiTftU5OcSm9BzADZ0fFiKw7FDGtEbKrD58FS/K7fQKX6s8cnRgJecIwVWjFdUqGe/4XSYvL6grkMlVzR91NL74Mt5qf13BfAuIbdd85nxuhQ1CgAOG1Kv8qXyE2FjC+7QhZ1LqN/zjS9xLDd7fbcF+1DRozox3qZXLPsywECKIwP8TEL19LKNw7K34ewi40sdVObkeunv+OQ3N6ER57FH/L+Gh0vSk62f2iiAvIEPpd02yNKTo9+EdHoAnlt0SSqevZtdt5wMsqgn3opgZGoIlVJFgHQR0xBVSwYR5hHniMncWCLElJDu9XylBJgReglusIIYpIKBvwRY9faiBOgd1OFoYZgsa460fWcW8cBt0kzRgUzSuaRnp6gLbKkKU2/17Ab73MIAGifE+yuYN3bAy5VzeaDQ9asNUVn6L3/JsgLhxKcIUVAX1TRIqtB3ot4bLBIfHkwXpcZkWGDL9o0rYefj4ikL43d+8nqUmvD2AKdj98tXPsg2d1xumg+7oxgOwT5f05vvL4riuVD0ui8WYEElLj2dELqx8tfcMa6YS/5UT+IFLiMdw/SJMilnwwdwLNJD/OFNzYiK+Z0TgMx+2/gzU+LmZ7p9gJE0j2JnThPi8FFAAu9gYWT7Mffijb6r8vjzLq2MLbMU09w== 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)(82310400026)(14060799003)(36860700016)(35042699022)(376014)(1800799024)(18002099003)(56012099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ExstshkGKCDt5yEKFdA2znjCKxD68c+UuMiYU5Y3f9GgqJzBen8TOIFjtFAcBtnay+RR6xOn+7MvSrV1nxArw72Pn+oqvMYl47VQNo+05422jcKhf7R12l5VfG7MDkysKB3IH6RSZCZ9hONDSmxV8M0x3CRudYTNiKG+TSTuFjNSNJ1r+NIXbbgqFWWk+ZDJlLW4w8hkGsV4aZJ67MjlVe0kEdR07svyvWnCyq8ThiRaDQjSZkI6oL7P/rntXE7n8JoYBBJg/b9ZN/u+ZplXOFhnN/JHHB46hTGUdghgBVUe+RjYl9bjxXqSG3N79iUli3UW22vZ9pe3RiwXgxs9RrVIudXVtcSPA/mQfUUI1r+jvSIvx5ND0yEcdXv7u3KMmunxucSsdexWzLc3IuPpYq7SFgCGMuWLma+Y6hPQL8cyV/9H4hoycu04hLAXF59C X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Mar 2026 13:51:21.8729 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 52a09d8d-009f-4a1f-d10c-08de84f5704b 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: AMS1EPF0000008D.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7760 X-Spam-Status: No, score=-10.3 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, RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_PASS, SPF_NONE, TXREP, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list <binutils.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/binutils>, <mailto:binutils-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/binutils/> List-Post: <mailto:binutils@sourceware.org> List-Help: <mailto:binutils-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/binutils>, <mailto:binutils-request@sourceware.org?subject=subscribe> Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org |
| Series |
aarch64: Reject no-Xt SYS aliases when Rt != 31 in disassembly
|
|
Checks
| Context | Check | Description |
|---|---|---|
| linaro-tcwg-bot/tcwg_binutils_build--master-arm | success | Build passed |
| linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 | success | Build passed |
| linaro-tcwg-bot/tcwg_binutils_check--master-aarch64 | success | Test passed |
| linaro-tcwg-bot/tcwg_binutils_check--master-arm | success | Test passed |
Commit Message
Muhammad Kamran
March 18, 2026, 1:49 p.m. UTC
From: Muhammad Kamran <Muhammad.Kamran@arm.com>
For SYS-encoding aliases that do not take Xt (for example TLBI ALLE1,
PLBI ALLE1), disassembly should not print the alias form when Rt != 31.
In that case, disassemble as the generic sys form instead.
Add a focused gas test that checks:
- Rt=31 still disassembles to aliases for no-Xt forms.
- Rt!=31 disassembles to sys ... , xN for those no-Xt forms.
- A valid Xt alias (TLBI VALE1) continues to disassemble as the alias.
opcodes/ChangeLog:
* aarch64-dis.c (aarch64_ext_regrt_sysins): Mark present as
whether Rt is non-default or the SYS op accepts Xt, so aliases
that do not take Xt are rejected when Rt != 31.
gas/ChangeLog:
* testsuite/gas/aarch64/sys-rt-alias.s: New test source for SYS
alias disassembly with Rt=31 vs Rt!=31, plus a valid Xt-alias
control case.
* testsuite/gas/aarch64/sys-rt-alias.d: New expected disassembly.
---
gas/testsuite/gas/aarch64/sys-rt-alias.d | 17 +++++++++++++++++
gas/testsuite/gas/aarch64/sys-rt-alias.s | 13 +++++++++++++
opcodes/aarch64-dis.c | 9 +++------
3 files changed, 33 insertions(+), 6 deletions(-)
create mode 100644 gas/testsuite/gas/aarch64/sys-rt-alias.d
create mode 100644 gas/testsuite/gas/aarch64/sys-rt-alias.s
--
2.43.0
Comments
On Wed, Mar 18, 2026 at 01:49:57PM +0000, Muhammad Kamran wrote: > From: Muhammad Kamran <Muhammad.Kamran@arm.com> > > For SYS-encoding aliases that do not take Xt (for example TLBI ALLE1, > PLBI ALLE1), disassembly should not print the alias form when Rt != 31. > In that case, disassemble as the generic sys form instead. > > Add a focused gas test that checks: > - Rt=31 still disassembles to aliases for no-Xt forms. > - Rt!=31 disassembles to sys ... , xN for those no-Xt forms. > - A valid Xt alias (TLBI VALE1) continues to disassemble as the alias. > > opcodes/ChangeLog: > > * aarch64-dis.c (aarch64_ext_regrt_sysins): Mark present as > whether Rt is non-default or the SYS op accepts Xt, so aliases > that do not take Xt are rejected when Rt != 31. > > gas/ChangeLog: > > * testsuite/gas/aarch64/sys-rt-alias.s: New test source for SYS > alias disassembly with Rt=31 vs Rt!=31, plus a valid Xt-alias > control case. > * testsuite/gas/aarch64/sys-rt-alias.d: New expected disassembly. Thanks! This looks fine now, although I'll note that the commit message seems a little verbose, and changelogs in Binutils aren't required (but are permitted). I've reduced the test changelog entries to "New test.", but otherwise I've committed this for you as is. Alice > --- > gas/testsuite/gas/aarch64/sys-rt-alias.d | 17 +++++++++++++++++ > gas/testsuite/gas/aarch64/sys-rt-alias.s | 13 +++++++++++++ > opcodes/aarch64-dis.c | 9 +++------ > 3 files changed, 33 insertions(+), 6 deletions(-) > create mode 100644 gas/testsuite/gas/aarch64/sys-rt-alias.d > create mode 100644 gas/testsuite/gas/aarch64/sys-rt-alias.s > > diff --git a/gas/testsuite/gas/aarch64/sys-rt-alias.d b/gas/testsuite/gas/aarch64/sys-rt-alias.d > new file mode 100644 > index 00000000000..96c2f6844a8 > --- /dev/null > +++ b/gas/testsuite/gas/aarch64/sys-rt-alias.d > @@ -0,0 +1,17 @@ > +#objdump: -dr > + > +.*: file format .* > + > +Disassembly of section \.text: > + > +0+ <.*>: > +.*: d50c879f tlbi alle1 > +.*: d50c8780 sys #4, C8, C7, #4, x0 > +.*: d50ca79f plbi alle1 > +.*: d50ca780 sys #4, C10, C7, #4, x0 > +.*: d50c709f mlbi alle1 > +.*: d50c7080 sys #4, C7, C0, #4, x0 > +.*: d508751f ic iallu > +.*: d5087500 sys #0, C7, C5, #0, x0 > +.*: d50887bf tlbi vale1, xzr > +.*: d50887a0 tlbi vale1, x0 > diff --git a/gas/testsuite/gas/aarch64/sys-rt-alias.s b/gas/testsuite/gas/aarch64/sys-rt-alias.s > new file mode 100644 > index 00000000000..2aa107fa6d9 > --- /dev/null > +++ b/gas/testsuite/gas/aarch64/sys-rt-alias.s > @@ -0,0 +1,13 @@ > +// sys-rt-alias.s Test file for AArch64 instructions where Rt !=31 is undefined behaviour. > + > + .text > + sys #4, c8, c7, #4 // TLBI ALLE1 with Rt=31 > + sys #4, c8, c7, #4, x0 // TLBI ALLE1 with Rt!=31 > + sys #4, c10, c7, #4 // PLBI ALLE1 with Rt=31 > + sys #4, c10, c7, #4, x0 // PLBI ALLE1 with Rt!=31 > + sys #4, c7, c0, #4 // MLBI ALLE1 with Rt=31 > + sys #4, c7, c0, #4, x0 // MLBI ALLE1 with Rt!=31 > + sys #0, c7, c5, #0 // IC IALLU with Rt=31 > + sys #0, c7, c5, #0, x0 // IC IALLU with Rt!=31 > + sys #0, c8, c7, #5, xzr // TLBI VALE1 with Rt=31 (valid Xt form) > + sys #0, c8, c7, #5, x0 // TLBI VALE1 with Rt!=31 (valid Xt form) > diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c > index f09307847e6..8544ce4b6d4 100644 > --- a/opcodes/aarch64-dis.c > +++ b/opcodes/aarch64-dis.c > @@ -331,12 +331,9 @@ aarch64_ext_regrt_sysins (const aarch64_operand *self, aarch64_opnd_info *info, > help the disassembler determine whether this operand is optional or > not. */ > > - if (aarch64_sys_ins_reg_tlbid_xt (inst->operands[0].sysins_op) > - && info->reg.regno != 31) > - info->present = true; > - else > - info->present = aarch64_sys_ins_reg_has_xt (inst->operands[0].sysins_op); > - > + info->present > + = (info->reg.regno != 31 > + || aarch64_sys_ins_reg_has_xt (inst->operands[0].sysins_op)); > return true; > } > > -- > 2.43.0 >
diff --git a/gas/testsuite/gas/aarch64/sys-rt-alias.d b/gas/testsuite/gas/aarch64/sys-rt-alias.d new file mode 100644 index 00000000000..96c2f6844a8 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sys-rt-alias.d @@ -0,0 +1,17 @@ +#objdump: -dr + +.*: file format .* + +Disassembly of section \.text: + +0+ <.*>: +.*: d50c879f tlbi alle1 +.*: d50c8780 sys #4, C8, C7, #4, x0 +.*: d50ca79f plbi alle1 +.*: d50ca780 sys #4, C10, C7, #4, x0 +.*: d50c709f mlbi alle1 +.*: d50c7080 sys #4, C7, C0, #4, x0 +.*: d508751f ic iallu +.*: d5087500 sys #0, C7, C5, #0, x0 +.*: d50887bf tlbi vale1, xzr +.*: d50887a0 tlbi vale1, x0 diff --git a/gas/testsuite/gas/aarch64/sys-rt-alias.s b/gas/testsuite/gas/aarch64/sys-rt-alias.s new file mode 100644 index 00000000000..2aa107fa6d9 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sys-rt-alias.s @@ -0,0 +1,13 @@ +// sys-rt-alias.s Test file for AArch64 instructions where Rt !=31 is undefined behaviour. + + .text + sys #4, c8, c7, #4 // TLBI ALLE1 with Rt=31 + sys #4, c8, c7, #4, x0 // TLBI ALLE1 with Rt!=31 + sys #4, c10, c7, #4 // PLBI ALLE1 with Rt=31 + sys #4, c10, c7, #4, x0 // PLBI ALLE1 with Rt!=31 + sys #4, c7, c0, #4 // MLBI ALLE1 with Rt=31 + sys #4, c7, c0, #4, x0 // MLBI ALLE1 with Rt!=31 + sys #0, c7, c5, #0 // IC IALLU with Rt=31 + sys #0, c7, c5, #0, x0 // IC IALLU with Rt!=31 + sys #0, c8, c7, #5, xzr // TLBI VALE1 with Rt=31 (valid Xt form) + sys #0, c8, c7, #5, x0 // TLBI VALE1 with Rt!=31 (valid Xt form) diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c index f09307847e6..8544ce4b6d4 100644 --- a/opcodes/aarch64-dis.c +++ b/opcodes/aarch64-dis.c @@ -331,12 +331,9 @@ aarch64_ext_regrt_sysins (const aarch64_operand *self, aarch64_opnd_info *info, help the disassembler determine whether this operand is optional or not. */ - if (aarch64_sys_ins_reg_tlbid_xt (inst->operands[0].sysins_op) - && info->reg.regno != 31) - info->present = true; - else - info->present = aarch64_sys_ins_reg_has_xt (inst->operands[0].sysins_op); - + info->present + = (info->reg.regno != 31 + || aarch64_sys_ins_reg_has_xt (inst->operands[0].sysins_op)); return true; }