From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2083.outbound.protection.outlook.com [40.107.6.83]) by sourceware.org (Postfix) with ESMTPS id 3D3093857437 for ; Thu, 13 Jul 2023 09:29:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3D3093857437 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=jKCUnYowWsRSmwrE2jemkLuBzkI1VwXiYXgez6PbZ5eaY8hzXC2Vl69MhLapV3stL8+8bVL9//oERB339I/pk8KL7MQsUEBXd42sGJFteVrDgmInxXv6V05Z+qhrXBpLtqE2xpmptLaGsf7GoKeZ1IwvvTW3pV15XqfDzOEFSjKrcGuOz8HyYXJlD+AHzBeoZ/mrL8d6WQ1wJm5vzUC9QW4m9QUD5IKeuZlLhf8qMOUj3rV/6/dGcs3d4VxZFScCDNr1/AUeUZJiL7yZGGyn66JNC0VgY8qcwtzNasFKdbQN2dEy3iLPX5PdE2Gg6q/vk++39uNZwLgAe2tVjtm6+Q== 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=F9v7WQCWAMp02joCoqDnXCVTw5Vt2soj+m7GcX+tlBg=; b=IajCPDWV2Xe6pCPf2d3zbGUu7lDbJWZMq+r/EfAPBtdEEoBE5J9U12h2Iq/xrE/vbmS01c0mJGyuu/GAAdoL1FNCxzFqi1ydGpeQHlLIh0UzH6SA8vcY+swIybIo8qHWAIDyOOlYeftHa39P0YELvt3xpygcET5eBPANPNS0pRqY2h8EhwB8HXOVnMQ7mM2Onwh7IlBn+Dia+DaTLlpZTRB2Y8a2cXo8rng8n1WSSbk9xXtrTa/xUYYoBeY1gj+L5AlsR4001qcx7ALktQw99x3PQPPXlQ6xDQNmtn+X/tXPihBIYkji644hJM+NkpFkIXc0oqQTenBQ1cDw1wBjnQ== 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=F9v7WQCWAMp02joCoqDnXCVTw5Vt2soj+m7GcX+tlBg=; b=0GhKyxQAG2RvkxJRv7T16l2EVHk+gqKJr6xsI1NVOvvqWbuhkIK14dIau7iuXWo8cfsd41gYvjLiA+cbw3TIA07CZCajvFf7gkZ0xFif2VPMkWkL5b8t2YY5KRJTTjJ02TJ43f0iLVRhiA5lY+YS/XOykTCbMiQZTr/CI8igQ/Sg+UkYRsreSNXyVBxSVHIyy8O3id6DGy7HIwaHKCqJVS9njvMEtWZMGsqvu+R+VoqntZ0/6Ec+wlB8fm43VKeJjPJD6oBhiorSb8OyLRP+9E6nrB0LWUfHhGYnYbQKafvDERLOkjEK+oF8gDujcHYUeLVO4jTicmMt5IPjmG38fg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21) by AS1PR04MB9309.eurprd04.prod.outlook.com (2603:10a6:20b:4df::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6588.24; Thu, 13 Jul 2023 09:29:44 +0000 Received: from AS8PR04MB8788.eurprd04.prod.outlook.com ([fe80::cbc0:69aa:c9a2:198e]) by AS8PR04MB8788.eurprd04.prod.outlook.com ([fe80::cbc0:69aa:c9a2:198e%7]) with mapi id 15.20.6565.016; Thu, 13 Jul 2023 09:29:43 +0000 Message-ID: <8ffc46cb-a949-5b78-12b6-9ee4161a9618@suse.com> Date: Thu, 13 Jul 2023 11:29:40 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH 1/5] Support Intel AVX-VNNI-INT16 Content-Language: en-US To: Haochen Jiang , konglin1 Cc: hjl.tools@gmail.com, amodra@gmail.com, binutils@sourceware.org References: <20230713063303.205862-1-haochen.jiang@intel.com> <20230713063303.205862-2-haochen.jiang@intel.com> From: Jan Beulich In-Reply-To: <20230713063303.205862-2-haochen.jiang@intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0247.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:af::16) To AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AS1PR04MB9309:EE_ X-MS-Office365-Filtering-Correlation-Id: 05102a81-5fdc-492d-819f-08db8383b07c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3F9hIFj92Ch9O0LgTbEUBssK3zaBru+sdEs6W69WNcXK6vA0sc6XB5+ZfDNEiewxQxkGOHhMC96MVNG7a2eBhQNHuXQ0QLvY1xX+IkVztbWCF4VJ9dsgS50e+FQM6l0+53BnIPkgIubiXz1dGPu5r6JNlyUgCssrCYDyyRZBRxohOu7hqvPNYhKUhmYqsJqiwPHhY44slDMBssirnsiLbZiHvV+xVTFw00Y7CN1Kq5Rx041QKv6C+0e+qf1tlLjNAqBaxRxkh6cx9s4T7WP3hnOdUTTIX2167G+DA0exDx1fdPCUSmHRE4nL8AOaWDn/l+AK+kHB0ya/GDsWZrgh1wOK0dZ784GPBbShZc7BKb6U/AMj1SVf9IDSUr5GmgMWW4q/kvv7MM9HtAhull0H5J2mTlxL1i0ekh0dpA4G57hBvsbElrMBXm5u3vNFMeiDXiVz821+zY4SkPJWQOU5O7WASQqMxFOg9tbfYZTB9MyngagIBcDuTXL2xUadHStgvEQUXEp6qD3uiOZwANPa9k9Ve9QyTLKkrtwjxSL7snAMQP5iObWFyOdvHf+NbgumkbsatGeRoYzBGhXKWlRtgTxgzHD7uK5CGxNJ+aU1etA61cZKcMruY/fKARNM0JAVZKHEj9q6LvVAympN49DkRg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(39860400002)(346002)(136003)(376002)(451199021)(2906002)(38100700002)(6512007)(83380400001)(186003)(2616005)(26005)(53546011)(6506007)(86362001)(5660300002)(31696002)(8676002)(8936002)(36756003)(110136005)(478600001)(6486002)(41300700001)(316002)(66946007)(66556008)(66476007)(4326008)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?R0g1YnIraFphVXZNTVFjcGtwUFhEc0RnS2hOQVlSTE1NMEhkdDJHd0tqUFpK?= =?utf-8?B?dDBwSkI3MG1kK0dHekZqaTFyUnFNcWhvRmNaanZsdElCZUNvWW1sVGFMUzBL?= =?utf-8?B?blVERVU2R3RWK2YzcGFjbVZBb3FKWHRUWDBxWjNyWDJISWhnclBGM29SZVRW?= =?utf-8?B?TEN1UElXcTJzeGxZUG9IOGM0Y05kTm9CQytqYnZ4QmRSV3ozRCswWXpWRW05?= =?utf-8?B?QStvV2lTLzg3SkdrdjNlUEFxL1h1ZXBOYzJteTg4QlZUYjNYaDBEQXRVcUYx?= =?utf-8?B?Mm42cm1PU1d0bXU2K3llc005bDVlSGxkOUVva1pFWnF5dUorWEZCSlJTVVNL?= =?utf-8?B?STNWMk9RSlZOSWh0MFBqeFpOZiswSDdpRXpldlgvbkc2ajc4RXRhV3JlaDJS?= =?utf-8?B?RDhsNUJpMXBSbDZ6cm1XcFllWVc5Nnd6RmlPcFI0Y0hqOCttOURvTnFXLzZj?= =?utf-8?B?NzNFTktKT2tVRkl3WFNrQ0ZJa2txR1EzcEhiYy9YSncyVjNPZDVuNnhWN1Nh?= =?utf-8?B?Ri9EYzFpVVY5V3ZYcStxRjdBN0tGNkY2RjdNU1hFUVFiQUcxMXNXb3BNVFRG?= =?utf-8?B?d29uZmU4UVBNR2c0SkFJVXluSHFkZ2M0ZndLVGJoeTJUYnRMZUgvQ00vTnVs?= =?utf-8?B?WEk0OFVQSHNlZDF2NUNMUDdsVGRsYStZL1hVUEpaWWtsMWpiUG92by9tRWxC?= =?utf-8?B?d3BTbnZMbGU5ZHBBa1A0NnFKbnlldnZDbjB0WjR5NUlaNXh2WTBZN3lwbUVj?= =?utf-8?B?ZkZFbG0rRDRlYzdpclpmbm9qYTJUZVhSenp5WThrT1BxOXpxZGtXZEd4WXNr?= =?utf-8?B?STNUcThYWGJXbU56WE1OMVZOb04yMWtuRDZLWTkxM3hCUml5eVNlSXV2MWlM?= =?utf-8?B?MGw0ejd6dFFEYmFEK0VJeFFvSlNlUWFkSjJSNzJJYUgwNzl3RzhXUXdtNGZj?= =?utf-8?B?V0s2RjVlL3c4aWJKcWRReElxT1pVUnRsZWxnNHdIWkFObGhpdGVudm9EdGtr?= =?utf-8?B?UGJhdGFEbEl4VFUzN2Z4VjlIRkZXSVJpaTlQT0dGbTdDL1FDck03ak55YkZF?= =?utf-8?B?R0J4QVVWV2MwVytvUkNIbkk2RWtHT0wweWZFc0NaUXl3ZE9NbS8rM0JDQi9s?= =?utf-8?B?amhUbEpwUTEwdU1VOVVHalpCZUdmcEwyWEpQdUdrVmxHd1lGVDJFWDNRTGVQ?= =?utf-8?B?WDNTT1MxcCtkck4yeDYvRWRqazRQRHpFaWs1OEpFMlFWVzZ5N0dORXVlb1Vx?= =?utf-8?B?M3RVZ2Z4NlVjak9oTE9EelVZU1VBelhKcGRoa0hVMjZ3Rnk1b0NwQXBXaTg0?= =?utf-8?B?eUJ4T2ZLZ1BoU080MmV5T1publFQSWFscGJ5L1RRSXVjWC9PcDB5MjFXcy82?= =?utf-8?B?UG43U1FLeXdDMXc5VnhEQ1Nib1gyTG5taE04Ujk2NWFmMVl3cCtIYjlYOGhj?= =?utf-8?B?VHhHWHZ3ek80a3U1UXlOYW5sbWVMdUNINnoyMHZMTTh0NXlhN2duMkZqNnV4?= =?utf-8?B?RWpyU1JnMUI0WXRkMFFQMzJWdStMZkZHYTlBeFgvTWNjeldicC9taFNZN0F2?= =?utf-8?B?L3pHaVppSmN4YUQzTmxUakFlUVdSTG5YQlZmWEVUWkxyMjlLSkNsWnVXUHJn?= =?utf-8?B?aUpNN2tPQnA1a05CNVl5U051VURQRG91L0J4aGpIL0IwcUQzcC9Ba0xnT2U0?= =?utf-8?B?MEhuUmhCK1NqWHlGNklHanQ4VlVpeDhnSGNsQkNkK1JXMnoxaURRUEVYLzRa?= =?utf-8?B?anBIMXJ4bWkrSkZFZHk3VmY4ekNaUFprY3cvWkR6NkE4TThkVUdtTk02MmNl?= =?utf-8?B?dFdQTjQ5M2hmVUNoa09XSTgzS3R6cWRSa0tyZUdSbHdscXF4b24xdGwxd2JY?= =?utf-8?B?eFRwZ3BwTENuenkwM0lORjFQV1FxcGlISTd2VFZESHdWakZlcWlDMmxGMERz?= =?utf-8?B?U2RQckRQeDc2SVZNa3pKQ0pjS0JLVVh4RVMrS09EYVNHVFBUV3AxUDBJNjZE?= =?utf-8?B?ZVMrMkpzK3ViRWhFNEgyUkZhdVI5eDdES1hHdHRpc0JyZU9ya2hVKzJIQ2RZ?= =?utf-8?B?WGh0S0xjRC9vNG5naTdrT3N4eEV3M2RUdU5yQ0dUKzBLOGtLYVkweXppV21Q?= =?utf-8?Q?NAvW5qKwV8ptB9xptHRtjW9hZ?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 05102a81-5fdc-492d-819f-08db8383b07c X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2023 09:29:43.0485 (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: hJKpn3k22Q3pHX0V9R1zs+5VoyLhHq5b9g0x794UKjxPFA8wZA9uvXZPOz4WBQmDs+yp2YH9iKjKlqqzVthkPQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9309 X-Spam-Status: No, score=-3027.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_NUMSUBJECT,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no 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 13.07.2023 08:32, Haochen Jiang wrote: > @@ -3909,7 +3913,21 @@ static const struct dis386 prefix_table[][4] = { > { "vbcstnebf162ps", { XM, Mw }, 0 }, > { "vbcstnesh2ps", { XM, Mw }, 0 }, > }, > - > + > + /* PREFIX_VEX_0F38D2 */ This and ... > + { > + { "vpdpwuud", { XM, Vex, EXx }, 0 }, > + { "vpdpwsud", { XM, Vex, EXx }, 0 }, > + { "vpdpwusd", { XM, Vex, EXx }, 0 }, > + }, > + > + /* PREFIX_VEX_0F38D3 */ ... this comment want to mention the correct enumerator names. > --- a/opcodes/i386-gen.c > +++ b/opcodes/i386-gen.c > @@ -166,6 +166,8 @@ static const dependency isa_dependencies[] = > "AVX2" }, > { "FRED", > "LKGS" }, > + { "AVX_VNNI_INT16", > + "AVX2" }, Can this please be moved up ahead of FRED, perhaps immediately after AVX_VNNI_INT8? > @@ -366,6 +368,7 @@ static bitfield cpu_flags[] = > BITFIELD (RAO_INT), > BITFIELD (FRED), > BITFIELD (LKGS), > + BITFIELD (AVX_VNNI_INT16), While not as relevant here, moving up would be nice in this case as well. > --- a/opcodes/i386-opc.h > +++ b/opcodes/i386-opc.h > @@ -233,6 +233,8 @@ enum > CpuFRED, > /* lkgs instruction required */ > CpuLKGS, > + /* Intel AVX VNNI-INT16 Instructions support required. */ > + CpuAVX_VNNI_INT16, > /* mwaitx instruction required */ > CpuMWAITX, > /* Clzero instruction required */ > @@ -430,6 +432,7 @@ typedef union i386_cpu_flags > unsigned int cpurao_int:1; > unsigned int cpufred:1; > unsigned int cpulkgs:1; > + unsigned int cpuavx_vnni_int16:1; > unsigned int cpumwaitx:1; > unsigned int cpuclzero:1; > unsigned int cpuospke:1; Adjustments to this file may then also be needed. > --- a/opcodes/i386-opc.tbl > +++ b/opcodes/i386-opc.tbl > @@ -3364,3 +3364,14 @@ erets, 0xf20f01ca, FRED|x64, NoSuf, {} > eretu, 0xf30f01ca, FRED|x64, NoSuf, {} > > // FRED instructions end. > + > +// AVX_VNNI_INT16 instructions. > + > +vpdpwuud, 0xd2, AVX_VNNI_INT16, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } > +vpdpwuuds, 0xd3, AVX_VNNI_INT16, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } > +vpdpwusd, 0x66d2, AVX_VNNI_INT16, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } > +vpdpwusds, 0x66d3, AVX_VNNI_INT16, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } > +vpdpwsud, 0xf3d2, AVX_VNNI_INT16, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } > +vpdpwsuds, 0xf3d3, AVX_VNNI_INT16, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } > + > +// AVX_VNNI_INT16 instructions end. While purely cosmetic here, I think it is a bad habit to always add to the bottom of the file. Not only does this result in related entries sometimes being far apart, but it also increases the risk of conflicts between patches. Therefore I'd like to ask to put this next to AVX-VNNI-INT8 as well (and note the dashes used there, which you will want to use here as well). Okay with all of these adjustments. In case you disagree with any of the requests, please submit a v2. Jan