From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2084.outbound.protection.outlook.com [40.107.20.84]) by sourceware.org (Postfix) with ESMTPS id 288EE3858C35 for ; Mon, 27 Nov 2023 16:42:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 288EE3858C35 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 288EE3858C35 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.20.84 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1701103372; cv=pass; b=DH3cLqo/MhOYpeDR9qrMwqHg6kxtSOgtPj5Uk8BY9jYz0OX7hYTQb6mw7fcfk8uElx1Xg2Q9VUrfBxBRh7cBaOZezjbUYOF4AnWRx+CdDPQ4mY6XCyUk3bELfWLgzLdOn+QlcoSzFNAWzD6EkHeefpZ3Vtp2g+gQhsva+wbbspU= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1701103372; c=relaxed/simple; bh=Xh2FJHZDLYEnJ/1fcJyJ3ijgNCBFT/IyOuNVWnCgZYA=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=eCCFAfliSVKKcb4mjJM5YhxQf1DcYQ7rWVaSiOx9eKeMwEfaZn4sekPSJxuDRSXHAwxa0SWFUlZ4Av/5dG2HIhJolQ2cyYUUeoAK6IEhGiLKzaF/WNZK2RVsuh3ct2Zj0bW+ljkLejaxWyTa5IPDE5xmAMX6Hr1GwADT2JWG3do= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=TyMkeoQKQikJQcRQVPj2JD5Hc9V6Q5L8VggoIw08u1zCMzG8XHhSMhep0RNk4y6vaDKQgoxLJe0Wa9u2QthAoj0YxT8YIbkILftWfCSnY2N9Y3SrsO2YLJ9U89DJTWRKvgp89UFUdSCNOv0bEH3s6c1/leNb++2eGWP+W4uggA5TF9w/tQOjOKbPrE9GOsFZdMPMJMBnCPDAYNYTYhFIf0NtjRmeB4pbn35sIVkO4CzCq5t7Qwo5aIbCuC6CSbunjyXQQGkdhMB+V2r9t2s5DmUOvEr7um/6ZZCuv+sqk2IQjvMYAYyYiVV4/DXsHVZYrsGM7cjY5fBCafk/DL7EWg== ARC-Message-Signature: i=2; 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=XrN2gevPYvPEINEqL+dLZ4aoiMK/4eIBZf2oSm4efZo=; b=gVtHf8TjjhtV4U/8WUZ+iqDFZ62BCZgrhOTbveDcdUSawBId/VZCivpTLmnQietpgI/ZhocvFNAN94iszt4EfsgiZjMNzhjE07LfE0thHL8FVk7HVCkLknpGSZt1ezX7EerUU+Gn1yXsKMvmY25i3r1UjtD+K5Y4OG0EIyfCsl9USdVyVKm2D7kUSWuJFqIQ57ByLhw3DY5eRFW1jlpAGg6VFzrMrwtgRuDa5yX3c63vhxj0lCXV6x4hBvxfnF+Nty+MtuaG2f+eR+BHYkqUlbJIrkkWqSw3T8eg5vRWk+V2uGiKG+KGuQfbUX+grj6gMbxbl//MwfTHMtWv+Hj/mg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) 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=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XrN2gevPYvPEINEqL+dLZ4aoiMK/4eIBZf2oSm4efZo=; b=V5QJId0OJ4gD+BqLpIkiDgZJcv2o0czNujM0AQS54OhEsf7arjsCW7pfRjaH7X5Y8PtunrCQdHe8xwGglyxWI377F/iGweZ4fFBaZkkskOkM2QrQxknPHx5Vx/VvIUjcv8yNyNNI21YZqLS4kEllyugkfgj1XADMJ/ZpyOZMi/k= Received: from DUZPR01CA0054.eurprd01.prod.exchangelabs.com (2603:10a6:10:469::10) by PA4PR08MB6302.eurprd08.prod.outlook.com (2603:10a6:102:ed::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Mon, 27 Nov 2023 16:42:47 +0000 Received: from DB1PEPF00039233.eurprd03.prod.outlook.com (2603:10a6:10:469:cafe::4b) by DUZPR01CA0054.outlook.office365.com (2603:10a6:10:469::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27 via Frontend Transport; Mon, 27 Nov 2023 16:42:47 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB1PEPF00039233.mail.protection.outlook.com (10.167.8.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.17 via Frontend Transport; Mon, 27 Nov 2023 16:42:47 +0000 Received: ("Tessian outbound 385ad2f98d71:v228"); Mon, 27 Nov 2023 16:42:47 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: c7dfd1bce1957218 X-CR-MTA-TID: 64aa7808 Received: from 5d231b0dae9a.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id B89AA646-81AD-4C50-A3C8-83463338C325.1; Mon, 27 Nov 2023 16:42:40 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5d231b0dae9a.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 27 Nov 2023 16:42:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FcxkdFidZEIp3NKcK97ij293oJJgREg//ZMGbH6i8wu5nt7xGBP8V9QGcx2fmWSPDYN44Bo2hYbOwZ1SdehfrR7XELN2Lk8NFYxqb/CCitI490rzuF9JEFwhBpzX79OdDB+rCQT/p41++NJ3Bc9tuBDq5z8rYPTwk+g8baddq+b7OL7d2zzotXDCC1ja8lWWtHsfoeDNMXjXqcIsqj0Px24TF4UaP353n5akf8xTFVqrO2Y2Zo+uix9pSqe/8YsEktyF6W5KAdGdWGaUC8gAKk3h6qLmbxevI9nsTQzE8FP9jLGLvQ2iRn4E8Fuztxagz7RvOBOrnM2ygYlLAzBPqA== 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=XrN2gevPYvPEINEqL+dLZ4aoiMK/4eIBZf2oSm4efZo=; b=GSv/D7YxY2o9pVG4l+Kemzdg877SU/LhjoloRNe8RF7Hbda1XyKXRNHjAeZaXkb7iYkquumSndIvw6QS8zEYoXL8MDBHiw1f1kquGwU38jD+O+y8SMgJb2O754uPWoNM0wh2ydIgz86Tu7lrvTu9qCIcWnlXyEKQdOmdXa+suMiFOJVSS9B0wbl2vg+ifFm8y5XBdeeyzKWxAF6LdkohZdZ0z6RYCY6i9OICZfbdX3DPMi08Zcx2Ki7ANDsUAztgYqBhQcuW3TdYGVhPIQANUOFp+Sn9ZFq43DMwJvfxvg1DE9Ktmlzl4BbXOxLUgY6Ot7rbdh5Bkc3ZriGXT5W4mg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XrN2gevPYvPEINEqL+dLZ4aoiMK/4eIBZf2oSm4efZo=; b=V5QJId0OJ4gD+BqLpIkiDgZJcv2o0czNujM0AQS54OhEsf7arjsCW7pfRjaH7X5Y8PtunrCQdHe8xwGglyxWI377F/iGweZ4fFBaZkkskOkM2QrQxknPHx5Vx/VvIUjcv8yNyNNI21YZqLS4kEllyugkfgj1XADMJ/ZpyOZMi/k= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) by DU5PR08MB10774.eurprd08.prod.outlook.com (2603:10a6:10:529::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.28; Mon, 27 Nov 2023 16:42:38 +0000 Received: from VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::e05e:c012:f1f9:eb51]) by VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::e05e:c012:f1f9:eb51%4]) with mapi id 15.20.7025.022; Mon, 27 Nov 2023 16:42:37 +0000 Message-ID: <24a194dd-e9b9-4945-b507-0af28b13f5f6@arm.com> Date: Mon, 27 Nov 2023 16:42:31 +0000 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 23/24] gdb: migrate arm to new gdbarch_pseudo_register_write Content-Language: en-US To: Simon Marchi , gdb-patches@sourceware.org Cc: John Baldwin , Andrew Burgess References: <20231124212656.96801-1-simon.marchi@efficios.com> <20231124212656.96801-24-simon.marchi@efficios.com> From: Luis Machado In-Reply-To: <20231124212656.96801-24-simon.marchi@efficios.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0478.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a8::15) To VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI1PR08MB3919:EE_|DU5PR08MB10774:EE_|DB1PEPF00039233:EE_|PA4PR08MB6302:EE_ X-MS-Office365-Filtering-Correlation-Id: b5cc9564-1216-4f0a-3a0d-08dbef67e32d x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 3MpmRRbYfW/foEnGkDm0ZCeVd7oVXAc0pAVfY+Vl4Gl+nGzQg3jeZ+9Y1c/oShCJ6t4XsCrajiaCIe/CutYrCJw6lRuY3nyiNJY9iCLOXCtsiaqkX2ssIXWuKpdEzHLlzR2RoQNKV4IAMaw3FwD3TwAVREnA5a6fZI+r+lytZx+pHvukSPXzbqiaFpIvWUgqX4QAkK3tOQALSfbt25yq6KD7mDQED2ehYn+XxpO9GFJctWwszjQzAR7dwJqbkJAtC579tzYZh9DrJBAwK0qILaviFLTFICJaImPUtaW7F8hfvfCEMSyALuotrv0DfFq5oQRt3zcMWZ9Ll5SXoYB0W7m/iL01cDW0P48eo4hbQ0lx+Ndd6rzKFACi5YYw+yRawgNHi5t7Zn+8LdBh0rAbuq7jVRt/jvuSOnno3eGHdfsiOW8a08ecJcJkV3ChTbEYIno5wjMzAtW+1+wcqUExEvAJjLpJcBKys8rye84lG4dU+Clie0zoBD4pLgfRBuvX/S7LPECWxa71VcD4PkoF8FcZ6fVe7W3UL3WvDWiy8GLu87nrMrg/8IP0soLPss8w7X1J6RBNFsjGbJh643M20W8TzcLztutFYUZ463iWRHGIk0Qg8DOaoS6zcWXh5wU2XgRhciHLtdjaVlcoBDKN3w== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB3919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(396003)(376002)(346002)(39860400002)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(6666004)(8936002)(8676002)(4326008)(6512007)(6506007)(53546011)(66556008)(66476007)(66946007)(54906003)(316002)(6486002)(478600001)(36756003)(38100700002)(41300700001)(31686004)(86362001)(26005)(44832011)(31696002)(2906002)(2616005)(83380400001)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10774 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF00039233.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: e45b2c23-b9d5-46e0-48cd-08dbef67dcfa X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ljkHhBPJd512+PH3WsWtRaDTeM+QvI77+3mYt/RNg52qnMSXj0zFwTBUyxzklhI6JD7Wfn+YfcZ8vKcAaHaHaGyWseL1M7koujvLsXvegomACwoSfEf7Gf0hCA1xNdl3pJrqPTu5jfoxp5eGA1ZsMahN4FFTyUP+5Z2DyOdcJNHYMDf6WERLOOJ8v0FyJRdXBFY9eRsgkmoktuFrXCqxifhB0CzonIWPcmTsA1BHItfVFMhXHSp9GbpBo3gJduy20Po7W64hPfu92mYIbOy/VLYozhUilXPXC30OPwSlo+inDt5yed5yAw3/m70AA7/2lyqOVk4Kc4K6y5aInZfKRKLqaF9z6MxzFCC7eztBhxEffFQ6IQ+gwOYOXOCVHMmH1brTxJmArbJgD0+gbli/+2Ydo9waWAIOXgoCX5fZs5meT/1wsL713oce9FnRTmohhjHWICTtvaXmzLV+H/Lvw6FxBYj6enV3LQobHDygct2MuOYZwrPA0K61HbH4j1E5wbcBU+rCqLQ5KN3wVB4vM68Xb6GIyCYc/7lDEP4F2i3pbxe3jRVoe4+PTqT6lGnRJKgop5Wsh9o+q+hFux8xfE7ALXBahvfnI9fcXdtJONcFn4PVnt7h/CnU2mHD8QNtp6WUaIF/wBvDQXSdoXYqTDp0VuXerXPl8gBgptGq5+cR9C+tGRIMYAy2yYIgVMlpNnXOXYxLgnWJoeb3dyiFCiTAAki9+AGrKdjfcMW0+1gv78VAyOoNbqYY+D5ZP5fk+LKqcfAq4MHNacqQ1lowfQ== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(4636009)(396003)(376002)(39860400002)(136003)(346002)(230922051799003)(1800799012)(64100799003)(82310400011)(186009)(451199024)(36840700001)(46966006)(40470700004)(47076005)(26005)(336012)(31686004)(6486002)(83380400001)(36860700001)(40480700001)(107886003)(2616005)(53546011)(6506007)(6666004)(40460700003)(70206006)(356005)(41300700001)(2906002)(86362001)(8676002)(82740400003)(4326008)(44832011)(8936002)(31696002)(5660300002)(36756003)(70586007)(478600001)(54906003)(316002)(6512007)(81166007)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 16:42:47.5119 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b5cc9564-1216-4f0a-3a0d-08dbef67e32d X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF00039233.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6302 X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY 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: On 11/24/23 21:26, Simon Marchi wrote: > Make arm use the new gdbarch_pseudo_register_write. This fixes writing > pseudo registers to non-current frames for that architecture. > > Change-Id: Icb2a649ab6394817844230e9e94c3d0564d2f765 > Reviewed-By: John Baldwin > --- > gdb/arm-tdep.c | 62 +++++++++++++++++++++++++++++--------------------- > 1 file changed, 36 insertions(+), 26 deletions(-) > > diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c > index cded66c91454..4e34203243af 100644 > --- a/gdb/arm-tdep.c > +++ b/gdb/arm-tdep.c > @@ -9908,57 +9908,67 @@ arm_neon_quad_write (struct gdbarch *gdbarch, struct regcache *regcache, > regcache->raw_write (double_regnum + 1, buf + 8); > } > > +static void > +arm_neon_quad_write (gdbarch *gdbarch, frame_info_ptr next_frame, > + int quad_reg_index, gdb::array_view buf) > +{ > + std::string raw_reg_name = string_printf ("d%d", quad_reg_index << 1); > + int double_regnum > + = user_reg_map_name_to_regnum (gdbarch, raw_reg_name.data (), > + raw_reg_name.length ()); > + > + pseudo_to_concat_raw (next_frame, buf, double_regnum, double_regnum + 1); > +} > + > /* Store the contents of BUF to the MVE pseudo register REGNUM. */ > > static void > -arm_mve_pseudo_write (struct gdbarch *gdbarch, struct regcache *regcache, > - int regnum, const gdb_byte *buf) > +arm_mve_pseudo_write (gdbarch *gdbarch, frame_info_ptr next_frame, > + int pseudo_reg_num, gdb::array_view buf) > { > arm_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); > > /* P0 is the first 16 bits of VPR. */ > - regcache->raw_write_part (tdep->mve_vpr_regnum, 0, 2, buf); > + pseudo_to_raw_part(next_frame, buf, tdep->mve_vpr_regnum, 0); > } > > static void > -arm_pseudo_write (struct gdbarch *gdbarch, struct regcache *regcache, > - int regnum, const gdb_byte *buf) > +arm_pseudo_write (gdbarch *gdbarch, frame_info_ptr next_frame, > + const int pseudo_reg_num, > + gdb::array_view buf) > { > - const int num_regs = gdbarch_num_regs (gdbarch); > - char name_buf[4]; > - gdb_byte reg_buf[8]; > - int offset, double_regnum; > arm_gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); > > - gdb_assert (regnum >= num_regs); > + gdb_assert (pseudo_reg_num >= gdbarch_num_regs (gdbarch)); > > - if (is_q_pseudo (gdbarch, regnum)) > + if (is_q_pseudo (gdbarch, pseudo_reg_num)) > { > /* Quad-precision register. */ > - arm_neon_quad_write (gdbarch, regcache, > - regnum - tdep->q_pseudo_base, buf); > + arm_neon_quad_write (gdbarch, next_frame, > + pseudo_reg_num - tdep->q_pseudo_base, buf); > } > - else if (is_mve_pseudo (gdbarch, regnum)) > - arm_mve_pseudo_write (gdbarch, regcache, regnum, buf); > + else if (is_mve_pseudo (gdbarch, pseudo_reg_num)) > + arm_mve_pseudo_write (gdbarch, next_frame, pseudo_reg_num, buf); > else > { > - regnum -= tdep->s_pseudo_base; > + int s_reg_index = pseudo_reg_num - tdep->s_pseudo_base; > + > /* Single-precision register. */ > - gdb_assert (regnum < 32); > + gdb_assert (s_reg_index < 32); > > /* s0 is always the least significant half of d0. */ > + int offset; > if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG) > - offset = (regnum & 1) ? 0 : 4; > + offset = (s_reg_index & 1) ? 0 : 4; > else > - offset = (regnum & 1) ? 4 : 0; > + offset = (s_reg_index & 1) ? 4 : 0; > > - xsnprintf (name_buf, sizeof (name_buf), "d%d", regnum >> 1); > - double_regnum = user_reg_map_name_to_regnum (gdbarch, name_buf, > - strlen (name_buf)); > + std::string raw_reg_name = string_printf ("d%d", s_reg_index >> 1); > + int double_regnum > + = user_reg_map_name_to_regnum (gdbarch, raw_reg_name.c_str (), > + raw_reg_name.length ()); > > - regcache->raw_read (double_regnum, reg_buf); > - memcpy (reg_buf + offset, buf, 4); > - regcache->raw_write (double_regnum, reg_buf); > + pseudo_to_raw_part (next_frame, buf, double_regnum, offset); > } > } > > @@ -10918,7 +10928,7 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) > { > set_gdbarch_num_pseudo_regs (gdbarch, num_pseudos); > set_gdbarch_pseudo_register_read_value (gdbarch, arm_pseudo_read_value); > - set_gdbarch_deprecated_pseudo_register_write (gdbarch, arm_pseudo_write); > + set_gdbarch_pseudo_register_write (gdbarch, arm_pseudo_write); > } > > /* Add standard register aliases. We add aliases even for those LGTM. Approved-by: Luis Machado