From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2047.outbound.protection.outlook.com [40.107.20.47]) by sourceware.org (Postfix) with ESMTPS id AA785385702F for ; Tue, 7 Nov 2023 15:08:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AA785385702F 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 AA785385702F Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.20.47 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699369723; cv=pass; b=Gv8KDe5sZ8DQa7HYGW3xcSs/pKw32XCy7czV6Y+H7Y+U2bd4+7O0BXVXpTziqIYOy7oHDuePC1ZnviBgjZderhrxndG3YgkcpVBRaUYqmOXU07Hlox8qMWffrXNqqaLLO0ZCfyIzUJtgCaYjvDFJ//9rxSlDKQAxaWSpIR9F37c= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699369723; c=relaxed/simple; bh=kawFWH2NuUKt6NrpimwnnCCyOQAK8Iw4TIJZHEWulKc=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=KeGr3qkwNdcAIbXxiZTSVxCY85SMotYxxEXASAaIqf4BhrjOt96i0eVWMTvk97wSKPMXVr2Jg0ZDCxMZHWZhEJwy8zyYQTzRs3J3pyJVDiCzrpIp9kF7aaGnWmQKgdB/yFcyfn8DWBP9OBe5NvnoPKUgKYIqOqPVekts6UA8QSQ= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jpMuMBLRWQ3L/bhvELbxycAbYUi1oB2XnCD+ojRdnL1zWaRTdmA2vFwwy7zJBF3cUumyhlfBuJVWWeJoejYm58VZeVYH3RgprW2iQR5K1hvtzhJFTAGF37r4WeLDn2AFERhwa1b3FWYdL4C4UGbH4uVX+L2iHgbmQ9WAoBZLsnWpNtThMjyjfaFi4lvkFR6ew+htrzx/l+6unfd6qZJ+vJLnqDA7c9ikSVsaOtG9xsN96bkYbSrp/MNfV2I8D8kPEEpJZI15ol9lVfxTFR751s3UKe3ymZzccQJV+4+4rgf2HCI4sjhHq/08aT+2k0jlyFhLpc6MQ31aBvjSdSXkSg== 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=slLEfDYoVZ0jl42Uu2ivUEsqIHXK2f3RNRST/w7lbWg=; b=Ac6rtdpKs38/aBk9ViDlVyOPgxCdC2PEyQNgPAmqn3Sq5hp9FmHw1dn16L9tGe2JMnbubVUr6mWpYB0qyva+06JZhF08t1IMActq0rjo6T7y9jdVOaxUVkGzdM2DNPFn9aeZTt2vv8n8jxytdLp8UKUWPTmVKOZtHlLrglNXeDtIBLJd0YSNqiwoMz1kzJ80NS7jCA7FiEw7b02PG70fegNxd192qngZ36LzOR1DUj6mI5UteYSOCLtHrXtxUqXFOFMS/cM+4S06uCx/H+TGmtVGQjE0PHts/0NfvVSMkF72t7fVdF3PdbowdkaHxwAmbn9OuN8NScZnDUJwznaTFw== 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=slLEfDYoVZ0jl42Uu2ivUEsqIHXK2f3RNRST/w7lbWg=; b=5qfXEk9DNY56vbuM9jk1daAPPsGXdSyqgakT/0oGeD1ROTAcczzXsAGv4XN/ZOfkcY/kAqRR0SrVktPCQDGxxNhjAEOS0e16kWBuKjOuQSGLjs8/Ln9//Tw8qkfUOym9Da//yXXbzRwW/ZkzRjdWgYpxZ/oFX4uXAu30MjIyNhZNnyWmRSLDb2PwpLkPmxC/4J998cE/oRS1kAgJ2JMmob9jZETRL+hWBg2ZTypOb0XMFd0kXKuqg1tU3DtCZxxInLJBoBBT1cJv1xT1eM4LZWHueHgqbF19yx+pYsMa0CfWfU4GwxXotcSwwu2ggCPRs0JAzM6wXzD713E0H50nfg== 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 VI1PR04MB9738.eurprd04.prod.outlook.com (2603:10a6:800:1dc::10) 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 15:08:39 +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 15:08:39 +0000 Message-ID: <2b0d20f5-1326-f316-9453-4bb391ad369b@suse.com> Date: Tue, 7 Nov 2023 16:08:37 +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> <6adddd93-a156-b055-2bd9-5c18637ff991@suse.com> From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: FR4P281CA0106.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:bb::10) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB9738:EE_ X-MS-Office365-Filtering-Correlation-Id: 62157ee3-dbfa-4df6-c8ce-08dbdfa36c36 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: V0t+EdZb0WlJrMlQc9WdCWhwBna7lhzghDxoURmfk+SPxGPwHjc/OkpCIEOyvlL39ucs6EpH1d8kPslEWmhZl/sA5Z6gNDhl8aYt6hH1QoDc/kNfT4YzBeF1WsojOfrjG9jwR5OClk3emoOpEA+Em4aAZkG5cEriS8+Nsnz+TTiNQRrwcT5Av5g3MZL7epZTG9v3sPmj6q80h7Od+CGRPoxgnwveG8Lf/47OiA8Re87mrStsjrzbtglSSDrv+5Qxyz6SpltiMiNsAUBVva8pC43AnJxhCCFNDOycnJbkXJaDKfT0i9wy++SD0uPHlD/oF3Bi13gv9pChN9qlAo9Lr3dr40kThoU2ZIlujcRjChMJG3ZEMpWX8pCcjIHVHwi/8/GQhaityRLWtNFbePUEsSBEk/bJJUQbYpo3FcQ7X9XFvjw3hr5ghCXGYKWEzLfv9mACkC6CZ8hi1IK22gNG8gOuGxmDS7nOpMpRWpdHJ5cpsnNKhLXSA5tnXyCaL7s7KfdaBhMgKdjxuCFtqPeF4aVnOsISgJPHRMA0IeViDZAeY96YzKSFryTpXEvyYMQtYc1sbCEtdpC9TLKAAPc6Z6FU8jXNwUhMjXnZLiqXCGvqSzUAHrfxtcDi/jb5Io2mKNfjzgFdTuQwDBPtInSW0A== 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)(376002)(396003)(366004)(39860400002)(136003)(346002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(31686004)(53546011)(6506007)(478600001)(6486002)(2616005)(6512007)(36756003)(38100700002)(86362001)(31696002)(5660300002)(2906002)(54906003)(316002)(26005)(83380400001)(41300700001)(66556008)(66476007)(66946007)(4326008)(8676002)(6916009)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UnprYzMrYUdYT2N6Mm12YW5SZDhjVWdOSUNIRVZkUFZCaDl5S0MvcnBWYkFD?= =?utf-8?B?TzlJNDJOTlIvSklHMkdBR1VsMEVhVCsxTUZJZk9KWGFQQlJmbENXaThleEg4?= =?utf-8?B?by9aQ3R0WHk4Zkp6NjBCWWUrT2h2djRNVnhZbUgxSHNBU2s0VXZqVnh5cko1?= =?utf-8?B?TjgyRGFqQ3cvaGI1dEczejZrSlg3TlNhRUVMNXBvdU5ES1ZpalpSUjdMZG1x?= =?utf-8?B?RFZUVXFwODNvb1E0ZGlxZDJVb2NJU1RYTHNDTk9QQnl2b0c0UHZ1cVQwaWZt?= =?utf-8?B?WmlpQ3ZtUUhBVXdxTlFhbzEwUnBPdjhmZ1djWVAra2kzYTljQ3ZRSlV2SU8w?= =?utf-8?B?Y0pTdjRUSDhSRVh3R1lvMkt3Z1k1M2lKZmlEeU1oWFpnSG9LcHBBaFV3MTNP?= =?utf-8?B?dzJkN24vTWRTeUhMQ3I1RHRIUWMvL0pla1BKc3A5OFpHWFVJUTlPbkxGUC9V?= =?utf-8?B?WkJ6M1N5Vll6dUh1VDdXVzhhSGhFUDQ2cll5QzNxWTh3V2FRbVp0TFNCejZq?= =?utf-8?B?Rm9DR2tFdG1SdFU3bzBtdFk0dHVVVTdHQzRyQ1hkK1V0OUFvaWZiRjZHcklB?= =?utf-8?B?djN2b0xKUm1pekNWa1hhdE1oeVlXYmhUanpBc2U4Ry9LTUtucDErUE5uYTRw?= =?utf-8?B?bmpTWS9Sd1Z4dDArQ3BhVmFwcTVybVpLODFscXdBZDNURjl2OU1wbi80aWxM?= =?utf-8?B?TEdTSkx0RmRjWC9OeUlmclBVRnJCSXNEdGRDYmhIWFFlanhvN2Q2dmZNMkZa?= =?utf-8?B?dUpZRkU4eVUzUXRTTit0aUIvUGdPS3EyWWdlak0zRUZ4dzZYY1lZTCs1K0Mv?= =?utf-8?B?TS82Ni8wVG9hY3pPNGd0UUVJTVUxdjdzcHdURkpMdTNOeHArZnhFZDBvM2ND?= =?utf-8?B?NW0zeUdQS1FRTGk5Vmt2alRJZWhHSmwrbWdBN2MyQ29vbi8rVUN4ZmJhY1Br?= =?utf-8?B?cE90NGZEOEdCYWFhajQxeHhqT1gxdU15TEorS3pEajkvK3JmU1JMZ1JyU3d3?= =?utf-8?B?OXRaY0lNRnY2S1ZQMnJSYXN1cXpVR2JjRnRHR2ZPeTFyNDJmTGoxRU1FenJk?= =?utf-8?B?THhsUlpkcUV1MzRvMTlxanVOVTNWUmwxSERzOFJlTEo5VzhyWWp0ZHQxV3Q3?= =?utf-8?B?M1N6NDljbXRDbzZWYUplK1B5TWpSc2d0Q1VGQnZSZ1BBc2hNZ2pFbUpLczEz?= =?utf-8?B?aDl5N2p1a0ZNWjcrOTBMeWhwNEtGNVhSeGdCMHZlSWxUb2QyeXN4bXZKQ3hT?= =?utf-8?B?S1BBSXM2c2c1MVNiSHFmYi9OUzd6Y0VRUy9zUmxldGNLK3REQ0ZveE0rNUJp?= =?utf-8?B?UWY5WnJiN0FIOXFheEF0NlQvUy9HOC9scWFuM01KWkxnQVphaE5tdXlFd1dz?= =?utf-8?B?ZW5QVnVkRVVQVUVYRDl6c1o4YU50TllXVlVObTAvTXBmLzFhYzlVTEprUXRj?= =?utf-8?B?YWRRbEUwckYvc3R5aTBpSTVUL2FVZVhrTzI2eFUzTkhjbHpNYlVGeXIvMm9h?= =?utf-8?B?SXJWNTdsTWdITVNEODFHMnZvRzFmZnVTbjVkck9sZzByVHRobUxleUFFNnU1?= =?utf-8?B?UTEzTERVNkFnT3RBWFVCb1d2R2FwY0pkQWhlZjBLcDBrZFVhSGFTbkNEa3M4?= =?utf-8?B?UDExQmpQZnlaamloSGtJa0tyMFBFWWNQd21COHZtMTUrT3hBWXFQWE1WYXRs?= =?utf-8?B?S2QwNjFLeVNkK0lYWDdYUCtNSHhGTHVmR3h3RUZJRElaa3BBdHIzSE5qb2Fv?= =?utf-8?B?THRNWmE0djJWc1Y5RkU4V1FoQ1BNaVRGVlpFSDdSYnhqSEMvb0JLelpGVFRR?= =?utf-8?B?Q1hUcjlibzZZY0t0Rm5MNGNNZVg0YUU4TW5HL3Y5VnEyUWVzRFpXRDFjRFZs?= =?utf-8?B?S1FBcjl3MmZ4TFQ5RndPVExldkFoRnRRNVQvbzdJTFk2QjM2VERoVUpGc09m?= =?utf-8?B?OC9Yb3U4cnpEWFFSTzdEZWJaWFVveEMwRUZteXFYSWViTVUwYW95eUdWdWxl?= =?utf-8?B?ancydVdBLzB4ZkZRODlKMnhoZ21sNCs1VG42QmxmMVA5Zlo2V015YnpFaklw?= =?utf-8?B?eTFqdzdaUEZQUnR1bVFxb2htT3ZKVEk1MWFZVVMveDIxR3J1UGVaTXFJNUNz?= =?utf-8?Q?eNcvlgazIxK+yaDlWvyFldu0Y?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 62157ee3-dbfa-4df6-c8ce-08dbdfa36c36 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 15:08:39.2751 (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: xU3C2Bd29/sXU+wio2TsrAv7CsFFkjYrBqcenKE31VjtjEZ0d9+OXrrtgb7qFgiJorSiHD5KvUgRrxT5jVlHtQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9738 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 15:32, Cui, Lili wrote: >> Subject: Re: [PATCH 1/8] Support APX GPR32 with rex2 prefix >> >> 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 >> |No >>> Suf|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. >> > > We have the same idea, that's what I mean too. I'd be happy to rewrite a patch later to implement it. Maybe it needs to be done after these patches are committed to the trunk. Well, you mirror is_evex_encoding() logic into i386-gen, and if that logic is to be simplified anyway, it would likely be better to do so up front. That'll reduce two patches then - the one here fiddling with i386-gen and the one doing the conversion (which then won't need to also touch i386-gen.c, at least not in this regard). Since it looks like I'm collecting a set of prereq patches anyway, maybe I should take the time right away ... >>>> 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? >> > Since all EVEX encodings support EGPR, the attribute noegpr has little meaning for evex, so when vex and evex share an entry, we use noegpr to indicate the vex format. I still don't follow. From VEX alone you know that eGPR isn't possible. A mixed template very definitely allows for eGPR, otoh (requiring its EVEX sub-variant to be chosen). Jan