From patchwork Mon Nov 28 11:32:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 26643 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp5594581wrr; Mon, 28 Nov 2022 03:33:36 -0800 (PST) X-Google-Smtp-Source: AA0mqf67qd0PgbtBHquAZjLQ6OWXRfXFMCerSfKRRbC+vZWzcqhYuT9HwTpZphXQ1Z0d6wy/RdZJ X-Received: by 2002:a17:907:8c05:b0:7c0:7fd8:12b4 with SMTP id ta5-20020a1709078c0500b007c07fd812b4mr258568ejc.21.1669635216752; Mon, 28 Nov 2022 03:33:36 -0800 (PST) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id g8-20020a056402090800b0046900e66a54si10589254edz.517.2022.11.28.03.33.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Nov 2022 03:33:36 -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=VZiJ70S5; 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 938F1384F49D for ; Mon, 28 Nov 2022 11:32:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 938F1384F49D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669635176; bh=ZsS7OMeHZbvAaTXJ9Kny+vAgJesL+ZJ8B8dkyw+IQY0=; 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=VZiJ70S5UQrV5yUj3mGTbiR7Flbqu73zsIHeoqYXU2mhqqelE8y63aIrmw3eWpIFw oSGUAMW/NRDIfzzZgQnzMicpLHQc/H+JcVT+/yzIx/xv4qfji+BDU+md/txRF0xTpq JIKgDwK9QV2U7zULSz7fqf5UbNzG70osKVohfmts= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2055.outbound.protection.outlook.com [40.107.241.55]) by sourceware.org (Postfix) with ESMTPS id 436F23852201 for ; Mon, 28 Nov 2022 11:32:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 436F23852201 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A6pMCNDEEhBaB7dKco5X0kz8wKzgDpimaMUVv3w4e6wdCeUNt7zGOYYMWjYv9eu4petibKJq7uczVk04u4XUSvCSc5ymIISEmjSom56X7OO6DeEMcvhBgo+ZAymden4AeNh8h9vuVJ8F0J47uMrvapoqDELfMkDX2YTVnLloKYAPvoIivAhcGOKFBjXjAVQbe2IMF/JxJKg1GpJsW5AyGlKObfB6q+oVbl3UEDtWAFvRIAfHDE9kUW/TAR6mjHolWO8H+xDz0rRdMvKXhE+OjE3DMyZWMQGs7/j3w5q9O0wOhhjdVOX3InNpzzwrG7COy+KhT4yYS0Bp80CnTW8UVg== 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=ZsS7OMeHZbvAaTXJ9Kny+vAgJesL+ZJ8B8dkyw+IQY0=; b=GW90bUZL7oC4hZVTcM+CV11zYrveP4bMeySqYdBKX4y/FD6bS5QEVlNxbesmAlv66SvJr8IDBZdgck7ScaHaaCQwcvIrtKys0/xB9zsKw8FA473JAAfdDE9Y7sy4Vw0ZYo8K9og2LZBvFlKzTuPkosLFHDDjodK3Iv9tugzrRWNylF6zfmHTonPglb1Nv8Wb3ppDalElePsF4UuoH+aj9M7qauQMD7AdecAD7KLehQcV+0ID4L/ZlRoCrtDZLZ68lje+xpcJSCHdyoLSyJvwQn11hK2OeClIcf/6dOTIswXQ3jYmoyo2Q+55cIyAzdUAV3aQM6uwvh/HCrwAZUww1g== 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 AM0PR04MB6929.eurprd04.prod.outlook.com (2603:10a6:208:181::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.19; Mon, 28 Nov 2022 11:32:41 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Mon, 28 Nov 2022 11:32:41 +0000 Message-ID: <414cbe39-9398-ddab-97f2-93d6c0bf9852@suse.com> Date: Mon, 28 Nov 2022 12:32:40 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: [PATCH v3 5/6] x86: drop sentinel from i386_optab[] Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: <8f385c36-cfe5-1b0a-45b6-ea6c008b20c8@suse.com> In-Reply-To: <8f385c36-cfe5-1b0a-45b6-ea6c008b20c8@suse.com> X-ClientProxiedBy: FR2P281CA0137.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9e::12) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB6929:EE_ X-MS-Office365-Filtering-Correlation-Id: d3d101dd-f675-4d2e-b551-08dad13442ab X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oaWbkOp8oX3ADUqOg2t7Z8LxO+B+yk7r6a+oA+i/byyEMZH9hMlbBV97CCtWmCi/1WwUbwwZWUEdDMGnRT0HjWC+iq1328gRAFa1AgBaE+cr1WiW5N9TJUIV079GOD3PZMwIfrGq9BPNknxuOMVhzoOMUAdmdJV6ivU3DU8/ivfB3LTH8qnqtC0MF+/KmtGDrdSByi+Rayj6H4cXFdrcwSLgr8GwphMvwaxT0GnqwvNg7XygngzpLbrtNdIuTLDxOej6E53arZQQovVUCgWFVRNesY9gyLZh33hg/UEIwKLLoGkx7+1ZpdC4QgqUi3P/cwzVEJ4v1gcZZEvyAXkxXV9GJJtLXMdKNOA5j8oTBdtJgX7j5dcySNlYyEgRZVkWhGXHfE0G9neT4+CnmrKoXeDR7FCN+8ZHtOlry6DOdK5GdAuYNWufmC5MCZVakL2NwzgLvAK3K6Yx9NLQ4EuHAUKDD9u0cn7BpNaySm555IziDtVrvWvv7K+cypulAzHsrgg51GWgaOa59L98K09wsTwkUL5M5gQ0RzJ7wyLMjRSFpCk5CWt0Ss0IFWAlxuvXjdumsTPDjE7pTYeKmQIhoOXaaNDeDK7nUuRSW4hDdTZToNEeSXBHOQdfHZMHSVHaOvxgwK2CccZY8oO/ZMOdnimhKENw2bXq8Swdp+wMMVbaOsBI8Evf1ujkafEwW/U2bJHpmuTeCUHDykuFqYkOH1LXVTdBbr2W2DRDDfeSMBk= 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)(366004)(396003)(136003)(376002)(346002)(39860400002)(451199015)(2616005)(31686004)(2906002)(83380400001)(6512007)(6506007)(38100700002)(66946007)(66476007)(41300700001)(66556008)(8676002)(6486002)(36756003)(26005)(478600001)(186003)(5660300002)(8936002)(4326008)(86362001)(31696002)(316002)(6916009)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?AfELcsf7ZR8cEA3rEMpys/ouewEo?= =?utf-8?q?8vnKB0BxpA3cOU8FnqGM568f8J3zDsCryKx7sAy25oVJ1u3oDCCZD2CWwzspyFZ0i?= =?utf-8?q?YQFtVkVrGgKD5h3mFFGMe6mLst/FW7W/E/Dvu1lkLzY53Qct0Nl/JwB93s8lKctoy?= =?utf-8?q?il9ceZ9f/geXQoVx5t1ZwdNXmRx2eBfINqVByGxiVK3OHX3RBKDjrc/goGaqXx9Da?= =?utf-8?q?48l4iJYiyEDRX+6boHG/FzGDAKWfqc0QQLMnf1W5NK4mF+PzdGtkjIrClFCJ2sX0h?= =?utf-8?q?GphvcmYrO66p4g9+0z6Jjszw30i2UZfguWqKHSfU9R3d7keTE49mCa3VW4GHXF0BK?= =?utf-8?q?pLRkd3SH9aV+ru5UctT1Vz0t4mR7376FlSk3EU9H+u/KSttrUGaoxPSLsdjo3b7Ux?= =?utf-8?q?0qOpArEsE5vJfYANM63Qe3eubZMbuArtpd9cIr9wKmsKtH6CsyEXwzsn6qxK3nbAu?= =?utf-8?q?p5QzIFexmy2x4NTvnJUF/aWeUECLD3Cmsa+ZLSDlz0gyKnvxStg1VNahHIjA/NtPw?= =?utf-8?q?hSYAwTLDQnX+dZUlNHOZALfnpQr6wlVBKFgClMGtKrfWdVIVeLg6pAWfdIA+BwL7C?= =?utf-8?q?r+V9PXOip0c0BfNmDPlnFFrCQm2T6q/7jHZimii9m9nco0sLgvfZ2rk5B1gVwou6M?= =?utf-8?q?Sxk2Qdmm/KV8JWjZdV4LKM1vCQWdc70h9sTL4LPbWB2nLdPoRWkEseF0X/rvS/wpe?= =?utf-8?q?8MEPJoBAX0lYju0nKv3aSn14/KtgLCC8jP/tfVtPba5gHRhXIokFIX9qhWPGpUaKK?= =?utf-8?q?Z5JuG4YGdhjuHCO08gZSIZy3hBUwWeuSE/yCq2Vwc/qW+Ufp8oUldnWimznXG3fF4?= =?utf-8?q?T1IXINBagu6LiznLf64t5R3JxZZnZJMlDzHdnNyoM2WbjZER3Clq7GQELcTiM6rJI?= =?utf-8?q?Gf3qzcMje6002Tyx4cjMK4Rh7bSlfinSNKmFTBuFY1cHUpXaEBJbFEfUVaxEj20KU?= =?utf-8?q?Lm8RiMFwItORfK024icxZzrP9dc3qmxYQHrHwXfODg8hbHPUxdpvQtTWvtKnOG6Bh?= =?utf-8?q?6Jr5Pj5r3LrIDV/fPu9NVb1tZ/nYRF7uu2jw5ZzGJTKknempzZ8ldJJi4MrEjoHqI?= =?utf-8?q?zqFTDKH5NdJOnCv3fmIKXlQmWo9sRMAgRHCGHS86bb3+o3AEoR0iV/ty5UALjwXuo?= =?utf-8?q?fhN80rM7+tvZQDR4gzvpNxbX3ceWxRJk+yfF6orECgo/ww6Tzn2z87E8OFzCewt70?= =?utf-8?q?MvSCaH5wwL8Af4p9RKb5Fu9i6zOad3bHkD2AvtmxJzANBdQnsLyum6c2elKkNrKjY?= =?utf-8?q?0IiroNF0kXFNFMfO7bxTFCr4llI9PO+SQYpsV1I2QF7//G4d7lrLf2eDktkj2qHAN?= =?utf-8?q?vTURIbpwu5E39ulk+Wtw7FLjtO/z0j8d0qDYp6K+BZW6BgnZzEhv8bVScC1nDVfgP?= =?utf-8?q?8afebLSe2VXNlO6f440p5rIPyYg4gCtBBKPMQPp57xqcD+Q1nCgSatN0bJOFjdng4?= =?utf-8?q?3M6ZUYXBKUn/qhZI6OyYajOEPM2/4fMFkMv93ki64crJS2rXnOfYA73cgGL1Sgpel?= =?utf-8?q?C/SxyFHP6DBo?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d3d101dd-f675-4d2e-b551-08dad13442ab X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2022 11:32:41.4337 (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: jydVD1nJ5tLU5GbSwH0D05kk4lytm9/Byft0WhgAylAS8k2QLAXm1lumJphVxSrthMuQacD5iea6MzerCXyToA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6929 X-Spam-Status: No, score=-3029.1 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?1750739416666399636?= X-GMAIL-MSGID: =?utf-8?q?1750739416666399636?= Now that the table is local to gas, ARRAY_SIZE() can be used to determine the end of the table. Re-arrange the processing loop in md_begin() accordingly, at the same time folding the two calls to notes_alloc() into just one. --- v2: New. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -2977,31 +2977,20 @@ md_begin (void) op_hash = str_htab_create (); { - const insn_template *optab; - templates *core_optab; + const insn_template *optab = i386_optab; + const insn_template *end = optab + ARRAY_SIZE (i386_optab); - /* Setup for loop. */ - optab = i386_optab; - core_optab = notes_alloc (sizeof (*core_optab)); - core_optab->start = optab; - - while (1) + while (optab < end) { - ++optab; - if (optab->name == NULL - || strcmp (optab->name, (optab - 1)->name) != 0) - { - /* different name --> ship out current template list; - add to hash table; & begin anew. */ - core_optab->end = optab; - if (str_hash_insert (op_hash, (optab - 1)->name, core_optab, 0)) - as_fatal (_("duplicate %s"), (optab - 1)->name); + templates *core_optab = notes_alloc (sizeof (*core_optab)); - if (optab->name == NULL) - break; - core_optab = notes_alloc (sizeof (*core_optab)); - core_optab->start = optab; - } + core_optab->start = optab; + while (++optab < end) + if (strcmp (optab->name, optab[-1].name) != 0) + break; + core_optab->end = optab; + if (str_hash_insert (op_hash, optab[-1].name, core_optab, 0)) + as_fatal (_("duplicate %s"), optab[-1].name); } } --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -1915,16 +1915,6 @@ process_i386_opcodes (FILE *table) fclose (fp); - fprintf (table, " { NULL, 0, 0, 0,\n"); - - process_i386_opcode_modifier (table, "0", 0, 0, NULL, -1); - - process_i386_cpu_flag (table, "0", 0, ",", " ", -1); - - fprintf (table, " { "); - process_i386_operand_type (table, "0", stage_opcodes, "\t ", -1); - fprintf (table, " } }\n"); - fprintf (table, "};\n"); }