From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2058.outbound.protection.outlook.com [40.107.249.58]) by sourceware.org (Postfix) with ESMTPS id E22E23855593 for ; Tue, 4 Jul 2023 15:21:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E22E23855593 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KFf/jWVJJXEtm8iNOgLwAxPG5i4QlK1hvJW3SBO/OUVH/QqZt9hjZqjJormFroHB7Fbw5wdxYFRgXuJn4qoGLsHkcNJzUJfcfSpMvrRzJpbO3ZgEnAFSiKnNTNCKeS9RS9cPKX2E8sLshGl1NdtzGIoOQ81SH64hEGun68gxUCzxHYBy75NW61GlccEj5riuVeTcLq0IpPjk8lfR7ZaVkHP6Xejy9qPUKnJiTqP18Mkilk6q6TlIwT1aspNwUD8crJOxAvYcqoH6VrZJP+cRLFTcL/mQwWsPvBP2IR+rcGqhiiiWXy4lohKQ5Abw+Z2FL5OB+A7ANvKGAem45IQkrQ== 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=n249pK8jGi4xFDrdpKhOxoKDCyhcIcQ2FzAQDs8VA4U=; b=Z4B0Z2r/KFcgjjwuaFKhDw/3o0OnYMJxy3KITWBFrPcBb+YiQvq2nfFE5jYbzeue6lo7I48+zU14kQO1wnAuOMkOjXBOjEwkHGgnzi7+Ya4MnZHhTx4WNc7rweE6VOZnruo+xIxPUSmEjFr5FVsR1GCz+9AzOH8NmlD7yF9ixlxbG+sFWpNf34RRhfWJv8SAhv7nw80kNJN6IiOIFSaAHKDRoWTWmVE22YoB00kw92jIK4vPGqAb1uiEPZ5jOM93QOYEmhCfsSfNr5Syp7ZHz7ruL6Qt5k5ThOa5nvCag5u0nMAZ6oRMFQCIu4jKPGKIizQbxOR8zno/A3MYgqzTeQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=n249pK8jGi4xFDrdpKhOxoKDCyhcIcQ2FzAQDs8VA4U=; b=rOFT8eJCVt/FqQC732H82l2WNyXgGLTpPbC0D8IvSMhpsShJyrHAt1axKstRChxctoPMDQpr1wLXfftB7N4F3mCLwSWu5/nTScPxqzM69FK0UXub+WkPMRE/VMwWOw7syUnt75q+gLEDY8kCSsBaixHgR6vlKAYgtSUftcKLxDQu4jrfYltTmkIWWFmD6gnoysUOUjnggaq/G2kgI3hBvtxmkUmbb01xjTqEZ1VcG8pu1nqRhZ1A5nveqcJhQTZ0ZcGAHDMwOpRAQ++0Ib+9pIr3k7aIXkrQpK8kPkfVVG8c2fKqfnRO8ermNKzzWyaJWl7GI/4pIZZrl4fYGIGKIQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; 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:21:30 +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:21:30 +0000 Message-ID: <96a500b4-1b68-520b-bccc-01d78f8e6f6c@suse.com> Date: Tue, 4 Jul 2023 17:21:38 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: [PATCH 05/10] x86: SIMD shift-by-immediate don't need to go through mod_table[] Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0256.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::9) 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: 8a78b9a5-5a83-4a14-1979-08db7ca2581d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: F5EEhllGLWXFEM7MK5LSsgA7wg5eQ+8W52l44diswzp7/wfbRhIrgjjKV1V7MgF3+diOjjnQLZ14v2W3HIzavhm56BwwnYYqGlFnRZk9Zs+igyqmxNnBQbdKDK5L4z/hoyiMOR48FhJpxxUnRwLyY3ACnfPHiuCzZROcXd5wk0PjoFc0XJr2oqKzM6Rjm2yp5YkIG+COs5VIzp2j5BuvFjINkIg6OSJdJ2QJyBqLi8eDFrgatApMjp4mElHa801udLwPK2LSdaBZ8x8Ynp6oEOgH3j0qbb46dN3fLGOb2cKg8std043LS6msJPJTUrEDVVVjJmVLH7w+08nEhxxdqLFWXjYaNpRAk46Szv/0VH0nbBA8H2e/cbNRoRR6A6gNsEm2wzV4/j0o8ETN7e8ooV9FIfCC+EOZhtyHJno8sl29eB9cuMoFS1C0nzVLCz5aR1GEQPWOTv8MiV0X31a5lqKH5aXG/80LHoT35liAUNUeWdVCt1caG2L0jV8gQwSUtjkL2vwwID90RhrH1kHx76eW6V8YOcfI7/NvD2Bu+4jj6I2XXUv18XilzacWWb8wpX98IFDIPXbxTCVBvYtn3pSVj6pWKGqqw1rc7JPztkhAU1VjNmnSHDi1iiZkmhePLT0/I14wpO0VK+Y8xuWgHuHKZtUGVlFxyCNl6uPFd1I= 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)(5660300002)(8676002)(36756003)(8936002)(31696002)(86362001)(2906002)(38100700002)(66476007)(4326008)(66946007)(66556008)(6916009)(316002)(41300700001)(26005)(31686004)(186003)(6506007)(2616005)(6486002)(6512007)(14773001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NHJhUVhhd1hscWs0ZXMwOW5hZkZBRExObGhvRmNBZE9RSXhYVkNxazYzMGts?= =?utf-8?B?ei9lNmhsTUFGd1EwekU2bzYrZzVwMW1JN2lOYzE0YmNXeXVpNjdPUFJXNFFV?= =?utf-8?B?NVRxMDdsbEhDeWdYUjVJSXJUVnBXRXZIRjRDdDRzQVAvTllhU2xzMlBLaWxw?= =?utf-8?B?dzRIbTNiZU9qQVdtL09nZkRlQ2FDZC92aTQyR0tFOE1LWlNETzJwWUtYdDc2?= =?utf-8?B?Uk14UWlxWnVXL2s2bzJodFZEZ1NlbTBQa0xKcHJNcFNBRy9Na2xOYWdQUFFH?= =?utf-8?B?blUrZDdDUDVEdS80cFhSb3B2VStDWEJsc0ZnakZ3VW03QWphMWhGbTNmR24w?= =?utf-8?B?UDN6RUJ1ekh4NUpDSHl2WloweWUyOVlvUEFGblVkRTVXajN2cDZKZTYyY3hE?= =?utf-8?B?MXdITFM2UVIwc2hreUY4UHZmNXo1Qys1ZEx3Y280ME1GbGlBd2QzdnQrcFNO?= =?utf-8?B?SEgrcktveCtGTFRPbkFZcnJZZnFxQlVFbGhYY3ZxU0RtREtnZzMxUDRTZnJD?= =?utf-8?B?TC9PVDZ0b0JUS08yR2ZGa3E2cENoVElhem5WNWREclNPVUswQ25ENmFlZEtQ?= =?utf-8?B?ZUl1MnRqc1hLR0hhSVFmUDF3ek1KL1FsMWNsbnE2Z0U4Nll4MW15emJ2V0V5?= =?utf-8?B?TGE1NzBzdnY2dlBPZVJFU09HT25ub2o5dkhKT3ZLeGtER2JLUWVxMW1NZHQr?= =?utf-8?B?R3RGQlBuSFdBQ0o3UTd2d1c1bEU5bi9SdWRUb1dka1JKeW5nK1VVeklFVStw?= =?utf-8?B?bjdnYWdkOGhKUGlBa0NEbHZSMUFZWnpzN3Z5UFI0QnZlUkR3TnRlMlFUM2wv?= =?utf-8?B?UVpoVnpnS256R0lZU0dVcG1JWitNc2RRVGVtRUsra3h2eVRoN1ZKN2lQRzlW?= =?utf-8?B?VlZQa0ZSTXVVS3MvZkIva29SVmM3bzBFZmlWSWFkVXphMnhjcmhZSjJCbUdn?= =?utf-8?B?djVvK3RPbHh6ZklWeHNQRVZvNEZ1T0J4SC9tNDVXd0c2NDRURnpvLzVqQzdF?= =?utf-8?B?aFV4SGZUNFNIT2IvTFVSYll4bUFxQWNDTVlocHE0aCtUTjZzVWN4b2NFRU5y?= =?utf-8?B?b0dqRW5EZjFQd084d1JGQ2tYaEQyVW8xUFZlZkNKMEdjK1VaMnpIM3RhOUtZ?= =?utf-8?B?RlVrbWx6NlJkOGMvY3lsTjMxandzUU9LUC8zdS9DOURhWmU5OFEvOFhDRDBy?= =?utf-8?B?cExjeWtobUh1NlRMMVB5V01RT2dFRGZWNVpRdll6UUhiVkxOckJZbFRmT0tl?= =?utf-8?B?ZHhhL25VMnZ4d3JzS0RBVlU4SHFBYjBaaWgzcTEvQmQvOUtldGNaTDI3NjNB?= =?utf-8?B?azRPOEtqMmpadkt5TkxvT3RZZG5oQUExM3NiT1RUWUNEdno2SnNnbzFuZXNM?= =?utf-8?B?L1lnMHpZQWJaYUVyRU0zN1NjT0oxcnFCWnd3bDVJRGhjQXpObnNCWDBDQUg1?= =?utf-8?B?T3hVa1pBekZsNzBoWUJKbndKQzltUGdGeGU0aFdYUnc3RFJvVXN1UXEwdlk5?= =?utf-8?B?N1lvaUhQeCtJMEdqUE1iNmdmQnpqMmNqRnhaZFM4dk8vcEFHUjNxYmhRNTV0?= =?utf-8?B?VnRnN3d1d21zR0Rnano2MnJOS08wdmN3aDJPZGxPc0pZNzZxdU91RXpKVEZG?= =?utf-8?B?ajArZkMzYlAzeVd1aWFYZmo4QjdOK2JyeTZPeXJJU0hKZXdkTU5PbDViWlVL?= =?utf-8?B?WjRvUzBHRm5tOGFidlRkcW1ZYTE2OEdrN0k4UndtQjZxTWR1Q1E1MHcraGV3?= =?utf-8?B?VnNGa2l5UE1XVzZkNlRFZVlGNVpJbm02WWpVd2pCb25aL3Rzc0JWMWNnL0t3?= =?utf-8?B?QUhURnlJNU5mUGNMeS9mVTNuRHJyaVVpeE14UXVpeHNodTZhYkM3RWpHYUZZ?= =?utf-8?B?S2JKTUFxY0ZnU0NqZFZjeHRocWQzeWNTTUZvU0pZMm44QW8yZjF5ak5YV1VF?= =?utf-8?B?ZGRKZ05uV1VpYXA0QkM2RktkZGh6VUwvcFBGbVY2MzdueU5JNDZpQ01OR1Ar?= =?utf-8?B?WGw2N0djMTdoSVZicjhMMGlLcmFJRWJTZC9ZeFNETXlWR2VaMlhyS0QxK0py?= =?utf-8?B?dmlXYk8zVzhpazVhWWlxOUlRdmF4L1JRZTRYSVNaVy8xc2w2dGM2RUV2em1F?= =?utf-8?Q?JGJ3OW32qn730sADf1k20RlbM?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8a78b9a5-5a83-4a14-1979-08db7ca2581d 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:21:30.8921 (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: Jp0AM8QCuEQdjWsASLKw4c7jZ+x4CTZkugNigq1SmOCwN9C5sBixEErEYqj0auAZd+nVdlLDmDwdIPmJmNykUA== 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 List-Id: OP_MS() and OP_XS() reject memory forms of insns quite fine. This then also eliminates mis-named enumerators (we use M_1 for register forms). --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -828,17 +828,17 @@ enum REG_0F1E_P_1_MOD_3, REG_0F38D8_PREFIX_1, REG_0F3A0F_PREFIX_1_MOD_3, - REG_0F71_MOD_0, - REG_0F72_MOD_0, - REG_0F73_MOD_0, + REG_0F71, + REG_0F72, + REG_0F73, REG_0FA6, REG_0FA7, REG_0FAE, REG_0FBA, REG_0FC7, - REG_VEX_0F71_M_0, - REG_VEX_0F72_M_0, - REG_VEX_0F73_M_0, + REG_VEX_0F71, + REG_VEX_0F72, + REG_VEX_0F73, REG_VEX_0FAE, REG_VEX_0F3849_X86_64_L_0_W_0_M_1_P_0, REG_VEX_0F38F3_L_0, @@ -884,9 +884,6 @@ enum MOD_0F1C_PREFIX_0, MOD_0F1E_PREFIX_1, MOD_0F50, - MOD_0F71, - MOD_0F72, - MOD_0F73, MOD_0FAE_REG_0, MOD_0FAE_REG_1, MOD_0FAE_REG_2, @@ -911,9 +908,6 @@ enum MOD_VEX_0F47_L_1, MOD_VEX_0F4A_L_1, MOD_VEX_0F4B_L_1, - MOD_VEX_0F71, - MOD_VEX_0F72, - MOD_VEX_0F73, MOD_VEX_0F91_L_0, MOD_VEX_0F92_L_0, MOD_VEX_0F93_L_0, @@ -2188,9 +2182,9 @@ static const struct dis386 dis386_twobyt { PREFIX_TABLE (PREFIX_0F6F) }, /* 70 */ { PREFIX_TABLE (PREFIX_0F70) }, - { MOD_TABLE (MOD_0F71) }, - { MOD_TABLE (MOD_0F72) }, - { MOD_TABLE (MOD_0F73) }, + { REG_TABLE (REG_0F71) }, + { REG_TABLE (REG_0F72) }, + { REG_TABLE (REG_0F73) }, { "pcmpeqb", { MX, EM }, PREFIX_OPCODE }, { "pcmpeqw", { MX, EM }, PREFIX_OPCODE }, { "pcmpeqd", { MX, EM }, PREFIX_OPCODE }, @@ -2745,7 +2739,7 @@ static const struct dis386 reg_table[][8 { { RM_TABLE (RM_0F3A0F_P_1_MOD_3_REG_0) }, }, - /* REG_0F71_MOD_0 */ + /* REG_0F71 */ { { Bad_Opcode }, { Bad_Opcode }, @@ -2755,7 +2749,7 @@ static const struct dis386 reg_table[][8 { Bad_Opcode }, { "psllw", { MS, Ib }, PREFIX_OPCODE }, }, - /* REG_0F72_MOD_0 */ + /* REG_0F72 */ { { Bad_Opcode }, { Bad_Opcode }, @@ -2765,7 +2759,7 @@ static const struct dis386 reg_table[][8 { Bad_Opcode }, { "pslld", { MS, Ib }, PREFIX_OPCODE }, }, - /* REG_0F73_MOD_0 */ + /* REG_0F73 */ { { Bad_Opcode }, { Bad_Opcode }, @@ -2824,7 +2818,7 @@ static const struct dis386 reg_table[][8 { MOD_TABLE (MOD_0FC7_REG_6) }, { MOD_TABLE (MOD_0FC7_REG_7) }, }, - /* REG_VEX_0F71_M_0 */ + /* REG_VEX_0F71 */ { { Bad_Opcode }, { Bad_Opcode }, @@ -2834,7 +2828,7 @@ static const struct dis386 reg_table[][8 { Bad_Opcode }, { "vpsllw", { Vex, XS, Ib }, PREFIX_DATA }, }, - /* REG_VEX_0F72_M_0 */ + /* REG_VEX_0F72 */ { { Bad_Opcode }, { Bad_Opcode }, @@ -2844,7 +2838,7 @@ static const struct dis386 reg_table[][8 { Bad_Opcode }, { "vpslld", { Vex, XS, Ib }, PREFIX_DATA }, }, - /* REG_VEX_0F73_M_0 */ + /* REG_VEX_0F73 */ { { Bad_Opcode }, { Bad_Opcode }, @@ -6015,9 +6009,9 @@ static const struct dis386 vex_table[][2 { PREFIX_TABLE (PREFIX_VEX_0F6F) }, /* 70 */ { PREFIX_TABLE (PREFIX_VEX_0F70) }, - { MOD_TABLE (MOD_VEX_0F71) }, - { MOD_TABLE (MOD_VEX_0F72) }, - { MOD_TABLE (MOD_VEX_0F73) }, + { REG_TABLE (REG_VEX_0F71) }, + { REG_TABLE (REG_VEX_0F72) }, + { REG_TABLE (REG_VEX_0F73) }, { "vpcmpeqb", { XM, Vex, EXx }, PREFIX_DATA }, { "vpcmpeqw", { XM, Vex, EXx }, PREFIX_DATA }, { "vpcmpeqd", { XM, Vex, EXx }, PREFIX_DATA }, @@ -8040,21 +8034,6 @@ static const struct dis386 mod_table[][2 { "VmovmskpX", { Gdq, XS }, PREFIX_OPCODE }, }, { - /* MOD_0F71 */ - { Bad_Opcode }, - { REG_TABLE (REG_0F71_MOD_0) }, - }, - { - /* MOD_0F72 */ - { Bad_Opcode }, - { REG_TABLE (REG_0F72_MOD_0) }, - }, - { - /* MOD_0F73 */ - { Bad_Opcode }, - { REG_TABLE (REG_0F73_MOD_0) }, - }, - { /* MOD_0FAE_REG_0 */ { "fxsave", { FXSAVE }, 0 }, { PREFIX_TABLE (PREFIX_0FAE_REG_0_MOD_3) }, @@ -8170,21 +8149,6 @@ static const struct dis386 mod_table[][2 { VEX_W_TABLE (VEX_W_0F4B_L_1_M_1) }, }, { - /* MOD_VEX_0F71 */ - { Bad_Opcode }, - { REG_TABLE (REG_VEX_0F71_M_0) }, - }, - { - /* MOD_VEX_0F72 */ - { Bad_Opcode }, - { REG_TABLE (REG_VEX_0F72_M_0) }, - }, - { - /* MOD_VEX_0F73 */ - { Bad_Opcode }, - { REG_TABLE (REG_VEX_0F73_M_0) }, - }, - { /* MOD_VEX_0F91_L_0 */ { VEX_W_TABLE (VEX_W_0F91_L_0_M_0) }, },