From patchwork Fri Jan 13 11:10:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 43171 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp207914wrt; Fri, 13 Jan 2023 03:10:18 -0800 (PST) X-Google-Smtp-Source: AMrXdXscdQR1KnHhZVoXYuTSUq7/DrgOQtXtOvkTOxCXY4CwPrRKDJKtiZsXLWSx4BX/JVnmmLp1 X-Received: by 2002:a17:907:d389:b0:7c1:5a37:825 with SMTP id vh9-20020a170907d38900b007c15a370825mr85902636ejc.34.1673608218602; Fri, 13 Jan 2023 03:10:18 -0800 (PST) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id nc13-20020a1709071c0d00b0084d3d661a08si18403017ejc.24.2023.01.13.03.10.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Jan 2023 03:10:18 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=aTlHPB1k; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 509713858D32 for ; Fri, 13 Jan 2023 11:10:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 509713858D32 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1673608217; bh=PXnf2djAjLvKgaog5nMKg4ACY+JigTxcbhdyRb3VH+A=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=aTlHPB1kyQpROoz8MRyg4fKQpvF9FeU/3N4nkjYvbDpg0gjiYU0nlObCmM4ooX0cY 2xN7c/3oPsGCwPMeZHyfCfpEgVumRqSgJJtQg5ihhdfzq7N2cqVaCU/rSLqOum93Xe 45Q+FgVcZo72ixzw7YyLh1vovrf6DkNBYtdKy8dw= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2086.outbound.protection.outlook.com [40.107.22.86]) by sourceware.org (Postfix) with ESMTPS id 143903858D32 for ; Fri, 13 Jan 2023 11:10:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 143903858D32 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fMinOrtePyjh1vCGAfOV4CFdWB1Yd5Ujkzb+ylqto33jmNO8j1/mKogJpsljQVyhez8lS++mHLb8Bd1P3VrJqvNMlQ8vK/DFJJF6fZmWF10+LI7cAvI1SNyu/6cpKLDb+hMDpomLwM2ct/5/cclsFiZqnC0kvEHHKZtmoF5K44XnwnkjYJ0K7BRDOzB8tCeTGqq2zApBOptjqkFIJxED2DM/jbXFyCfXMGkzpr4t2EdBwzhtxKQHXOfmMUzdTC2k7YMRsH4aG8yp9EpIc91pcLQ1N/SRW6Zmprj1hGYDIEif3mD16zPV9ibjPs0T5up/NzQdSbqbuNLX3+XUyp6m2A== 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=PXnf2djAjLvKgaog5nMKg4ACY+JigTxcbhdyRb3VH+A=; b=i3/XVms+lJoXx7XAD5FhJZhCMM1dgF1K8IiuDqGojCNNMmWOzH50CN/Ip4GQEjunWdtfxqOkywsnLbw9WhqScAq31pP9uB9cLecnE19vIN+KLM/kxNV7ueasg6j2Af9nMVFUdiLJWAQ8Q//zF8Hue2jWXQRM/T68KvImiItyFG6WsUl7ujxZbmZW4EiwMJNubXeSp648TOUBhPa9Et81WtpxfJQBgyjh546cQHV/sPg2s9ulyy5Zc57MYxnZvhYn0SqOiArHCHy9khzVFmdDz3dT351azqj1AQsAJ+FVx39zyI1RLe6lK2xBYrqeVZt7dbJq+pDKjUHrPqiXgfL/Ig== 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 AS8PR04MB8401.eurprd04.prod.outlook.com (2603:10a6:20b:3f3::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.13; Fri, 13 Jan 2023 11:10:05 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389%7]) with mapi id 15.20.6002.012; Fri, 13 Jan 2023 11:10:05 +0000 Message-ID: <1c763a63-05e0-33e8-c9c4-48a26cbc5db7@suse.com> Date: Fri, 13 Jan 2023 12:10:03 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH 6/8] x86: embed register names in reg_entry Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR0P281CA0110.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a8::6) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8401:EE_ X-MS-Office365-Filtering-Correlation-Id: 269d3250-ab2e-4d63-e7b2-08daf556b990 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: yJ4I3T1V3heLkJCRp6Bo4UyzGZmAogJc7cGiMFF/RPPnHLHurDYzOmvUlzdyXbTt+y/lTgyAd+HxvveN0DUJ35bk0Zp1H+0dzvHOmnI7g8rlHIhYr26LrqOf96O3GVluOGipAThNqzUIRprT2eaW78n2u1icfYgy95JO0/3I0qYwROJjOg+KmCizWd5puNJAi6w/3rbeRa4e29/X9rvWct/rDLXxy9Gqj+fw1qEx/xGwtpwMs7bWx6d13SZFGSgSxVxd6BiDZuE8HglGwph+Zbd7zuu5DEhGzN1qkvJ7JK3hC5mL9OogTVK9BY0tI5hzSY+eDkNi8SetDZgcqWK9z46KP7R5GNe0wChYfx1TGGig0UJk1B8LW4yaoFeb7bypHyB2Z0bZylKjY2+iCyIQPEZGH5tNMwHVKoi5Db7VlKGfhPu1hkqUENUWV85cTV4cE/kUgn9r5h/utaHJo9IGNySqNiwB++npFQnSWI2tvWyvkeXU7wo+3rdXaBo7KXzYWB5KQRhWrzs+ayZC32INvGia7mQSptI6JUFENTzWlN9bwYWvIgux8Ruqk2pdrSSVh7653bHZx2kYgmnhBQlSKoiIiPBJ4lTxKLnql2rLCXptSzbZtzHXIh7nVIS7Fx3kC5Tk3ibqNJtqJmP4bkn24a/emnjvdxLria0k/B1vsJhkDzbnfwlzEmjmWcJD4PJS+W5A1uo97DJt04jkdAc79/LTp+Deu/2F5X8lb3SacSU= 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)(136003)(39860400002)(346002)(366004)(396003)(376002)(451199015)(6486002)(86362001)(36756003)(478600001)(31696002)(6506007)(2616005)(26005)(38100700002)(6512007)(186003)(4744005)(316002)(66946007)(66476007)(66556008)(8676002)(31686004)(6916009)(4326008)(5660300002)(2906002)(8936002)(41300700001)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?ZVbmm8fkAyxcoRUqesvyF/Jy85Nx?= =?utf-8?q?SwlqPUB9DKclITJ3ecRICnSVkPItEAdTt3O7Cs4dia/G4MlRkUoy1nC7D88d4ShG3?= =?utf-8?q?xzeaf96fURaubD5ioJv/cHux8vuiDZBb+n9L9S1F4ShBrVN4RRA6Iu1vy6UX0IpKw?= =?utf-8?q?2IhvJHjbCoogmJzCqJNw7K+6urH5PSWQaur5uKv1EnGA1V9yk5nmGT26PWawZZUga?= =?utf-8?q?U6UzZT/Z6Lz1bAAJwh3aOY25c0TX+riKaI1IDxAJzb2FhdjDw+5EASnghRZQsfFrV?= =?utf-8?q?P3h30OWqmypQYVg9TCe9iByDnL0ebGlEpn6TRqYOUsKKJCAGQgIXp4WQPiYpmw6Fy?= =?utf-8?q?MW32SL8gzZcQCLSCg+QhwXvprenz6ZgXqAs380/I8dWfaL/LPmMfe9cB0OgEgkVrP?= =?utf-8?q?GHHXHJvZANhzFA5E+4GcaZ9PKDunCbZgdTLhgW9TkT5g8BBk7Z5slx+7ATbSmpWUA?= =?utf-8?q?LbajvpfUa0ReixlIrYAU1oNdBJwcxKIITp7qQUxf+DlnnzeFJf8pJsIr9IhUN5FxC?= =?utf-8?q?VePy9SMzizvxo8e0j9AmXu10frz/By5Rk+tpbNp876WCF3qC7dQUG1grufjeNKo8U?= =?utf-8?q?LYqT5KmmACIWNW/3bAgiCZ3clhNb0aVqENQng7ogT0RuAfyqAslXDW5TT+Zn4UWhQ?= =?utf-8?q?LtEPRoLN19RQtlQwK+V/5/lB4nQ8O+44LTg+7nmLZm4Ue70+8pl+kyo/duYJ+Ig4P?= =?utf-8?q?PFr9Vu6/AANE/WyCT3/Mkll1g9SdCNQwPG7nK/4F2RjtBsH18m+kaUmuqHUWVO5mQ?= =?utf-8?q?fhQ8o5+ifuhNq/ftquh1beXnejX7rQMulfYHW14WuHI/IoogIofSmpKidAXBHwwxx?= =?utf-8?q?wq3q0OSmy06+AB8vJuTGsxM8ZpUH9pBHO/ODoF9RSC4YsgX1ozf/DWJfGGVKfhhI0?= =?utf-8?q?jAwxzP+Qf1TKaqgFO8ncj+y9XzTaAdLEU7Pq3RdMoosLylBg0pRkixgRvq1pnydMP?= =?utf-8?q?Jui6r83XJnSDnu3fd+odacb/4ByHpVjkA7Y+aT7HJ+Pc60IRFPc3YCGbotnoopx9q?= =?utf-8?q?AFMwNX0n2UOT6m+uXWEYt5eXbK3fNo6VSzEca58zLekMzKx4ZHDn3AmdFJLDbh+Qi?= =?utf-8?q?QLFeB7+o1MwYXwH77NTKseBgl9/qbiBX9PrmIlrLSbFkmIgxPbYueZSFIMWYoigGU?= =?utf-8?q?oPjyijDXgE99x7aco4Z/bPWCzxCk/oczaYXsYNpYt66zgQfFmHKyh9qYWy99PfSaL?= =?utf-8?q?uuBVYmE0L63aWO/V1cLIXF39/dJVvpj5p/ddm+arYsduxBbUYsg6TRSRfPVE7r2EI?= =?utf-8?q?upIakFvLQGT6dX0Q6Hgxr9dx6ASG66oT28/H8Yly/sxcI/zfyRIFlI+rKiFU8nE0D?= =?utf-8?q?+9P8QHBD6kORB6drv2Y8jnwewWnz6tcMGi6e07uz+gGWAUMM06wI0Y+vSI+63uKyK?= =?utf-8?q?++DCDr46F7ti0Ws6KMYDo1wVfnyMTOmoZcS1IIcu6stwNgWOJy7kZXBLGGx84cvxj?= =?utf-8?q?sEoOWPZ65nN0qiMD16pOv9TK6nM/mGR9cr8BtfwXRUyqh2cU9B2N6W3yAlI+VGAGl?= =?utf-8?q?RlzGWpaqE8GB?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 269d3250-ab2e-4d63-e7b2-08daf556b990 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2023 11:10:05.7339 (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: 9y2Hj/1oaqZa2e3pozYZ2TTfCvwEDbRNFOsXd55B/bZSUPjNXJYd158xVmoyDPHkUSqaxm9pad8O8Yagy7WEag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8401 X-Spam-Status: No, score=-3028.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, 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 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-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754905411110286380?= X-GMAIL-MSGID: =?utf-8?q?1754905411110286380?= Register names are (including their nul terminators) on average almost 4 bytes long. Otoh no register name is longer than 7 bytes. Hence even for 32-bit builds using a pointer is only slightly more space efficient than embedding the strings. A level of indirection can be also avoided by embedding the names as an array of 8 characters directly in the struct, and the number of base relocations in PIE builds of gas goes down as well. --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -987,7 +987,7 @@ insn_template; /* these are for register name --> number & type hash lookup */ typedef struct { - const char *reg_name; + char reg_name[8]; i386_operand_type reg_type; unsigned char reg_flags; #define RegRex 0x1 /* Extended register. */