From patchwork Fri May 11 10:52:51 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Hayward X-Patchwork-Id: 27234 Received: (qmail 101214 invoked by alias); 11 May 2018 10:53:16 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 101140 invoked by uid 89); 11 May 2018 10:53:15 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.0 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR01-VE1-obe.outbound.protection.outlook.com Received: from mail-ve1eur01on0049.outbound.protection.outlook.com (HELO EUR01-VE1-obe.outbound.protection.outlook.com) (104.47.1.49) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 11 May 2018 10:53:14 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; Received: from C02TF0U7HF1T.arm.com (217.140.96.140) by VI1PR0802MB2143.eurprd08.prod.outlook.com (2603:10a6:800:9b::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.755.16; Fri, 11 May 2018 10:53:02 +0000 From: Alan Hayward To: gdb-patches@sourceware.org Cc: nd@arm.com, Alan Hayward Subject: [PATCH 3/8] Add SVE register defines Date: Fri, 11 May 2018 11:52:51 +0100 Message-Id: <20180511105256.27388-4-alan.hayward@arm.com> In-Reply-To: <20180511105256.27388-1-alan.hayward@arm.com> References: <20180511105256.27388-1-alan.hayward@arm.com> MIME-Version: 1.0 X-ClientProxiedBy: CWXP265CA0010.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:2e::22) To VI1PR0802MB2143.eurprd08.prod.outlook.com (2603:10a6:800:9b::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:VI1PR0802MB2143; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0802MB2143; 3:LZ7gnURXTXEXteRKFn+i1fSQt14juvgbtCyzeFZs0C9jGhrsg90ONPaYejTT2JsO/JrWtHxODQ0I5Hy4aGdt4EtKWr1jKXmbBsmZZIhbBPRUkIjb7joPluSugQEDNgt+MQubK9Q+4ZHE0EFOOOI2wYesWP/GD1ofSBpgTA2fCaUogxRodI8eBhWj3rhDEOSv62HUzK1HPHWb67cvEc9ClW2+4iZorZv+xbi2YRfnDWD1NOEyFgZ9ESnvHdOmi1g3; 25:a/g21J704uoxyoF6ZXmda3uc/D+rCGHHZNnuP6xHQ6m05b92xM5G/QojUKnJjDNhF6FKVox+RIwLPG0+zkOreKHELWJrvvzFDVU2iQDQaOkvgf6jbMns3xxlbYFJK5KFIArr3SZTQTy6ykMhfuMbw2GofUzI0EZGws2ctmmKDnLmjDGJrvQRFxAqlOESYqShDtwnM0wRTpOglzqbdfR4olWD2lpSbVwBZj75S/6qmxo7Oo/PpiThA6P1j6DARu2qwvf5wjGTGqfE0NXl7v/MFfonNvOQdYxS1Zkhn0apuTdgoMWeG6AfouBQqMWMVwM9oOM90QSQhdFgt7lC5J8D7Q==; 31:+MOC8CaIP9nkkRB+SKWULiilJ0S4CpNqV+XFr2VJEPmrUZ5Lj5nerJ2Kosk+teWbj5gKblogGZRUT2OxbslWPUR99eU5ZmVA51qQ7cMcoIC+CpHx4ywcylAZ+ZCLkB0Kw8Aj64d7OrZz2RjWeaMyy0QGiCRYJFXo27al1HKKCO4p1kNCN0CvnpnSWEvUIgbA8diraaghensBsqcfungfBwvGmnL1TV+WfTtNhDfcdM0= X-MS-TrafficTypeDiagnostic: VI1PR0802MB2143: NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1; VI1PR0802MB2143; 20:MgvdnoPeqMnvsXP/tXewUPFBHhGx+FhV4gFBRqdbT1i+hagMahYrzm9rk7An9NJWHAa3Gch/W813zMMamFqTdNEK/gnpNUTQaOswbBsSRvw8NuhbiTf0B6kUqFFTB3nbxtSQWBkQFxu9ozkHkgH62biDz4RAG1gG1GdYraeARBEDDVe3yXb273mJx0dd/lrxoGKPzz51NwFrZHl3KSU2DUB+m9VTkaE0JAWdRIEN6lFBze2Zw/RZ0DIv5RMSXpPU; 4:4posg33Pcaz7TAWfG2ODCACslGhOYxHsQfe+6xAz4Sla7WT2GVtQhQusW+U0z9bnIQpZEB06KAd84ZBIOgLfR74vm3qL7N9GVLLb5xish8uRpNDQhZbq97FojDiQ5ylUjkRskSxRAhN6PBRtNUPpo0nnncpBbrs9B2Ce341tg3EHCSOZkZuUJVF65o4M5UT9AoTMvDdvGWGraGRoNd5mB50NPNoWfikyusUBpZyPNE8P2WuQo+3D0guHLABGzw0NZKSJBR1UDoeYl5/8ZqJv6ISubkSF5kbcgeELeUYP4YZLvt42Woe+OlpGay1DHoV7 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:VI1PR0802MB2143; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0802MB2143; X-Forefront-PRVS: 06691A4183 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(39380400002)(376002)(39860400002)(346002)(396003)(189003)(199004)(377424004)(476003)(956004)(11346002)(59450400001)(2616005)(97736004)(4326008)(48376002)(53936002)(2906002)(50466002)(446003)(66066001)(52116002)(76176011)(2351001)(72206003)(68736007)(51416003)(86362001)(47776003)(575784001)(6116002)(386003)(7696005)(3846002)(1076002)(6486002)(26005)(6666003)(25786009)(16586007)(316002)(478600001)(486006)(53416004)(2361001)(8676002)(81156014)(50226002)(5660300001)(81166006)(305945005)(7736002)(36756003)(105586002)(8936002)(106356001)(6916009)(44832011)(186003)(16526019); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0802MB2143; H:C02TF0U7HF1T.arm.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR0802MB2143; 23:72SlDkyNj0Oz+cXt9RQJojBoMy3uPwhKxIuEeO1?= =?us-ascii?Q?rAGT8nDXY8P9ueuOSYQPY8rgdEpcA6ey1yQwmvrdsbzjMQrcbOt9SGNiMShT?= =?us-ascii?Q?6puZAdKaj05jvVjvPjFAcsKTjPsBc6hw7kBvuTAPss8Z7e0pFYMJsUSZoDVK?= =?us-ascii?Q?7hLW2M3qnmzn2IweQQ7LLP5lYUjxA/R3InIXUQGduH2lsscsQQDbYwnsJG/V?= =?us-ascii?Q?GfbE5DI18GZyVjNi/rC4GW+Dj2MTJMDC5nnHiAmvbNeIts6MJV8raWxysWao?= =?us-ascii?Q?8SKrtrYuzfnz6/FINYcgEyWfobLUtV1nAlQJKL2jhgEnqGrmXwTzKDV2kIH8?= =?us-ascii?Q?Fx1nDRZcCNtSFnnpw5R6mqkrYEzTfut02qYOawaiOg2/bFZA6uzYh4aW9xG3?= =?us-ascii?Q?jaO/kCsLIUoRca9MYGlEHSRQKmC9+gBNsvn7DZKtVsyXjNReAcTuVvuJ0+fo?= =?us-ascii?Q?GwNAkzeekN7gmo9Qq4gap+0JocZXubLCfuFolK/5gBu8pmnmllvFePFz2Ldn?= =?us-ascii?Q?Po0D4eOh5tQOUMVzo63l2anSjWOOcvsiuqTTX5BjEBVOszFmHk5Ic4DdeLfV?= =?us-ascii?Q?Yba7rDzoXoTnBzs7MnP5cA6JDtpuhsVPRdC2LjoEbbLPZ3nDj8fiRZIWoJnb?= =?us-ascii?Q?oBRiDXK4+Hg6ta6HzRyoEokbcJbUTeso73h65Ai//UCtnVQD+e8OYBCmqR9f?= =?us-ascii?Q?AikY/NlvHsf1emO2fHEGL/B6UimXlrluZf09aST9MUvc17kODxRm/Hc+m7LZ?= =?us-ascii?Q?dcNwM74YNSaVkL2f+r49cbWy1dBNjeAxlbvMgmNeU0hHOdMAPV1BerqClWr+?= =?us-ascii?Q?/jHwM7sju52lnwfyuTwfmp7WMva6aqgMu//LEeXNXCra7GoFC6NpH5qbRBkH?= =?us-ascii?Q?eJp+zhnvio5WVkl9r7cJb9L+KmI9hOcK1OoKxNf3/hUItkJbD/tz6wMcBdkk?= =?us-ascii?Q?RmTT+ZjXgaQUZo+Z9FRKYEL61hQh+RvkvEAdyV+o15c/lrZY5BFMpnwA5XRR?= =?us-ascii?Q?lGkoaZK7nIVV9GXZeJYvbtEULk6eoi5vKUbvEqAQppPEbWUefTagptCaLIEm?= =?us-ascii?Q?bBvOoi0X0F2tNNMcFq5y2gYXMaZD5OQ/flwDi5yt08QGuUs7joS9f7gVOdDu?= =?us-ascii?Q?d8tO6oaoFPecnBEXxtsrq+jrwfAY7fVt0wx3FaN4KZVqBk4tAHcuSGxg8p3T?= =?us-ascii?Q?y3Fa8WiI8e/5aXtmLz7KkFJQB4BR0HMZW/gNKy646bqYfryVKbvt9CY3sIR1?= =?us-ascii?Q?I8t+4JU0laStHcPFjcpJ25Mygm4J7qASI388W6QbG9YMDZXm41Npdi7S4Lec?= =?us-ascii?Q?EAK+YGE0NyQMUS/7z8MRs+PWDCcEEYQJy5bBOBDy4k09X2jpsGQN26XCR7JI?= =?us-ascii?Q?ij9WHPA=3D=3D?= X-Microsoft-Antispam-Message-Info: UK0ciZht/hfZSUF3+G2OkgfI7KqfKpweRbVKOQgCrcW073BjRxse176APVe0n3bkoAdvRqrs4c3DYDgjwSoSz1EUPycHfkDd47v7eOIXk/TjPaO6HYYGWv1YBvp1p5/pdbEowsQuhv01daryJ6MFFzlFKZ6uk1/9HJkzHROibrrdgSmWGLOmVQo+e0LyG21S X-Microsoft-Exchange-Diagnostics: 1; VI1PR0802MB2143; 6:5RmFlWy7Bx7skFSQlQJFCwyKzRfCjWBnFNFN1jZ4WaRWDNxEn6FPrinWSBmNJ49F/M1XrcJqCk5d7z4nUKuthAOw4Wa3lvCBWqylICXC9PPuoa4oxIF4+xaw1+JagUDbzG/0DVdqz86B81HuEWDw4QONKBnAoRozmoxMe7dX/pKU0HF/7y8Hpg3iIgIHCaDxJV5miguh+1Gnrjl8TMJSF8vJU4mkX9rXM+2cn1W/XNgugu4gQXyN/vMWIQXs8z3DHwadev3zK2tFZi0PdgXAHftqqzBGgwQwTTyrDrOJyuZsOUJ867JUqnQKIBWnBD7Dqs5hbiQ6iOOu8Si2hStby4/xPRWb4C07iLB/OrmUXhhZp7/JrNe2MaFLHY3FDFxkuxnQ9Ffh2qnQ4mQJsmlZdopokhaz0Ar6AGO/JNV1z06/QynLARz4uGeWfWRta8H75atAgdDc34+6xpE3Vi/vWQ==; 5:tbIhIwAd3VRaK+Pfm1RPqd/l0VoZ5Iabp5lhfZqW9xuxaLtj5W3ZLAHgwm0GHk865h8/s4buEJ9DqVGQtHiQgS4y3IZN0PY9OKSXDGPjBJZD3bLFypTwl7mjpEsmr9XPt7gdID1hddXZe8BvaAv+utPKLd6uoPaVgWMwcRHHUkw=; 24:4WvhBPIjeKV6NU6zx52xzIHZWJvU1V9sVeyLcS+YQLYMpaz0u3DxZU9HU5skAKOv/+GzP3FqQ29IFfskDw5TXIra6I3cfWk6SUU/8/eTUgY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0802MB2143; 7:AefQWIah4sNctVnUqjw+gjynzboem+hi9rV3TlHhEmDWlnHS+g57bJDKL7zrA+iXpKFOaHRyFmtuaR3VoVVOK9O1xHOMDu7RalCfL0/sZ5Kf7HKU8bqQTWYeLlwejY+uocSCNrHqGnQcg+JZq7NE+F4ZF7Cq6jf+D6aN4IOzCBkJrvujAHsPjMNaIhMpMp56gm0qr125KOnE4s21XEF776AYbb28AOJY4HbKXGw5ueYNuAo6ssyy26g4SXop+zwV X-MS-Office365-Filtering-Correlation-Id: caeac70a-ec56-44c8-b169-08d5b72d5e88 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 May 2018 10:53:02.6783 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: caeac70a-ec56-44c8-b169-08d5b72d5e88 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2143 X-IsSubscribed: yes Add all the SVE register defines used by the later patches. In order to prevent gaps in the register numbering, the Z registers reuse the V register numbers (which become pseudos on SVE). 2018-05-11 Alan Hayward * aarch64-tdep.c (aarch64_sve_register_names): New const var. * arch/aarch64.h (enum aarch64_regnum): Add SVE entries. (AARCH64_SVE_Z_REGS_NUM): New define. (AARCH64_SVE_P_REGS_NUM): Likewise. (AARCH64_SVE_NUM_REGS): Likewise. --- gdb/aarch64-tdep.c | 21 +++++++++++++++++++++ gdb/arch/aarch64.h | 15 ++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c index 806a3dac55..1dc31a43bd 100644 --- a/gdb/aarch64-tdep.c +++ b/gdb/aarch64-tdep.c @@ -156,6 +156,27 @@ static const char *const aarch64_v_register_names[] = "fpcr" }; +/* The SVE 'Z' and 'P' registers. */ +static const char *const aarch64_sve_register_names[] = +{ + /* These registers must appear in consecutive RAW register number + order and they must begin with AARCH64_SVE_Z0_REGNUM! */ + "z0", "z1", "z2", "z3", + "z4", "z5", "z6", "z7", + "z8", "z9", "z10", "z11", + "z12", "z13", "z14", "z15", + "z16", "z17", "z18", "z19", + "z20", "z21", "z22", "z23", + "z24", "z25", "z26", "z27", + "z28", "z29", "z30", "z31", + "fpsr", "fpcr", + "p0", "p1", "p2", "p3", + "p4", "p5", "p6", "p7", + "p8", "p9", "p10", "p11", + "p12", "p13", "p14", "p15", + "ffr", "vg" +}; + /* AArch64 prologue cache structure. */ struct aarch64_prologue_cache { diff --git a/gdb/arch/aarch64.h b/gdb/arch/aarch64.h index af0b157c51..9855e6f286 100644 --- a/gdb/arch/aarch64.h +++ b/gdb/arch/aarch64.h @@ -24,7 +24,9 @@ target_desc *aarch64_create_target_description (long vq); -/* Register numbers of various important registers. */ +/* Register numbers of various important registers. + Note that on SVE, the Z registers reuse the V register numbers and the V + registers become pseudo registers. */ enum aarch64_regnum { AARCH64_X0_REGNUM, /* First integer register. */ @@ -35,8 +37,15 @@ enum aarch64_regnum AARCH64_CPSR_REGNUM, /* Current Program Status Register. */ AARCH64_V0_REGNUM, /* First fp/vec register. */ AARCH64_V31_REGNUM = AARCH64_V0_REGNUM + 31, /* Last fp/vec register. */ + AARCH64_SVE_Z0_REGNUM = AARCH64_V0_REGNUM, /* First SVE Z register. */ + AARCH64_SVE_Z31_REGNUM = AARCH64_V31_REGNUM, /* Last SVE Z register. */ AARCH64_FPSR_REGNUM, /* Floating Point Status Register. */ AARCH64_FPCR_REGNUM, /* Floating Point Control Register. */ + AARCH64_SVE_P0_REGNUM, /* First SVE predicate register. */ + AARCH64_SVE_P15_REGNUM = AARCH64_SVE_P0_REGNUM + 15, /* Last SVE predicate + register. */ + AARCH64_SVE_FFR_REGNUM, /* SVE First Fault Register. */ + AARCH64_SVE_VG_REGNUM, /* SVE Vector Gradient. */ /* Other useful registers. */ AARCH64_LAST_X_ARG_REGNUM = AARCH64_X0_REGNUM + 7, @@ -46,7 +55,11 @@ enum aarch64_regnum #define AARCH64_X_REGS_NUM 31 #define AARCH64_V_REGS_NUM 32 +#define AARCH64_SVE_Z_REGS_NUM AARCH64_V_REGS_NUM +#define AARCH64_SVE_P_REGS_NUM 16 #define AARCH64_NUM_REGS AARCH64_FPCR_REGNUM + 1 +#define AARCH64_SVE_NUM_REGS AARCH64_SVE_VG_REGNUM + 1 + /* There are a number of ways of expressing the current SVE vector size: