From patchwork Tue Jul 4 15:20:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 115829 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9f45:0:b0:3ea:f831:8777 with SMTP id v5csp1295310vqx; Tue, 4 Jul 2023 08:20:42 -0700 (PDT) X-Google-Smtp-Source: APBJJlH6zLMvB/VfuCBgLArH4GsIJX8hv2EqnfNdWFhdBncF/wOPvyA33gRIVgxSrk7cpPBjA2YZ X-Received: by 2002:a17:906:ae85:b0:991:e849:e13b with SMTP id md5-20020a170906ae8500b00991e849e13bmr8854641ejb.10.1688484042262; Tue, 04 Jul 2023 08:20:42 -0700 (PDT) Received: from server2.sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id ck13-20020a170906c44d00b0098e3e818952si5417344ejb.326.2023.07.04.08.20.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Jul 2023 08:20:42 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=fTobeIga; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 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 2834C3857708 for ; Tue, 4 Jul 2023 15:20:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2834C3857708 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1688484039; bh=afI+xbR/cCZigVuij1C5KTV69votRlsUViY9vT5+xe4=; 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=fTobeIga6yI7EJk/5y54dorB/ebhrVtBa4IAK4hyOOFZc9tEtY8r9DQJPwqSC8rX/ sdq0YDea0fPZcnFKKsJxpTtHOWspqG5GJsJC0DQ+TmxqRQKgnw1fwXpfe4kzRq5UgL x0FDXXvbs8z0Yd5Fb9JJzhq3UX3STvBv8C5EvzvE= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2064.outbound.protection.outlook.com [40.107.249.64]) by sourceware.org (Postfix) with ESMTPS id 065303857726 for ; Tue, 4 Jul 2023 15:20:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 065303857726 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aLnkrYO9tMDfJdrXqg3pcDrTI0ibrfe1cirPLreKqtvhosdZUjo/kiaaFU8fCw9RMlAwb91e3y5HMziufc3DUmRw/0bAh2CrJuZ7bckcGLNR1+nT7XSNHvaNZAxm0wIHbz71nG7QkOxLibRK/Ed5fc4KZNBGFPZYY8XIgbhPCOcbHSDyhqRFtJmZP7ZvMq/dJ9kLH+pE+qFVFAYA9gR70pt5QVS+nCcx/g4CAiW6+EOdgn9oKnbJ2zs3DTQJkw3DvAPG2OnS0+ABB6X8Rd1HUmlgxm13EpRM9JVKoUmYlu1gmQxK/KTJsIMXc5Rgpuz7Pt7g9AlmHC74N9x+NgLbTQ== 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=afI+xbR/cCZigVuij1C5KTV69votRlsUViY9vT5+xe4=; b=VgpLmuXm7A8rtX8Q/Hcg4VjoNTkzg6hPufxGL13uDJ8ZgqNIizPw1EZmzfIZ2c4X7onqXoVxbd68Zbyogbvpa13DJgQ9ggmPplN+QvHfq0ubq1nDLrd7kM6Ir7+4SMYhl4u3eYguTl/3fWOWHqYiLh2GvIuU2ledOur0EgGYNhKB31vEEv7R1PF2X9PM5Gy0z6qieqFfYffRxLOpxbc1puqeIrVrM8Mq+frz97v5OuOF0vcMni3eub4dnkElKv1vgjF89pUvKZxbqPib/QiQD3FDj+/aE/5Cjvg6suvUkkt2o6JGvh6qtesimtqgG1JvvVIPtOtgtiYSY7BVKw7h+A== 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 DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) by AS8PR04MB8692.eurprd04.prod.outlook.com (2603:10a6:20b:42b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6544.24; Tue, 4 Jul 2023 15:20:28 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::9bd3:48c9:ff58:9880]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::9bd3:48c9:ff58:9880%4]) with mapi id 15.20.6544.024; Tue, 4 Jul 2023 15:20:28 +0000 Message-ID: <46594eee-305a-8913-c407-806158fbbe8f@suse.com> Date: Tue, 4 Jul 2023 17:20:35 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: [PATCH 03/10] x86: {,V}MOVNT* don't need to go through mod_table[] Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR2P281CA0114.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9d::6) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8692:EE_ X-MS-Office365-Filtering-Correlation-Id: 8640af2a-a3fb-4f4e-efec-08db7ca232d6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hjnBpNmxSxn9WOpHCl5CSsvPEO60gn1PDZVZFrVkoIFC2Qu2rUiQFo9HXro/thmJ7Az/iz8+hQXIIWlxTgzgrsqwFjA/JN+p6pwPBHEl64jeDnJ2D5IlhYCvbvFJeHPy96HznuVivDDi9UuRLyZopXF/AiGkyWSMPxMj3a4Th9OeggHmDIPCTzkMFxUH6GcdezX2Q+15FG1BqeMQedXzJrQO4vAAyQdNt9fhiWIzSDCOFCdtA163ESebBOcyavg74Kbvj+OYijekEO5kl2MYCDdLPThPBRkyz9l/SGu1VRFSkx75v5C5QfKPiJXar4FYig2N0N3jh0ugr/fc7xjcQsQ4xj/LpfzoS9HipZ0bqOuVkuha4mrsCNbFnPnhN8X7XY4H7ATb09+PXnLFvM5GThL1oy9bUHKIdZjwYXTgNccB281I/P+gXJnei3rGmtsiw8g6nGzhMn+T4chY9+TX40ktSmRGk3eBsNDRIMQr9Ub1hjmaIQKvsUhOeQD6rbrEOqYsP2S06RIb9to7U8pPXtzp3XJkk4fp0Xd0ojACbzghtlY2X5vuz5s2f9sj98SiXzWjQb1rVC1PsX8efPxvctnVSxXM1gtEcb0aloIQtQY7Er4c2r0eMMH+4By+oRh7WyzBhYQ9zS2RbGxcm1TzbQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU2PR04MB8790.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(136003)(39850400004)(376002)(346002)(366004)(396003)(451199021)(478600001)(6666004)(5660300002)(8676002)(36756003)(8936002)(31696002)(86362001)(2906002)(38100700002)(66476007)(4326008)(66946007)(66556008)(6916009)(316002)(41300700001)(26005)(31686004)(186003)(6506007)(2616005)(6486002)(6512007)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?5oYCMncidRmPQvNUu16dNqgovW5f?= =?utf-8?q?UnGfpaSIvf2z6/kjMuXC+pBrO02uyWSy+H/jmhm3XfhZJdGaP+hOWIUg02bORRVOX?= =?utf-8?q?mBqoFzXAhk0k1WalBNlosGDxw4O91JXg4cUHxF/T/V52WQIAmqzhjcQjuXR6l91lr?= =?utf-8?q?gs0R5zfzImqgfOdoAA+HmclmBriQE1/u2ZCWMdS+GIy9ojfZjMQkkdygmc+hqp2tk?= =?utf-8?q?oXKztB9dLTh+Ps1oDnCwxP9YNa4W8qCtDfqqj1Ud63byLgx1eLWUOYXcW/wDBnZMv?= =?utf-8?q?vouE8/Rcj049QOAtEBUi9VLCbfcbQlpqP7M8sfhpcCLb/0XErz/IV5IRb07DTRtxu?= =?utf-8?q?HFyJao4SE/06tf+lRiMlshQrrYjtze3SF86A8NC+NPmxAgpgqbntRw114Ook/uPL9?= =?utf-8?q?Y5ugL48Z1ezgtrF0iKCcVhSv8R4holBHAPq6TIWaOotuK+48ExJCKCWDxylXllcvS?= =?utf-8?q?q3ZRhWxWmtgzVVF9vc1OUODgJK1fU04DEoGHHLsSlxOeZFqKtmUKMZ+v9loLK1PDO?= =?utf-8?q?4T65WDLmkVrP4TWWy1ioG+eaNSn/0UXsRyw/rVUwpcGLa+sIKXtOouTAyiXI4VTsw?= =?utf-8?q?s/A0GLHl8Su2y66ten4HtyAvL89p6HT8iV0nMZwGDp4dgXv3YGsen96fxw3MfMYdZ?= =?utf-8?q?VsHGfQMB7Bb0DhMkV1VL/hetrvEr9eX0VdxXyfG+iPg/8jQyQH91ldR/q4h0EM8m8?= =?utf-8?q?jIsvfuxFCxahhfkkDSnqKvF9DSX/eye5qhIUQvqcXd1x9ck1WLpl97TW4/y7cGgzf?= =?utf-8?q?Nv06nGisJWzQsyrZLaA9V0LYXmvtkipplGSouTawNuhOswggh9wlpz6B2Wnpv0/zv?= =?utf-8?q?mvFJdNTi4kZ6UL5gO346o1/kdmSxs5EihOkT/1FzfhFdHYYQVieHrHMlKtXLqVVMF?= =?utf-8?q?Lxmjw3WhESbQ7V+6zGflmswiyrhWL54tFK9U9KGSWLhNg+iH7YKzPX3j/LFE98hYd?= =?utf-8?q?foImdCzLBzzeB6BjzCxXdjGfY0vb0Y/9dBBzEXFJ+jQ5XOwoC1R79NDzxlaJQGTIC?= =?utf-8?q?/1OW6Hpy88uQXFmbxUaQNVbhnz8qib9TKNnBJXMBNMyZnwGTFtfnhFyo65LZgpx80?= =?utf-8?q?oWVmRdxDtx5Hfdfs+oBm10LdJhxXw2KV5rUC8rAk7kcnYART4UdWuIHpbapak2c+r?= =?utf-8?q?Au7XDdx4GBNJbrI77RhwAkl++6yC4dEfz1mx+SFaGmjbxNzf1p6jeLU2oLPXabAyH?= =?utf-8?q?DdLpCaP7fAuCcWXQ64oQpF0f1oFrFaKLci3K6jp5SK0WcX4agUkx7Lqu1bwbwbPwj?= =?utf-8?q?stg8cWoNkDtUgr6nO8dvQqSgicUXDJMj0LPZ2QROlLY+1O7NirVRxsFWT51zJO5sy?= =?utf-8?q?/wgh4KYISNkSHQ2BBmzDMv+BiScrz9pQ+GqX7VR/L66D2CrsR8YKB+rxm9D8JeVj/?= =?utf-8?q?9TA4GzglCHeMde6GUVAbka70tUxh+YdNLnYc6t4vWF/fesX5bwit3gj2U8bTwG+YT?= =?utf-8?q?ae/xUSe6+ITuVtmz5Xl/ucJWre7rb4G7MMxH4ezk68NPAlauhpkxpedhpC7vrbuqI?= =?utf-8?q?4gw5x3Wrnk8m?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8640af2a-a3fb-4f4e-efec-08db7ca232d6 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2023 15:20:28.3341 (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: /VIH0xTompvXX7X0TUxgLpNg6B5uljzqSKRt7ZHbIwf1pq//aOFA1s1S+Q0iDWhgtX8dFgOtpVjc5jAXUaqQCA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8692 X-Spam-Status: No, score=-3027.4 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?1770503843395815178?= X-GMAIL-MSGID: =?utf-8?q?1770503843395815178?= Most of them use Mx already for the memory operand, which rejects the register form of the insn. Use that operand type also for the two EVEX forms which so far have used EXEvexXNoBcst (and thus failed to reject the register forms), compensating by flagging broadcast as bad for all Mx. This way several other insns which don't permit embedded broadcast either are also covered at the same time. --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -889,10 +889,6 @@ enum MOD_0F1B_PREFIX_1, MOD_0F1C_PREFIX_0, MOD_0F1E_PREFIX_1, - MOD_0F2B_PREFIX_0, - MOD_0F2B_PREFIX_1, - MOD_0F2B_PREFIX_2, - MOD_0F2B_PREFIX_3, MOD_0F50, MOD_0F71, MOD_0F72, @@ -908,15 +904,12 @@ enum MOD_0FB2, MOD_0FB4, MOD_0FB5, - MOD_0FC3, MOD_0FC7_REG_3, MOD_0FC7_REG_4, MOD_0FC7_REG_5, MOD_0FC7_REG_6, MOD_0FC7_REG_7, MOD_0FD7, - MOD_0FE7_PREFIX_2, - MOD_0F382A, MOD_0F38DC_PREFIX_1, MOD_0F38DD_PREFIX_1, MOD_0F38DE_PREFIX_1, @@ -931,7 +924,6 @@ enum MOD_0F38FB_PREFIX_1, MOD_0F3A0F_PREFIX_1, - MOD_VEX_0F2B, MOD_VEX_0F41_L_1, MOD_VEX_0F42_L_1, MOD_VEX_0F44_L_0, @@ -951,9 +943,7 @@ enum MOD_VEX_0FAE_REG_2, MOD_VEX_0FAE_REG_3, MOD_VEX_0FD7, - MOD_VEX_0FE7, MOD_VEX_0F381A, - MOD_VEX_0F382A, MOD_VEX_0F382C, MOD_VEX_0F382D, MOD_VEX_0F382E, @@ -2328,7 +2318,7 @@ static const struct dis386 dis386_twobyt { "xaddB", { Ebh1, Gb }, 0 }, { "xaddS", { Evh1, Gv }, 0 }, { PREFIX_TABLE (PREFIX_0FC2) }, - { MOD_TABLE (MOD_0FC3) }, + { "movntiS", { Mdq, Gdq }, PREFIX_OPCODE }, { "pinsrw", { MX, Edw, Ib }, PREFIX_OPCODE }, { "pextrw", { Gd, MS, Ib }, PREFIX_OPCODE }, { "shufpX", { XM, EXx, Ib }, PREFIX_OPCODE }, @@ -3204,10 +3194,10 @@ static const struct dis386 prefix_table[ /* PREFIX_0F2B */ { - { MOD_TABLE (MOD_0F2B_PREFIX_0) }, - { MOD_TABLE (MOD_0F2B_PREFIX_1) }, - { MOD_TABLE (MOD_0F2B_PREFIX_2) }, - { MOD_TABLE (MOD_0F2B_PREFIX_3) }, + { "movntps", { Mx, XM }, 0 }, + { "movntss", { Md, XM }, 0 }, + { "movntpd", { Mx, XM }, 0 }, + { "movntsd", { Mq, XM }, 0 }, }, /* PREFIX_0F2C */ @@ -3544,9 +3534,9 @@ static const struct dis386 prefix_table[ /* PREFIX_0FE7 */ { - { "movntq", { Mq, MX }, PREFIX_OPCODE }, + { "movntq", { Mq, MX }, 0 }, { Bad_Opcode }, - { MOD_TABLE (MOD_0FE7_PREFIX_2) }, + { "movntdq", { Mx, XM }, 0 }, }, /* PREFIX_0FF0 */ @@ -4522,7 +4512,7 @@ static const struct dis386 three_byte_ta /* 28 */ { "pmuldq", { XM, EXx }, PREFIX_DATA }, { "pcmpeqq", { XM, EXx }, PREFIX_DATA }, - { MOD_TABLE (MOD_0F382A) }, + { "movntdqa", { XM, Mx }, PREFIX_DATA }, { "packusdw", { XM, EXx }, PREFIX_DATA }, { Bad_Opcode }, { Bad_Opcode }, @@ -5984,7 +5974,7 @@ static const struct dis386 vex_table[][2 { "vmovapX", { XM, EXx }, PREFIX_OPCODE }, { "vmovapX", { EXxS, XM }, PREFIX_OPCODE }, { PREFIX_TABLE (PREFIX_VEX_0F2A) }, - { MOD_TABLE (MOD_VEX_0F2B) }, + { "vmovntpX", { Mx, XM }, PREFIX_OPCODE }, { PREFIX_TABLE (PREFIX_VEX_0F2C) }, { PREFIX_TABLE (PREFIX_VEX_0F2D) }, { PREFIX_TABLE (PREFIX_0F2E) }, @@ -6195,7 +6185,7 @@ static const struct dis386 vex_table[][2 { "vpmulhuw", { XM, Vex, EXx }, PREFIX_DATA }, { "vpmulhw", { XM, Vex, EXx }, PREFIX_DATA }, { PREFIX_TABLE (PREFIX_0FE6) }, - { MOD_TABLE (MOD_VEX_0FE7) }, + { "vmovntdq", { Mx, XM }, PREFIX_DATA }, /* e8 */ { "vpsubsb", { XM, Vex, EXx }, PREFIX_DATA }, { "vpsubsw", { XM, Vex, EXx }, PREFIX_DATA }, @@ -6274,7 +6264,7 @@ static const struct dis386 vex_table[][2 /* 28 */ { "vpmuldq", { XM, Vex, EXx }, PREFIX_DATA }, { "vpcmpeqq", { XM, Vex, EXx }, PREFIX_DATA }, - { MOD_TABLE (MOD_VEX_0F382A) }, + { "vmovntdqa", { XM, Mx }, PREFIX_DATA }, { "vpackusdw", { XM, Vex, EXx }, PREFIX_DATA }, { MOD_TABLE (MOD_VEX_0F382C) }, { MOD_TABLE (MOD_VEX_0F382D) }, @@ -8111,22 +8101,6 @@ static const struct dis386 mod_table[][2 { REG_TABLE (REG_0F1E_P_1_MOD_3) }, }, { - /* MOD_0F2B_PREFIX_0 */ - {"movntps", { Mx, XM }, PREFIX_OPCODE }, - }, - { - /* MOD_0F2B_PREFIX_1 */ - {"movntss", { Md, XM }, PREFIX_OPCODE }, - }, - { - /* MOD_0F2B_PREFIX_2 */ - {"movntpd", { Mx, XM }, PREFIX_OPCODE }, - }, - { - /* MOD_0F2B_PREFIX_3 */ - {"movntsd", { Mq, XM }, PREFIX_OPCODE }, - }, - { /* MOD_0F50 */ { Bad_Opcode }, { "VmovmskpX", { Gdq, XS }, PREFIX_OPCODE }, @@ -8199,10 +8173,6 @@ static const struct dis386 mod_table[][2 { "lgsS", { Gv, Mp }, 0 }, }, { - /* MOD_0FC3 */ - { "movntiS", { Edq, Gdq }, PREFIX_OPCODE }, - }, - { /* MOD_0FC7_REG_3 */ { "xrstors", { FXSAVE }, 0 }, }, @@ -8230,14 +8200,6 @@ static const struct dis386 mod_table[][2 { "pmovmskb", { Gdq, MS }, 0 }, }, { - /* MOD_0FE7_PREFIX_2 */ - { "movntdq", { Mx, XM }, 0 }, - }, - { - /* MOD_0F382A */ - { "movntdqa", { XM, Mx }, PREFIX_DATA }, - }, - { /* MOD_0F38DC_PREFIX_1 */ { "aesenc128kl", { XM, M }, 0 }, { "loadiwkey", { XM, EXx }, 0 }, @@ -8294,10 +8256,6 @@ static const struct dis386 mod_table[][2 { REG_TABLE (REG_0F3A0F_PREFIX_1_MOD_3) }, }, { - /* MOD_VEX_0F2B */ - { "%XEvmovntpX", { Mx, XM }, PREFIX_OPCODE }, - }, - { /* MOD_VEX_0F41_L_1 */ { Bad_Opcode }, { VEX_W_TABLE (VEX_W_0F41_L_1_M_1) }, @@ -8390,18 +8348,10 @@ static const struct dis386 mod_table[][2 { "vpmovmskb", { Gdq, XS }, PREFIX_DATA }, }, { - /* MOD_VEX_0FE7 */ - { "vmovntdq", { Mx, XM }, PREFIX_DATA }, - }, - { /* MOD_VEX_0F381A */ { VEX_LEN_TABLE (VEX_LEN_0F381A_M_0) }, }, { - /* MOD_VEX_0F382A */ - { "vmovntdqa", { XM, Mx }, PREFIX_DATA }, - }, - { /* MOD_VEX_0F382C */ { VEX_W_TABLE (VEX_W_0F382C_M_0) }, }, @@ -12952,6 +12902,10 @@ OP_M (instr_info *ins, int bytemode, int if (ins->modrm.mod == 3) /* bad bound,lea,lds,les,lfs,lgs,lss,cmpxchg8b,vmptrst modrm */ return BadOp (ins); + + if (bytemode == x_mode) + ins->vex.no_broadcast = true; + return OP_E_memory (ins, bytemode, sizeflag); } --- a/opcodes/i386-dis-evex.h +++ b/opcodes/i386-dis-evex.h @@ -50,7 +50,7 @@ static const struct dis386 evex_table[][ { "%XEvmovapX", { XM, EXx }, PREFIX_OPCODE }, { "%XEvmovapX", { EXxS, XM }, PREFIX_OPCODE }, { PREFIX_TABLE (PREFIX_VEX_0F2A) }, - { MOD_TABLE (MOD_VEX_0F2B) }, + { "%XEvmovntpX", { Mx, XM }, PREFIX_OPCODE }, { PREFIX_TABLE (PREFIX_VEX_0F2C) }, { PREFIX_TABLE (PREFIX_VEX_0F2D) }, { PREFIX_TABLE (PREFIX_0F2E) }, --- a/opcodes/i386-dis-evex-w.h +++ b/opcodes/i386-dis-evex-w.h @@ -156,7 +156,7 @@ }, /* EVEX_W_0FE7 */ { - { "%XEvmovntdq", { EXEvexXNoBcst, XM }, PREFIX_DATA }, + { "%XEvmovntdq", { Mx, XM }, PREFIX_DATA }, }, /* EVEX_W_0FF2 */ { @@ -293,7 +293,7 @@ }, /* EVEX_W_0F382A_P_2 */ { - { "%XEvmovntdqaY", { XM, EXEvexXNoBcst }, 0 }, + { "%XEvmovntdqaY", { XM, Mx }, 0 }, }, /* EVEX_W_0F382B */ {