From patchwork Wed Mar 20 15:26:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Hayward X-Patchwork-Id: 31915 Received: (qmail 50202 invoked by alias); 20 Mar 2019 15:26:07 -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 50192 invoked by uid 89); 20 Mar 2019 15:26:06 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-24.9 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 autolearn=ham version=3.3.1 spammy=views X-HELO: EUR02-HE1-obe.outbound.protection.outlook.com Received: from mail-eopbgr10073.outbound.protection.outlook.com (HELO EUR02-HE1-obe.outbound.protection.outlook.com) (40.107.1.73) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 20 Mar 2019 15:26:05 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9pF+M7uZ3kc1wyKHM5nn9ZwiN7WPpUyoC/wpndgIK0I=; b=Quw9DCnxma1wrbd90+WN6HPzfwCyihJGlhbvShgvLe0KVdu5af/mww5g17iwll+N2VLLHpA9KqY9D/qfku/6yk/ndvbq5J4fZoDLypQ9usyp4rTn1VWJpgq0Vex+R/P3XrYVXLStUJf8xmbBJfG8xASpTqkOR7yg2l1NpG15VJo= Received: from AM4PR0802MB2129.eurprd08.prod.outlook.com (10.172.216.148) by AM4PR0802MB2162.eurprd08.prod.outlook.com (10.172.217.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1730.15; Wed, 20 Mar 2019 15:26:01 +0000 Received: from AM4PR0802MB2129.eurprd08.prod.outlook.com ([fe80::39ee:53d8:6053:d3fe]) by AM4PR0802MB2129.eurprd08.prod.outlook.com ([fe80::39ee:53d8:6053:d3fe%10]) with mapi id 15.20.1709.015; Wed, 20 Mar 2019 15:26:01 +0000 From: Alan Hayward To: "gdb-patches@sourceware.org" CC: nd , Alan Hayward Subject: [PATCH] AArch64: 128bit views for SVE registers Date: Wed, 20 Mar 2019 15:26:01 +0000 Message-ID: <20190320152547.73765-1-alan.hayward@arm.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-IsSubscribed: yes SVE can view Z registers as 128bit values using .q prefix. Add this view to the end of Z registers in the SVE feature (the same as V registers), keeping the .d view as the first entry. gdb/ChangeLog: 2019-03-20 Alan Hayward * features/aarch64-sve.c (create_feature_aarch64_sve): Add q view. --- gdb/features/aarch64-sve.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gdb/features/aarch64-sve.c b/gdb/features/aarch64-sve.c index aa2ac7a3c5..63d8ee666c 100644 --- a/gdb/features/aarch64-sve.c +++ b/gdb/features/aarch64-sve.c @@ -31,6 +31,12 @@ create_feature_aarch64_sve (struct target_desc *result, long regnum, feature = tdesc_create_feature (result, "org.gnu.gdb.aarch64.sve"); + element_type = tdesc_named_type (feature, "uint128"); + tdesc_create_vector (feature, "svevqu", element_type, scale); + + element_type = tdesc_named_type (feature, "int128"); + tdesc_create_vector (feature, "svevqs", element_type, scale); + element_type = tdesc_named_type (feature, "ieee_double"); tdesc_create_vector (feature, "svevdf", element_type, 2 * scale); @@ -61,6 +67,12 @@ create_feature_aarch64_sve (struct target_desc *result, long regnum, element_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "svevbs", element_type, 16 * scale); + type_with_fields = tdesc_create_union (feature, "svevnq"); + field_type = tdesc_named_type (feature, "svevqu"); + tdesc_add_field (type_with_fields, "u", field_type); + field_type = tdesc_named_type (feature, "svevqs"); + tdesc_add_field (type_with_fields, "s", field_type); + type_with_fields = tdesc_create_union (feature, "svevnd"); field_type = tdesc_named_type (feature, "svevdf"); tdesc_add_field (type_with_fields, "f", field_type); @@ -98,6 +110,8 @@ create_feature_aarch64_sve (struct target_desc *result, long regnum, tdesc_add_field (type_with_fields, "h", field_type); field_type = tdesc_named_type (feature, "svevnb"); tdesc_add_field (type_with_fields, "b", field_type); + field_type = tdesc_named_type (feature, "svevnq"); + tdesc_add_field (type_with_fields, "q", field_type); field_type = tdesc_named_type (feature, "uint8"); tdesc_create_vector (feature, "svep", field_type, 2 * scale);