From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id mA1bFOy0rWjGuwwAWB0awg (envelope-from ) for ; Tue, 26 Aug 2025 09:21:48 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=X8pWr7Q0; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 41A431E043; Tue, 26 Aug 2025 09:21:48 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_LOW,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=no autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 57AD41E043 for ; Tue, 26 Aug 2025 09:21:46 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CBFF93857439 for ; Tue, 26 Aug 2025 13:21:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CBFF93857439 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=X8pWr7Q0 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13]) by sourceware.org (Postfix) with ESMTPS id 988103857B9E for ; Tue, 26 Aug 2025 13:21:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 988103857B9E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 988103857B9E Authentication-Results: server2.sourceware.org; arc=fail smtp.remote-ip=192.198.163.13 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1756214463; cv=fail; b=X5pdxxS5+gFRYWH21QbquaUdKvD+nTiPzPLksA7qoVVxPpvsu4wc1GI0wSNke1lRRtioR1fYwaBUlP0O57cKAaAtf9ZAzbEtvTdz8FmyM1j75cooTBIVCY1dXKKwXmK/KqmTaSnZzkxVpYV4ytVg07JriwkwSSwgiPojnOtW4Gw= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1756214463; c=relaxed/simple; bh=CRPtWz3bgCs01l145wqas9IFIisA7UP1cuQN7X8OhCc=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=TdD+N8vgiGCWNOgmm5ZyHCC4ID88vhUGS73GxLu+pNVTSI47p/fCZLn/CUq2nHwnvLtmyoSjfIzMDqZbbI7w0HPHgjI4amM0vU+Lzsr86YFoM/NAVhsCL6BtcPxYhyutcFYn/fb2TkxKeOOMRQJg/+OXtbVfZmB6MwY3Q4CbE+U= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 988103857B9E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1756214463; x=1787750463; h=from:to:subject:date:message-id:references:in-reply-to: mime-version:content-transfer-encoding; bh=CRPtWz3bgCs01l145wqas9IFIisA7UP1cuQN7X8OhCc=; b=X8pWr7Q02+gFnzoUqqe2vyBMr0ReSdD7iQDv4fovvGGtZLL87K1MHV1F itS6jkPRVzjkkqrlYnpWrAqumTXOTPtKgyepgZhIH5HfAK5rgpNqGYIJE yV8Qyg79KENYv+hxvdY3yxHYNLr6/wnz/Q+sX6IZw/bRnj8iQjnptUfNz BVvBw47auFW8oGN+vbV6wp6q6J38L2DaJ1TFq/4LzY3uJi0y6M3mRe4ir 6H3YbPuXVa5rFzZfMrRZ4SGLpttT2ykRO/kYnx0x0rJeHf8n0YimBeah9 sQ7eFcDqsCqW4aQv0SfkrLDxXtB3cozLHzYXhEfx0kDq2V/PUx3g1Kzu8 g==; X-CSE-ConnectionGUID: tNbHAvVES2KHkj9OoU465Q== X-CSE-MsgGUID: AIPcHoN2RB2czLT3P8J4jQ== X-IronPort-AV: E=McAfee;i="6800,10657,11534"; a="61083866" X-IronPort-AV: E=Sophos;i="6.18,214,1751266800"; d="scan'208";a="61083866" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Aug 2025 06:21:02 -0700 X-CSE-ConnectionGUID: CfSTfqPrQs2ljNUAOo9rOA== X-CSE-MsgGUID: XPbCN/XATcim5dYba2NrDQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.18,214,1751266800"; d="scan'208";a="200466106" Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23]) by fmviesa001.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Aug 2025 06:21:01 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Tue, 26 Aug 2025 06:21:01 -0700 Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17 via Frontend Transport; Tue, 26 Aug 2025 06:21:01 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (40.107.236.72) by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Tue, 26 Aug 2025 06:21:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Dhz43ghParDuuovh8LmhT00iVD/XQaUGd9Z9z2JfG5zU8a0IzFa+6wWUTCD72LGZgepuksiZDV1xzFYUHoNomAnJ7QFEUE1wc/m+RRW5Snd78ezg4yLT4R4Vfv1wQon6OoiWOL23lrPwqPXb0SDCBygbuMvdJ5PGFmeEjomc2BFeqiqzhdLUDt4zyIFfVv4jm8lSJ9EVuDOSdfVubddPhvuCv1+NA1gvUlrW46eQKx6smxI5+xPNcYPIbLz5IYq/hHDY5s/DJFc0rl4TiX89hKcn2eDSHc3heTIfmPbL9cNekLZPW7ctxPoff9Jk8pRgX6226qGWV9mnSb0A/Mh6Lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=0MLf49zAHu+cSzJyO2ybp4vERRq1ViWAhifDOMHrDA8=; b=MneRvrHk4t+9byB3bbZvk22yd+Z9Nka4rPP2/DcfW1wqLM7Jh4OKGPkHf6gzPvnnpZU1Sxt1NlnteM8RO7BUrqWiVuvOKPKWlviIEDjoYu6Kbf3FWJNIdoN1yPBWCsYe0HgsdLqdYbxfjycYuqoO9ZDB+XUQRtwgu3y/SgeCDlD5d41c8JUgMchoBENPJ6tXxVpx9eNSxaXX6ltS590fUUaEDruAI39XKwGu/zZE9J5B0SH+zacy4tcoMODqEcxl5hRWevQAuqFoXlsCohpWDfD8orb0wf8B+YMpq//GFiGlqx+JDfBTRtHiK6hBagv6Uo1JywVtFo9Bf2BEnFMbBw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from IA4PR11MB9396.namprd11.prod.outlook.com (2603:10b6:208:56a::17) by SN7PR11MB6677.namprd11.prod.outlook.com (2603:10b6:806:26b::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.23; Tue, 26 Aug 2025 13:20:58 +0000 Received: from IA4PR11MB9396.namprd11.prod.outlook.com ([fe80::5702:dcf4:9fc3:bb01]) by IA4PR11MB9396.namprd11.prod.outlook.com ([fe80::5702:dcf4:9fc3:bb01%4]) with mapi id 15.20.9052.019; Tue, 26 Aug 2025 13:20:58 +0000 From: "Gerlicher, Klaus" To: Tom de Vries , "gdb-patches@sourceware.org" Subject: RE: [PATCH] [gdb/tdep] Add XOP support in amd64_get_insn_details Thread-Topic: [PATCH] [gdb/tdep] Add XOP support in amd64_get_insn_details Thread-Index: AQHcFmfGKokQfIp8WEatfwu+4mshcrR067Tw Date: Tue, 26 Aug 2025 13:20:58 +0000 Message-ID: References: <20250826085926.6517-1-tdevries@suse.de> In-Reply-To: <20250826085926.6517-1-tdevries@suse.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: IA4PR11MB9396:EE_|SN7PR11MB6677:EE_ x-ms-office365-filtering-correlation-id: aaaeb630-9ed1-41e4-e9a9-08dde4a36549 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|1800799024|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?XgSt0TzKEMTeGlfpWoK6pHiu7zbMC0dM9mJ59Lt2CVpt/AP3QsLBe+rXTvv4?= =?us-ascii?Q?R5CKpPkvR22bhv/B+HDVWEf2r0yZBJ4mGYcbxx1gEccUHVSJ93fTNmWto5tD?= =?us-ascii?Q?tHhaHXHtfTNsiGW5dq2T9gCDF/FqhPg86h63Ef/SBdH/ocnO59kLMUkeSpfR?= =?us-ascii?Q?g4YLutRPGXwwhlqlFwsRJwXXSguXXRy9HB1hn7gHuIACpYwln7vra8tHQAOg?= =?us-ascii?Q?/FWgCPTD+aMnL1TJ3CxjGbhd6UsS79O0bpKyN/JGd8fqSFcbFjW1286C8vCa?= =?us-ascii?Q?54q/RaMTyiz173IXqR6n4u0LPFdMGjGekxzWu7MYtg0uHM0hzDXHMtAlRZec?= =?us-ascii?Q?vkWGDb6h4h0JJWdk8Zs13iOnmbOhq0Ng3200A/6ULGANXswZHm6NMMV+JJ94?= =?us-ascii?Q?Z4pNZITwrCbVPukoQYvOrWRc7vPfXhituTHE13Leef7FULcQoQrQa36YaoFD?= =?us-ascii?Q?PhqGiO2Xxu97bIifQwNiRvWmQVbOuKCk5XrjzdDbA+xMQkoB9H0g7bl8t34N?= =?us-ascii?Q?SrP6AGMtKz4Amqb9C5jfpAQFZlMxVuFPCcoHTTOrGmOvF1uaIpPvVaBSgZSl?= =?us-ascii?Q?LDOBAPRujDV1GnjEUmmCE/uadx8vb1rt3Mit3Nl4v02d11CS6UMp2eRJ/BCx?= =?us-ascii?Q?UKGU+aALAbNYi9yeUOO3LsyTBlNFzsJ7tXEvwu+H+NEslHZcdLzmPVTtWdhq?= =?us-ascii?Q?j7YjJUxyFfSLt2YMAdsasMAIpLyvKz9u3KdUTbWkBRyRszAIa4yeXU3ol93p?= =?us-ascii?Q?8pxXy0mbiQdomewOkbgpI6s0QfcWsTiFXRhho6FJswWFPtZ1WFMxy71qOdk4?= =?us-ascii?Q?RukaUgs0EAGbF6wlLUVNGzoyTyiDQVCP/l4bQLNLPE32vKCnpJ+dLvtc2JKW?= =?us-ascii?Q?dCNTiwG0sZrnpyu9uqS1wgMkkfFNFI61m1l0XQEQ14RYomOtO5QOuSzEGy4g?= =?us-ascii?Q?oawnARp9vVuWJrbiey2bsaqpNmJkL2mhW8xvah8psu9RwKnak8ywwmnmHnLh?= =?us-ascii?Q?OXQpFXxSYWXWU9g2m3nbS1m6oWQ2cCiDXoZElpsABCj9dTbHzdXj7gwDenRR?= =?us-ascii?Q?cTXmsZVkZfS0TyfAhons2kflCI5G6oOM5idApW+SN3hjwPfRYqDq5pPs+o6x?= =?us-ascii?Q?so3M+WzZzh5skcoPEgJJCkphoQO4CyLL7gkGZqV5faDwwEjW9G76Nm+8My8o?= =?us-ascii?Q?g4ttXp3xcWVYR9UHuUBBxlLeFXVTdlVObVT90ndDQC7YHb+29f0nXfXMrhmS?= =?us-ascii?Q?xFdo6ansX0aJr4ff6n5/lhZuCBpzoWXateM+aobFyj7H4y64ryTi6PdeJstY?= =?us-ascii?Q?x7HAb25DUF67fSMHRRKkP/9pZWPhnT+laFY4rCDXQ55osTjPtiNnDgjZO24z?= =?us-ascii?Q?mXGG2dkPvir58E+q5WDjGqo/yMmuW6LyxXWh1BXXlhwZrss/LUtgU+Jmq+oA?= =?us-ascii?Q?DfQnavw3Ojo=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:IA4PR11MB9396.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?QuO9vKyVIGG7seviDS974bQHIKXIocGAaapEroUOQDv4WQ/VF2UMscl6kbpd?= =?us-ascii?Q?ihAx1rpWaBpjHy1c564aYs5dfH0+AFqW9ZCLXEZzmpheUhU+vaoy8sh44f/T?= =?us-ascii?Q?saCLgFAwu8tW+XkULcTVuYINnVz6xPzE/d34E11NDMycuuAFjjY5DIuBzuYU?= =?us-ascii?Q?eFoWE/TOZVef25VNxUf+S87cMEekaj7Wr2x662pTErockxjSu/UgvDhOW7hn?= =?us-ascii?Q?dZ1a6Ipbe9F/2J7os2HYCImBIDkm1H5Y8jtuXrDafy4HINIntb5XIzYqlOmJ?= =?us-ascii?Q?YyaDBFc9i8c8Ei3hC+zpRVoV5226JiL7+v85DkfnhumO2RFLNU0y92SY5+HM?= =?us-ascii?Q?hVZf1L6R2rnxMve5WScY9AYkVVl85g9H3S8uV/QiEQspdxxAJ12gFgoWodyS?= =?us-ascii?Q?FiNQ8pM9TuVQIPyXg4eAr69bmADndP9fiQYPHaoK9TPS2mXH23vxpWhDkl3H?= =?us-ascii?Q?EdT8REEMZocHRUqNd1Hw/o1PUk1iE/lXDm6jZLbRuOXraCoUvS06zjYhBlXE?= =?us-ascii?Q?OS3Npyo9bqzLlAFHE4rv4s//BBYeT9xQOssPY3JYZBM+Ws8/2XmK/ILzrTru?= =?us-ascii?Q?nzf/uvN07W6vyUt6KF96ILB+W9NuHEozIwg7gjWYBCic7rAeptSbbzgGW10w?= =?us-ascii?Q?vwGJkxM+3WzfH2ryfOSjfIWeKM/ddPU3NQ2h6fvvYLQYlMYuqnutLRc2NHip?= =?us-ascii?Q?TGfhz5vhlH6ut8ZGinjbdFCgNDNJvoVohPCpBa95xZJGfThLizgtNoJ9npoj?= =?us-ascii?Q?4I0TdfAjbC+1K1Jbvft19wIVcf6WSVRHhz+SN3hgmzzKFEHGJHgmv4kmrJtV?= =?us-ascii?Q?rP4O8pO9eONd99hcEBwITi6Ecwr/gTGxkMVOx9F4F/3PDFa9QLZHVgZLzI8Q?= =?us-ascii?Q?SPg39WVU6cJ6yp3gqwHO/QtZpFSRVy5WV1obdVAogyJ7yOsct/5d7UJUkqay?= =?us-ascii?Q?5FGq+b5RMx8dUzDIopxjjBRTtvVv9RPq4gelki8DnmmC0JXycYVG/TL0A0Rx?= =?us-ascii?Q?a9uQMzzF3YyVtsF09BQ9Z8jFuXmmqQ833U7Ygf/h5suqbYV+Dsq+emttBOjK?= =?us-ascii?Q?EYyQqwVxcYNwibHDtL97R62LD4uFfzKVycslCqI/KZquuATMEUP1Q6cqD3Xj?= =?us-ascii?Q?jflIks2gD3w8KRap5gj1e4S4rEEAhhBeq8y+ARuir5q9uRC4bjJUFKWWN4gY?= =?us-ascii?Q?HTJY85PzmqDGw+6zmrIVaVx8GwSRQYD1YVIBwh+7Tfqqvsr62DFPTNRlO3NQ?= =?us-ascii?Q?cT4MWhGsA2KFTgvAvtr0o6X+FY9qnDfWGFPAfBTmuJ50ICKJErLlALsXBsN7?= =?us-ascii?Q?9NEGG6W93VVqJ+Gj5niAlfL0+wJrMHfc7XcGIRlxbXW17Rk1EsVDzF/89+1/?= =?us-ascii?Q?YaZ11Z2dm0viyHJjuaA+/v2Tn8RJKB9p4F14V85wpjk1Xox2g6IJxTZBcQF8?= =?us-ascii?Q?NFJq8OPmownCqkUlIDoYkpH3LcwP0Xza5RMo71C/BI/J5MYB0r4K5OhAP4r0?= =?us-ascii?Q?KwU5ykVrm99iR+HHbItB/jlL+XYe1fEqvO6+z3VluIIwefGt1iLlNc5VirKB?= =?us-ascii?Q?nFdvFAuGkccUVyBzE+62eeNxeVClN57It2XuoOre?= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: IA4PR11MB9396.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: aaaeb630-9ed1-41e4-e9a9-08dde4a36549 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Aug 2025 13:20:58.5995 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: W2tRsKOyNrhwtSaNOVmB4wHUsY4J4IIz1WGK2u/F2J50jhTt+evBtH+2vxBXbIY5jDY3nA1/7rgBqmsarQu6a2c+Dfw3cUvK57TPnfzZUmE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB6677 X-OriginatorOrg: intel.com Content-Transfer-Encoding: quoted-printable X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org Hi Tom, Thanks for working on this, I was tempted to also add it also but since thi= s is only supported on 10 year old AMD CPUs, so I didn't bother. One inline comment/question. Seems fine to me. Reviewed-By: Klaus Gerlicher Thanks Klaus > -----Original Message----- > From: Tom de Vries > Sent: Tuesday, August 26, 2025 10:59 AM > To: gdb-patches@sourceware.org > Cc: Gerlicher, Klaus > Subject: [PATCH] [gdb/tdep] Add XOP support in amd64_get_insn_details > = > Implement support for XOP instructions [1] in amd64_get_insn_details. > = > The encoding scheme is documented here [2]. Essentially it's a variant o= f the > VEX3 encoding scheme, with: > - 0x8f as the first byte instead of 0xc4, and > - with an opcode map >=3D 8. > = > The changes are roughly the same as the XOP part of an earlier submission= [3], > hence the tag. > = > The only real difference is that that patch proposed to implement xop_pre= fix_p > using: > ... > return pfx[0] =3D=3D 0x8f && (pfx[1] & 0x38); > ... > which is incorrect because the 0x38 mask selects bits bit 3-5, and bit 5 = is > not part of the opcode map in bits 0-4. > = > Instead, use: > ... > gdb_byte m =3D pfx[1] & 0x1f; > return pfx[0] =3D=3D 0x8f && m >=3D 8; AMD SDM says 0x8 8 bit immediate 0x9 no immediate = 0xa 32-bit immediate. Did you see any other maps somewhere? Or is this just to distinguish from P= OP? > ... > = > Tested on x86_64-linux. > = > Co-Authored-By: Jan Beulich > = > [1] https://en.wikipedia.org/wiki/XOP_instruction_set > [2] https://www.amd.com/content/dam/amd/en/documents/archived-tech- > docs/programmer-references/43479.pdf > [3] https://sourceware.org/pipermail/gdb-patches/2019- > February/155347.html > --- > gdb/amd64-tdep.c | 32 ++++++++++++++++++++++++++++++-- > 1 file changed, 30 insertions(+), 2 deletions(-) > = > diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c > index d5ea4aff4cf..d20f490a0f4 100644 > --- a/gdb/amd64-tdep.c > +++ b/gdb/amd64-tdep.c > @@ -1181,6 +1181,15 @@ vex3_prefix_p (gdb_byte pfx) > return pfx =3D=3D 0xc4; > } > = > +/* True if PFX is the start of an XOP prefix. */ > + > +static bool > +xop_prefix_p (const gdb_byte *pfx) > +{ > + gdb_byte m =3D pfx[1] & 0x1f; > + return pfx[0] =3D=3D 0x8f && m >=3D 8; > +} > + > /* Return true if PFX is the start of the 4-byte EVEX prefix. */ > = > static bool > @@ -1351,7 +1360,7 @@ amd64_get_insn_details (gdb_byte *insn, struct > amd64_insn *details) > details->enc_prefix_offset =3D insn - start; > insn +=3D 2; > } > - else if (vex3_prefix_p (*insn)) > + else if (vex3_prefix_p (*insn) || xop_prefix_p (insn)) > { > details->enc_prefix_offset =3D insn - start; > insn +=3D 3; > @@ -1438,6 +1447,11 @@ amd64_get_insn_details (gdb_byte *insn, struct > amd64_insn *details) > return; > } > } > + else if (prefix !=3D nullptr && xop_prefix_p (prefix)) > + { > + details->opcode_len =3D 1; > + need_modrm =3D 1; > + } > else if (*insn =3D=3D TWO_BYTE_OPCODE_ESCAPE) > { > /* Two or three-byte opcode. */ > @@ -1508,7 +1522,7 @@ fixup_riprel (const struct amd64_insn &details, > gdb_byte *insn, > { > /* VEX.!B is set implicitly. */ > } > - else if (vex3_prefix_p (pfx[0])) > + else if (vex3_prefix_p (pfx[0]) || xop_prefix_p (pfx)) > pfx[1] |=3D VEX3_NOT_B; > else if (evex_prefix_p (pfx[0])) > { > @@ -3755,6 +3769,20 @@ test_amd64_get_insn_details (void) > =3D { 0x62, 0xf1, 0x7c, 0x48, 0x28, 0x81, 0x00, 0xfc, 0xff, 0xff }; > fixup_riprel (details, insn.data (), ECX_REG_NUM); > SELF_CHECK (insn =3D=3D updated_insn); > + > + /* INSN: vpcomtrueuq 0x0(%rip),%xmm7,%xmm0, xop prefix. */ > + insn =3D { 0x8f, 0xe8, 0x40, 0xef, 0x05, 0x00, 0x00, 0x00, 0x00, 0x07 = }; > + amd64_get_insn_details (insn.data (), &details); > + SELF_CHECK (details.opcode_len =3D=3D 1); > + SELF_CHECK (details.enc_prefix_offset =3D=3D 0); > + SELF_CHECK (details.opcode_offset =3D=3D 3); > + SELF_CHECK (details.modrm_offset =3D=3D 4); > + > + /* INSN: vpcomtrueuq 0x0(%ecx),%xmm7,%xmm0, xop prefix. */ > + fixup_riprel (details, insn.data (), ECX_REG_NUM); > + updated_insn > + =3D { 0x8f, 0xe8, 0x40, 0xef, 0x81, 0x00, 0x00, 0x00, 0x00, 0x07 }; > + SELF_CHECK (insn =3D=3D updated_insn); > } > = > static void > = > base-commit: 5319c8dec64aa5e37c56da2b0cfe77a1886231ca > -- > 2.43.0 > = Intel Deutschland GmbH Registered Address: Am Campeon 10, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de Managing Directors: Sean Fennelly, Jeffrey Schneiderman, Tiffany Doon Silva Chairperson of the Supervisory Board: Nicole Lau Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928