From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2045.outbound.protection.outlook.com [40.107.104.45]) by sourceware.org (Postfix) with ESMTPS id 44B123858401 for ; Fri, 18 Aug 2023 13:03:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 44B123858401 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=YpsjKbCxW2jld3Vp679mEyOYPlYZv3gsNUXH+IrZGa43QvqN8bVg61YiWxVKe/zo8zWpAhN98Pg78qUEhQdFj3WwpGqVGTjgtOERefmJppm+lZz+unp7sykT3INg9Bz7WqVu7VskN/RnfG1RLwCvBZmgtg+bnS6F3FpdLYvRZ2cj4LB0budB7DzAcIhqCTr0xEP4hdIQ2rpMfmFTlsK8uYHwb0JhFaKOOrL391h8fjXBigbatk6mSmMyXi2MEWR59/frAPQLGCzbRLnTEHiu6rGgIawSiSyZ61OODHJ0ZplFds9et+Sbb2xqOZsE7DVBUc7iBI2d/zWremTEWenU6A== 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=7F7vs5Bua642J/RS9JXJm4NcRwWpJ8M7yyZUo22HEa8=; b=RilIB535BnK40GUGmEmjGiN2/RdNiJHzr92R8fHicxO5EmTymeRc6+KoSDdwJ7PJMgtxNo8mrOiDH5RIk5C2frxnAENVTLKxE9jgRa3y1D2sIp6jT+kdOhcOKkhqePN4VtmNCT6FK8PMt+uYHbzxAHmMIAOYZ+UOKiBd32BGUGbzuAbEPZJSDroDe8/WFqIElCDdOabO/VAVGGqGJ0rikx++LWcsQnk1lcMHw1VJo1uU5W1gNxsEAbAZuAI21njChMquFLeHAnGh+ipI1xChoUYqGTdGt+0yuUYa3NlnqoUnZTffhQdZlEeSdqm71j9ad0YKOeKu9YFQmS0a8xLACQ== 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=7F7vs5Bua642J/RS9JXJm4NcRwWpJ8M7yyZUo22HEa8=; b=ZFjUX6JDCE2vbNpJAc3VxIloOiCV2gQyFU+zhDJ3SOGv9Sv7Sv9YumC7yr1bRkjelk7Q3K8bqfc+M323rk64MsK0yCWhRF/FyUPOcVc65etwyklMoCHw/4HVmJ6V/AFabRL+Eu/jfSdyo6nJUvQWqUP4JNSciPPeQTxAZTV07WbefR15JN2kZ0rFbSqecGou9eBvLANoKyJGxDxoruespPES3fDxPoZrBUJFnHraNeDnLdVeopriFvHaT4Qs3Z5z96fyauvfxAAqTk5xtIzMrSCGzuuTDYgS+iUIi+v0n1GH+JHv5LA9mOg4tEHRRN4F2VULNFXznylYP8U+aQfd+Q== 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 PAXPR04MB8784.eurprd04.prod.outlook.com (2603:10a6:102:20f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.30; Fri, 18 Aug 2023 13:03:05 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::79a:54ba:8003:fbe7]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::79a:54ba:8003:fbe7%6]) with mapi id 15.20.6678.029; Fri, 18 Aug 2023 13:03:05 +0000 Message-ID: <96638e6e-142f-b7f2-3a95-56e70e8d159f@suse.com> Date: Fri, 18 Aug 2023 15:03:03 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.14.0 Subject: Re: [PATCH v2] Support Intel AVX10.1 Content-Language: en-US To: Haochen Jiang Cc: hjl.tools@gmail.com, binutils@sourceware.org References: <5eb31b18-e1ba-dbf1-bddb-ff03b61b25de@suse.com> <20230814064535.3228154-1-haochen.jiang@intel.com> From: Jan Beulich In-Reply-To: <20230814064535.3228154-1-haochen.jiang@intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0257.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::20) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8784:EE_ X-MS-Office365-Filtering-Correlation-Id: 35017eee-d3d0-4120-93bd-08db9feb766c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vOGbIVRjlmtWpLXVF99cGkk/n+MHpH2FCB5rMIw8OPKIL8Q0pollJRUYYn9Np18eYptW3Iim9m7myqfBhuwNPYS4eQwZVeHgjiBcEWODmch0cZsrffsCmrKYDT1uHZrzCj7uFxNAwYeQBYmqgumaWJV0t8vk83pj8PN+noLbpKCQzntXuv3RKCRbHXGokFMT1Rig3udPiBuUW0rabQPweEpzGfUS8Ho+qVxipkTpXdIatGES/HpUm58GKz1yuYMivTuK1mAtkJXLXIWGpE8X5grv+EAVEa5rtfEgV6Yzw1IkZsdJh9wLj6ZVqge/YgYPwdTterE1M4pFPBNvxHqk3jRmQXd5pg5WNdz+gTu+UvCTC2Jj9e5F/mdK4h/Cga3pVxx+f42HBa+KfB7fkV2stxvKpzt205gBYI4ffWpxOI+scQSzjwd31beRaUw8tSHVIrfNjXe9XO2u/rvH/znTfL6+yVYXKpwZpKcxuK1PopcBXlzvKpD2/0mdo+lTn1vcev932EX451uQpyOJBF/WMkkF+9CQOPMh52npRAX9CBY1mfJ9tooyxPw9vssoeXOW+WKkMUA+zRLozbBkiWKMQU+Mnk0gGnXJrjp48xQQyVEgssDl6U5p83oPqPGy0NZL5fBWL2gGdJQgP7+4NpQrcA== 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:(13230031)(366004)(376002)(346002)(396003)(39860400002)(136003)(186009)(451199024)(1800799009)(2616005)(316002)(6916009)(66476007)(66556008)(66946007)(26005)(2906002)(36756003)(31696002)(6506007)(53546011)(6512007)(31686004)(6486002)(5660300002)(478600001)(4326008)(38100700002)(86362001)(8676002)(8936002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SFJVZGhIcTErclE3QmEwcE15Yk80bXZUS2REcFV4eXhFWGI5eWQ2bGxybVZT?= =?utf-8?B?dnpaVmFnTTE1UlZBbnZDM0lFVW5pdkYwWm1QckVqY3dYLzNZRVlocUNINHAy?= =?utf-8?B?Y256SWk2MUFvbzNQSkc0eU9tZnpzZ1NyaHJHVjNRKzQ3Tm9HZ1gyTXJERDF0?= =?utf-8?B?SDhSVXNNblhMNDJCTWtKQzBJbjRYZ0dUdnFwMmpuUi9ob010YzdBUTZmOEN3?= =?utf-8?B?QlpiamxFY1FDZnFndHgxdWNHajU3azVmUHQ4RC9tZ2ZuN2hzaU11UkFwVFJt?= =?utf-8?B?d0ZDOERCeWhKNzNIc1l5a1JkRW1TdDYwMDUzbys2czZ3OStHcGE5aE1tVnVa?= =?utf-8?B?MlR0SXQ3TU5ZVm1NL1NiV3k0dnM2NUR1OURoeWJweG05WU02VUhxOXdlVHVr?= =?utf-8?B?NmVCZTMydDd2aE51OENCK2tNMDU1akxvd1ZxYWdkMVkwMkFocTkrdmNlZjFQ?= =?utf-8?B?dUIyN1dZeDZnekJRSkhwTWVGWFZIVmJpckVkR2hHZmoxY1Y2bXdmK1pBQWph?= =?utf-8?B?SFNWdy91K0dudjM4ZE1mdDBpdDdEaVlsVjEzd3VDQXdVTkpiYml4Q1gwbWJW?= =?utf-8?B?N3JDU25rMXFDVjJ1Nmo3TWpza3l5M1JGVEY3U2d0Z3ZwYU13UUFzcVNEOGtD?= =?utf-8?B?TEI3VWFZWlJsYXdENS9NaUpBUm5LcDJOdFlyNUhWazJ6ZCs4T2RPdm9GL3o1?= =?utf-8?B?alliRkdPRUsveHhDY1Zla0RiTlZxQzV6QmVRcU5meWNtaTFPQ0FkVnlia3dG?= =?utf-8?B?TXNGQmszUDRuMGNMeXkzbmo3dFhscSsvVlNQZGpPVnRGcDREcGlXdnd1dXpn?= =?utf-8?B?ZlBMYXlETWtSSm82bzZxUUZhZkJuVE41S05wTGNrUW0zOVA5bWYxN3pnaVFV?= =?utf-8?B?cjNVa1MvMU1NSnp4eWxUN3BGTUpOVmJFNDlrT2RwVDFNSzNwYzc5cjM4ZEVo?= =?utf-8?B?SlZjRnc4cFVKMklZSFdZajAxRFIyMm1kbHNBVmhvYW9OdkdOc1RCUlRYRXhG?= =?utf-8?B?enFGbjBzNTIwVkxwdEg1WUFwd20rM2JEYjZhbzk1cXM5eGRNVkZsWVpCQmhu?= =?utf-8?B?QjhYUVd3K2dySm5EU1dVTkJUcWo3ckNGMmN1VUhBY2RiOEg0OFpQMFBtMStv?= =?utf-8?B?MXFieVZ2U0l1UituOWo4ejFRb3B6YlIxSCtiUytXZkpNd0t5bUIvZlJPOG5m?= =?utf-8?B?Y0psZlczVVFGYjBaQkJrM1NYSmtHQ2JYTnIySjdKSVdyekx5bnJQUTVHWU05?= =?utf-8?B?ZzB0ZFFnSU9ESVNDL1ExMVU0Uy9wb3BweUFqMm1ud1ZhWVc2RVRXK3ZTUnpa?= =?utf-8?B?cVVPcmUySUprSDhwc1BZaEZwMWlJc2NaZ1pXellqWTNXajU0RlBtM1ZQSld5?= =?utf-8?B?S282MWFXVDk2bFBRQmdpNHc2T3NwdFJZV0c5dTVKY2FQSDRTYVdLMm9MMjY5?= =?utf-8?B?NWRlem1FRXVLRUh3TThUMmZlQTVINEUvL2F3ZmFWYUJrMU5EcGNlRGwrbHhx?= =?utf-8?B?Z1kxV0hwdmNmVW5uSVJSakJHRUFHcVZWZjRjcEFtSDJmOGhvRVJDVXc5VnRv?= =?utf-8?B?cnNGb0ZCQkUxZVFvUUhDS0doSHM3RDI3WU9pK2dxOFNLZjIrcjEyNU9QZS9u?= =?utf-8?B?dHRmUWxpczlqbVc5MVMvb0FuVjMwL3M3N0J4ZnRVR213dFh2dWlPbXorTUs3?= =?utf-8?B?QlBuSlFIeTJqVkNKbjJNWVlwV3BKY2p3N2tzanRsRndvWW1IcE9rYkJLQlg4?= =?utf-8?B?QUFXSjdKL2tvR1c5em93dENWMzA5OEdiN2JZYm52U3ZsUHA0ZDk0YWFrajJx?= =?utf-8?B?KzVFVGlTeHV0WTFhK3BLMkc0YzVRZjZBNzl2czJWbUV3aytWcUs2TlpKRlhK?= =?utf-8?B?VFN4KzY0Z3RoTlZJMU4rbm5OL0Ria0pXSDk5bTFlWk4vUVVaVm1rdWEybXFj?= =?utf-8?B?WUJPYVNUM2t2ZjBpQWVjWnVwQUhFY3VOUmVlKy9oVmc0Uk9ENEpQejQyVVho?= =?utf-8?B?WXd1NVRJdTgwcHJwa3g2YUovQkpIb0xleS9QamZhRTd2MDN6QWRxYnR2cVFQ?= =?utf-8?B?V3RpUnJqN29lMldWQnZaai9FRmd1YnJScGg2NTV5NkVsQkVXanlmeTdvdGd5?= =?utf-8?Q?NLJkDlpr2RmiUi+YDV3CACekP?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 35017eee-d3d0-4120-93bd-08db9feb766c X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 13:03:05.7161 (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: gvw5ci5pfMAzZqI/g4nM/VHuCE8qttBArUV+g4iJ3YjOjV005D8upH8PguEkOX5LIKhu3Eirlfo0pGAn3CAE1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8784 X-Spam-Status: No, score=-3028.5 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_NONE,SPF_PASS,TXREP 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: On 14.08.2023 08:45, Haochen Jiang wrote: > @@ -1315,6 +1321,20 @@ output_i386_opcode (FILE *table, const char *name, char *str, > ident = mkident (name); > fprintf (table, " { MN_%s, 0x%0*llx%s, %u,", > ident, 2 * (int)length, opcode, end, i); > + > + j = strlen(ident); > + /* All AVX512F based instructions are usable for AVX10.1 except > + AVX512PF/ER/4FMAPS/4VNNIW/VP2INTERSECT. */ > + if (strstr (cpu_flags, "AVX512") > + && !strstr (cpu_flags, "AVX512PF") > + && !strstr (cpu_flags, "AVX512ER") > + && !strstr (cpu_flags, "4FMAPS") > + && !strstr (cpu_flags, "4VNNIW") > + && !strstr (cpu_flags, "VP2INTERSECT")) > + { > + cpu_flags = concat (cpu_flags, "|AVX10_1", NULL); > + k = 1; > + } > free (ident); While making a patch myself along the lines of what I had outlined, I came to realize that the above isn't enough. (I'm pretty sure I wouldn't have spotted this by merely reviewing your patch.) This may be a result of the spec being somewhat ambiguous when it comes to GFNI, VAES, and VPCLMULQDQ. There's a note there saying something about the respective EVEX encodings. But that still requires the VEX encodings connected to these three features to also become suitably available. While this works fine for GFNI, it doesn't for the other two: The 128-bit VEX encodings, which surely are available when the 256-bit ones are, would become impossible to use. The assembler would pick the (larger) EVEX forms instead. There are two ways to solve this that I can see right away: 1) AES becomes a dependency of VAES (and PCLMULQDQ one of VPCLMULQDQ) 2) We put in place extra templates. I'm wary of the first option as long as not at least informally supported by you (Intel). Hence I went with option 2 for now. I'm only done with the /512 patch, so I won't post right away. I'm still debating with myself whether to control maximum vector length via a new directive, or via a special form of .arch. Jan