From patchwork Tue Nov 8 10:11:39 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 81279 Delivered-To: patch@linaro.org Received: by 10.140.97.165 with SMTP id m34csp1463592qge; Tue, 8 Nov 2016 02:12:26 -0800 (PST) X-Received: by 10.99.48.68 with SMTP id w65mr5510306pgw.68.1478599946597; Tue, 08 Nov 2016 02:12:26 -0800 (PST) Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id d130si22451691pfg.150.2016.11.08.02.12.26 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 08 Nov 2016 02:12:26 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-return-94401-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org; spf=pass (google.com: domain of binutils-return-94401-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=binutils-return-94401-patch=linaro.org@sourceware.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:cc :subject:content-type; q=dns; s=default; b=xuhsMijC5gu2lIiVrtOaj dcze/HRg/cOpEE78XGKRD8IGA06N0S2Pbl9Jw4uxyyjWkhQH1BPFIxBzq24NvAti IBhTkRiQ5TetR+bugHtgB6vSNAcI5LflF++4YPtMdqauCWQPifcxrPKS9PMM+4zS M4aFFK5oG816ATIxby8Tz8= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:cc :subject:content-type; s=default; bh=Ivtl4sDXBYECZrdYk92Ryz2nOWM =; b=e1lgjFiVuco+rtipcsiTvdA3WShglFdDZjf2LW3twEPNAVd16U13YyQmttO EI9KsxupV0Imr/QpQjRCcGm68tZLcTeXIdm/boGuUx+qv8lr/sN+4Sn+txBbL5Mw ycnGhyiueZaG8GztFi2GwZBrUJtAtnASMVo8ET37sWd+VrCE= Received: (qmail 119075 invoked by alias); 8 Nov 2016 10:12:04 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Delivered-To: mailing list binutils@sourceware.org Received: (qmail 118746 invoked by uid 89); 8 Nov 2016 10:12:03 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-spam-relays-external:sk:EUR02-A, H*RU:sk:EUR02-A, 1407, 20161108 X-HELO: EUR02-AM5-obe.outbound.protection.outlook.com Received: from mail-eopbgr00062.outbound.protection.outlook.com (HELO EUR02-AM5-obe.outbound.protection.outlook.com) (40.107.0.62) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 08 Nov 2016 10:11:53 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Received: from [10.2.206.73] (217.140.96.140) by DB6PR0802MB2151.eurprd08.prod.outlook.com (10.172.227.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.693.12; Tue, 8 Nov 2016 10:11:50 +0000 Message-ID: <5821A4DB.9020404@arm.com> Date: Tue, 8 Nov 2016 10:11:39 +0000 From: Szabolcs Nagy User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: Binutils CC: Subject: [PATCH][AArch64] Add ARMv8.3 PACGA instruction X-ClientProxiedBy: VI1PR05CA0040.eurprd05.prod.outlook.com (10.162.33.178) To DB6PR0802MB2151.eurprd08.prod.outlook.com (10.172.227.9) X-MS-Office365-Filtering-Correlation-Id: 668a9c73-d5ba-449b-f0f1-08d407bfa7f0 X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2151; 2:UNvrezSdxllX4G6s+AeM8igzxHVgbjqf99PQlduA5k+vjQAG58WEBbXNNhot/LLpE8lRCuFPj4POurnpPb0XWaxpR8KhBobwvU219pZ2JSPkmvkbAoQz9aCiQHeBmvOKylIeSfX9cv6QwsS+JeRE1e3hfYxF36Ff/65QJwGVoODH8YDMsaPj62AyXEgY2JSTIsFtlNg5967Jv0GjXaNR8w==; 3:GDDDFfa7ZOoXGyP3vAMfe9ryFc32htoVM8ePLVWHHCYdhwcmZxJW0uTem/eeLoAIC+0jJv73TXGlXSP6FahXbA7a2ODDzc/nfnaGuCXphrm24kE/J5sLFELoxzpaC9RJW6l/GjGkDc/IvJuJPzPKlA==; 25:WB4mfxBj0mWmuvf9Bv4H9B6TuiRBAqFYAHe+877CuuYCHlaKDv0wkA0c4l//DPA71U0aLqTheT7aewSX4LaCQG9rt02X5dhpngXfq4T6DCybeuPSryYyPotEdQeEfnAFjSBbRrKmFfaImGpXG6oBMndIvqH9PO3n9KYtpQu9ThwIO8+FI6PM8cS55+0ST2fv59ARklE1ZzH5BYp77G8oHh0mdNyxiOYusbcIDR+LNWTw8Q3uO9PWR/qtlBbPw/RmX7zKbJtQiy86SL/8M4OVh6nOF8YYSKlw+nDL7yg2WdbGpGfK6k2QpI3ST33zkisB8rrqPqSiGUd6vZJBuoiwczPxuZYvJXXbAIFbQUOz7ed9koc8VGMbMCKEp/z67UTgb8mP3mYvQcLux3Obkf5fNvV9okin5QZrYcfw8F6KvpQlZRxGT7l+dnOur4FaGPFGeiFrvDjiWCl20Yn3BwVM4PU8EED+juNW1xQJtl/bUMiaM4PDOVia9pjNVozkygZ2 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0802MB2151; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2151; 31:UBePxRe+zs6NPJZlVq4+L57melN8hTK4va2//bYVvmAVa4z5MbL5/hb92xOT4w8xsl9Wirf3TEeL5gBqIz8u8GPECCP61CHN4LR2EnYc0p02abKjuzL3FQphBib9iXIJcZwXl7fAKOho+A0vQ3EroLkexhnq0hxorrAQ6git6kUBe6KJz4wcuaJFlo49C8/1DgVPyzUBHco6Hi2TaGtEH4N6Ul1N0SLzWnUTHHLSF8pcurJ6AGpHdO4VQVJKhSKJMQIFOSv0LH/0tmSNG3tUfA==; 20:93lvYdzBf65gH9MYStCYIuedzkd2xLqeSKVeeBI4W5ewkfXIuKNOEKxkD9EHOvPJcPoEu4dZF3aFn4tQYXvXNmdwOEmlb3t6qPwGQ6A6oGg6dsdlXBe19DgvZ9fKEyx3UNmyFmz3gfU4SFyx5Iq+MHqFXUwI1irPBb6+cczbkYw= NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(102415321)(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026); SRVR:DB6PR0802MB2151; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0802MB2151; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2151; 4:qFrf0j3AM+LN9TmofVATSb6Myr+QKMrXS60P7ZHaYj/q7PUhyfUr2P2IB8s387VRHpOJHODndsuPauKxsgKX5Nk7CoToIuK0uclBWwwKA4JhDmzFv8bz7RcqXJhfPUO+FQw8+u4uEJVRjaMafM/Tq/EnL/I79pR0aKPhUwcQmVLaz9PJIblw+ec3GW6hgmFh4d4ObBputoijYOvBGiToXTFIx0dSgP3ciMhTWkAYcHz1SK+ws4/bnhYkANSuswYEwk5+zwSTwODBavysr7hxNM5FiX84I55kMabaV32+BVdxIkodZ7l+3OrbSUZWy0l4GNotyzjSYQDcZhF9rRDY1iuPOOjTLJ075tq6790BB6YvwTysHbjpG5mMKeZq8RV/KQVYm2dqpwW1oEzRrKKJL5bXQZn8gCeAwcg0xE42218s5GcpDLLTTEai54Cfnu7Zgjab0yLbplJqnpaeQNZPrjNZmqyFEY7/FNN7NDu6keg= X-Forefront-PRVS: 01208B1E18 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6049001)(6009001)(7916002)(199003)(377424004)(189002)(6666003)(81166006)(36756003)(50986999)(33656002)(81156014)(7846002)(7736002)(5660300001)(110136003)(65816999)(6916009)(3846002)(8676002)(586003)(305945005)(229853001)(54356999)(270700001)(42186005)(6116002)(105586002)(2476003)(2906002)(106356001)(87266999)(66066001)(4326007)(101416001)(4610100001)(568964002)(59896002)(4001350100001)(5000100001)(189998001)(97736004)(80316001)(65956001)(92566002)(64126003)(83506001)(21490400002)(5890100001)(512874002)(450100001)(84326002)(77096005)(68736007)(65806001)(86362001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0802MB2151; H:[10.2.206.73]; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0802MB2151; 23:y0QRXrIixx5G6pNooOxjYSc3SOUAoxBJh+zWn6T?= =?us-ascii?Q?E2z3nPsF4x+O1HAuGrHStcgGPsjk3riQ3/1trXnXQ0ZfPr5I2spgjzDVQLPW?= =?us-ascii?Q?uM2WDEYCmEyA/v+zV0o+8/eU6BHticL6GwEcJBlKkq2eCcw4t53MF08rbxYr?= =?us-ascii?Q?ClZ0hC9Vq31KkfT48Aght2e1Cq82rzYw6vJhAARPtA8lrxq9+MyWAt4FvND5?= =?us-ascii?Q?R3f2thO4DZgHR96CHMccp6ItuK4yXxx7Yvi9qQC7nyHIXUa+p3YbHyomHnAE?= =?us-ascii?Q?lEK1FjALsknanNVK0rlCN0nhDTscygptDCd9rsLEeTsty2FD23Bl/ykpVTBm?= =?us-ascii?Q?1ig/1ZHq7soN5knXtO30QTBOiOPoObi3lC9Qi9ob0bTgeVtqBnVt+BzyQVpo?= =?us-ascii?Q?SJN75hh9eVphEJIQWbGGD33Ntsp751JVMAZ2Fe4n62Zb8TC/AQdFLOMuEyx1?= =?us-ascii?Q?8zGGxZvxsE49B7IAwK1ggg2XcIe8HT2htQTk/Dli+vhgrfD9uqINbSb44vDi?= =?us-ascii?Q?Qn6q1tS0dy9v+oqiGgwp/moRLqIXYCizY8JAQ1WLKPLCfvxryIh4sYz4jHWg?= =?us-ascii?Q?rtr7RkNo7ETWQpCnwoXI/pRVPGg7sm1uxK3Q7H00YegHEc4EeK45Y/mYty5F?= =?us-ascii?Q?hI/pDqtZWbMn5zdzbNyZH4ZyslNI/wsRG6VFr0Q0jyaJh/zRBv1ILo/68sBm?= =?us-ascii?Q?3TL8JPZCHC+7wX7F+Dx5MQ5bMXsuMWqdoeap/Iaqz4yvE5XHG4XWX+5pS42n?= =?us-ascii?Q?mQbCrYHCElZUfeeQdDEirf9iDJwjORF0ihFqrZ5iGEdHi41gH4+1KQ7E2GFs?= =?us-ascii?Q?ess9J3MKlxg2CqotOhTUIFqCMjoiaVpD6W/k0yZHi/1NRRkI97nTUiszyG0u?= =?us-ascii?Q?qtJc6uxn6i/jyFIdHYFfCGtXhFZTyo5YNafdK3Ghyx2pmC0Gv1gd3wMRkMkD?= =?us-ascii?Q?6HrRT+4k26gr8GfJKiqXgfC8MxCc5dOJ2tNUBMJgDmrKk04cU4cMLBJkdnQb?= =?us-ascii?Q?BPKG5TQ5gn9jQLHvMidUwAvg/wEc3Xzru2Cxt/E+5NrfrOYogq9DhmgsGtxm?= =?us-ascii?Q?37V0Zq3AJEOQWj2zot+00Ks6LIkXqjHfYXp8z5Euw7fk85uIQaPfGrdo72yB?= =?us-ascii?Q?nh5NlKz+CsBjQz6SoP6kKjXQeHUXVN9b+mmfdfMbdO+0EPW0AJtdMziFC8gE?= =?us-ascii?Q?fa4E0UlbY1pQ5/4BHkS2xMfH4QutXri9D+LRtATNwK5wb7xWmkass18JaXJ/?= =?us-ascii?Q?rm3DTyp0iu+6PEpQ9hm5z8Lfud5AowWIo9ASptnX135PZxPztB4LWkT8HV72?= =?us-ascii?Q?m2RYsm2iZbFQIRVNMX1DjQ3Qj+cK/F/2pLKfprTB0btNbNcBixwLWaVfQ/pO?= =?us-ascii?Q?PnL2mIeJlCF2vtHu1DQl4eaJ6SV4q10+h5BYOYKA7idHlSPJFqLYGXlwrL7S?= =?us-ascii?Q?AS89zwGV7ZA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2151; 6:Q+1vBgWuImV11/2mFW6M5EItY2fvoWfemqRUEMWRvf685U6OBME/ZMZhRzJtvHZu+tG8ixtKY+ttPz26U8ZKk3rMcEa4zlneKwh5LJIWn2L28Hzku2SYrxwVXY26LFXA5hSdi1G+Ro/hKDtK1oVc3NLt2avKnI344U/q9ZieMtbSSotlyefF5TDhaA1L/q+gusDc+BDqyC7jM26uSm9rAv2Hao1GdDT3VDY1ddN+VJABrcCY6SUrMzGau9IiVvz7H/8rIt/i69NY/OTEypFasm4x/E9HRVkKEbADt7918Knqaa0PzaMbcg1dbpt8nkgC2brgSK33xc1clNJszL7/cg==; 5:BmMiUsgGvLf20QULW+CHqXRZQJCk2VQcgNaz+TDRDjSABfu6XorhGSf3rpnhMvPCyi1SKTwsWKgEhvHhoiOQ0iYmHP4S60U6YDr0JtrDL4b1DO3JZwBc0AeXjKFn+RqJsPHaEzHuB+wtl3xbmPb/nIRPrpy0ADS3/wP/sjjluH0=; 24:V3/L0n4TeOFqdbrNYJ/6e0h+Ox7lsx3eYWYGhJO7dLR5XlOREDcS3SP+S8Anhi+HzpSBHvdW6l77/nTwxnKe73d+va9rhd66xhDXdxi/uHY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2151; 7:sbHozA1uxvOiwH9GoiStjHZbA9VwHfUgnv9DDh9k9f91EUvQD+JqWmYxkE7/xkomBJR7I253omZeG2PFBhtbbI2T+SEH5KCHeRT4Tmcecfd+qncdGEgXCWS73AhaydBP23FvYKRstPQQGLbyaOJK0LncAmpSveio4ujIF0vrAMOjuKeDnu0kMMjk/apfCxZIvu8sEgNCq20OtMXpk7vqlhKDwlm2L5ItrBuKRBxS5Zxq6S7QZmpOUrK4Cqr8vj7FNhbbrVru0g5Wx16N+a0XNj+IFdblNry7i07KHOYda46Uq5TR576thDHp136A45Wv/7juEbcaQ2RXv++RgNxnii26DefrtV9VcitX+/gPI+s= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2016 10:11:50.0733 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2151 X-IsSubscribed: yes Add support for the ARMv8.3 PACGA instruction. (generated files are not in the diff.) include/ 2016-11-08 Szabolcs Nagy * opcode/aarch64.h (enum aarch64_opnd): Add AARCH64_OPND_Rm_SP. opcodes/ 2016-11-08 Szabolcs Nagy * aarch64-tbl.h (arch64_opcode_table): Add pacga. (AARCH64_OPERANDS): Add Rm_SP. * aarch64-opc.c (aarch64_print_operand): Handle AARCH64_OPND_Rm_SP. * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Regenerate. * aarch64-opc-2.c: Regenerate. gas/ 2016-11-08 Szabolcs Nagy * config/tc-aarch64.c (process_omitted_operand): Handle AARCH64_OPND_Rm_SP. (parse_operands): Likewise. gas/testsuite/ 2016-11-08 Szabolcs Nagy * gas/aarch64/pac.s: Add pacga. * gas/aarch64/pac.d: Add pacga. diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 408fe28..e56d068 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -4983,6 +4983,7 @@ process_omitted_operand (enum aarch64_opnd type, const aarch64_opcode *opcode, case AARCH64_OPND_Rt_SYS: case AARCH64_OPND_Rd_SP: case AARCH64_OPND_Rn_SP: + case AARCH64_OPND_Rm_SP: case AARCH64_OPND_Fd: case AARCH64_OPND_Fn: case AARCH64_OPND_Fm: @@ -5314,6 +5315,7 @@ parse_operands (char *str, const aarch64_opcode *opcode) case AARCH64_OPND_Rd_SP: case AARCH64_OPND_Rn_SP: case AARCH64_OPND_SVE_Rn_SP: + case AARCH64_OPND_Rm_SP: po_int_reg_or_fail (REG_TYPE_R_SP); break; diff --git a/gas/testsuite/gas/aarch64/pac.d b/gas/testsuite/gas/aarch64/pac.d index 448e674..4efbd88 100644 --- a/gas/testsuite/gas/aarch64/pac.d +++ b/gas/testsuite/gas/aarch64/pac.d @@ -32,3 +32,5 @@ Disassembly of section \.text: 5c: dac13fe5 autdzb x5 60: dac143e5 xpaci x5 64: dac147e5 xpacd x5 + 68: 9ac33041 pacga x1, x2, x3 + 6c: 9adf3041 pacga x1, x2, sp diff --git a/gas/testsuite/gas/aarch64/pac.s b/gas/testsuite/gas/aarch64/pac.s index dd01682..88f43a8 100644 --- a/gas/testsuite/gas/aarch64/pac.s +++ b/gas/testsuite/gas/aarch64/pac.s @@ -32,3 +32,6 @@ xpaci x5 xpacd x5 + + pacga x1, x2, x3 + pacga x1, x2, sp diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index 6cda660..a25b211 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -140,6 +140,7 @@ enum aarch64_opnd AARCH64_OPND_Rd_SP, /* Integer Rd or SP. */ AARCH64_OPND_Rn_SP, /* Integer Rn or SP. */ + AARCH64_OPND_Rm_SP, /* Integer Rm or SP. */ AARCH64_OPND_PAIRREG, /* Paired register operand. */ AARCH64_OPND_Rm_EXT, /* Integer Rm extended. */ AARCH64_OPND_Rm_SFT, /* Integer Rm shifted. */ diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c index 8e89b5b..f00549c 100644 --- a/opcodes/aarch64-opc.c +++ b/opcodes/aarch64-opc.c @@ -2989,6 +2989,7 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc, case AARCH64_OPND_Rd_SP: case AARCH64_OPND_Rn_SP: case AARCH64_OPND_SVE_Rn_SP: + case AARCH64_OPND_Rm_SP: assert (opnd->qualifier == AARCH64_OPND_QLF_W || opnd->qualifier == AARCH64_OPND_QLF_WSP || opnd->qualifier == AARCH64_OPND_QLF_X diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h index 97522d6..f4c0bd1 100644 --- a/opcodes/aarch64-tbl.h +++ b/opcodes/aarch64-tbl.h @@ -2694,6 +2694,7 @@ struct aarch64_opcode aarch64_opcode_table[] = CORE_INSN ("asr", 0x1ac02800, 0x7fe0fc00, dp_2src, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF | F_ALIAS), CORE_INSN ("rorv", 0x1ac02c00, 0x7fe0fc00, dp_2src, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF | F_HAS_ALIAS), CORE_INSN ("ror", 0x1ac02c00, 0x7fe0fc00, dp_2src, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF | F_ALIAS), + V8_3_INSN ("pacga", 0x9ac03000, 0xffe0fc00, dp_2src, OP3 (Rd, Rn, Rm_SP), QL_I3SAMEX, 0), /* CRC instructions. */ _CRC_INSN ("crc32b", 0x1ac04000, 0xffe0fc00, dp_2src, OP3 (Rd, Rn, Rm), QL_I3SAMEW, 0), _CRC_INSN ("crc32h", 0x1ac04400, 0xffe0fc00, dp_2src, OP3 (Rd, Rn, Rm), QL_I3SAMEW, 0), @@ -3987,6 +3988,8 @@ struct aarch64_opcode aarch64_opcode_table[] = "an integer or stack pointer register") \ Y(INT_REG, regno, "Rn_SP", OPD_F_MAYBE_SP, F(FLD_Rn), \ "an integer or stack pointer register") \ + Y(INT_REG, regno, "Rm_SP", OPD_F_MAYBE_SP, F(FLD_Rm), \ + "an integer or stack pointer register") \ X(INT_REG, 0, ext_regno_pair, "PAIRREG", 0, F(), \ "the second reg of a pair") \ Y(MODIFIED_REG, reg_extended, "Rm_EXT", 0, F(), \