From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2055.outbound.protection.outlook.com [40.107.20.55]) by sourceware.org (Postfix) with ESMTPS id A1162385840E for ; Thu, 19 Oct 2023 15:24:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A1162385840E 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 A1162385840E Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.20.55 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1697729049; cv=pass; b=oZFji/zTOr/mO+ODendx5pu89UtgfcQpfHj2kNIvSA6xsFz9lDa0khVVWuFTDBkIOmTt+ltZHVO/8/S0ngvyJBpUL6bZMiBuJ6lrDSAVOVReZXoD7PYlvBToCHaCA7dTyNU2uOPAiDO04Eg9A/QJQ0NAgJCKmphxcA5utYhStqE= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1697729049; c=relaxed/simple; bh=iEf0knaR/lHxj6uO/VkukouiY+ZfgLEIoCEmTFj1+P8=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=fuYe4S31jP8WmyLwuDGRIcMp+YDyjtYXjoZg2hf6hJPVnzWtKcxoi090TprYDSWge610YzvzVVsfvOZS5A8Io8LTdPQStpevIahFTYjKj4zkFyBnVrSg5R8WfPVvz6918b8ZtxdEiU2GM6eZpHlCjY9eKiAIHTwNS/TUXYJLHVI= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fd5IwPO09OmDI6Mz43IrMl69BgnUgJPXLnhO6buSMg05B/nPTc+F3DcTsSR/fa1bwh/cBCpc2pcnSaDfWdU+6wl8M/nvuDnXngQw2SlTolGCZvRvIK4+lHyM8C71gSEDZaBuKZqz5Q8cPaC/etd/JMFbFNi4dsZ3NGmU0U9s9YAsAa8RfFS+3tEamAY8VCLDF0T0sm0VZAezgBduPWXyUb2zRRZYVUlUIKD/tQOn/DgL/Br0YgUqYUU+ahTSmrjVvBzmx9xmXhBTFPjBu9ne5yMIHYy/hp1HcopP/ElDhnuxdCupXrLoZP+hd+Ar4GbUhdgnnJN/lI0Y2gl8M6wcEQ== 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=TfJSSOjhkWdiNbILSlxc4nLDM1SDRlEp8QPYaNzRWFI=; b=gLfsuM1Thk6W4Vd1Kzxuu4vc+2+Nv/3tPHiHk/z7A+b5cOzSjx2DtU/ZjtU0qh1PdMuZr4cXxknprUUiMia4BYxocN2NQzhHU+hE8rPp0tXt5602P8SlAwhm6hsYdMFJX+twg6FQJIHypf97Yhr/aJyj8B+caYkNdo7/sFCWiM/8L8gnpSpFEk/I8yW2UoYS9TMeo3Agd0Dib1XNKVKDdUSJUKngemF5tK7ntpJJWAUXOXSZCLB5ymCs0QI3Ge/lLJvR0tyYFT8NBrbWjAtdJQZVLDxHKobio7Q9zIXsYf8Sh8HyKiS2ro9ARxmcp4wAR+x2XZWTGApDCzwdmYtzqg== 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=TfJSSOjhkWdiNbILSlxc4nLDM1SDRlEp8QPYaNzRWFI=; b=uARN/UE2bp7QkfpBZe+/jPT3Ak719TbT28PFph5V1KsMVpH1gPB469baYp/MdYyGl9D8WcqP7p+eH+fs+EWBtc7iOJRG23yKN33WEKWbQyX60reDFnvGGTU9zXNYYjKWCIvd4sTSq19Ed74ZMhIn76JLAFaA/Z1k29uJ98/N2FfB5hcJeURJF8efQQ5ETJ6js3CxY3hvbTdFNqT0yA0GxrVCYWmxPBdD1T4k0s/gKPFq08JyXxgfVg4kuD0W+ReEN8CqaGglIoJh3FGK1UTE1g08ktXvQAVZnBeIOms/inxjGKN3hVyiU9WxEiXrHe4JKjHNSxXPvmkPwGTrst+1Fg== 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 PA4PR04MB7566.eurprd04.prod.outlook.com (2603:10a6:102:f0::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.8; Thu, 19 Oct 2023 15:24:05 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::d9c0:d907:4d2d:15b3]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::d9c0:d907:4d2d:15b3%7]) with mapi id 15.20.6907.022; Thu, 19 Oct 2023 15:24:04 +0000 Message-ID: Date: Thu, 19 Oct 2023 17:24:02 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH 2/8] Support APX GPR32 with extend evex prefix Content-Language: en-US To: "Cui, Lili" Cc: "Lu, Hongjiu" , "binutils@sourceware.org" References: <20230919152527.497773-1-lili.cui@intel.com> <20230919152527.497773-3-lili.cui@intel.com> <9c3a051e-d7f2-26a7-8013-9b0081a54023@suse.com> <176bf162-764b-e103-2985-f1d5ffe3d869@suse.com> From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0197.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ad::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_|PA4PR04MB7566:EE_ X-MS-Office365-Filtering-Correlation-Id: 38dbaf11-8ae0-4889-d5f4-08dbd0b76df2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2Rg5rKgLQd16rpR1ETVcjAKWoK3WbK4Iqm1P0kIBmhP5E7iuOTiU8+OdxO4kreX8DaAJmYY9EQ/HgsXRNIi+ht99M3QaBiw+zGx9GlTKn+h809ltAJ/fFCwmFFM0Nx0h6ovYatnmyqmV6kQuo9O/anp2S3i8jDwa41R68bMA2LGOMFpa1m0mO2uKe+Hz/GMrg2wb7xdA1ZAQMsVeq0995WGwzlDmkqc6LQv7QXKEmmBUZCHONVexDXn1yPngIdOSlN5lz8IJ6LgaEiLzFO9uRydsZp4qCBD5o4gbSme7XawVfLqwswgqgwuHsiERzlUhAW1ftxrwGPvP70haj1Wdz5UwTLnRLO1l9qL3YV61te9sbs+BlVR23K5CUefkq5tWOKprNTO4xvLc8E4bp5OSRBGYNTxGBJZPeLEsp9dUFkmU35DKHF7otYQWvadDMEomgkl1liZU0IwTv7aDHe35SljFYMe2IgRbTVHKFw5vu5aftRRPuF+OBTMbPmBkOvS7nNf/tRSc0FNXhc7yDl0cCaGLv8krV271HEXKHnc4sp52R05E4aMgwV80PEDZlMJh1Ho/Im8CKy5E39ZOeCWQFIEYjaTy3+FPjMNj+ZD1A1t3Tkj2zn6Qnum3zIO02h11qNMUKbJvT741xfXzfYGh/A== 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)(396003)(346002)(39860400002)(376002)(366004)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(38100700002)(6506007)(53546011)(83380400001)(31686004)(26005)(6512007)(2616005)(66899024)(86362001)(2906002)(31696002)(4326008)(41300700001)(5660300002)(8936002)(8676002)(316002)(6916009)(66946007)(66556008)(54906003)(66476007)(36756003)(478600001)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dmVabXdkQndleW5pSkpZRjhlOWs4TERUM0o2eVZ1SHQyTUJ1Y05XQzBlaTBR?= =?utf-8?B?MHBUVUhONjNjQndRbFhnWUs2RFRrekpQSllCeXk0dElEV2E1WjcrNTh3VTVQ?= =?utf-8?B?WExkYytyaDh2c3NpZVZGU0NSeTFkaW5RblJDU1RNcDNUWkJaR3RnUUxMQkxD?= =?utf-8?B?dW5XZFEvNlQvZ21LQkcxeE1rcGMrNmxXUXU0Uzc4cnNWR2RHUkNPTUpTT0xG?= =?utf-8?B?ZWtkamlmVThPcU8xQk1YK0RIQmQvdFpVdkFVaVk0WW5mczBMT3I5N0sreTVv?= =?utf-8?B?emVNNnM2YVhodU9NUjV1QXdwMHFJWXBqME9tSEoxSDFPTVJoZmZ4ZXFXUER0?= =?utf-8?B?YVlOVlJqNnVhcFpKT1IyTFMwYlk2bFBLaVduTFRZZkVZcEUyRWVuLzNMeGRM?= =?utf-8?B?WWN3WmxvYWJlMHpwUTNVOUpxVURjWVZDNy9GaHczUVJrOXFWS0FxN3YvSDhF?= =?utf-8?B?N093ZEJnRzU4QzNZR3paTmlkZndKVW5adXVnSHdaUFRQMG5MdmxiOXppbUk5?= =?utf-8?B?YkhNM2d0YUJTZmt5dUV2NlpIb0RPSjV5bjNZZEZyZFlyUDlpZkovNGIvaEZ4?= =?utf-8?B?YmRZTW5KVWZDT3RCOTYrUXZSMkk4ay9BVjNQQUp2dThLeUlYNy9mMEhZVmxU?= =?utf-8?B?eUMrR2JoWWp2NzBqUUVlN2pZdG41Q0lWM1lRTUhnRzlpcTZjeUhPMkVqRk5s?= =?utf-8?B?dDJFNitMRlIyaDJYRk9JMFFYU2c3a01vVjVOOHUzN2xEN1RXQUdyVytqQy81?= =?utf-8?B?K2FyM3Y3OE1GY2Z6RnU0VHdaUC9hQWxjK2xwc0g0TGFudSthZXB2SWxnakgy?= =?utf-8?B?Z2pMeFJ4WWdMUU9KRDJrbmZiRFRjNGludlFYZTRaWStubTIrNDJ4VVR0MnpL?= =?utf-8?B?WklnOG11YUdHRlppWno0MzltZi9iTEZFUHJJaUxLUFhQdlIrMTlHcG5LaGtY?= =?utf-8?B?cm5IbGRNNzJ5N1pRd05nblJTcnFLZTNnY3pBRjNza1lqYjlKcUlJZ25BbzZT?= =?utf-8?B?M1FaYjZJcGt2T1UzRmNoR1V1aWdnRUtJMEgzQS9Wak90S0N4WEtvbElsUzlS?= =?utf-8?B?a0hHNTBiSDhtSzh5M3pYWTYwMFN1clZtV2xSZmVOSnZFbWNwNHNJdmRHdzg5?= =?utf-8?B?bnUzTEpOQ2pIa0Q2aHROTU5Od3ZjekFWYWZFSkMzYm1Cb2FLWC9nUmV2L2JN?= =?utf-8?B?MysxMWFmZ2R5elphRmtBZHVxUFd1UTFaM2NYTzIxS3JVSkRKcVlycGl0Yzlk?= =?utf-8?B?aG9Ba0pleGkrR2cyRmd6Znd4S3AzVE9XNmtYSm1VTk9CZzFmYnh4NTN1bzln?= =?utf-8?B?OXh2bzNJV2lyTVZ1bFRtZlpjbmk4MzNpQ3FBL29EYjRtUENsZzBrSWEvZEt4?= =?utf-8?B?encrelNGTXNVRVJlNFpmMkNrdmhSbXZtNjRyS2FyVlNqelJBZytqeDh5aE9U?= =?utf-8?B?TExlbnIyMldYS21XZENGaHo3VTRTRnM4a1VoR2xFbCszZVFuMGVlNjlVSE4v?= =?utf-8?B?N2QxUS9pSWJjNzBGdm1aWHJvU0JSY2lkcEE4VXFQOVV6cnFJekJ5UVoramtq?= =?utf-8?B?R00vcjAxYWUwZDhHUjAxMkhGbUh0QVZDR1k1d0thVmlDTC9XM0JTcDROWmhM?= =?utf-8?B?YXdYUzcrNmNxSk90dWs3cXZ4dGptbmF5a3lFbjJPRkJ4MzNWWG01UmU0K1hY?= =?utf-8?B?ckdzc3ZwNDF6aThmU2hvdml1emFZRU50UnVuNWJBMzg2NDlSMXJDc3pPOHlL?= =?utf-8?B?bHlsSTdtL3ZjUkJOQzVocEZMTUhSU0tBK2h4eVhFUGtYdnpOMzhaRFpFbEJy?= =?utf-8?B?Njh6N0tyR1ZQOVMyQjhrUGFncnhhTnRuTU9rN25Sbjh4VmdmU1JxRCtWNzJp?= =?utf-8?B?RFVsQUxVNHUwV1htYVg1QlRDMEtER3Q5em9uS2M5L0UzMHk0a2lCYktTcnE0?= =?utf-8?B?RlJPWnkyTkNHdHhjd09YWEJBNTRrTGZ6N1NUNnQ1c1R4MVY4dzhDb0c1UDRn?= =?utf-8?B?Q2x3NUZOMElwdVBxZ0ozOVBhbnlldlllVUJzNUE3RGd3ZE41WUFPY1VJVEsz?= =?utf-8?B?ejVrVmEzbWFWcEViMExpSHlQd3NJeVFLZDRBNk1iZXJBbmVuc3BER1p6bVI4?= =?utf-8?Q?/5qpQBAesFWovkuae6HRD736h?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 38dbaf11-8ae0-4889-d5f4-08dbd0b76df2 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2023 15:24:04.6605 (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: 7UFMA1vxOHzZJxYnecK6Mj8QtElKiClTGsTlcy/GJ9dQo5k1SPRCSnfQeTRIIe7ZpiviBTFJ2ft/m0lf2zx7iA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7566 X-Spam-Status: No, score=-3028.4 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 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.2023 13:58, Cui, Lili wrote: >> -----Original Message----- >> From: Cui, Lili >> Sent: Wednesday, October 18, 2023 7:31 PM >> >> OK, I'll try to add more checks, and add description for them. >> > > Added some bit checks in the decoder. > > --- a/opcodes/i386-dis.c > +++ b/opcodes/i386-dis.c > @@ -11533,6 +11642,13 @@ OP_E_memory (instr_info *ins, int bytemode, int sizeflag) > abort (); > if (ins->vex.evex) > { > + /* S/G EVEX insns require EVEX.P[10] == 1 */ > + if (ins->rex2 & REX_X) > + { > + oappend (ins, "(bad)"); > + return true; > + } I think I understand this, but ... > @@ -9003,6 +9003,9 @@ get_valid_dis386 (const struct dis386 *dp, instr_info *ins) > case 0x4: > vex_table_index = EVEX_MAP4; > ins->evex_type = evex_from_legacy; > + /* EVEX from legacy instrucions require EVEX.P[2:0] must be 0x04. */ > + if (!((*ins->codep & 0x7) == 0x04)) > + return &bad_opcode; ... what's this about? Aren't you in a switch() dealing with the exact same three bits? > @@ -9063,6 +9066,22 @@ get_valid_dis386 (const struct dis386 *dp, instr_info *ins) > } > > ins->need_vex = 4; > + > + /* EVEX from legacy requrie EVEX.P[17:16] must be 0, EVEX.P[23:21] must > + be 0. > + EVEX from evex requrie EVEX.P[17:16] must be 0. EVEX.P[23:22] must > + be 0, EVEX.P[20] must be 0. */ > + if (ins->evex_type == evex_from_legacy || ins->evex_type == evex_from_vex) > + { > + if (!((*ins->codep & 0x3) == 0) > + || !((*ins->codep >> 6 & 0x3) == 0) > + || (ins->evex_type == evex_from_legacy > + && !((*ins->codep >> 5 & 0x1) == 0)) > + || (ins->evex_type == evex_from_vex > + && !ins->vex.b)) > + return &bad_opcode; I guess I'm confused here: So far we don't use EVEX.P[] as notation in comments. Can you please use the respective field names instead? Also can you please improve readability by converting !(a == b) into a != b? Jan