From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2083.outbound.protection.outlook.com [40.107.22.83]) by sourceware.org (Postfix) with ESMTPS id B0FFD3858D32 for ; Thu, 7 Jul 2022 06:47:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B0FFD3858D32 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CmR5iXA3dgQ+Unkeva1sg4XOWfxJA7A+WW+dqAB6KBC0nuGJyTTIW4TXVaWzoHNEFHKZ2VwzWpOi3yjnKtKDFGDMOuQgCqGAN15AR/qlUU5oFxT7tgMaYo0oEuE4BdwRsCkKqzZjgTuwS7C4aUMVx8cXrg2wTIZj120uboRilxdS+zUftkDVXKZghlSqSsJtKwyyZ6JLcSaBFy+hAldSzwkioPfxzCAt9mhCAdVT8lQdmQjxC8e7mrgF5ZVOjx2UOGd7SI6t3awiEGtUHixhtMGtf0kVmaCli7DXk0tfOrVwB4VKE+zMaa2uBRcH4EJAdJoaBVpOhR02k4HSjxlfaw== 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=FpbS87zgDfC8+fja4LXVSaQV2V8ujl9WYYKeJfD39FU=; b=aK+qsyUtYBvz4CAb9xyccoTVKmndF1FBR9c4d9sC5VnBMJnIrrXIHpYk3A5zxvsF4aEpEGOc1jstEAF99mnGDDjPyQuF9TZFVVudN1AbA73Nlf6BsX4SsGYcLOn/M/KLG291FVZp/v78dKQHt+Xb+fhro520EnSxfcTzzo0sw0gFxw/+jgD9jAlgNK1nyqxEZXh2Gb2GxExNiE85rybTghfjGe+HCPS3Z3rWIPnqqW45CQMn3N3Yi/W9K4ZOSkZCKCmi9eCN1wLoPbEbSadlKAw9FIV9KkTuOtCqKHfZmBN8OUW1Ln3BAhB7zgJ+Bcd2/QKHqpamfEwPzCLdNvkVfA== 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 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by VI1PR04MB4541.eurprd04.prod.outlook.com (2603:10a6:803:76::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.16; Thu, 7 Jul 2022 06:47:26 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::60ad:4d78:a28a:7df4]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::60ad:4d78:a28a:7df4%4]) with mapi id 15.20.5417.016; Thu, 7 Jul 2022 06:47:26 +0000 Message-ID: Date: Thu, 7 Jul 2022 08:47:24 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH] x86: re-order insn template fields Content-Language: en-US To: "H.J. Lu" Cc: Binutils References: <135c1ad8-9ad6-196e-4b5b-0cf8d89ea6d8@suse.com> From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0061.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::16) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: de44c5a0-9c77-4bea-e2ab-08da5fe48db8 X-MS-TrafficTypeDiagnostic: VI1PR04MB4541:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: R3BMdS1wsPUxorqCQ6WcqqICncBOgiAN4SvVHVUVOBEaI4/x4HgvUN5RExh04B8k61cgFQbjWrDWOmAE6PVsjPncpYnUuruBp6lYS6QhivGQAMQYKGGBIevk3v5u+t/w0ZrPcCnqUEK+n5bGsbzls60JEuGcJsDAXPC3S4GqA3PCatarurZKeIlqNT4WwcomTsoMMOvYg+iFpedvT4x1m12m75U7dhjvaxhKBsFHkoxzejOeRPGJ0Y8shVGAIIA6zZmaHAL8+9ktTPHbWHgy3wnuUX5r9HhtzreGnNNS6N2fT0IH/NVocARVyTo3mtpEVu+mpf9UbC90ZoU821BPQlR++H+gbrMuFmxHA/OS63ER6PDplvYPUDnETymTDFkWFatSdmlyMQQ2ZpX4gUSrGrIm0glJbew+uyB0aCTyHT+8lypwK8hkvc9zOohJxKEcK2tOU69lZbDuK0aIG9H4+buG0m5JMRm9zz/mZento2bj47hoaD/rSl0r3FUmIUa7E+GSQB5X9JSqbpwedHCAJdD29vHnpEfi+N2QFsP5uhH363sd/tNYLK0BTZFlhDNr543eVIqtNPYPsNER1QDtzkWtz4IpC9otQxjkNQFzB2+j/wW1ycWKUccDkeglP5+Pf5u2OeuCAlLVi5WaGDS1je01VmNsaycMOv5hOrBiQBNczO6WpfyClEUFS8R3ap2yhSDsuE7tkDTYx2Ri5mYKiNsxUnOyNg1abpDm3Qz1LOEp61+FpFJ4oYVL8qY6NaTpWb0TQCRF/dXZWPD0pDJcZFHdHJ/SGCAXIYSWfbG712xK/4UoisHvwbmFefzYYmyDHe5TfyTO4PTeh4PQMj6KJpJDjJsaYKFv6dqZXP4y1JblXxgBwuyK68BfcZk8YArB 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:(13230016)(39860400002)(346002)(136003)(376002)(366004)(396003)(4326008)(186003)(41300700001)(6506007)(26005)(316002)(31686004)(36756003)(53546011)(6916009)(83380400001)(31696002)(38100700002)(6512007)(2906002)(8676002)(8936002)(5660300002)(86362001)(2616005)(6486002)(66476007)(478600001)(66556008)(66946007)(169823001)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VENNREFjZTVqM1FVZ3FqV2FnN1dleS9nN2JwdkFkaWladUc0RU1wN0h5RGhl?= =?utf-8?B?OWRNQWFGOFBUS25YU0ZYUlQvek5uZFYyaUpMTUgxZ2NuZ3ZlWjVMUFRKS2Qv?= =?utf-8?B?OXR3aVVCMVNCcUlWRTY2dkhDTXg4bEhFZGFHVTBUVDBGcTVhOFg3dGpnZzJC?= =?utf-8?B?Q0RVY2tsdERSN2lIN3pvL0VwUkRXWE1ncDFhU0dSL2pndzEyQk5GTWMxTkFC?= =?utf-8?B?Sy9kUXYwbDNMZUpQUCs4VkpmYTBFOEx6R212bUNpNU94RFRPYXpuczJxMVg1?= =?utf-8?B?WkY0NVpBdlZNbTJnVTRBNFE1NFBLeU5sa0Jhc1Y1MWFzWVNGbExaVW1DRmVX?= =?utf-8?B?VWM5eDcwQ3pOS3ZIaTR5Vlc4ZnE5ZElkY2pUSm1NUC9UZm5CTS8vbmtrelVi?= =?utf-8?B?b3N6dStib3BSa1plb1RoUWNUckJWRk1PTkc4WVRkamVLQjdUKy9MUjhydlVF?= =?utf-8?B?dTFVN1MzOTkwWnN3N1NOUEk5UnFseFE2MjNSZjNPQTNuNi8reHpQRTlaV0tq?= =?utf-8?B?VlNWRGF0WkdCS1E0QjFaQXVSSktKWXVzS0o3blJJNS8yQllRWXNNaUhsbXJq?= =?utf-8?B?S1pSOGhUOFU2Snc3N1NVd01SMmZ6ZWVmQTZLVkJtVktGU2RyYXYxWUFTNVQ5?= =?utf-8?B?NXBjMjE0TUs0OVRoTkl6YXFqcUZkMWlYaXMzMmI3dTZNU3A5eU5ndWxvWmx4?= =?utf-8?B?K3lxUE9UTk5aVXo3b2RJWWhRTE5sWmtRU1dxYzE2VU81WWpCWWNqd2hiMkhI?= =?utf-8?B?U2FOVWRxUU5mTFIxZmlqVDhISVRRQytyNGdzSnV5V1krWmROdm1Ca0FDL215?= =?utf-8?B?NXpjT3g2VSswYU9QL0FmZTNOdWJ0cXYyVmV4ZnhEa3gwa3JHVGFyMjBuTWNm?= =?utf-8?B?bDlwK1JaZGxoaVZ0SzJBdU4rS2Myd1V2UjU2bWh6WnZMazY5TEc3ajdlZFVo?= =?utf-8?B?dmJqSlBZbkc0WmdNZnlTK3lIK3hPWkd3REZ3S1FWZUdlbkh2RElnbFd6WDBJ?= =?utf-8?B?YmlIM2pSSmRSR2VYK2h4TkJxS2lqZDJXK1VmanF1Wkc5MnVsOExodk40bEpj?= =?utf-8?B?eDRlck1zeFZ2N3NqRVA3cTZrT3pPUkZwOXpLcUVXSEhsWUNUNDVOcS9MZFdF?= =?utf-8?B?TUJGU1pLdjJYdVJjR3RLNXpXMnBRTDlXV29GZHhyVHEraWtsM0VacmFRS3Jz?= =?utf-8?B?NnpONTdQL3hCUFZOejNmdll4MnlXV1djb3N4MGR6RktxQ284aGVWWDRQdTZ2?= =?utf-8?B?aU5tZXRvcTdMb09ienJVTURVOXNmYVY0dVRQQXJWZGx5ZUVDelRoZEdaZE1J?= =?utf-8?B?VUdzZlp6c1VZSUp5VkY0ekVMZDIvWU9heFBUeFIwU25RdmtOREVtVGptNWY3?= =?utf-8?B?VWcrMkN0TjU0eVBGTW5USmtmL0poV0VVdFd2SldFQ3o3MzAyUUpIMU1mM3V3?= =?utf-8?B?UmVQdUc3RUVpYXJHdDcwZjFXeWJGRGN3TEFFd1ZYekNsbTRZdUkzRWF1b2Fy?= =?utf-8?B?TG5Rc0I3YTdCMWd1Ui9tNXhlN29TOGJxQk45c29rdGlPUWsrTWdlZ1Bid2hD?= =?utf-8?B?RitNalM4OG5tZk5KTXhjWE5xOTY4bDZrcE53ZjMxK25EaXE4SnFJclFDMTBS?= =?utf-8?B?NGFIVWxXYzNVeVpUOHBDdXowS1NpUVd5RERsWkFpWVdlNFZ2ZldydTRPYzNI?= =?utf-8?B?SVp4czl2RDRudFoyTnlXVXV3V1A2TFF6YytldkZuYTVidWJVSktPaUZNRWda?= =?utf-8?B?eGNwSm8vTFIzWVZTMERSdE9Cc0txVDhZZ1Q1U3JyOVNEcnpOWnhjd0l5NkhF?= =?utf-8?B?L1VuQS9QaE9rZExPZ1ZSYk9QL0luRitpN0tGSmFxc2w2OFRBSHd0RDNXblRP?= =?utf-8?B?Y3g3Wi9Kem53TmJHWE5WQlkvc0xIOEc2WmsyTmhYZFltYmJETnBSWW9sM1V6?= =?utf-8?B?ZWhEc0JjS3RSYTkwRlpINmsvdXhkRGVPTU9DcHFhYWh3SjJVY2hWMUNCNVY3?= =?utf-8?B?NVVWK1hUMnZlRnNra0VyYVRsVUYxYmJwNHVlRjhsSE5uelZkb2hEU0d5dGlv?= =?utf-8?B?OThNZjQxQzJWTmJ1S085Y1U3SitPaVVpeGJORU9tRDQ0RDZMY3dodzdUM2dW?= =?utf-8?Q?kmvyjzZ1yHAhDxdDuIZuryCXU?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: de44c5a0-9c77-4bea-e2ab-08da5fe48db8 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2022 06:47:26.2482 (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: CL1lQzfq4dwaDBA6pQmwgq9RX80CZUM4jBxLpsPRF9U7ifaw2e7l7VYh/Mq7DylOHoanJ3TjPoLJooDv7z7EOQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4541 X-Spam-Status: No, score=-3030.5 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 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jul 2022 06:47:31 -0000 On 06.07.2022 19:10, H.J. Lu wrote: > On Wed, Jul 6, 2022 at 6:43 AM Jan Beulich wrote: >> >> This saves quite a number of shift instructions: The "operands" field >> can now be retrieved by just masking (no shift), and extracting the >> "extension_opcode" field now only requires a (signed) right shift, with >> no prereq left one. (Of course there may be architectures where, in a >> cross build, there might be no difference at all, e.g. when there are >> suitable bitfield extraction insns.) >> >> --- a/opcodes/i386-gen.c >> +++ b/opcodes/i386-gen.c >> @@ -1444,8 +1444,8 @@ output_i386_opcode (FILE *table, const c >> fail (_("%s:%d: %s: residual opcode (0x%0*llx) too large\n"), >> filename, lineno, name, 2 * length, opcode); >> >> - fprintf (table, " { \"%s\", 0x%0*llx%s, %s, %lu,\n", >> - name, 2 * (int)length, opcode, end, extension_opcode, i); >> + fprintf (table, " { \"%s\", 0x%0*llx%s, %lu, %s,\n", >> + name, 2 * (int)length, opcode, end, i, extension_opcode); >> >> process_i386_opcode_modifier (table, opcode_modifier, space, prefix, >> operand_types, lineno); >> --- a/opcodes/i386-opc.h >> +++ b/opcodes/i386-opc.h >> @@ -929,6 +929,12 @@ typedef struct insn_template >> from all other values above. */ >> #define Opcode_VexW 0xf /* Operand order controlled by VEX.W. */ >> >> + /* how many operands */ >> + unsigned int operands:3; >> + >> + /* spare bits */ >> + unsigned int :4; >> + > > These fields need some comments to explain why they are done > this way. Would you mind explaining yourself a little further. "operands", after all, ... >> /* (Fake) base opcode value for pseudo prefixes. */ >> #define PSEUDO_PREFIX 0 >> >> @@ -952,9 +958,6 @@ typedef struct insn_template >> #define Prefix_REX 8 /* {rex} */ >> #define Prefix_NoOptimize 9 /* {nooptimize} */ >> >> - /* how many operands */ >> - unsigned int operands:3; >> - ... has been exactly the same way before, just in a different position. IOW I guess I don't really understand what exactly you want to see described in the comment(s) (which includes it not being clear to me whether you want each field's comment extended, just one of them, or a wider comment on the overall bitfield uses here). Jan