From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 70D9C38245BF for ; Mon, 1 Jul 2024 02:54:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 70D9C38245BF Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 70D9C38245BF Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1719802475; cv=pass; b=Jg7YdCtTDMCGGx7YMeF+ie5xLeDwtxiAn9MKbbczZD/VWU9sTU+LeBDoQGjDAq0YHrQhNsg0Zy60sK4ptCukguCnyq47vo2HPdkxf8ntSG5TihgujKykCjVkdo8glDVTlJ+f6gOYlpt4eA9b0b9m3YzIvQCk6U/RB1AtfOCzk28= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1719802475; c=relaxed/simple; bh=P/qCXYRI1NhQR5f4+bdyj0IWLA1l+d6V5klgQ3z6Sq8=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=xqyhgAfY82QzMnuA+JC2SO3nuYOqshjRyCAG8MGSSHfFmpEfursgmZ2xhW3bpJ/cJJwNvczugq2XqAKwZDKinmniwlumQFjNZ6qpPphhuOIGzNCRSz0yjH6mpjp40MJhQugER+kgJK96gYfZ6P/ppoUwBMr2PpWq+zX+1PkCyrM= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45UMHXS2004132; Mon, 1 Jul 2024 02:54:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= from:to:cc:subject:date:message-id:in-reply-to:references :content-transfer-encoding:content-type:mime-version; s= corp-2023-11-20; bh=KZUIHHosYnNxmIQJ+6fvwUnSL9HEjOBjxUot3/tpoV4=; b= YcBDb0uTTuF252ug1+RkocGlAuavJQICpAp/mxIIhP0+6FBqaKJmwinFF/hgLf/J K8YDhlfvnNvMu/WeyWCn33qVUQM7QXr8g6JmKh+Hbf5XRPfzDSwhiyZq78hGTrti mgt9FS5PbTj2DHYKfHYd7oBB8TPUGeqRZxM+s9bk/aGTY6vKurmCgPmlVHeRgD4m l1CfovjPUk6wR2jca494nHtrdzIvfzNbpU3Ukfbn+er2feBm9vkkLKQYoHWdXxPk rgo9spp5I3htJDkCgGTNcxodL9+FpXD4QiX56WzlwVd4wB3fMnG2KiUAtX0TJta3 BDHE+gUUspUmow0ulWdXDQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 402att9p09-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 01 Jul 2024 02:54:28 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 46100UuY019083; Mon, 1 Jul 2024 02:54:27 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2168.outbound.protection.outlook.com [104.47.73.168]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4028qc6xuw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 01 Jul 2024 02:54:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ee0Vom1ckaOTApHy1E688g+JGAOiE/qHpc68lJlTZ6pbJLx7wVs8js2H4cMQkM2+XXeOJjIVFKyRxEQvpd5/Hagk15OE3952nE8MdGDloejriPRRolewWJiCL5nxC1ZNowP95CiSDA0RZHrCcmaJ4KS/ewkqztBTgsbhqtN2BEPvpvso+BxAoyzVuLS1RDMme8VLdptQ16zTxQ3p4qjvY5zCEEo6V97BhLsCBs1S2W9P9D5MlD+61UUzUb0ZAndwI8lZHHDPsqtKX0Sl8D6SuNUeXQluwlTUw5W5naaz/XcNJ7MaESzsxpwsxyVcDUGqhm7DxDOIl10tEA1oevX7XQ== 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=KZUIHHosYnNxmIQJ+6fvwUnSL9HEjOBjxUot3/tpoV4=; b=KdsIUdjYA1d7Zht4CfuX1KG155Tz21xTpJKg9Hrx9GTBknkp/yERdXrltDe4onp5M7/4pWQgksq9/thUs1u8y1K/tn7RZdlUeBffhkshLsvwTOrQl7HqsAzNmaIUXp4W5/4Y5Vbq2Ovv+hTfeKI1ZWtF6O+IuA8ExVJFPta2AXxZ4woiewnz54BN7hli5a0K9Xfba6LRmsbo4izXOiERN2JH9QiPtruVtIEcYMeC1eDzrQAIk6x71AN7Ulh/9i9qUlqyrjvYNYhiQrkJd8Ve2Gl7xXxbhA7kNuOO7DIPOOaOOcQ+pW33bDqNU8Z16uoArgD/yj6/3kfOxQZjpbwoMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KZUIHHosYnNxmIQJ+6fvwUnSL9HEjOBjxUot3/tpoV4=; b=erh+nLS76LNw+JR3SVvdPh2Bz+3LJ45+7L/byEYQaRSix+qpC/6AL9nU+ISR/Wb7UM1akaOJKKAmsLhh6YERGgb47S0IIo8pKGH7laq7QPEGeN4vKFHYVkT3CCBH4FehkupT1wC+gZnhXVfnji1AAlj8SSH9A54bggkthh5cSE8= Received: from BN6SPR01MB0022.namprd10.prod.outlook.com (2603:10b6:405:78::23) by SJ2PR10MB7708.namprd10.prod.outlook.com (2603:10b6:a03:574::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7698.34; Mon, 1 Jul 2024 02:54:24 +0000 Received: from BN6SPR01MB0022.namprd10.prod.outlook.com ([fe80::a770:dad6:5f84:f165]) by BN6SPR01MB0022.namprd10.prod.outlook.com ([fe80::a770:dad6:5f84:f165%5]) with mapi id 15.20.7698.025; Mon, 1 Jul 2024 02:54:24 +0000 From: Indu Bhagat To: binutils@sourceware.org Cc: richard.sandiford@arm.com, Richard.Earnshaw@arm.com, Indu Bhagat Subject: [PATCH,V4 3/8] opcodes: aarch64: flags to denote subclasses of ldst insns Date: Sun, 30 Jun 2024 19:53:59 -0700 Message-ID: <20240701025404.3361349-4-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240701025404.3361349-1-indu.bhagat@oracle.com> References: <20240701025404.3361349-1-indu.bhagat@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MW3PR06CA0001.namprd06.prod.outlook.com (2603:10b6:303:2a::6) To BN6SPR01MB0022.namprd10.prod.outlook.com (2603:10b6:405:78::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN6SPR01MB0022:EE_|SJ2PR10MB7708:EE_ X-MS-Office365-Filtering-Correlation-Id: d759d324-ed30-4a2d-ea7c-08dc99791d64 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?NguyYRcKzU8ZVHN9grLpPLmlq5IRqLNhicaeKLcog8xeYr703Dhx0Eg4/j22?= =?us-ascii?Q?RPlj/B/5UeJwzPg3W1yRMRwSWQFF8J89CEpCKpdiAZ68wtY/wX6SN4nXTAxn?= =?us-ascii?Q?S96zN+Bjz9G6LKdu9mnQU+Djfwtqdxu8raCjIOOR+vWKmRuEeEl4v3JqTBeV?= =?us-ascii?Q?hPcgJZv0QPsB1g/vtRNXb7JcgP8Nb3Y58u+SlpO0B+CObvUQy8CCZrC7d/69?= =?us-ascii?Q?uZcGk0FjmGvGxH0pUVanSBqJnrm7ue5MFfrSJbPPcBgCfCKLpZbwtFLxgOJz?= =?us-ascii?Q?VFKmR0TQe9VXlwyaD7vY1dfCpZVrIBuBz0h3mHVxbelWVecg/GFY9uJPtzwN?= =?us-ascii?Q?oVDSwZcla5wc0Day4nWXowRSM5PHSbhD7nfa74sF3Vscnu26eK6Q1GjvLW9y?= =?us-ascii?Q?xDwpDr9vWp/HK0n+fUF5CUupCZLA8SxL4M9tfya/bZSLm5YFyF5rQqmnXuP0?= =?us-ascii?Q?ORSVtXApaEHHaGCFShKJEYT9/dh6re49DIJbBhzP5tWk5O0qcS3v8GbFA/32?= =?us-ascii?Q?OceWXM1b467RFPPsV1QD9LwIcnzCQ17fEX/y0YYhXpSwY++uAaFb4GnaBhhT?= =?us-ascii?Q?e3DLqElkAn4fnmeKfaVbpJbmaAZDrnq8ZUDuBE7Xu/b60ZVthSvwLeyP0yHR?= =?us-ascii?Q?Az/Kahsj4qChrNUIGBCwk/ECwrYmNVfmoOnWBy6+nPsdXkt4AoUBdmmY0yEQ?= =?us-ascii?Q?0Xkzwv4cG/HbBv9S5woOjl1Y9hpBCUdS4QqwPus7p1sQo3wYc9GCOiZqj3yE?= =?us-ascii?Q?RypU0/bnbxC90/Wje+WThUXTL8nq1oSIx3qYa40HWJK78XTa/DROVIp4308z?= =?us-ascii?Q?3Y7siqbfyGMzYVvBh8OHtFiyzhfbPVjl+mURG03iIMnVZjK0w1vOLVy5jpV0?= =?us-ascii?Q?+/JHMf3JlFRU1R2rHfMsQWyR9NYb/lzTo8ai4CrSIGypQV3p6sBqZt/KLQAR?= =?us-ascii?Q?eXfBbPfxFiND28nJlTDEgLmCgOQDj2Ca79zHaOACpOb8r9LXe8pgEZDlMRMp?= =?us-ascii?Q?DeMTOfTlLfYot8Bk41BCfy8+o4uKZ4UJndui/yqFR8+8+zPD+xwSh4TbneYd?= =?us-ascii?Q?vw5v1K09I7K1foW+QjZJ4ZzGaijabqhcWsIbTTwlTnyu6T/K3+wjiCne71KP?= =?us-ascii?Q?OCN6hRZb9B5V1O6sNpSjfUM1jZeQuIcaROBWoYMry+7Yg3N5ilscVbgBqUS9?= =?us-ascii?Q?23kc+zMX/LywarjDQy570L7Lvsmcicu0NsjPrQsBsB0os33leYLtPPhToCWZ?= =?us-ascii?Q?anbaNNNYHFflzw5EMnVl+IUdoYqcqhEkUZYcUqDZX3UGRlzWh+nq07sY2H2V?= =?us-ascii?Q?LziqkhuTRdakYcdJ5cUyhZasz8H8SxRTuztYaPefA+y86g=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6SPR01MB0022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2tng/S/OD136pWwHviHLuUp2a755J/aNisU0GUv7WHRfqpG/RZ7HjcKufGvc?= =?us-ascii?Q?mF+AxATploA4w/cEsZ1gzU8V/DAIsdWRVLdl1ivvxzXS8TOz6i427TmLn0PU?= =?us-ascii?Q?7+WyWA4uPFgX5eJQXm1UaOOepETChiSy1pGqdikW3hf3K5kvOWykxvj2q+gg?= =?us-ascii?Q?WXOSSpECcz2lHbUFQZ3EmCxX/vkpOQeLMjohlvNWGaK4YPLA4FLFfP7mrsGa?= =?us-ascii?Q?suQypkTVMq6MiuFZScbMvTgjCfu/PR2x4ynOpEPhGsKcVvTDBN5sZkZlvCa4?= =?us-ascii?Q?oTsiPe8SmypRTMcOtdNPNhN4SB/lDyjTGQ/uWtVYyL5RJSYvHsfbRGtvim86?= =?us-ascii?Q?Nw/XMaIDRO0ezHE9P/p6n4J09dJjR4Ww36uKGgdxhqmXSGK88l/vAWGjJQgR?= =?us-ascii?Q?0KJ2Vi1NhaDt4OZMhHwhLMYgbswIHfRwxzoA1eSIOODijRNuuOQvBd7r0Mju?= =?us-ascii?Q?fvj7FRIaofKqjdfCqM+ftkdzUKMQpWlmuMAGlGyO/u9KGP98DbhoVGXNU+Yw?= =?us-ascii?Q?k204qhhIz+yXUPBxexof5rZ+Aa3JJnkkDwwylv4DOWwFw7ppDaf9q1k3J1vx?= =?us-ascii?Q?Mq9bt5xarKdAebW7JL/1yaAD4VV/BMX5R1zu1unGaCB41heR7VjNTuEr3tcw?= =?us-ascii?Q?1ivq6MvouawLRppr0Bae3pAfAcapYJJvfnZ0ATOLSgOhz/GbkEB35Xx3R+ok?= =?us-ascii?Q?hFbERDD1xLhG4wbHYgCDQnY0XR9B7P65LtYLEO2aoINyorwphzL2PTBUf+mH?= =?us-ascii?Q?p+noQdY2dQZl4NHj0Nd5AB0AOtT0qIMglvrhz8b7kiSyj7xt+2GrErc+wvrd?= =?us-ascii?Q?qydrQ/qngcLHMDbAUOElJl4GJVzviYijVd/AU222EcCAJUDgwlseCxbEYxW1?= =?us-ascii?Q?6XEohbWt3OODzIY5WbeeP+1n+v9cpeco/3zQgbxjJ1K7cjF6snLwQTDY+Z8k?= =?us-ascii?Q?w5CzJ+ltolr57eo19EJrMVR3U09hpOquESgh6WWC6x0MxdJeu9FT7DhkFvtN?= =?us-ascii?Q?7F62qUy3bmeNpTuW/+UQ9wdVXoH8tx2lEDZ2S+QufQZ3XZoiZFEiKHkmf0P3?= =?us-ascii?Q?pmb0PEmvBK4rFbIlD73+RprhqvAzezNrsFs5FIRbK9fJp7/K5OG6NVGFwfVj?= =?us-ascii?Q?c/duxdFX3ldC6LRLf0oiaoVkW9FYltmBpdBCPsDZNS/OkvCVZN4dE6AdL7A7?= =?us-ascii?Q?67iFWcpKcpcpuEdhiToVqLTpg7q6HJZgTRWvL+EnzZ/dO5/BqtUQw9FdF4lB?= =?us-ascii?Q?FBf2ABuvEzDzMD0Zr7WF11T1GjSioZ4ZXk7xqb6QCSNktq1UbAI8G41VY/2a?= =?us-ascii?Q?SGAp99lgi1b/vE8wX9RLh5AjghpnSCSrgUdjm9a3UWJuqomSt6sYQmV3XZl9?= =?us-ascii?Q?lJYX9zrdXQoOZSrRuV3MMAygnX54VaFpUvgBeXQPZPIdxMgBDhXG7ccR54N2?= =?us-ascii?Q?imjsNFCpZBJOhpYFcYu4TVnA5Wg97pTnQRKgJT0caZ+DuGcoXjOiAgl8YpEA?= =?us-ascii?Q?w2T7Q7dHgb2I6T+4aZZ+kBenxea5l2cVBS4TT4znSTZdT43iJOnsjfRP0xwn?= =?us-ascii?Q?gHFEmHa4Z7qZbazc3JB+t02kW8KJAoE5TKZAP0EscOr5qWv/X8wiCaUKzKeu?= =?us-ascii?Q?R7J49plYp3DchFJl01UvwHU=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: /7Ax5m7fBnkrHxjgaM4cjZLQHnliUHO4lB4tHjmrU0PCxl1VHdL79zOULxvpqtZiXZt+bFqaoRd6C02h70H485Sti0r89qt94+bFl4NF5YIOnyjrKj/AFV8TM77IOsvX2VzbHqS5BLO9nzaN/wPdviV2t7OgePANKZVjGf6JqNnmnEStDmwmoGL3pEojJDpRyzkQ3EWRNjGNOysExax2n6q2l7K2N/K4fov7jgIm2BBo6XKxblfK6q1rDDHCjZKFBhMrOb3sPjHBYVfF/QfuU/ZakrCCgYLSMUXBOp/sImsII2H0aZuLpuxXUYWgmjIyMHChAKkqLlfLMQ9OA5Lq0kdtO+/rq3zdky9P1ej2lseSmDrQThTI2iEBxi5X1jtGWLHFr8/8Ei2VQIyJuWQLOgOdR1ZUH+bHtOxdy20ZMwHv6brpDIzKlPy8hwflGQ+M3FQpz9Sg8gZwXyiL7kLNJw8l+1+U4OtFc26dhCzW++8/s3IL5ec6EzxIukEPt7Z7tFoUxWeuwZDgHPvycPDeTdaXZo6OQMIfE3+lkIi8rGVBsGdsVirTahHvlkvV5wRS12RJYjU6zdXLAVEEkMme91L59SFkR6euIzjLQPRRl/k= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d759d324-ed30-4a2d-ea7c-08dc99791d64 X-MS-Exchange-CrossTenant-AuthSource: BN6SPR01MB0022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jul 2024 02:54:24.4173 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: w6yestzWNNr7h/9rc1KTz789BXRJxuaEJGcw430ZH3oVAAaQdzIPLeWDtdg5ffm60xiDRcnIxS1OW2jQGhJ+LA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR10MB7708 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-07-01_02,2024-06-28_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 adultscore=0 bulkscore=0 mlxlogscore=913 phishscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2407010020 X-Proofpoint-GUID: DP118N6vPzYYcOLSOCN0ABFrPredKhaq X-Proofpoint-ORIG-GUID: DP118N6vPzYYcOLSOCN0ABFrPredKhaq 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,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,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 List-Id: [Changes in V4] - Specify subclasses only for those iclasses relevent to SCFI: ldst_imm9, ldst_pos, ldstpair_indexed, ldstpair_off [End of changes in V4] [Changes in V3] - Use F_LDST_SWAP for lse_atomic ld/st ops. Use of F_LDST_LOAD or F_LDST_STORE was incorrect. [End of changes in V3] [New in V2] The existing iclass information tells us the general shape and purpose of the instructions. In some cases, however, we need to further disect the iclass on the basis of other finer-grain information. E.g., for the purpose of SCFI, we need to know whether a given insn with iclass of ldst_* is a load or a store. opcodes/ * aarch64-tbl.h: Use the new F_LDST_* flags. --- opcodes/aarch64-tbl.h | 78 +++++++++++++++++++++---------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h index 7ef9cea9119..6e523db6277 100644 --- a/opcodes/aarch64-tbl.h +++ b/opcodes/aarch64-tbl.h @@ -4123,39 +4123,39 @@ const struct aarch64_opcode aarch64_opcode_table[] = __FP_INSN ("fcsel", 0x1e200c00, 0xff200c00, floatsel, 0, OP4 (Fd, Fn, Fm, COND), QL_FP_COND, F_FPTYPE), FF16_INSN ("fcsel", 0x1ee00c00, 0xff200c00, floatsel, OP4 (Fd, Fn, Fm, COND), QL_FP_COND_H, F_FPTYPE), /* Load/store register (immediate indexed). */ - CORE_INSN ("strb", 0x38000400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W8, 0), - CORE_INSN ("ldrb", 0x38400400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W8, 0), - CORE_INSN ("ldrsb", 0x38800400, 0xffa00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R8, F_LDS_SIZE), - CORE_INSN ("str", 0x3c000400, 0x3f600400, ldst_imm9, 0, OP2 (Ft, ADDR_SIMM9), QL_LDST_FP, 0), - CORE_INSN ("ldr", 0x3c400400, 0x3f600400, ldst_imm9, 0, OP2 (Ft, ADDR_SIMM9), QL_LDST_FP, 0), - CORE_INSN ("strh", 0x78000400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W16, 0), - CORE_INSN ("ldrh", 0x78400400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W16, 0), - CORE_INSN ("ldrsh", 0x78800400, 0xffa00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R16, F_LDS_SIZE), - CORE_INSN ("str", 0xb8000400, 0xbfe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R, F_GPRSIZE_IN_Q), - CORE_INSN ("ldr", 0xb8400400, 0xbfe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R, F_GPRSIZE_IN_Q), - CORE_INSN ("ldrsw", 0xb8800400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_X32, 0), + CORE_INSN ("strb", 0x38000400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W8, F_LDST_STORE), + CORE_INSN ("ldrb", 0x38400400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W8, F_LDST_LOAD), + CORE_INSN ("ldrsb", 0x38800400, 0xffa00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R8, F_LDST_LOAD | F_LDS_SIZE), + CORE_INSN ("str", 0x3c000400, 0x3f600400, ldst_imm9, 0, OP2 (Ft, ADDR_SIMM9), QL_LDST_FP, F_LDST_STORE), + CORE_INSN ("ldr", 0x3c400400, 0x3f600400, ldst_imm9, 0, OP2 (Ft, ADDR_SIMM9), QL_LDST_FP, F_LDST_LOAD), + CORE_INSN ("strh", 0x78000400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W16, F_LDST_STORE), + CORE_INSN ("ldrh", 0x78400400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W16, F_LDST_LOAD), + CORE_INSN ("ldrsh", 0x78800400, 0xffa00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R16, F_LDST_LOAD | F_LDS_SIZE), + CORE_INSN ("str", 0xb8000400, 0xbfe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R, F_LDST_STORE | F_GPRSIZE_IN_Q), + CORE_INSN ("ldr", 0xb8400400, 0xbfe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R, F_LDST_LOAD | F_GPRSIZE_IN_Q), + CORE_INSN ("ldrsw", 0xb8800400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_X32, F_LDST_LOAD), /* Load/store Allocation Tag instructions. */ MEMTAG_INSN ("stg", 0xd9200800, 0xffe00c00, ldst_unscaled, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0), MEMTAG_INSN ("stzg", 0xd9600800, 0xffe00c00, ldst_unscaled, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0), MEMTAG_INSN ("st2g", 0xd9a00800, 0xffe00c00, ldst_unscaled, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0), MEMTAG_INSN ("stz2g",0xd9e00800, 0xffe00c00, ldst_unscaled, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0), - MEMTAG_INSN ("stg", 0xd9200400, 0xffe00400, ldst_imm9, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0), - MEMTAG_INSN ("stzg", 0xd9600400, 0xffe00400, ldst_imm9, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0), - MEMTAG_INSN ("st2g", 0xd9a00400, 0xffe00400, ldst_imm9, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0), - MEMTAG_INSN ("stz2g",0xd9e00400, 0xffe00400, ldst_imm9, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0), + MEMTAG_INSN ("stg", 0xd9200400, 0xffe00400, ldst_imm9, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, F_LDST_STORE), + MEMTAG_INSN ("stzg", 0xd9600400, 0xffe00400, ldst_imm9, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, F_LDST_STORE), + MEMTAG_INSN ("st2g", 0xd9a00400, 0xffe00400, ldst_imm9, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, F_LDST_STORE), + MEMTAG_INSN ("stz2g",0xd9e00400, 0xffe00400, ldst_imm9, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, F_LDST_STORE), /* Load/store register (unsigned immediate). */ - CORE_INSN ("strb", 0x39000000, 0xffc00000, ldst_pos, OP_STRB_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_W8, 0), - CORE_INSN ("ldrb", 0x39400000, 0xffc00000, ldst_pos, OP_LDRB_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_W8, 0), - CORE_INSN ("ldrsb", 0x39800000, 0xff800000, ldst_pos, OP_LDRSB_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_R8, F_LDS_SIZE), - CORE_INSN ("str", 0x3d000000, 0x3f400000, ldst_pos, OP_STRF_POS, OP2 (Ft, ADDR_UIMM12), QL_LDST_FP, 0), - CORE_INSN ("ldr", 0x3d400000, 0x3f400000, ldst_pos, OP_LDRF_POS, OP2 (Ft, ADDR_UIMM12), QL_LDST_FP, 0), - CORE_INSN ("strh", 0x79000000, 0xffc00000, ldst_pos, OP_STRH_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_W16, 0), - CORE_INSN ("ldrh", 0x79400000, 0xffc00000, ldst_pos, OP_LDRH_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_W16, 0), - CORE_INSN ("ldrsh", 0x79800000, 0xff800000, ldst_pos, OP_LDRSH_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_R16, F_LDS_SIZE), - CORE_INSN ("str", 0xb9000000, 0xbfc00000, ldst_pos, OP_STR_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_R, F_GPRSIZE_IN_Q), - CORE_INSN ("ldr", 0xb9400000, 0xbfc00000, ldst_pos, OP_LDR_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_R, F_GPRSIZE_IN_Q), - CORE_INSN ("ldrsw", 0xb9800000, 0xffc00000, ldst_pos, OP_LDRSW_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_X32, 0), - CORE_INSN ("prfm", 0xf9800000, 0xffc00000, ldst_pos, OP_PRFM_POS, OP2 (PRFOP, ADDR_UIMM12), QL_LDST_PRFM, 0), + CORE_INSN ("strb", 0x39000000, 0xffc00000, ldst_pos, OP_STRB_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_W8, F_LDST_STORE), + CORE_INSN ("ldrb", 0x39400000, 0xffc00000, ldst_pos, OP_LDRB_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_W8, F_LDST_LOAD), + CORE_INSN ("ldrsb", 0x39800000, 0xff800000, ldst_pos, OP_LDRSB_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_R8, F_LDST_LOAD | F_LDS_SIZE), + CORE_INSN ("str", 0x3d000000, 0x3f400000, ldst_pos, OP_STRF_POS, OP2 (Ft, ADDR_UIMM12), QL_LDST_FP, F_LDST_STORE), + CORE_INSN ("ldr", 0x3d400000, 0x3f400000, ldst_pos, OP_LDRF_POS, OP2 (Ft, ADDR_UIMM12), QL_LDST_FP, F_LDST_LOAD), + CORE_INSN ("strh", 0x79000000, 0xffc00000, ldst_pos, OP_STRH_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_W16, F_LDST_STORE), + CORE_INSN ("ldrh", 0x79400000, 0xffc00000, ldst_pos, OP_LDRH_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_W16, F_LDST_LOAD), + CORE_INSN ("ldrsh", 0x79800000, 0xff800000, ldst_pos, OP_LDRSH_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_R16, F_LDST_LOAD | F_LDS_SIZE), + CORE_INSN ("str", 0xb9000000, 0xbfc00000, ldst_pos, OP_STR_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_R, F_GPRSIZE_IN_Q | F_LDST_STORE), + CORE_INSN ("ldr", 0xb9400000, 0xbfc00000, ldst_pos, OP_LDR_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_R, F_GPRSIZE_IN_Q | F_LDST_LOAD), + CORE_INSN ("ldrsw", 0xb9800000, 0xffc00000, ldst_pos, OP_LDRSW_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_X32, F_LDST_LOAD), + CORE_INSN ("prfm", 0xf9800000, 0xffc00000, ldst_pos, OP_PRFM_POS, OP2 (PRFOP, ADDR_UIMM12), QL_LDST_PRFM, F_LDST_LOAD), /* Load/store register (register offset). */ CORE_INSN ("strb", 0x38200800, 0xffe00c00, ldst_regoff, 0, OP2 (Rt, ADDR_REGOFF), QL_LDST_W8, 0), CORE_INSN ("ldrb", 0x38600800, 0xffe00c00, ldst_regoff, 0, OP2 (Rt, ADDR_REGOFF), QL_LDST_W8, 0), @@ -4238,19 +4238,19 @@ const struct aarch64_opcode aarch64_opcode_table[] = CORE_INSN ("stnp", 0x2c000000, 0x3fc00000, ldstnapair_offs, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, 0), CORE_INSN ("ldnp", 0x2c400000, 0x3fc00000, ldstnapair_offs, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, 0), /* Load/store register pair (offset). */ - CORE_INSN ("stp", 0x29000000, 0x7ec00000, ldstpair_off, 0, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF), - CORE_INSN ("ldp", 0x29400000, 0x7ec00000, ldstpair_off, 0, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF), - CORE_INSN ("stp", 0x2d000000, 0x3fc00000, ldstpair_off, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, 0), - CORE_INSN ("ldp", 0x2d400000, 0x3fc00000, ldstpair_off, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, 0), - {"ldpsw", 0x69400000, 0xffc00000, ldstpair_off, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_X32, 0, 0, 0, VERIFIER (ldpsw)}, - MEMTAG_INSN ("stgp", 0x69000000, 0xffc00000, ldstpair_off, OP3 (Rt, Rt2, ADDR_SIMM11), QL_STGP, 0), + CORE_INSN ("stp", 0x29000000, 0x7ec00000, ldstpair_off, 0, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_LDST_STORE | F_SF), + CORE_INSN ("ldp", 0x29400000, 0x7ec00000, ldstpair_off, 0, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_LDST_LOAD | F_SF), + CORE_INSN ("stp", 0x2d000000, 0x3fc00000, ldstpair_off, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, F_LDST_STORE | 0), + CORE_INSN ("ldp", 0x2d400000, 0x3fc00000, ldstpair_off, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, F_LDST_LOAD), + {"ldpsw", 0x69400000, 0xffc00000, ldstpair_off, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_X32, F_LDST_LOAD, 0, 0, VERIFIER (ldpsw)}, + MEMTAG_INSN ("stgp", 0x69000000, 0xffc00000, ldstpair_off, OP3 (Rt, Rt2, ADDR_SIMM11), QL_STGP, F_LDST_STORE), /* Load/store register pair (indexed). */ - CORE_INSN ("stp", 0x28800000, 0x7ec00000, ldstpair_indexed, 0, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF), - CORE_INSN ("ldp", 0x28c00000, 0x7ec00000, ldstpair_indexed, 0, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF), - CORE_INSN ("stp", 0x2c800000, 0x3ec00000, ldstpair_indexed, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, 0), - CORE_INSN ("ldp", 0x2cc00000, 0x3ec00000, ldstpair_indexed, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, 0), - {"ldpsw", 0x68c00000, 0xfec00000, ldstpair_indexed, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_X32, 0, 0, 0, VERIFIER (ldpsw)}, - MEMTAG_INSN ("stgp", 0x68800000, 0xfec00000, ldstpair_indexed, OP3 (Rt, Rt2, ADDR_SIMM11), QL_STGP, 0), + CORE_INSN ("stp", 0x28800000, 0x7ec00000, ldstpair_indexed, 0, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_LDST_STORE | F_SF), + CORE_INSN ("ldp", 0x28c00000, 0x7ec00000, ldstpair_indexed, 0, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_LDST_LOAD | F_SF), + CORE_INSN ("stp", 0x2c800000, 0x3ec00000, ldstpair_indexed, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, F_LDST_STORE), + CORE_INSN ("ldp", 0x2cc00000, 0x3ec00000, ldstpair_indexed, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, F_LDST_LOAD), + {"ldpsw", 0x68c00000, 0xfec00000, ldstpair_indexed, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_X32, F_LDST_LOAD, 0, 0, VERIFIER (ldpsw)}, + MEMTAG_INSN ("stgp", 0x68800000, 0xfec00000, ldstpair_indexed, OP3 (Rt, Rt2, ADDR_SIMM11), QL_STGP, F_LDST_STORE), /* Load register (literal). */ CORE_INSN ("ldr", 0x18000000, 0xbf000000, loadlit, OP_LDR_LIT, OP2 (Rt, ADDR_PCREL19), QL_R_PCREL, F_GPRSIZE_IN_Q), CORE_INSN ("ldr", 0x1c000000, 0x3f000000, loadlit, OP_LDRV_LIT, OP2 (Ft, ADDR_PCREL19), QL_FP_PCREL, 0), -- 2.43.0