From patchwork Fri Apr 21 10:16:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 86221 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp958281vqo; Fri, 21 Apr 2023 03:16:37 -0700 (PDT) X-Google-Smtp-Source: AKy350Y2JuEns0b3k/ueYU9aKDKdMccgHyP5GHxP6Cs+zNGB4W0U/e/STFVo+MuIPjJMBZbgPFeV X-Received: by 2002:a17:906:1409:b0:953:83a2:c813 with SMTP id p9-20020a170906140900b0095383a2c813mr1871389ejc.32.1682072197150; Fri, 21 Apr 2023 03:16:37 -0700 (PDT) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id a22-20020a1709066d5600b0094f54287462si3573951ejt.232.2023.04.21.03.16.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 03:16:37 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=r30yn2pG; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id ABED73857722 for ; Fri, 21 Apr 2023 10:16:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ABED73857722 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1682072195; bh=1KGkepXRfe73GtSE4tVC3IP3ddbiqp5tSKfy2ilZlaw=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=r30yn2pGaIrGvcb/ZM7a8acJ0emK9kJ4l39CASMJV7AZL83+Cli2nmiEQbtJpxaiW Gf+ey9DGuMFSAF5TXYj7Yeu6PxBu/sehPR/2z9WfUJ1vq1/GfWj3pZWHU8xNqLiaBA ax8eeWmx7UCH3zqqkRIrnHzD7axQS0Bl6qjXn+1o= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2052.outbound.protection.outlook.com [40.107.20.52]) by sourceware.org (Postfix) with ESMTPS id 817BA3857739 for ; Fri, 21 Apr 2023 10:16:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 817BA3857739 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a7qxQ0zqEvIU9pksUiH0MZDcGt2HzUhZM7mm7iwFDLKq9sYxHTbaU2V1qUm33phCPOoHr2Avxct2oi8pop/kVPnngyXCsQERsO8JC1kq9O8f/SElKrosL2aTyhe9agWx07nVjBVpb5GZdDBiDCL0hla9+bmhI+onnAELtoaHLSbmwtR9zIfzs3JCwuKE+PQmjT4VvQDO+Be64eNjO92YbwEXDHJuzH1LhlEJT+Hzbr4di7Y7Un6bmENSOHN2JElpmOsTJLZyUqnme2AkW++JhcO23hmHmNFLBd0XlQuMwOtauOxOQiXUSbWkWhgaTFWTH6GhM5nAWGuwxjYOEOj4Wg== 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=1KGkepXRfe73GtSE4tVC3IP3ddbiqp5tSKfy2ilZlaw=; b=hfRE35urX1DM9YYvwMNJE2vYcZxfuepwAZQycjPi0J+Oz/v34x8R0xC53MyBjhJn+EzY2kx3V7WxGKhf1vFUVe+JJm6lQ1U3RfZlEpTfeq2F40D6NKpVzFJGV/gNDmEPfJN4ynlmYzta7FLGPQt8A9NtQjtkj8r767/w92UYd5DmQ71M0Aa0X4vd4E3imXAqrhIY4WtCIeDfPByk7va+q8p1+xH4s79ls0QxhoLRE1A04Q45ZPgYV+ZspNaf+so0ew5UwWKuIS4rhB4ABz8V4S4025xF5P0Dn1FyYNCf1DEZkQGnm/FSClT5FiQ3jGxEZ0YfNRYj1/c7bqe36/8+dA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AM8PR04MB7777.eurprd04.prod.outlook.com (2603:10a6:20b:236::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.22; Fri, 21 Apr 2023 10:16:25 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::52b2:f58:e19:56ae]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::52b2:f58:e19:56ae%2]) with mapi id 15.20.6319.022; Fri, 21 Apr 2023 10:16:25 +0000 Message-ID: <0ece83ad-f7a0-7951-374b-2c86cbafad36@suse.com> Date: Fri, 21 Apr 2023 12:16:23 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: [PATCH 1/2] x86: rework AMX multiplication insn disassembly Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: <35d21b28-c824-9789-cb51-50f8af13fdac@suse.com> In-Reply-To: <35d21b28-c824-9789-cb51-50f8af13fdac@suse.com> X-ClientProxiedBy: FR2P281CA0016.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a::26) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7777:EE_ X-MS-Office365-Filtering-Correlation-Id: c30f0997-789e-43cf-19c4-08db42517698 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qJbedU+l26Pgcmd+pucuhWq4c9whujavBPH9cnkPpOHJyXrRdKRRROx2rx/CKa12C5iUrzQyponM+nMDrPocQEtfS+JQ/ZRpNZ5AjfHTOKICkD4lekX6OTB4XwppkWtIyRe7/BhOo1bGkXHfHdA5H81HOVy2j6gzgYt/fUsUJmWn5Nu/RnT4bNOvZlwMNuiHuYw+oN7ttpAJFpzIH21/tdic1EKI9btmzMe7yZNXyN7/Flo/Ni79TRsx+n5/ethWHZTwM4rSdOou7WTkM1M4QJ1iXaRmFQ3Mz/7qajvRyNezZnxk6gSv7DE3JOYBIdbmKgUDxVr2WvY0bV0jLSav0LHIw3ClhriwoRmdrEBjiWpU687feHCk88w3XBpwZQi+V9H/P82ANo8rExYqNrENd2xuDJVSqP+op4JJuWkfKJRbp0w8Z4dbHk7gtld+4vp5ZoDyc+oC3FV+4Ms5gSUDKRPQkCZZLH/iJzo1pwOhxQIBpWOBGh/xFusE7+TC/SI6e4AsP83VRjMeFtlsgfQ6wslEZzM2n1L2+qfq3ITgk07GCbdXmPOPHI5n+AZkZV1kMrWKCLqwitO5FNVg5rak7md7MstvL4wFpZNlOj6HQ904IMqr2WbXsSDQ63nmK1g+85gStr6ABsDgj6MuOCqpWg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR04MB6560.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(396003)(346002)(39860400002)(366004)(376002)(136003)(451199021)(36756003)(8936002)(8676002)(6486002)(6506007)(6512007)(26005)(186003)(31696002)(31686004)(86362001)(38100700002)(2616005)(6916009)(316002)(2906002)(4326008)(66946007)(66556008)(41300700001)(478600001)(5660300002)(66476007)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?ZuGSqi8xlZD4CFHk7q72Y+9fBXnD?= =?utf-8?q?OzdfYF1M6BSBY9lhQ1f7zkSmJ9xmNEkYDHM66efCsi8z32AFUMXeLsLzlduW7FL1L?= =?utf-8?q?phhpoeKIz8aX/oaBlFCaL4U7MrX1MEqpBQUJHvaFi511+T7QmNvwsutTBg+eaN60L?= =?utf-8?q?EWeuhcmRu2o+COJ2uobPLJUY8fsysgy2SYQY+iMrUfYb5cdBAdNPxjo5dMuCBvlQ4?= =?utf-8?q?+FL7RG+u8G7h0grbrQuekR+EcoJ1OC+cKeNNt/eKUcV1+VDjelds1SJBVhe57/5y9?= =?utf-8?q?3iOGEyyZ4jnPN17ZFpVEx4jZdwNwXV5SX0Qr2HLPuuTbBDC4wEFiwqah75vYqDOQl?= =?utf-8?q?A5ZaeZTpQBS3jAKz8K3DleHOe22fmg0jkD42O1dwvC86QN/VEfETG94w+3XQLrC9d?= =?utf-8?q?sdJaTg/zLk6gOT5vjZi7P+NCocKrNIB1j7CaXIsEPCw/ovohGNvDRY+HVPlpkHLQb?= =?utf-8?q?gtY/nYLW6LNLZkGtHEzquQisagaa4QCKnfVRjx7JONtCWmogAAmDKZEgk5a9mMM+5?= =?utf-8?q?6/Jdf/ZHCmrspU5rW7sDG4cTDF/k/wAANd9zvy+i27i8CoJgFWiMT3SqbC4o8w4M2?= =?utf-8?q?Nz+Yx1siGGbZica6ref04cD4T/tBsYIkHjosn2zJGsaDJMkTh+y59awFiLZkcnD+b?= =?utf-8?q?v/gJytEoFjLQKB7kl+w8LZyXRLxJAwhbXdq99rhFapmtKHdg/A9yoggvNhl6f4YZ8?= =?utf-8?q?Ogg9h7YQeNBW0vJKZao60GaGYcrxfFaIZhrXw7ZKX0UKK1ramVWu47//idKCrkor/?= =?utf-8?q?LLfyVH+9eJUt/u9HSRZUIM2PdHVnu1VYHT2j0h1pRy5PgbeUprNRCmxgZXvw80P+6?= =?utf-8?q?6bJev9KPOJrQ169ilbH1ECQpFeaqlKdl59xYlbA1KWdVBIHkK+4aTZYi2MJZOrSWK?= =?utf-8?q?B1DYbssIbLZ83ytEeFDI2/5W+Pkttjx5x4Rex1mSSh6n5oV7hoZZlNIMzYG0IS7BQ?= =?utf-8?q?9Aa2SR8+Z9P469DgwViTXfrfsB7QQlDBdqmTdvNISZbMtuspTiODfM++lL7xQ0X2z?= =?utf-8?q?vEdsW6oe3HmDHbusHalzfdX5FiVeEFOqqxUQfe2n9EwVwM2FGTL+tGIK2YCgqt79T?= =?utf-8?q?JmtjIMvSYjZbeQksWrdd8PyXDhHr3nUBE09yAA7MNgDAb3it23axcu02HKK242L0/?= =?utf-8?q?+P2RvdYe6OBEdvH0ZyzkaO9atINNbAIDlah83ITO/Z2azMPvKZQJgtKdeeQ2lb2tV?= =?utf-8?q?fRFDyz5C9LHUQd1LVglKXxtNlo+qw2a64atfd0Q5gMsj7AbpR9DbmGHNkVZEwKTg9?= =?utf-8?q?8G2fiGDG5CbtobfxSX2WENZOLnut8DnJWlS9FM6MJOUPjYnIsPg4A42CINoAdH5Q8?= =?utf-8?q?7cshROdJHMblE/9W8SZ5IpynVAbgoYXfobLwahP6Zqcoz6Ut3GQER1XnFG0LFAwGc?= =?utf-8?q?sDLX+buLS96sfA5avaLpRiZyA0tiJmpqed3vlVnwHxJoWn1U7T97V3sr1L0j9jXVH?= =?utf-8?q?/J0CtQH/cSbc9jgpJ8V+NMNp/FBnzz96hlODtG0DydW4MHq9/Mvu9U3OOAJknDptB?= =?utf-8?q?xAeGrWGndcpf?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c30f0997-789e-43cf-19c4-08db42517698 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Apr 2023 10:16:25.4357 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SYru5gREgvN5xVOgT/EOE6ge/FIgwukkV7WfqoeAZb8WMPdH2UCPLL0Yk+lOj/jPqEoWh6y2JzKrQv6tRukSug== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7777 X-Spam-Status: No, score=-3028.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1763780536522946940?= X-GMAIL-MSGID: =?utf-8?q?1763780536522946940?= Consistently do 64-bit first, ModR/M second, VEX.L third, VEX.W fourth, and prefix last, resulting in fewer table entries. Note that in the course of the re-work wrong M_0 suffixes are also corrected to be M_1 (partly infixes now). Since it ended up confusing while testing the change, also adjust the test name in x86-64-amx-bad.d (to be distinct from x86-64-amx.d's). --- The %XS plans didn't work out, as that's EVEX-specific. --- a/gas/testsuite/gas/i386/x86-64-amx-bad.d +++ b/gas/testsuite/gas/i386/x86-64-amx-bad.d @@ -1,6 +1,6 @@ #as: #objdump: -drw -#name: x86_64 AMX insns +#name: x86_64 Illegal AMX insns #source: x86-64-amx-bad.s .*: +file format .* --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -976,13 +976,9 @@ enum MOD_VEX_0F384B_X86_64_P_2_W_0, MOD_VEX_0F384B_X86_64_P_3_W_0, MOD_VEX_0F385A, - MOD_VEX_0F385C_X86_64_P_1_W_0, - MOD_VEX_0F385C_X86_64_P_3_W_0, - MOD_VEX_0F385E_X86_64_P_0_W_0, - MOD_VEX_0F385E_X86_64_P_1_W_0, - MOD_VEX_0F385E_X86_64_P_2_W_0, - MOD_VEX_0F385E_X86_64_P_3_W_0, - MOD_VEX_0F386C_X86_64_W_0, + MOD_VEX_0F385C_X86_64, + MOD_VEX_0F385E_X86_64, + MOD_VEX_0F386C_X86_64, MOD_VEX_0F388C, MOD_VEX_0F388E, MOD_VEX_0F3A30_L_0, @@ -1183,9 +1179,9 @@ enum PREFIX_VEX_0F384B_X86_64, PREFIX_VEX_0F3850_W_0, PREFIX_VEX_0F3851_W_0, - PREFIX_VEX_0F385C_X86_64, - PREFIX_VEX_0F385E_X86_64, - PREFIX_VEX_0F386C_X86_64_W_0_M_1_L_0, + PREFIX_VEX_0F385C_X86_64_M_1_L_0_W_0, + PREFIX_VEX_0F385E_X86_64_M_1_L_0_W_0, + PREFIX_VEX_0F386C_X86_64_M_1_L_0_W_0, PREFIX_VEX_0F3872, PREFIX_VEX_0F38B0_W_0, PREFIX_VEX_0F38B1_W_0, @@ -1434,13 +1430,9 @@ enum VEX_LEN_0F384B_X86_64_P_2_W_0_M_0, VEX_LEN_0F384B_X86_64_P_3_W_0_M_0, VEX_LEN_0F385A_M_0, - VEX_LEN_0F385C_X86_64_P_1_W_0_M_0, - VEX_LEN_0F385C_X86_64_P_3_W_0_M_0, - VEX_LEN_0F385E_X86_64_P_0_W_0_M_0, - VEX_LEN_0F385E_X86_64_P_1_W_0_M_0, - VEX_LEN_0F385E_X86_64_P_2_W_0_M_0, - VEX_LEN_0F385E_X86_64_P_3_W_0_M_0, - VEX_LEN_0F386C_X86_64_W_0_M_1, + VEX_LEN_0F385C_X86_64_M_1, + VEX_LEN_0F385E_X86_64_M_1, + VEX_LEN_0F386C_X86_64_M_1, VEX_LEN_0F38DB, VEX_LEN_0F38F2, VEX_LEN_0F38F3, @@ -1602,13 +1594,9 @@ enum VEX_W_0F3858, VEX_W_0F3859, VEX_W_0F385A_M_0_L_0, - VEX_W_0F385C_X86_64_P_1, - VEX_W_0F385C_X86_64_P_3, - VEX_W_0F385E_X86_64_P_0, - VEX_W_0F385E_X86_64_P_1, - VEX_W_0F385E_X86_64_P_2, - VEX_W_0F385E_X86_64_P_3, - VEX_W_0F386C_X86_64, + VEX_W_0F385C_X86_64_M_1_L_0, + VEX_W_0F385E_X86_64_M_1_L_0, + VEX_W_0F386C_X86_64_M_1_L_0, VEX_W_0F3872_P_1, VEX_W_0F3878, VEX_W_0F3879, @@ -4147,23 +4135,23 @@ static const struct dis386 prefix_table[ { "%XVvpdpbusds", { XM, Vex, EXx }, 0 }, { "vpdpbssds", { XM, Vex, EXx }, 0 }, }, - /* PREFIX_VEX_0F385C_X86_64 */ + /* PREFIX_VEX_0F385C_X86_64_M_1_L_0_W_0 */ { { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F385C_X86_64_P_1) }, + { "tdpbf16ps", { TMM, EXtmm, VexTmm }, 0 }, { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F385C_X86_64_P_3) }, + { "tdpfp16ps", { TMM, EXtmm, VexTmm }, 0 }, }, - /* PREFIX_VEX_0F385E_X86_64 */ + /* PREFIX_VEX_0F385E_X86_64_M_1_L_0_W_0 */ { - { VEX_W_TABLE (VEX_W_0F385E_X86_64_P_0) }, - { VEX_W_TABLE (VEX_W_0F385E_X86_64_P_1) }, - { VEX_W_TABLE (VEX_W_0F385E_X86_64_P_2) }, - { VEX_W_TABLE (VEX_W_0F385E_X86_64_P_3) }, + { "tdpbuud", {TMM, EXtmm, VexTmm }, 0 }, + { "tdpbsud", {TMM, EXtmm, VexTmm }, 0 }, + { "tdpbusd", {TMM, EXtmm, VexTmm }, 0 }, + { "tdpbssd", {TMM, EXtmm, VexTmm }, 0 }, }, - /* PREFIX_VEX_0F386C_X86_64_W_0_M_1_L_0 */ + /* PREFIX_VEX_0F386C_X86_64_M_1_L_0_W_0 */ { { "tcmmrlfp16ps", { TMM, EXtmm, VexTmm }, 0 }, { Bad_Opcode }, @@ -4528,19 +4516,19 @@ static const struct dis386 x86_64_table[ /* X86_64_VEX_0F385C */ { { Bad_Opcode }, - { PREFIX_TABLE (PREFIX_VEX_0F385C_X86_64) }, + { MOD_TABLE (MOD_VEX_0F385C_X86_64) }, }, /* X86_64_VEX_0F385E */ { { Bad_Opcode }, - { PREFIX_TABLE (PREFIX_VEX_0F385E_X86_64) }, + { MOD_TABLE (MOD_VEX_0F385E_X86_64) }, }, /* X86_64_VEX_0F386C */ { { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F386C_X86_64) }, + { MOD_TABLE (MOD_VEX_0F386C_X86_64) }, }, /* X86_64_VEX_0F38E0 */ @@ -7208,39 +7196,19 @@ static const struct dis386 vex_len_table { VEX_W_TABLE (VEX_W_0F385A_M_0_L_0) }, }, - /* VEX_LEN_0F385C_X86_64_P_1_W_0_M_0 */ - { - { "tdpbf16ps", { TMM, EXtmm, VexTmm }, 0 }, - }, - - /* VEX_LEN_0F385C_X86_64_P_3_W_0_M_0 */ - { - { "tdpfp16ps", { TMM, EXtmm, VexTmm }, 0 }, - }, - - /* VEX_LEN_0F385E_X86_64_P_0_W_0_M_0 */ - { - { "tdpbuud", {TMM, EXtmm, VexTmm }, 0 }, - }, - - /* VEX_LEN_0F385E_X86_64_P_1_W_0_M_0 */ - { - { "tdpbsud", {TMM, EXtmm, VexTmm }, 0 }, - }, - - /* VEX_LEN_0F385E_X86_64_P_2_W_0_M_0 */ + /* VEX_LEN_0F385C_X86_64_M_1 */ { - { "tdpbusd", {TMM, EXtmm, VexTmm }, 0 }, + { VEX_W_TABLE (VEX_W_0F385C_X86_64_M_1_L_0) }, }, - /* VEX_LEN_0F385E_X86_64_P_3_W_0_M_0 */ + /* VEX_LEN_0F385E_X86_64_M_1 */ { - { "tdpbssd", {TMM, EXtmm, VexTmm }, 0 }, + { VEX_W_TABLE (VEX_W_0F385E_X86_64_M_1_L_0) }, }, - /* VEX_LEN_0F386C_X86_64_W_0_M_1 */ + /* VEX_LEN_0F386C_X86_64_M_1 */ { - { PREFIX_TABLE (PREFIX_VEX_0F386C_X86_64_W_0_M_1_L_0) }, + { VEX_W_TABLE (VEX_W_0F386C_X86_64_M_1_L_0) }, }, /* VEX_LEN_0F38DB */ @@ -7888,32 +7856,16 @@ static const struct dis386 vex_w_table[] { "vbroadcasti128", { XM, Mxmm }, PREFIX_DATA }, }, { - /* VEX_W_0F385C_X86_64_P_1 */ - { MOD_TABLE (MOD_VEX_0F385C_X86_64_P_1_W_0) }, - }, - { - /* VEX_W_0F385C_X86_64_P_3 */ - { MOD_TABLE (MOD_VEX_0F385C_X86_64_P_3_W_0) }, - }, - { - /* VEX_W_0F385E_X86_64_P_0 */ - { MOD_TABLE (MOD_VEX_0F385E_X86_64_P_0_W_0) }, + /* VEX_W_0F385C_X86_64_M_1_L_0 */ + { PREFIX_TABLE (PREFIX_VEX_0F385C_X86_64_M_1_L_0_W_0) }, }, { - /* VEX_W_0F385E_X86_64_P_1 */ - { MOD_TABLE (MOD_VEX_0F385E_X86_64_P_1_W_0) }, + /* VEX_W_0F385E_X86_64_M_1_L_0 */ + { PREFIX_TABLE (PREFIX_VEX_0F385E_X86_64_M_1_L_0_W_0) }, }, { - /* VEX_W_0F385E_X86_64_P_2 */ - { MOD_TABLE (MOD_VEX_0F385E_X86_64_P_2_W_0) }, - }, - { - /* VEX_W_0F385E_X86_64_P_3 */ - { MOD_TABLE (MOD_VEX_0F385E_X86_64_P_3_W_0) }, - }, - { - /* VEX_W_0F386C_X86_64 */ - { MOD_TABLE (MOD_VEX_0F386C_X86_64_W_0) }, + /* VEX_W_0F386C_X86_64_M_1_L_0 */ + { PREFIX_TABLE (PREFIX_VEX_0F386C_X86_64_M_1_L_0_W_0) }, }, { /* VEX_W_0F3872_P_1 */ @@ -8733,39 +8685,19 @@ static const struct dis386 mod_table[][2 { VEX_LEN_TABLE (VEX_LEN_0F385A_M_0) }, }, { - /* MOD_VEX_0F385C_X86_64_P_1_W_0 */ - { Bad_Opcode }, - { VEX_LEN_TABLE (VEX_LEN_0F385C_X86_64_P_1_W_0_M_0) }, - }, - { - /* MOD_VEX_0F385C_X86_64_P_3_W_0 */ - { Bad_Opcode }, - { VEX_LEN_TABLE (VEX_LEN_0F385C_X86_64_P_3_W_0_M_0) }, - }, - { - /* MOD_VEX_0F385E_X86_64_P_0_W_0 */ - { Bad_Opcode }, - { VEX_LEN_TABLE (VEX_LEN_0F385E_X86_64_P_0_W_0_M_0) }, - }, - { - /* MOD_VEX_0F385E_X86_64_P_1_W_0 */ - { Bad_Opcode }, - { VEX_LEN_TABLE (VEX_LEN_0F385E_X86_64_P_1_W_0_M_0) }, - }, - { - /* MOD_VEX_0F385E_X86_64_P_2_W_0 */ + /* MOD_VEX_0F385C_X86_64 */ { Bad_Opcode }, - { VEX_LEN_TABLE (VEX_LEN_0F385E_X86_64_P_2_W_0_M_0) }, + { VEX_LEN_TABLE (VEX_LEN_0F385C_X86_64_M_1) }, }, { - /* MOD_VEX_0F385E_X86_64_P_3_W_0 */ + /* MOD_VEX_0F385E_X86_64 */ { Bad_Opcode }, - { VEX_LEN_TABLE (VEX_LEN_0F385E_X86_64_P_3_W_0_M_0) }, + { VEX_LEN_TABLE (VEX_LEN_0F385E_X86_64_M_1) }, }, { - /* MOD_VEX_0F386C_X86_64_W_0 */ + /* MOD_VEX_0F386C_X86_64 */ { Bad_Opcode }, - { VEX_LEN_TABLE (VEX_LEN_0F386C_X86_64_W_0_M_1) }, + { VEX_LEN_TABLE (VEX_LEN_0F386C_X86_64_M_1) }, }, { /* MOD_VEX_0F388C */ From patchwork Fri Apr 21 10:16:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 86222 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp958684vqo; Fri, 21 Apr 2023 03:17:23 -0700 (PDT) X-Google-Smtp-Source: AKy350ZKCRRyaou7iaA6sybSiFjEp55Bxd1+gTT860z6PqqgQwZzoVNzV1Llf+GryI4tfig20cTB X-Received: by 2002:aa7:da0f:0:b0:508:14f2:399c with SMTP id r15-20020aa7da0f000000b0050814f2399cmr4705729eds.10.1682072243617; Fri, 21 Apr 2023 03:17:23 -0700 (PDT) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id v5-20020aa7dbc5000000b0050676bdb6e9si3087550edt.468.2023.04.21.03.17.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 03:17:23 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=LxY0VLby; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 66BB23857017 for ; Fri, 21 Apr 2023 10:17:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 66BB23857017 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1682072234; bh=1KS+Krl1bxcG9f2kYDTyEpt51avJtvJqx/hFsR9yiS0=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=LxY0VLbyvXabvAvlolxFeUghttuJd6sFvwlRducDjoE1M3sJfsbVIUIhq8bPY517J Bbf9NzG5qK9yrmZ6TcgwS5eg8uqGerIeBqDz2fwEDedbRIvOQxhWTZtR8ITBiua42h eArOHmU65ybPNEw3sXbgU5NH1cHB5ORs1zsY5xc4= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2080.outbound.protection.outlook.com [40.107.14.80]) by sourceware.org (Postfix) with ESMTPS id 9A8063857012 for ; Fri, 21 Apr 2023 10:17:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9A8063857012 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PMjM2lO13vYF2ojK8MzmWtGXG6crhz5t2WPeVbi5UnVBcUjAp4Dze98B5R17UeKKiJG1yj6deGsVgWqny5Xrl1w52zmUsivivNis/p+ITCu1laeTh8xl8iomD9yrVld7/okTvfD2xYQxuLPHJn1TecYy+DPkml+F/cDy5NworgM7/VLzB6JYXb5obaBxArm7hck5x3OvUfRSVOyROIuhuIUr3QF4iCA9U1GS1LjyNWVrKjWjOqkd9+6lVmvc5zCBkwYEODkFxAs1mh5zj9b8AUZ8XdyVvWIk0JWX297vY9njaSP7t4u7lYx/RayorDclxsENyMmOOUn/ZSR2pi0aFQ== 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=1KS+Krl1bxcG9f2kYDTyEpt51avJtvJqx/hFsR9yiS0=; b=Cb+lKqA2BIivhSdYq9nGBh6ACmtd4M0tUkHEHLr0vpQNI9TXc8ax5Yn2YjIX/MQiGB8YtexHz7YUfsKHbK0FsCsiWZzmed6Xx5bsxFyjl1A2DnMPUeYHecSPS1wQ6N/9wdxHh9IgUZZ/CPxaTtm+pxKwMVunVSdpaKguxUyoAtwdg1zV/pDMoTKjGILO0yieglPwPLATJwSW6QX/lG7q+uzeGEZyTFn0wLHDmmhSP2TCwGZUK/NGrQ9WG6cYUjeyhAg1IotguhgHt1Z3n+a/xA0ezoktL4CIAob5Xbgs4iW7/kvay2Z/IxShyebIoWHoqCHa0Z0UOzVtaKaXsTJXuw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AM8PR04MB7777.eurprd04.prod.outlook.com (2603:10a6:20b:236::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.22; Fri, 21 Apr 2023 10:17:01 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::52b2:f58:e19:56ae]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::52b2:f58:e19:56ae%2]) with mapi id 15.20.6319.022; Fri, 21 Apr 2023 10:17:01 +0000 Message-ID: <657c81bd-2182-c663-04a4-c5e6962531ea@suse.com> Date: Fri, 21 Apr 2023 12:16:59 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: [PATCH 2/2] x86: rework AMX control insn disassembly Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: <35d21b28-c824-9789-cb51-50f8af13fdac@suse.com> In-Reply-To: <35d21b28-c824-9789-cb51-50f8af13fdac@suse.com> X-ClientProxiedBy: FR2P281CA0012.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a::22) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7777:EE_ X-MS-Office365-Filtering-Correlation-Id: 13b38ff1-f77e-4862-aea4-08db42518bf2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: d+Syop3rKAjSS8Ftz704NSguydLjmxPRL3ZsylSZijp7xQG2HJt4ke7n4lHz4h8xXN2mZ2PmLFeoSx8+DNGrgPdtYFaWKpjRTFZ1EkBKei0F4GESN6NFzTn4F3ewW5mmeyavimLEJduiarCOR/7Y2AOS5ETVRt+hsft2WmbFp7XxQKfI+5uztR3pRE6oRtBM6oNuBYTuEqP739iLBnlLQlb6YIyhdW4Oxl1OzGx+9kCEeCTNR0Z9NCdjE25VDvgpNfTvDNCdUW5kz5G3X1Rf9b2HF/YhIUA/5AR7hqZCqMghLqjlUEzQ6Lkzw3JRSwpdutGJlg7qLtD5g/7/7Dj2fPzqqTJ7Bk96UeHGaDH9cQ7Lujh641wpjoscYA2p8oXM9QOS4FzxHW8yRoMpnqp197UBzXU6VoJnRPmyrtIOUMMJxAL1zYeE7VJvqs6YGpOq1xfJqCMavypFdZ0kcnBVV4M2YTtdrr9MnkIYRIiqmIcktXt9XZdKw7CPusepQKFzZc8VFGD4/YLtxGO+P2yd+B3YwpOphMa/Lqjggg5v//8RY/pJbaEeKG0sU2VowAh4sRjmi9jbwoUvPtBSUjkZ0bPf2bWpbPXKJYylzz/wODR7IIrmSaJ4Te/ozQJm9AhB3UfpnOmqYeZybagOd4glCA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR04MB6560.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(396003)(346002)(39860400002)(366004)(376002)(136003)(451199021)(36756003)(8936002)(8676002)(6486002)(6506007)(6512007)(26005)(186003)(31696002)(31686004)(86362001)(38100700002)(2616005)(6916009)(316002)(2906002)(4326008)(66946007)(66556008)(41300700001)(478600001)(5660300002)(66476007)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?8/KfVBwC/wPC3NTmH0zV6LTLa4Mg?= =?utf-8?q?gzIqJ3v+o4EDHXJT/kkmBDDj6uABeFOjIErHz/Wtg6+yJdIXy0GoOsxwvFsi5DdHl?= =?utf-8?q?HXDVw6xc+r4usiwkz3jEn/1YTJjlfz2iWvUWlDthllT0m7mcat/Wnw7ytreidibaf?= =?utf-8?q?vwfod5lMZBcnkdl5qtoYFW+2oDjSczFMwlaWu0gHiH1i91df2dwunbsr/S+o9amIZ?= =?utf-8?q?G0Flw0Kw+X78Nsq9fQYqoryrNB9XOcmmnxqp044BW7Q36AOhSAR9i70nBl0C3ofGa?= =?utf-8?q?ttNLMiFVnfRTL76mGnKSQ+If6CDLGyfOVuwNDCTJnJe614oGW3SyLayN0bZmyTu+G?= =?utf-8?q?D4ykElvUMyuB3K51+tiLeWBpskiOjFtu4MyuO2zQ+WpoFVw6xqiuDi5LmPn4aiz3h?= =?utf-8?q?kH1h1dL4TtZfqIdDvoxvAMNyB7s6mmIGOOJ0XxfDKsll41Hok7JfWjcj7QG2267eT?= =?utf-8?q?3fvioAc4IBw3OhqZDYC1wgYvMqm4qF0Y4DYuEnlLXpkcpGKUhDtSgxgPE/aJcrJhy?= =?utf-8?q?sTXmj8Av6fhc8IKIhRsMaec0kq57+XK/ij6VkWV2L1KqFxkss5LGbyiycaEit8sLg?= =?utf-8?q?40TEUD9Dba49ui2GLNrx14mKlwa2bvNqgMYb61gEAu3EgiW2idnHD9adCjx+w1C/5?= =?utf-8?q?Nrzg7t/ESaXmZtqXAvZ8bvmHiR7nVoLLB5d05hlh+F/A0BLTsYA1TAkGVwwU7lTLo?= =?utf-8?q?VBnetGQ5OdxMnUp6YJosBD5pz2AbqI3mMEcGJWAzQ+jpZhU3dZv8yJPCfkJ3EmRu4?= =?utf-8?q?1+jPDUZSfc9VSk8TXplt/j7M0EIbdpMtogybR441Imo1xoYhxugDIwbB2wuvPmm21?= =?utf-8?q?Ot1K1ANW2VT2n3u2glQRW7Az4t/xeiFK5DTixO/fysh7la/5VJQ0kQdMSndTGwPyO?= =?utf-8?q?fkHkZQpBh4b07W4ijpHMT5trXCg8X5tRbZqO7V1wHfZ2ruRO0ZLGwqWLMCaQJOHce?= =?utf-8?q?PZyeyQMQy8OImzBrwj9G4Ix+FReEebEmuS6bYDjNtdtRXMUqIhFJ2nStk81vhz+hr?= =?utf-8?q?n7t56oM/qJ8jHHrLgqeK1L8R1lxv5cR78VN9qwOZ8RTw9s8S/1waTRPcbWbnoI7Xb?= =?utf-8?q?FWzfGy5RT5ov7ucCPCZ9qY9va0+6iv4xpGdT8aJJJomz+RYsJ6ypnptbJxtldkJUh?= =?utf-8?q?gtuk5liQUVchyFA1g90RNM6sRC+Ve9tKsXN6yJOqD+li2o9jnV8vVRS9RSnN+nxKk?= =?utf-8?q?wOzQRC0TcOtgkUdb2JrS2SfhGlB8VRgLCwvB20wKK9GpbkQuNAC9kXwEBfTM+q01d?= =?utf-8?q?lMysfmGlMUesq+rBWhC9kdEohBrRTiqdC2SgM0m27wGerm4tE+/UMWMiOgj3Gad0Q?= =?utf-8?q?AD9ouUXJyOCEIakFhJhNI2OCJ+o2J6y6l82a2cqeTWuDgDxQW16EZt+sAnGT4ueoN?= =?utf-8?q?Y5GdnqZakk7hUMwSjFQrjG+Iy+jO49YabhRb/ux88NuF2lYeWgMD4kQI6jI7l7uFg?= =?utf-8?q?TGIfDCLM6vKg0x/VS4DKGSptJBQ0Udlb1cQVcc4bvjCP8bW7AFkUSdWcnHLJEvjYh?= =?utf-8?q?0s4St22sRK4f?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 13b38ff1-f77e-4862-aea4-08db42518bf2 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Apr 2023 10:17:01.2368 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Ucle5OZpQomYbcyS8d76c1sw4RnjEFjMsQ+KpQFidzQhucTVGr+WW6MqneCid7/UigycEGaL01CvEbswGgZawg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7777 X-Spam-Status: No, score=-3028.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1763780584513576277?= X-GMAIL-MSGID: =?utf-8?q?1763780584513576277?= Consistently do 64-bit first, VEX.L second, VEX.W third, ModR/M fourth, and only then prefix, resulting in fewer table entries. Note that in the course of the re-work - TILEZERO has a previously missing decode step through rm_table[] added, - a wrong M_0 suffix for TILEZERO is also corrected to be M_1 (now an infix). --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -841,7 +841,7 @@ enum REG_VEX_0F72_M_0, REG_VEX_0F73_M_0, REG_VEX_0FAE, - REG_VEX_0F3849_X86_64_P_0_W_0_M_1, + REG_VEX_0F3849_X86_64_L_0_W_0_M_1_P_0, REG_VEX_0F38F3_L_0, REG_XOP_09_01_L_0, @@ -969,12 +969,8 @@ enum MOD_VEX_0F382D, MOD_VEX_0F382E, MOD_VEX_0F382F, - MOD_VEX_0F3849_X86_64_P_0_W_0, - MOD_VEX_0F3849_X86_64_P_2_W_0, - MOD_VEX_0F3849_X86_64_P_3_W_0, - MOD_VEX_0F384B_X86_64_P_1_W_0, - MOD_VEX_0F384B_X86_64_P_2_W_0, - MOD_VEX_0F384B_X86_64_P_3_W_0, + MOD_VEX_0F3849_X86_64_L_0_W_0, + MOD_VEX_0F384B_X86_64_L_0_W_0, MOD_VEX_0F385A, MOD_VEX_0F385C_X86_64, MOD_VEX_0F385E_X86_64, @@ -1018,7 +1014,8 @@ enum RM_0FAE_REG_7_MOD_3, RM_0F3A0F_P_1_MOD_3_REG_0, - RM_VEX_0F3849_X86_64_P_0_W_0_M_1_R_0 + RM_VEX_0F3849_X86_64_L_0_W_0_M_1_P_0_R_0, + RM_VEX_0F3849_X86_64_L_0_W_0_M_1_P_3, }; enum @@ -1175,8 +1172,9 @@ enum PREFIX_VEX_0FD0, PREFIX_VEX_0FE6, PREFIX_VEX_0FF0, - PREFIX_VEX_0F3849_X86_64, - PREFIX_VEX_0F384B_X86_64, + PREFIX_VEX_0F3849_X86_64_L_0_W_0_M_0, + PREFIX_VEX_0F3849_X86_64_L_0_W_0_M_1, + PREFIX_VEX_0F384B_X86_64_L_0_W_0_M_0, PREFIX_VEX_0F3850_W_0, PREFIX_VEX_0F3851_W_0, PREFIX_VEX_0F385C_X86_64_M_1_L_0_W_0, @@ -1422,13 +1420,8 @@ enum VEX_LEN_0F381A_M_0, VEX_LEN_0F3836, VEX_LEN_0F3841, - VEX_LEN_0F3849_X86_64_P_0_W_0_M_0, - VEX_LEN_0F3849_X86_64_P_0_W_0_M_1_REG_0_RM_0, - VEX_LEN_0F3849_X86_64_P_2_W_0_M_0, - VEX_LEN_0F3849_X86_64_P_3_W_0_M_0, - VEX_LEN_0F384B_X86_64_P_1_W_0_M_0, - VEX_LEN_0F384B_X86_64_P_2_W_0_M_0, - VEX_LEN_0F384B_X86_64_P_3_W_0_M_0, + VEX_LEN_0F3849_X86_64, + VEX_LEN_0F384B_X86_64, VEX_LEN_0F385A_M_0, VEX_LEN_0F385C_X86_64_M_1, VEX_LEN_0F385E_X86_64_M_1, @@ -1581,12 +1574,8 @@ enum VEX_W_0F382F_M_0, VEX_W_0F3836, VEX_W_0F3846, - VEX_W_0F3849_X86_64_P_0, - VEX_W_0F3849_X86_64_P_2, - VEX_W_0F3849_X86_64_P_3, - VEX_W_0F384B_X86_64_P_1, - VEX_W_0F384B_X86_64_P_2, - VEX_W_0F384B_X86_64_P_3, + VEX_W_0F3849_X86_64_L_0, + VEX_W_0F384B_X86_64_L_0, VEX_W_0F3850, VEX_W_0F3851, VEX_W_0F3852, @@ -2948,9 +2937,9 @@ static const struct dis386 reg_table[][8 { MOD_TABLE (MOD_VEX_0FAE_REG_2) }, { MOD_TABLE (MOD_VEX_0FAE_REG_3) }, }, - /* REG_VEX_0F3849_X86_64_P_0_W_0_M_1 */ + /* REG_VEX_0F3849_X86_64_L_0_W_0_M_1_P_0 */ { - { RM_TABLE (RM_VEX_0F3849_X86_64_P_0_W_0_M_1_R_0) }, + { RM_TABLE (RM_VEX_0F3849_X86_64_L_0_W_0_M_1_P_0_R_0) }, }, /* REG_VEX_0F38F3_L_0 */ { @@ -4104,20 +4093,27 @@ static const struct dis386 prefix_table[ { MOD_TABLE (MOD_VEX_0FF0_PREFIX_3) }, }, - /* PREFIX_VEX_0F3849_X86_64 */ + /* PREFIX_VEX_0F3849_X86_64_L_0_W_0_M_0 */ { - { VEX_W_TABLE (VEX_W_0F3849_X86_64_P_0) }, + { "ldtilecfg", { M }, 0 }, { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F3849_X86_64_P_2) }, - { VEX_W_TABLE (VEX_W_0F3849_X86_64_P_3) }, + { "sttilecfg", { M }, 0 }, }, - /* PREFIX_VEX_0F384B_X86_64 */ + /* PREFIX_VEX_0F3849_X86_64_L_0_W_0_M_1 */ { + { REG_TABLE (REG_VEX_0F3849_X86_64_L_0_W_0_M_1_P_0) }, + { Bad_Opcode }, { Bad_Opcode }, - { VEX_W_TABLE (VEX_W_0F384B_X86_64_P_1) }, - { VEX_W_TABLE (VEX_W_0F384B_X86_64_P_2) }, - { VEX_W_TABLE (VEX_W_0F384B_X86_64_P_3) }, + { RM_TABLE (RM_VEX_0F3849_X86_64_L_0_W_0_M_1_P_3) }, + }, + + /* PREFIX_VEX_0F384B_X86_64_L_0_W_0_M_0 */ + { + { Bad_Opcode }, + { "tilestored", { MVexSIBMEM, TMM }, 0 }, + { "tileloaddt1", { TMM, MVexSIBMEM }, 0 }, + { "tileloadd", { TMM, MVexSIBMEM }, 0 }, }, /* PREFIX_VEX_0F3850_W_0 */ @@ -4504,13 +4500,13 @@ static const struct dis386 x86_64_table[ /* X86_64_VEX_0F3849 */ { { Bad_Opcode }, - { PREFIX_TABLE (PREFIX_VEX_0F3849_X86_64) }, + { VEX_LEN_TABLE (VEX_LEN_0F3849_X86_64) }, }, /* X86_64_VEX_0F384B */ { { Bad_Opcode }, - { PREFIX_TABLE (PREFIX_VEX_0F384B_X86_64) }, + { VEX_LEN_TABLE (VEX_LEN_0F384B_X86_64) }, }, /* X86_64_VEX_0F385C */ @@ -7156,38 +7152,14 @@ static const struct dis386 vex_len_table { "vphminposuw", { XM, EXx }, PREFIX_DATA }, }, - /* VEX_LEN_0F3849_X86_64_P_0_W_0_M_0 */ - { - { "ldtilecfg", { M }, 0 }, - }, - - /* VEX_LEN_0F3849_X86_64_P_0_W_0_M_1_REG_0_RM_0 */ - { - { "tilerelease", { Skip_MODRM }, 0 }, - }, - - /* VEX_LEN_0F3849_X86_64_P_2_W_0_M_0 */ - { - { "sttilecfg", { M }, 0 }, - }, - - /* VEX_LEN_0F3849_X86_64_P_3_W_0_M_0 */ - { - { "tilezero", { TMM, Skip_MODRM }, 0 }, - }, - - /* VEX_LEN_0F384B_X86_64_P_1_W_0_M_0 */ + /* VEX_LEN_0F3849_X86_64 */ { - { "tilestored", { MVexSIBMEM, TMM }, 0 }, - }, - /* VEX_LEN_0F384B_X86_64_P_2_W_0_M_0 */ - { - { "tileloaddt1", { TMM, MVexSIBMEM }, 0 }, + { VEX_W_TABLE (VEX_W_0F3849_X86_64_L_0) }, }, - /* VEX_LEN_0F384B_X86_64_P_3_W_0_M_0 */ + /* VEX_LEN_0F384B_X86_64 */ { - { "tileloadd", { TMM, MVexSIBMEM }, 0 }, + { VEX_W_TABLE (VEX_W_0F384B_X86_64_L_0) }, }, /* VEX_LEN_0F385A_M_0 */ @@ -7804,28 +7776,12 @@ static const struct dis386 vex_w_table[] { "vpsravd", { XM, Vex, EXx }, PREFIX_DATA }, }, { - /* VEX_W_0F3849_X86_64_P_0 */ - { MOD_TABLE (MOD_VEX_0F3849_X86_64_P_0_W_0) }, - }, - { - /* VEX_W_0F3849_X86_64_P_2 */ - { MOD_TABLE (MOD_VEX_0F3849_X86_64_P_2_W_0) }, - }, - { - /* VEX_W_0F3849_X86_64_P_3 */ - { MOD_TABLE (MOD_VEX_0F3849_X86_64_P_3_W_0) }, + /* VEX_W_0F3849_X86_64_L_0 */ + { MOD_TABLE (MOD_VEX_0F3849_X86_64_L_0_W_0) }, }, { - /* VEX_W_0F384B_X86_64_P_1 */ - { MOD_TABLE (MOD_VEX_0F384B_X86_64_P_1_W_0) }, - }, - { - /* VEX_W_0F384B_X86_64_P_2 */ - { MOD_TABLE (MOD_VEX_0F384B_X86_64_P_2_W_0) }, - }, - { - /* VEX_W_0F384B_X86_64_P_3 */ - { MOD_TABLE (MOD_VEX_0F384B_X86_64_P_3_W_0) }, + /* VEX_W_0F384B_X86_64_L_0 */ + { MOD_TABLE (MOD_VEX_0F384B_X86_64_L_0_W_0) }, }, { /* VEX_W_0F3850 */ @@ -8655,30 +8611,13 @@ static const struct dis386 mod_table[][2 { VEX_W_TABLE (VEX_W_0F382F_M_0) }, }, { - /* MOD_VEX_0F3849_X86_64_P_0_W_0 */ - { VEX_LEN_TABLE (VEX_LEN_0F3849_X86_64_P_0_W_0_M_0) }, - { REG_TABLE (REG_VEX_0F3849_X86_64_P_0_W_0_M_1) }, + /* MOD_VEX_0F3849_X86_64_L_0_W_0 */ + { PREFIX_TABLE (PREFIX_VEX_0F3849_X86_64_L_0_W_0_M_0) }, + { PREFIX_TABLE (PREFIX_VEX_0F3849_X86_64_L_0_W_0_M_1) }, }, { - /* MOD_VEX_0F3849_X86_64_P_2_W_0 */ - { VEX_LEN_TABLE (VEX_LEN_0F3849_X86_64_P_2_W_0_M_0) }, - }, - { - /* MOD_VEX_0F3849_X86_64_P_3_W_0 */ - { Bad_Opcode }, - { VEX_LEN_TABLE (VEX_LEN_0F3849_X86_64_P_3_W_0_M_0) }, - }, - { - /* MOD_VEX_0F384B_X86_64_P_1_W_0 */ - { VEX_LEN_TABLE (VEX_LEN_0F384B_X86_64_P_1_W_0_M_0) }, - }, - { - /* MOD_VEX_0F384B_X86_64_P_2_W_0 */ - { VEX_LEN_TABLE (VEX_LEN_0F384B_X86_64_P_2_W_0_M_0) }, - }, - { - /* MOD_VEX_0F384B_X86_64_P_3_W_0 */ - { VEX_LEN_TABLE (VEX_LEN_0F384B_X86_64_P_3_W_0_M_0) }, + /* MOD_VEX_0F384B_X86_64_L_0_W_0 */ + { PREFIX_TABLE (PREFIX_VEX_0F384B_X86_64_L_0_W_0_M_0) }, }, { /* MOD_VEX_0F385A */ @@ -8834,8 +8773,12 @@ static const struct dis386 rm_table[][8] { "hreset", { Skip_MODRM, Ib }, 0 }, }, { - /* RM_VEX_0F3849_X86_64_P_0_W_0_M_1_R_0 */ - { VEX_LEN_TABLE (VEX_LEN_0F3849_X86_64_P_0_W_0_M_1_REG_0_RM_0) }, + /* RM_VEX_0F3849_X86_64_L_0_W_0_M_1_P_0_R_0 */ + { "tilerelease", { Skip_MODRM }, 0 }, + }, + { + /* RM_VEX_0F3849_X86_64_L_0_W_0_M_1_P_3 */ + { "tilezero", { TMM, Skip_MODRM }, 0 }, }, };