From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70075.outbound.protection.outlook.com [40.107.7.75]) by sourceware.org (Postfix) with ESMTPS id D5AA13853807 for ; Thu, 20 Oct 2022 06:15:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D5AA13853807 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=m9BscmbEZS9DJdtmxsq2Bn0DllWEVnIg5dZkOogiAj3Vz9Kaf6Ln1Q+mTUClO+ZAZSRiSfV/EFYiQmMxWP4gnIRIvBvF6sN+bRZcisbicrGC/HRGlCUTCoDIjGyWZllHRa7Jw2rfX/RZAFELIFUxfOHUfov1G0rC73nEGS6+77sR4FFJ7qWsJI+i1IVXVODELfsjxkD57AWAmV5wLZrvtQsiniLDekO/6y/VJ+IoanlLSYL3HL+s9JZYouTv54QPPZqXFkUj8APkWkK7c8BBdAmNWE1/8fMRLwmR/bgp7FkLwA7pZZdZRwu9sltf4UwzqblahgoGcUInuRYh7Wghww== 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=s0srhxAFQcz2LW2vuFgVfU0oMtZH1N7FdMq0HDvlNi8=; b=EK5oQrhxIJE42p2SwFWO7hbQbii5WRWj+MokGNyFmc+tGk5eRx836CC3NAx4L01dyt9A4PjWzqYtEZhazj1LwFgnC5Olgo/IugS2JVqMI34f6ZrNO4vlKO+ccKqVQsJo9t2lHYfBkYe1pDo5VNrhDWjMp5qDwUsEXYRK8ZEwTFKfv1eNwD1pmgcDycWdiDlxwIVRL1jYbdSx4txmiY1Bo7QfAIZ/bZ8m/aH4M4T2jo3uyQY0dU0BNTXDaOEc3yN6Z3icJ9CZXo1OxeAJDWldNWpTUhgJnfjClF5V8inhXn9nwaVlIK9Rhy+11471N//tgszujohVWrGS3sqU9M5cDg== 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=s0srhxAFQcz2LW2vuFgVfU0oMtZH1N7FdMq0HDvlNi8=; b=WQvVPc4dsOOdn81jKKdM28iejzOGUHIOw1TjGvURLhhbXK+PE0XSrRGnx9ZhNysF1+9efjoXI9VWWdWkMP1dIPnKctceZ/v+p25gp4qRgCqQaCaOvEcgPTcJ6Nx0nBI6Nf4+6prkz7ZnW3G47MNRU2N7EyTsyFYkW6OfpStwU83pBlySqvETL4TozqPDmHTUV/zVirntLvgNevVLCY0nokdykZ5gJgfXtq6LiH84DegRrprAzSslNhB/NmwGwXxhPN2pIUBug3ioqp0ZbHUML70R8QwH+Crl4Vqdtyj5BxRNSmGxjG8qyENLIOsucL2tGJJH63JSc410ns30OncT7w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by VE1PR04MB7245.eurprd04.prod.outlook.com (2603:10a6:800:1b1::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.26; Thu, 20 Oct 2022 06:15:55 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2459:15ae:e6cb:218a]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2459:15ae:e6cb:218a%7]) with mapi id 15.20.5723.035; Thu, 20 Oct 2022 06:15:54 +0000 Message-ID: <4bc6fa04-e3eb-63f9-a9b2-e05e99928d9a@suse.com> Date: Thu, 20 Oct 2022 08:15:52 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.3 Subject: Re: [PATCH 01/10] Support Intel AVX-IFMA Content-Language: en-US To: "H.J. Lu" Cc: Haochen Jiang , wwwhhhyyy , binutils@sourceware.org References: <20221014091248.4920-1-haochen.jiang@intel.com> <20221014091248.4920-2-haochen.jiang@intel.com> <863655db-f202-477f-c638-00773c25886c@suse.com> <6d3a01b1-2576-f329-0a36-486526c0b03b@suse.com> <8be9ec22-d016-d5ea-6479-3c14e532274a@suse.com> From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: AM6PR0202CA0066.eurprd02.prod.outlook.com (2603:10a6:20b:3a::43) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7245:EE_ X-MS-Office365-Filtering-Correlation-Id: 5406f170-1d89-4ef7-0beb-08dab2628ba2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w/l2Io0V2W58U572Ymx1zeobL08dkDM6CUqwzJtpAhRvD40c6Ct1H9hMpKy/OV236odSLNQoi4WvvzYC1/dzA68OeG0CIgikoaFOcDKmHixnYIxZ288j4VT36vkjuWfnyj08Yzm/pEB1E0KLoTo9iRs1Leisq+mT/a+GlalzMRakkrkoMkgarD19WHfBRWziqth7I+jOfgjn3dkrOgaUBjsSP68TAreawHLjGZyuOAjvqIs8wKW2N3H7vnq6UgTgeto73XGzB95b9lKVsuzVRqRqREb2xCYaBpIgccNEtsRX+PEmTAODNFM7vxA0CgdAHO8+fmdQvho1wraxtNq0K+n4InnW1LlnWI9JiVCPIjrJM8750dX+zSeoFBC4X9+zDXN1wPzJUR5Hn7X8l8OSN+rTwDp7riHGIqS3o78aDwlXnL0qcRo925TsaF/0sPppqeDddoUcUD/wQwKUZoie9cglREGHGPiy8ij/0ahD7dsrk0kCxgcC3iBTJQITGa+mWA2f+zTLWNFaVTR/D5IeIGhVJnwyBrVBkbM6wB/BjCW0Z1BJbv8ViwBxQPL95I7l4l7/MNHTYjb8GvZy5OWPRmzZPqUDqpONImUMZhsThsB9qq9+5ZC6v2riJyZeMuHivcEdghQgJC1hhegex6URrlIZRukLlDLUlgofGTp35eIMezkQPMuka0wLiWk8/tyKsVuypLVluOpJFi+lDCz5dcskkUW1TMEQG/gyP3zIVyygM7zLUld2rEAjlYWTtF68XfGdmW5SNWzg52z9sgY9qaZH1s1fpohINLAAK7o0NX8= 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:(13230022)(39860400002)(396003)(346002)(136003)(376002)(366004)(451199015)(2906002)(31686004)(2616005)(478600001)(38100700002)(53546011)(66476007)(66556008)(66946007)(54906003)(86362001)(6512007)(26005)(41300700001)(8676002)(4326008)(6916009)(6486002)(186003)(8936002)(316002)(83380400001)(36756003)(31696002)(5660300002)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TnJkMEo4NkF2RmNJdnRYekViZXdLa3FOYStwZ0JqQ1kzM2IyTjZtRklCVDZa?= =?utf-8?B?NUxsNTRpWVRtN0grWXZzTDhJUWdUOVFUdDB4dHNXajN5ZmFKNkc1elpUejkz?= =?utf-8?B?cFZlQmpCdTdYdEJvZG9GaGRrcm1URm9vQUJmZ1FHZkdnTWc3NTBmbjBEb3h3?= =?utf-8?B?WjhKNHpXOUxtRURYOC9zWGlOZGwwN09XbW1xQll3Sk9XTFhXVmxIUEl0eTlU?= =?utf-8?B?blN4UldWd0MvVWRrdTM4MTBubmxjNUZ2SGlKeGc3Zkk5QmJJQ1RTTjg1U1Bw?= =?utf-8?B?dm5PN09IR3laOXlKcXFNZlF0SG84VE1QYVNydGxMelpJdGVQOEtDUUsyS1kr?= =?utf-8?B?ZDREVHZCS2dXYkpQSXpXbDlKbVNlc3U1R1FMcDh3OFY3MmxQcXZlRFJuaHov?= =?utf-8?B?SThiVi9HTjVsZG5Uam9STFQ4Z29WM0YvTTl4WlBVM3hpVlk5cmJHL1pyT08y?= =?utf-8?B?TXVRNkNuTTQyMU9uMFA2WWpua2cxT3pYZ3Q5MlJPM2xFeW4wZmRpdWJhWk5Y?= =?utf-8?B?MzQxNkgzcEgyOHBtL1dPNmZhNjUxRW1Va2l1V3k1TTdLbkVhenhyNHhSOXhU?= =?utf-8?B?aXh3SnB3THZtQWNXTHpXTEltZWZQOERwNFg4SEY5M1JOcWpPZDBTUVlIV1lY?= =?utf-8?B?MVlPOVF5dE9mZ3g0NjFDMFRlUFN5aVdmYXUxWktHbG9rYW05QzNtVDdxSFhO?= =?utf-8?B?dEc3ckt5ekpVR0N6eTJYbFdwWXRjd040NDRCS2V3d2M5WnYxSUJYWkNMUzVt?= =?utf-8?B?NmJYMlJLYnpZa29MUDhEMThSSTlZNUhjcHJteGhGVnJiNVErUlNaV2F6Zk8x?= =?utf-8?B?ZUIzdkk3MW53dTE0RXQ4VTZOT3Jpd28yaE9yODdEWFFlNnlLQjNtR1I3eHE2?= =?utf-8?B?ZUhYWUN1U2FWWXd5d0VGL3dMVVYvWlFGWGx5Ujk2ZUJ0MEY5Vm0wZlZJTEtS?= =?utf-8?B?dVc0Z09zTlg0bUxHQkI0dUVjOEdJWFAvZlFzVjgwR2hDdDk0dXArOFM3bkNE?= =?utf-8?B?eTU4bFl0S2dLdE11alNIWTJqMHZOaVZYVzBGZ0l5cTVsOFQ0UW5lM21waE1q?= =?utf-8?B?VWxrVGV0MU9HdlczdUtSZHF1TVd1ZW5JNHJKNEZuaUNUbHlxSExQUnVoQ00x?= =?utf-8?B?NGNzSytBeUNFSDNMQnhaTUFScnNoaGRzbkhTN3ZJRGlMQUE5Zm5GVk9XS2tp?= =?utf-8?B?a0VhYlphY210Q2lxdjlPOGtHWU8zYlFTdGsvWG1oc01DNGVvVkRkdXNiLzhJ?= =?utf-8?B?azdVU1poSndCamE3QWRHK2h0NXl5ZEVPbGZ5bTlKWjlmN0NDa1BURnFaZUgr?= =?utf-8?B?V2R3Q3JjOGtqMXNmdnpGdExUUWxmaGtnc05ENWNKSjFBSkVBWVpLb1RIS1Jw?= =?utf-8?B?RzdtVjBlZ2lJY0xGWk5JcUVtZzJIYjJ1ODZva3FqVkR5RlZWa1NpL3A0SmFU?= =?utf-8?B?TTJZeGVoRVJmb284M281dDhKNkk3Q3MzVGRncnQ4TnVBU1JtM1hYWnpUZ1lw?= =?utf-8?B?SGl0c3ZWM3dycmVCdW5ubGZDeS9vVmxNN25aMFZjekowd3VSaWF3bFBabDFQ?= =?utf-8?B?cWYxSDEyaGFSZnFDeGRqaE05WGlGRzl3SC9lUHJUTHlwSDNSMjZIS2FKNVdW?= =?utf-8?B?aFBKd25QM2plNU94QUFLL01WaEw4UkdmdWlXVmpZaU0wRTc2Q0p6R3BLQkQ2?= =?utf-8?B?bVRGcmlkSW84cy9kd3EzTEIraGJ2RFZjMk1TMm84cHB5d0pWT2x1bm9LaSsw?= =?utf-8?B?SmhlUTE5aGlHbmJmS3FiUEt6Z1ZRWDgwanZvMXBMS0p2cW4vS0MwbmN1MjIr?= =?utf-8?B?UnB5VS9IREI1SXRzSDZwaFpkRVRSSk5kUWszUUkydzc4R0RrOGhiVitBc25G?= =?utf-8?B?cTIyQS94azlQdFdPTEI2ckU1WTU4bWE2a0RqUHl0cU4yWVBwWlR1Q3d6b1Iw?= =?utf-8?B?eWZSc0txUDR0a3cxNmhnVEFzTnhkTUpjK1hKVVNtYzlpSnZvUUV6eEc2MTVk?= =?utf-8?B?aHh4MnFpWnFtZ2o0NFpVSkEwbXBadTg5Q0N4d3VBQ08xYVNZUmdQWGNsdUdt?= =?utf-8?B?V1QvVHh1MnNOV2hCT0lJUVJtZ0pzT0Q0bjgxb205aTM3cmFTZUJNNk42Sy8v?= =?utf-8?Q?XZ56eJCi0ojKaM079m5NQl9Na?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5406f170-1d89-4ef7-0beb-08dab2628ba2 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2022 06:15:54.7257 (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: mk9sFKpsKnBlHTAbAcNEj9Pas9W+h81RbcD+f616nzkENpEOQu2T1AhIORvHdMq9wot4C145YRVZOnvFvXg84w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7245 X-Spam-Status: No, score=-3035.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,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 19.10.2022 23:27, H.J. Lu wrote: > On Tue, Oct 18, 2022 at 11:01 PM Jan Beulich wrote: >> >> On 18.10.2022 23:28, H.J. Lu wrote: >>> On Mon, Oct 17, 2022 at 10:33 PM Jan Beulich wrote: >>>> >>>> On 18.10.2022 00:23, H.J. Lu wrote: >>>>> On Sat, Oct 15, 2022 at 11:39 PM Jan Beulich wrote: >>>>>> >>>>>> On 14.10.2022 20:10, H.J. Lu wrote: >>>>>>> On Fri, Oct 14, 2022 at 2:52 AM Jan Beulich wrote: >>>>>>>> >>>>>>>> On 14.10.2022 11:12, Haochen Jiang wrote: >>>>>>>>> From: wwwhhhyyy >>>>>>>>> >>>>>>>>> x86: Support Intel AVX-IFMA >>>>>>>>> >>>>>>>>> Intel AVX IFMA instructions are marked with CpuVEX_PREFIX, which is >>>>>>>>> cleared by default. Without {vex} pseudo prefix, Intel IFMA instructions >>>>>>>>> are encoded with EVEX prefix. {vex} pseudo prefix will turn on VEX >>>>>>>>> encoding for Intel IFMA instructions. >>>>>>>> >>>>>>>> I firmly object to the proliferation of this mis-feature. As expressed >>>>>>>> before for AVX-VNNI, as long as the user has disabled AVX512 (or >>>>>>>> respective sub-features thereof), there should be no need to use {vex} in >>>>>>>> the source code. There's also no reason at all to make the disassembler >>>>>>>> print {vex} prefixes - we don't do so for any other insns (apart from >>>>>>>> AVX-VNNI) where an ambiguity exists between their VEX and EVEX encodings >>>>>>>> (when none of the EVEX-specific features is used). >>>>>>> >>>>>>> The {vex} prefix is used with AVX-IFMA instructions so that IFMA instructions >>>>>>> without a prefix, which are generated by compilers or handwritten, will be >>>>>>> always encoded with EVEX. >>>>>> >>>>>> So again: Why is this necessary when a programmer disabled AVX512? I fully >>>>>> agree we need to pick the EVEX encoding by default if available, but I see >>>>>> no reason whatsoever to insist on a {vex} prefix when the EVEX variant is >>>>>> unavailable anyway. As you said back at the time for AVX-VNNI - this was a >>>>>> design decision taken at Intel. Which is fine for a draft implementation. >>>>>> But decisions for an open source project should be taken in the open, and >>>>>> opinions of others should not simply be put off. >>>>>> >>>>> >>>>> We can discuss how to initialize i.vec_encoding. But it is orthogonal to >>>>> this patch. >>>> >>>> One can view it as orthogonal, yes, but if we change the model then doing >>>> so before more code and testcases need changing is imo preferable. >>>> >>> >>> We can skip the pseudo VEX prefix check when AVX512F is disabled. >> >> Let me see if I can pull ahead the patch I have (right now it's at the end >> of the 3rd series I have pending, when the 1st one continues to be debated), >> so the new cases in this series could then come on top. > > Something like this: > > diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c > index 01f84cb9a36..a9fd3115659 100644 > --- a/gas/config/tc-i386.c > +++ b/gas/config/tc-i386.c > @@ -6458,8 +6458,9 @@ match_template (char mnem_suffix) > > /* Check Pseudo Prefix. */ > if (t->opcode_modifier.pseudovexprefix > + && cpu_arch_flags.bitfield.cpuavx512f > && !(i.vec_encoding == vex_encoding_vex > - || i.vec_encoding == vex_encoding_vex3)) > + || i.vec_encoding == vex_encoding_vex3)) > continue; > > /* Check AT&T mnemonic. */ > > It works on existing tests. But adds code rather than removing some (with the same effect). I see you've approved my patch doing the latter, so I'll put it in. The new ISA extensions then will want to follow suit. I also have the {evex} disassembler patch mostly ready, but I'd like to, at the same time, address testsuite anomalies that I've spotted along the road. Jan