From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2074.outbound.protection.outlook.com [40.107.22.74]) by sourceware.org (Postfix) with ESMTPS id F1080385C6DF for ; Tue, 7 Nov 2023 10:20:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F1080385C6DF 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-Filter: OpenARC Filter v1.0.0 sourceware.org F1080385C6DF Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.22.74 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699352424; cv=pass; b=wNn/CYU2BkAlKCMNpiTji8Gv5W1+lWoMiQ1F5rbhvX1BEqWBeC3+im1EZngtdo9B1szn5bUKI5rJiBSFm/uOEhrAyauE8PEFtEZWV3aONQf6MAP4il8RzkBcI4qLWuSelv47hrXniXzqW4CQEZAFbGX/E4FYJQiOF88Micl9FsI= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699352424; c=relaxed/simple; bh=KeedMS3ejw3Sa3NF3wkmuMcnqNJfQGq0luRx3hJUEAk=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=yDp0xosiZuWlRyvcoz6TgCJGno/12WuLbmbNT79wtMphwuSvTCrary9XZBarEfit1OTgQIRXR0EwTvhUCF1qVfHx0W8bETPrvqVSlb9/5dlde7brnsWWtV4PuIHE/XW759sFELT0tk+K2Pa5Rg3tR7c+9eBuO3cxGf385XobpFs= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z6L0rwoe/4AmPp6bIJT1pFstfF+Gc7HRKxzx1EY5BS6asXAL3OaEYzDiI5lnRUWYz/c32WuldNE70kRsem3pjDlpQ3BdLfF9PBMAHf5aJmOMfeG8g+stio6WvCSzMtu3DdJwdoh1H3LZu6wnnNCh3BoL8htRXVeCnVgOhjlk4Hrj+517hKpqkOaZ7SVionwfmNd3cteH9A8gpMyIXjAvB9ihgjapWshVSR/kVLs3nbeOxZ4D+0O4235g2M6Aj07KOBHZMpAafEjIN3AvbT+t2uBp1d02/yRn4vwq0IH2zz1ghT8I2In7aOv2TLQyrzXdPdvbNrtQQDkjWQe+BlzrZQ== 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=kFazVREMV8UT8gyWdn4RHDlF53ooIxkukaaFiASsexI=; b=bcPKzL/xrwofyUoG96q83+SBmVOOIbbgQxAvhR03bXIJSoeLPmurtM57jJgDarczESpQHYm9JUnwBZqDZNQeJ1LeiMe31k1kmllulgSwNS7fCsvd3A0eTa6RyG/PXhnJjD0VVuzYjwa4RIczb/ImWc0HjvpJgOLyzpc15lhT1tyVx8zN9LgvBEj5C7oUyA3bfxLwIuvQTkqgnHJFEOnmu3+2Gve86C9+nhN0+8dy29mlgFwoH5LqNElpw+Jk1GQWCyWU3vCT2FncbaQMByAD8UzO95KWXGSgxY7umzDhmTBTOe5f0+4Fphp+T2XPj1F5IaYLZnqC/psyrdjrF08iCQ== 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=kFazVREMV8UT8gyWdn4RHDlF53ooIxkukaaFiASsexI=; b=k3+0eact0gNEAKZZwjL7gRq89Z3WugzbLbpJcVntSqzvpaK69feLc1MdfFVkyR3R7daxloUIaSqqP7QodRBNBrX37zelukPLB6ZHxe7IsEkGs1iSlf7joC09vJLpSxrDDjRx9kOanhF9kelHMMnd9ecxC2kynRIRyK5a5iQH+EoJppahZzJAj0XpEZ/ncHU2z51eMZ1+TiOlqklkT/vRJk5TXoP3LXwh/dKckoG0/uGJeYNuPdC7nCOksZV1yA5K3T3b1iK22zr0XtwowHvrrF6o2gk90lO7qlZXJmzwos2SitS8EgLzNk3kTwIaEpGSJ5HiacLq/VzzvVMZiwk/LQ== 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 AS8PR04MB7927.eurprd04.prod.outlook.com (2603:10a6:20b:2ad::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Tue, 7 Nov 2023 10:20:19 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.017; Tue, 7 Nov 2023 10:20:19 +0000 Message-ID: <6adddd93-a156-b055-2bd9-5c18637ff991@suse.com> Date: Tue, 7 Nov 2023 11:20:17 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH 1/8] Support APX GPR32 with rex2 prefix Content-Language: en-US To: "Cui, Lili" Cc: "Lu, Hongjiu" , "ccoutant@gmail.com" , "binutils@sourceware.org" References: <20231102112911.2372810-1-lili.cui@intel.com> <20231102112911.2372810-2-lili.cui@intel.com> <4968f496-b324-e3b3-11f1-a87b62b1aa83@suse.com> From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: FR4P281CA0231.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e9::11) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7927:EE_ X-MS-Office365-Filtering-Correlation-Id: 70deb0bb-de81-4731-7331-08dbdf7b2499 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DNMk1ESK4KwBR65dmA6iGI1BX7okjGDnPN9jPrWdNgQKzmx92f78mSyABuStvUfyN64vtD1ZfKVqkRpBNs32dCaF3U5V3MLg0uI8ZW+TE573hndQUCjyFx42XbTXeD4+f+tKVShbLieDznwCoTq90kWpwtFKfEsp3cPGQASCWyZ039I9WWGnzw0vaKCZpAB5X32+scDowsD9jGmtKiH2+U07oMjVgKNJ2jwfom5Ex+tFnf4QPsQyvFhrje2XqAaQaxeBK9T9t8dDw6g0UP//8lDEQgcfMUAu4IBzA/PmcjRh6jJqL0wu94qpDBpKSZ6Alj9AyqnzisxOh2HqVePSqLzN+gRMiYeS6A3zC3ytBidBftBhjtu2dcAgsBATuR6xdCsq9Y0JUfVYLcPNzqd7SkSJJew2bNmIZ0jW+BsNCpXmpE+BLMEFtjAavZR1faRswI+OFn8deHGbJCSaNzfO0mX+b8Q2lEtnWJOB96AvcUWskpcwKOoKgbnYKwcx/mBWQfr0Lrr8pFxl+9X8iHQxFzx88PoBgELakg9iY9peIctksyWdxuArfCjWZr1ntqr5C+zik7TfgtMmGMXxlDWvraYHWIrBSibxrUv1bBZJYHZGKjVVV+dCr+i00cVrPx4lNIhjRfbp8xTySkhnL4EDiQ== 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)(136003)(346002)(376002)(366004)(396003)(39860400002)(230922051799003)(64100799003)(186009)(451199024)(1800799009)(2616005)(6512007)(26005)(478600001)(6486002)(966005)(5660300002)(4326008)(8676002)(31696002)(36756003)(8936002)(41300700001)(86362001)(2906002)(66556008)(66476007)(6916009)(54906003)(66946007)(316002)(53546011)(6506007)(31686004)(83380400001)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ampsRHBpUWVCaDl1cHZ6NnllenZjVHRPSndoWWxMRTNyUFBkOTAvTFo4b2dh?= =?utf-8?B?NEtBenp2S0lkVmpWMnZsYXhRZ0NMR0UxRkYraTFpQnE5cTduQnhscllBSDU1?= =?utf-8?B?b21IcDhrRWJESG02OTk3TS9ZY3psUTNpSThpbVAwcHhKdU42V1lycjRsckxZ?= =?utf-8?B?UjEwbUNmL3FsUWxXODVQN3NNUFhzSjI2WjI5ei81QURMeFZCQVV5WDMyc1lo?= =?utf-8?B?YzRvUXg1VDQ3QnlYL2tXbTFQZlpERnRrZ1k0OVI1OW95YkZJQ0o2dXVHSkpj?= =?utf-8?B?b0hUTURyRDV0NWsvcEtmbnBzZlBpWjJZbGRoL1R3WG5namRneTUwQ2FaMzBW?= =?utf-8?B?Ry9ZRndFdndmYURRck45cjc5dXZUUTMvSmlXKzQrK3Btbmtock1tWmxWVzRC?= =?utf-8?B?MUVmME5XZnVDTFpMTGsvSWJHNXBWNzJzRHB5d0dVUEdOd0xTTTJwYzZ1cHBv?= =?utf-8?B?QXZSQmZEbGkzUUJVaFhON0RYVE5TeldJNXFscllUMDJINFZWZzN1R2VrVXVI?= =?utf-8?B?eFl2QnRlUVUxU213Vk1WUnZLdkIrWlZUQmxIWUwyY0RadDVNNGN1eVJhQjVr?= =?utf-8?B?ZWVUYTdGMUkwTlFneUZkZ0NJMWsxZSs4UGtQMGRlc2VWYU9INkM5Ulp0dEx4?= =?utf-8?B?VGtjUlpJWmw4Wnk4OFNxWkJ4K1pFYTlEejFiNFVPUWFQL3g3Mml4MEFnbDRo?= =?utf-8?B?ZnFtZlJFeGliVTNNbStONERyeXdMdkRkdFZUOC83SGVHOTNoRTNrdDkvVUpG?= =?utf-8?B?SEtaOTQ5Z0NKNWE3VkRYaVN3OTF0Y3RLazdNOGN2ZTNsTnJPS3R2SnZ3bzdV?= =?utf-8?B?QWdkdkNkb3VCVnhwRFRoQURmOHV2NmZNd0RMcGdIblZNZWZUQnFieEw5Y2xV?= =?utf-8?B?NSs3K2tWamFiQ1BTNVNnYmNuMkZSWkNuaGJ2V21xUFcyM3IrbGdMT2ExVmJm?= =?utf-8?B?dnUrbEJ1eC92TGt3b01FUFpnTEZvVENOK0lBSjFSdnJyM2wrdDRmNUMvRXR4?= =?utf-8?B?YXhKamRZZVJjMjQrSWNIVVM2b2d0ZHBGNlNQTWxRL21BY2FWVU1wbStYU2VT?= =?utf-8?B?QjNGa1QwM2tlNU94UnFPTG9NaTdERGFsZ1hURW9wUElSZXBWb3NuRzVZNDNE?= =?utf-8?B?b28xckx0STJCejNPSi93TU5PbVBwU0hIOU0vbjhVUkhCNDZqRjFPL3UvZTFm?= =?utf-8?B?aGhVSlFrdlpRUHpWV05KYXNCSGc2aFBtLzFZb0k1RnVLaFdoSGx2NkI3clRW?= =?utf-8?B?K3c3MDBEeHV3VVNRRi9OK040a0o5bDI1ZWFJTFZybmJjVXFNVHErTEpkVVlp?= =?utf-8?B?KzJMOTFmWGNudHg4VUpHamdJeDhUTnYrOTJDTXdqMkk5VER5U09Fc0xNTjFN?= =?utf-8?B?S2lKdHZIc2VTNklzRzRyUy91N29FdDlkbzljMVFXRlNGcVUvblRFYkhvNDAw?= =?utf-8?B?RzNoUnZQeUR0cTA0VEUwRUxKVjJNRGwrbWpIRzBnNVluL1lNY2JMd1B6K2RO?= =?utf-8?B?TGJUVEV2Q3BrM1lJZStxY0NlVjBGK0RiRTdHL0loekN5V2w2emRLUWU2QWpT?= =?utf-8?B?Z2txemxDWU0wVlZlOUtpV0N1YkEvd3FpSjB0NHBIa1FXQ1NXMDNYQXhOYnNC?= =?utf-8?B?eGVCQjJzd29lMnduZ2ZYbTJTakNjbzFLNi91ZEJGd3lSWUFtZmZlc0paaUc5?= =?utf-8?B?bVEyVDhkZENORzVPcS91dlY2VkZGNlJKZkt5WGFPM2hNTjI0c2tpMVN4SW5C?= =?utf-8?B?QVZ4Y1lBeC9qYTJFY1dKODBRTXl6eEk3Z1BySWRpQzNrWC9XZjVBRzhlTVZ2?= =?utf-8?B?a2hpdjB0NzNHUDNzRUFibVNRc3drNUFVQkJRRm1QV1owMCtsQ3dKUExwRXN5?= =?utf-8?B?UXJyU3I0V2hUQjJnREM5N1JsNzB1Tk42aEwwZHhKUjAreGduUTFBYzB2TU5w?= =?utf-8?B?VmNMSlNmUHMvMVJYVFlITWlRcW0vaSs3V3dvVmlzNlBXRHF2WUFpT2JkQkxs?= =?utf-8?B?VEEyemt5MCtSb2lVRnAzQWFzL2ZOd2twNTJWV20ram9ER1VYckVwMkJKTnFE?= =?utf-8?B?M0dIRmFRdVFKVkt2QmZqU3YxWTlGTVErejR3dzN6Wm9pQ08wc0xqRzArRUxP?= =?utf-8?Q?n0HGdhDOQTTzKH9WCkrleGpQp?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 70deb0bb-de81-4731-7331-08dbdf7b2499 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 10:20:19.2407 (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: TTkcCXh1fXhRb3rZahKjIUrsXTxOpJZph6GVhSNi2gn72rGCYV5tB/PGnhNqrgM5vzXotJNBOHVTZOXeUOcbbw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7927 X-Spam-Status: No, score=-3027.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,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: On 07.11.2023 09:06, Cui, Lili wrote: >> -----Original Message----- >> From: Jan Beulich >> Sent: Monday, November 6, 2023 11:03 PM >> >> On 02.11.2023 12:29, Cui, Lili wrote: >>> @@ -1119,6 +1148,18 @@ process_i386_opcode_modifier (FILE *table, char >> *mod, unsigned int space, >>> fprintf (stderr, >>> "%s: %d: W modifier without Word/Dword/Qword >> operand(s)\n", >>> filename, lineno); >>> + >>> + /* The part about judging EVEX encoding should be synchronized with >>> + is_evex_encoding. */ >>> + if (modifiers[Vex].value >>> + || ((space > SPACE_0F || has_special_handle) >>> + && !modifiers[EVex].value >>> + && !modifiers[Disp8MemShift].value >>> + && !modifiers[Broadcast].value >>> + && !modifiers[Masking].value >>> + && !modifiers[SAE].value)) >>> + modifiers[NoEgpr].value = 1; >> >> While this is just i386-gen (and hence being somewhat inefficient isn't the end >> of the world) I still wonder whether we need all the parts of this condition: >> Do we really need all the constituents of this EVEX related checks? Wouldn't it >> also help is_evex_encoding() if we switched to uniformly having EVex >> attributes on all EVEX templates? A presently missing EVex attribute, after all, >> merely is another way of saying EVexDYN, if I'm not mistaken. (Such an >> adjustment, if deemed to help, would of course want to come as a separate, >> prereq patch.) >> > > Yes, EVex is another way of saying EVexDYN, it should be appear in every EVEX template, when we merge EVex128, EVex256 and EVex512 into one template we omitted the expression of EVexDYN. So some EVEX templates don’t have this tag. If we want to re-add it, we need new values. I don't understand. When there's (e.g.) EVex128, not EVexDYN should appear at the same time. Otoh ... > Such as: > vcvttps2dq, 0xF35B, AVX512F, Modrm|Masking|Space0F|VexW0|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|SAE, { RegXMM|RegYMM|RegZMM|Dword|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } ... aiui this one could have EVexDYN added without change in behavior, but would then allow being recognized as needed EVEX-encoding by just checking the .evex field, not any of the other fields is_evex_encoding() presently needs to check. >> Furthermore, is this correct at all for mixed VEX/EVEX templates? >> > After merging the templates we only have one entry and I prefer to set [NoEgpr].value to 1. Don't check NoEgpr for all EVEX instruction in check_EgprOperands function. > > check_EgprOperands (const insn_template *t) > { > - if (t->opcode_modifier.noegpr) > + if (t->opcode_modifier.noegpr && !need_evex_encoding()) So why would you add an attribute just to then ignore it by adding extra code? >>> --- a/opcodes/i386-opc.tbl >>> +++ b/opcodes/i386-opc.tbl >>> @@ -891,7 +891,7 @@ rex.wrxb, 0x4f, x64, NoSuf|IsPrefix, {} >>> >> load:Load:0, store:Store:0, + >>> vex:VEX:0, vex2:VEX:0, vex3:VEX3:0, evex:EVEX:0, + >>> - rex:REX:x64, nooptimize:NoOptimize:0> >>> + rex:REX:x64, rex2:REX2:x64, >>> + nooptimize:NoOptimize:0> >> >> Seeing this I realized that there's something missing here (an APX_F >> dependency), which then again would not have had an effect without the >> patch [1] sent earlier today. >> >> Jan >> >> [1] https://sourceware.org/pipermail/binutils/2023-November/130345.html > > Changed to > > +#define APX_F_64 APX_F|x64 > + > load:Load:0, store:Store:0, + > vex:VEX:0, vex2:VEX:0, vex3:VEX3:0, evex:EVEX:0, + > - rex:REX:x64, rex2:REX2:x64, nooptimize:NoOptimize:0> > + rex:REX:x64, rex2:REX2:APX_F_64, nooptimize:NoOptimize:0> > > When we have" x86: split insn templates' CPU field" in trunk, I will change it to #define APX_F_64 APX_F&x64. I've meanwhile put together the Cpu64 patch I was thinking of. No "&x64" should then be needed anymore for any of the APX templates. Before sending that one out, I will want to first see whether I can re-order it with the patch sent earlier, as this would allow that other patch to shrink in size (fewer "|x64" to convert to "&x64"). Jan