From patchwork Thu Nov 24 08:57:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 25382 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3273263wrr; Thu, 24 Nov 2022 00:57:40 -0800 (PST) X-Google-Smtp-Source: AA0mqf5VS9G/SpFgU9GqqM/gEpBESrTiCssdWmOxlY+76ugBscV19QYCxsiXSC2S1mIzSs4Kd+Kz X-Received: by 2002:aa7:c587:0:b0:469:3d58:20a5 with SMTP id g7-20020aa7c587000000b004693d5820a5mr13683620edq.136.1669280260415; Thu, 24 Nov 2022 00:57:40 -0800 (PST) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id sh39-20020a1709076ea700b0078ae5192906si415838ejc.193.2022.11.24.00.57.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Nov 2022 00:57:40 -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="u2E/G7xu"; 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 1C45F38432D1 for ; Thu, 24 Nov 2022 08:57:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1C45F38432D1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669280259; bh=son0fC0qcn+0eG+Bq8VSCYNpcDxbBCMYGwtkd7eUTN0=; 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=u2E/G7xubR7nMJOBgUcSpoe0IiQNxlloRnMKGhqL3RSwFyiHYYNpIdgEX17fbD3Zi imHsFqTcyUR8ljUfzL1wMBEwempXZGHe0wDtachVsPsYXvCEdmglDhq0DMGOR96VTP XQqeo2e76EizMcLTpt2ZPMVZzFHITskvNBCHB45c= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2089.outbound.protection.outlook.com [40.107.21.89]) by sourceware.org (Postfix) with ESMTPS id 6EB7C38432F0 for ; Thu, 24 Nov 2022 08:57:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6EB7C38432F0 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RaV7L4ixIHJbK1/JA+U95kPzTB3nTyf6Imm36zYhbUFp33f2d/X8viZ7yjn430uq7q+boxIX6R+dBKpPC+x3jjn3Uzf8Jd7x342wcZqB94JW9zLoQWveR6g42YsC6nVZddUbrdZFMgGGNybQa6O2qsc8whmajBEfQgtLHGORBiq1fY10Bf1vVpPn0Pxbng9x+rfZdkVB/uZf9nr58kKQjaf5dbZnGeOGHDfpDtvAJy8a0KoRZWKBHG8ft0GlxJi91911df3Q0NfmRO3GS2lpEb0b7t9OKaiUWTBuBJpMntva3NZDI8M9QM1QHAMMS+c+uYx25PgME7B04hMLZ/qiIg== 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=son0fC0qcn+0eG+Bq8VSCYNpcDxbBCMYGwtkd7eUTN0=; b=bYual17/PxGppqTx/MwF8+vftka9U68LtqBM0KVdGk76zrp91dIxvsOMM4djQhj16O77HeWJQrjxHQDyjIS3RlvnLEg78sv14Jz6gK5ULDuMIWoWinL+oHX1YHGv40sNTcSyO/0iyphRbAfECFWk0dQ6CruPYpL9iRqsU83DHFzWEkm2Xv/cxXyJIkg9EymAWdnCliEeN/iwkXzCG8JU2f0f2VE0XlvCRpwG9u+Rm6SKbxM0WLxKPxbMRhyCSD0QCTGkFLfnpQsVC2mSjd715DNZEWTlFhznQJ2KNJNTUtgaMQBCVRKifrf7f/3Dwc01M6Vh0UCaj6nJs6V6vYuUpw== 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 DB9PR04MB9474.eurprd04.prod.outlook.com (2603:10a6:10:368::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.15; Thu, 24 Nov 2022 08:57:25 +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.019; Thu, 24 Nov 2022 08:57:25 +0000 Message-ID: Date: Thu, 24 Nov 2022 09:57:24 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: [PATCH 1/3] x86: extend FPU test coverage for AT&T / Intel mnemonic differences Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR3P281CA0191.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a4::9) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9474:EE_ X-MS-Office365-Filtering-Correlation-Id: d4e713cb-d99b-4a9b-430c-08dacdf9e7fb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AC4UIBf9cNOXyppDFSkARITQO6Xt/q7rnyI5ceruZG28EPBd97XFYoa6sW+5eAXeet5CxIJOMRWdOBg7qU5hsLlOsyKth8Ce2nfehaCD6GWBN5nHguVfIykZ68mpjDFt6Y9OYXx6LjHJW3qfUKnhh/e9sHTF9I51Ai+lCtmP9dRqSbgPZc1id/OfeSxcJS6agIJqaK5TiFNEMdpJWlUUrDeXGXMIqc11hcqcKwuQi+VNDfHHZx+VMf35wXBujrijMIh3Qj6NoC13qi+3r9c00CTyBdxgruqVLLWLaWPx1tuJLy3XbxfoOGruzLa+WgxNX5zaw7onAAYkj2PMJBBPoh42zyp4S0mXB4BvaJyFGGEULUBuiPTFCgWmV7KrE1EnwnKhMpkDBH/7ShuLQC+g538llx42TxGOySYggs/b8pbQv1hw5z01eF8WBoEJzCoR3xi5KddHoT0YVPxYIpWIc/MwgFqv4txp5dGk1uZ6GSddM5Gf9v7a4/aOfaEIuqXBlJAQ3Yc9qsDHSzOJq8ik7RfW6+8Lu0dgRsNzTD0lDFHbGpf5GGa2yjWHbYg+GWU5W3EVuRReQKSf+GFGhwXfO0ENVeiXPToPJTBuoFFtNlwladixIp/5ajfQip88Q5OGzwMtiyuqrHYfFvTxWqs+JgHTH/75yfqr/r2OyTQt8cKWNoM090i/jOPwQyIDjer2ktXjc8j0Hc7bSxSd2LFQcBeRK5IRr0+eDx6Gd2kzzy8= 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)(376002)(346002)(136003)(396003)(39860400002)(366004)(451199015)(66946007)(66556008)(66476007)(6512007)(186003)(6916009)(2616005)(26005)(2906002)(6506007)(316002)(6486002)(478600001)(86362001)(31696002)(41300700001)(38100700002)(36756003)(5660300002)(31686004)(8936002)(8676002)(83380400001)(4326008)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?caayE6doRRka/V6Dmv51JBlbT4oc?= =?utf-8?q?0rQJz+g2l3rzG9eSQXsrSxcJ/2PH1fDeg1gIp0sXmNldbFo8WqLYMADKf6lQKSO5r?= =?utf-8?q?Xxm3SWWOWmL5KfagBZ24cZGpGB1Xmu5+ZKb1Ui0ux1s92/tOuR18z9PWZYY2L8+bf?= =?utf-8?q?cXMYBMx8tuDs7k3xco0BH2Qe3HpKAPJ4VdPE6kV39MsDCWH2Lu7ZQaXP+IrBcOZV1?= =?utf-8?q?YOEXGNCe9M8CJA+IdeERJFNCtlCOOmfv7wHEMTziADRCUI6sQSMTzETHfo2rHzwqn?= =?utf-8?q?Fg9mMoO3lgoD5lAUzBZ7SKEzaSOITRQMgONxxmtREtYT0/SSdtaqPkyQtw93nmTjz?= =?utf-8?q?ZlY+qSOIqFMcAcFIClwzEO00e1U4HJc1w9yw09EDR+LekHPK2K4nWn8L0EMXjHMMn?= =?utf-8?q?rKMTH8NAuzidFm9apyx1cU2hk/voLnfmMPdKH5xDlAEhCoWv8IDcAeZ1MLMtCRuS8?= =?utf-8?q?oydFf9G6ah8wFk2avNXRbbARZGmmkD2iglAJmyMOHW/tsuikXT+vWGDk43m6G/AkD?= =?utf-8?q?v1PP4h7qiSAYT15Swuz4o/IsQlqyO5qiVUM4hLPf6sCdDQj2g2l7Z0M1FYPlY0aqF?= =?utf-8?q?haRsYCC2U4atpHYrSgsABzXskaXRxwH1AaXFDjY35y37AtPZ00Yo0oGbW0+QTPKve?= =?utf-8?q?hDEKJrS2ZEUBzwKussgz3/ix0YqTPqIQVGaboFomWACh8oZZhMkb7EFaJeOUcrK8n?= =?utf-8?q?fMb3PlCrINUn1xCOkpt4Ooq43LIvtCnsdL1CzdqQQNMpJ4SzJmNRwViwu5hmHrNe7?= =?utf-8?q?EHfg28D6Uc//lhwoXR6wXoUvKVxN6QRg62xAhABD37q3eJTx8wKQq5bBU+DDlHudG?= =?utf-8?q?pDKS/JQlFW4ss7Ic0CJNDKW5CncHtg7U12/Oyk3EHjUF0hd1vncF3puD+rOxVgTn5?= =?utf-8?q?ZSELpZDE3SeJP0CUF1YGH3gWfjUAr1Ekv3bUIWHknzLerJYNnaJ6GH39qOuuO+vBa?= =?utf-8?q?vaj5g0WBwHnDzEe/57jJbMa+axJBb/pG4Ij+J3IP32R0a7oTPG8O0OufNaPJIDUR9?= =?utf-8?q?oMqPDcZTK52LPfyxOznPX5EhyycBveCAkTW5XljNmxp44I5MHjY64CZ/NNfkeJgq0?= =?utf-8?q?jMJ6CVFt4cZRMkvukyDs0enaPvUKWb/OZXtfOtTUVb23uhGVl4oGYTqTRSrm9WKNJ?= =?utf-8?q?YVXtyof/Gj2+kawcbFLCqtXEePMR7yvlvkAgwdw+RmvmMimowKzuqe3ICew5ouXTf?= =?utf-8?q?lg15ORMp+dIZrPpjruJ18jj3bOjM3W8m0btH0AqUpTXfpiH8l5jS7zVuwQw282smf?= =?utf-8?q?A2WoDozz1AQt7XtnPMgmQuTNgLdHgTVAa0JC2+KMVX3+yxY5R0P9nx163rd/EbW5a?= =?utf-8?q?ev1LHyc4vdW1VKUMVL37yzCjw8SMUZUYqQc2GozcLFigwPJXrCbBQasKV9MlqQ4pe?= =?utf-8?q?1RzWJ4PeIcsbg5/qfUBTQxZsapcTvuVf3suL7h1aEO6G8AGk1rzJQaBa7bQK0vqcO?= =?utf-8?q?v5fX2lAfagztqnHlb+dYEoEKGRt3r2Z4VZt542skgRBXRzNgb2ujivlVAhcrsOXlD?= =?utf-8?q?79vZuEA558tM?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d4e713cb-d99b-4a9b-430c-08dacdf9e7fb X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2022 08:57:25.0150 (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: HXshPParfYKq4nwqUpWbBqbCHw3bhLG7Qq9+ttaW8gDi568bkmuleucLHoZHTKZCBxwe5TjqJQNRekwn7Ystww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9474 X-Spam-Status: No, score=-3029.2 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?1750367218274159983?= X-GMAIL-MSGID: =?utf-8?q?1750367218274159983?= Before touching the templates, let's ensure we actually cover things: For one FSUB{,R} and FDIV{,R} would better be tested with operands in both possible orders. And then -mmnemonic=intel wasn't tested at all. --- a/gas/testsuite/gas/i386/compat.d +++ b/gas/testsuite/gas/i386/compat.d @@ -8,18 +8,22 @@ Disassembly of section .text: 0+ <.text>: [ ]*[a-f0-9]+: dc e3 fsub %st,%st\(3\) +[ ]*[a-f0-9]+: d8 e3 fsub %st\(3\),%st [ ]*[a-f0-9]+: de e1 fsubp %st,%st\(1\) [ ]*[a-f0-9]+: de e3 fsubp %st,%st\(3\) [ ]*[a-f0-9]+: de e3 fsubp %st,%st\(3\) [ ]*[a-f0-9]+: dc eb fsubr %st,%st\(3\) +[ ]*[a-f0-9]+: d8 eb fsubr %st\(3\),%st [ ]*[a-f0-9]+: de e9 fsubrp %st,%st\(1\) [ ]*[a-f0-9]+: de eb fsubrp %st,%st\(3\) [ ]*[a-f0-9]+: de eb fsubrp %st,%st\(3\) [ ]*[a-f0-9]+: dc f3 fdiv %st,%st\(3\) +[ ]*[a-f0-9]+: d8 f3 fdiv %st\(3\),%st [ ]*[a-f0-9]+: de f1 fdivp %st,%st\(1\) [ ]*[a-f0-9]+: de f3 fdivp %st,%st\(3\) [ ]*[a-f0-9]+: de f3 fdivp %st,%st\(3\) [ ]*[a-f0-9]+: dc fb fdivr %st,%st\(3\) +[ ]*[a-f0-9]+: d8 fb fdivr %st\(3\),%st [ ]*[a-f0-9]+: de f9 fdivrp %st,%st\(1\) [ ]*[a-f0-9]+: de fb fdivrp %st,%st\(3\) [ ]*[a-f0-9]+: de fb fdivrp %st,%st\(3\) --- a/gas/testsuite/gas/i386/compat.s +++ b/gas/testsuite/gas/i386/compat.s @@ -1,18 +1,22 @@ # Check SYSV mnemonic instructions. .text fsub %st,%st(3) + fsub %st(3),%st fsubp fsubp %st(3) fsubp %st,%st(3) fsubr %st,%st(3) + fsubr %st(3),%st fsubrp fsubrp %st(3) fsubrp %st,%st(3) fdiv %st,%st(3) + fdiv %st(3),%st fdivp fdivp %st(3) fdivp %st,%st(3) fdivr %st,%st(3) + fdivr %st(3),%st fdivrp fdivrp %st(3) fdivrp %st,%st(3) --- a/gas/testsuite/gas/i386/compat-intel.d +++ b/gas/testsuite/gas/i386/compat-intel.d @@ -9,18 +9,22 @@ Disassembly of section .text: 0+ <.text>: [ ]*[a-f0-9]+: dc e3 fsubr st\(3\),st +[ ]*[a-f0-9]+: d8 e3 fsub st,st\(3\) [ ]*[a-f0-9]+: de e1 fsubrp st\(1\),st [ ]*[a-f0-9]+: de e3 fsubrp st\(3\),st [ ]*[a-f0-9]+: de e3 fsubrp st\(3\),st [ ]*[a-f0-9]+: dc eb fsub st\(3\),st +[ ]*[a-f0-9]+: d8 eb fsubr st,st\(3\) [ ]*[a-f0-9]+: de e9 fsubp st\(1\),st [ ]*[a-f0-9]+: de eb fsubp st\(3\),st [ ]*[a-f0-9]+: de eb fsubp st\(3\),st [ ]*[a-f0-9]+: dc f3 fdivr st\(3\),st +[ ]*[a-f0-9]+: d8 f3 fdiv st,st\(3\) [ ]*[a-f0-9]+: de f1 fdivrp st\(1\),st [ ]*[a-f0-9]+: de f3 fdivrp st\(3\),st [ ]*[a-f0-9]+: de f3 fdivrp st\(3\),st [ ]*[a-f0-9]+: dc fb fdiv st\(3\),st +[ ]*[a-f0-9]+: d8 fb fdivr st,st\(3\) [ ]*[a-f0-9]+: de f9 fdivp st\(1\),st [ ]*[a-f0-9]+: de fb fdivp st\(3\),st [ ]*[a-f0-9]+: de fb fdivp st\(3\),st --- /dev/null +++ b/gas/testsuite/gas/i386/compat-intel2.d @@ -0,0 +1,31 @@ +#as: -mmnemonic=intel +#objdump: -d -Mintel-mnemonic +#name: i386 float Intel mnemonic (2) +#source: compat.s + +.*: +file format .* + +Disassembly of section .text: + +0+ <.text>: +[ ]*[a-f0-9]+: dc eb fsub st\(3\),st +[ ]*[a-f0-9]+: d8 e3 fsub st,st\(3\) +[ ]*[a-f0-9]+: de e9 fsubp st\(1\),st +[ ]*[a-f0-9]+: de eb fsubp st\(3\),st +[ ]*[a-f0-9]+: de eb fsubp st\(3\),st +[ ]*[a-f0-9]+: dc e3 fsubr st\(3\),st +[ ]*[a-f0-9]+: d8 eb fsubr st,st\(3\) +[ ]*[a-f0-9]+: de e1 fsubrp st\(1\),st +[ ]*[a-f0-9]+: de e3 fsubrp st\(3\),st +[ ]*[a-f0-9]+: de e3 fsubrp st\(3\),st +[ ]*[a-f0-9]+: dc fb fdiv st\(3\),st +[ ]*[a-f0-9]+: d8 f3 fdiv st,st\(3\) +[ ]*[a-f0-9]+: de f9 fdivp st\(1\),st +[ ]*[a-f0-9]+: de fb fdivp st\(3\),st +[ ]*[a-f0-9]+: de fb fdivp st\(3\),st +[ ]*[a-f0-9]+: dc f3 fdivr st\(3\),st +[ ]*[a-f0-9]+: d8 fb fdivr st,st\(3\) +[ ]*[a-f0-9]+: de f1 fdivrp st\(1\),st +[ ]*[a-f0-9]+: de f3 fdivrp st\(3\),st +[ ]*[a-f0-9]+: de f3 fdivrp st\(3\),st +#pass --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -178,6 +178,7 @@ if [gas_32_check] then { run_dump_test "i386-intel" run_dump_test "compat" run_dump_test "compat-intel" + run_dump_test "compat-intel2" run_dump_test "arch-1" run_dump_test "arch-2" run_dump_test "arch-3" From patchwork Thu Nov 24 08:57:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 25384 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3273435wrr; Thu, 24 Nov 2022 00:58:11 -0800 (PST) X-Google-Smtp-Source: AA0mqf5ccZwXTOrG7y/DZEhsk7bwo1yBFxh7pyy0dyYIhikM/LNimpIbk+liEESMUTMrTuw5pLWy X-Received: by 2002:a17:906:6c7:b0:78d:4061:5e1b with SMTP id v7-20020a17090606c700b0078d40615e1bmr18459701ejb.47.1669280291668; Thu, 24 Nov 2022 00:58:11 -0800 (PST) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id ss28-20020a170907c01c00b007b790c183e0si107462ejc.290.2022.11.24.00.58.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Nov 2022 00:58:11 -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=LyEBkSlS; 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 46C48386EC0C for ; Thu, 24 Nov 2022 08:58:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 46C48386EC0C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669280290; bh=Xc4TxvL3MO22+PnZX4XfJRTDyDEIblYNaBGlmc9vLPg=; 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=LyEBkSlSzJBWbwJY8Ro731KfxoQCb5a4VmcyhA2j8H+zbzGTVXmCc91KLClUQlMoQ AQDIMPlSgaLY9rW0DVKn3hlXOPEjKLNw7hPNLNRE6kDNIlqtEphGiye9xSmwK9Q8JO 8EpH1saASVMTGk0XIiR5lKU7vmvOmt89rH97FnGE= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80083.outbound.protection.outlook.com [40.107.8.83]) by sourceware.org (Postfix) with ESMTPS id 182BE38432DA for ; Thu, 24 Nov 2022 08:58:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 182BE38432DA ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oKIH7AFm5zgvmrB5ZhyIgCR/qeSg7U1mrLyfb/6fRJb2RvFS/GmRkaaz3yG3aK8C8D2qL05uCpa28OLOti3Ks5yjWodjoDC1TJ9fGGJljuMP/abpAq0XmuXd45IHWuE2QIQHfOxF6UHS1izJ5Pdsl9FpNjo+0VivQANWk6CkYl1gMdWgh9KpJQ9IwFLSf3LRmKOYqY7f+jAv5xEZC8R3FwiPUPRVIs95ZDK4UmYZAKlur7+R/69S9aKLl7O5LLEI5bEFpJmRmPYi2x2M4mIjJkwN8iozZ0SATk954ViOJePIxeQh1djk+FcK2RKjEndyuY70mOiNRWxiyZxc1OV97w== 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=Xc4TxvL3MO22+PnZX4XfJRTDyDEIblYNaBGlmc9vLPg=; b=JM5X9zpcpd9qr3xZ2lEjons7nZvEbp/oa4TEjDX43AKA7zzy5FWF4WEiIaDcLvTZZDi3/+D4h4uUPU4mg8CVUvkEnscWllzj8gjRD5TNSltTCZR81+hMLuO6UfLAQiKDjErIj4BR7zclBAoQCUhuhGT9O/AlwthX1SpfhVKYTTd7VAG4FeVL2zqk5CjiWWYw5+xvlHPY8wB7h+8e0HWQ+MqrY5UBtf2CLh5Ue5BqBI9KZUYskSuMOlgNWDUpAVj5aOiqb4QnMXBUng+nimxN02rn1ni8/mkk68ObvZDLinhSVmg3xyU7xEVmxVBadN+Z4XrA2bXHAw4j6hyDBw2Brw== 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 AM9PR04MB8242.eurprd04.prod.outlook.com (2603:10a6:20b:3ee::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.9; Thu, 24 Nov 2022 08:57:58 +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.019; Thu, 24 Nov 2022 08:57:58 +0000 Message-ID: <0ef86245-7f0d-ef4e-957a-4086eb54ef43@suse.com> Date: Thu, 24 Nov 2022 09:57:56 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: [PATCH 2/3] x86: drop FloatR Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR3P281CA0195.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a4::7) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8242:EE_ X-MS-Office365-Filtering-Correlation-Id: 23494df1-2d11-43a9-96bf-08dacdf9fba1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: urw7decwIqY8ceUUFs8l4jUuPllCpo4Ry9/Eo20BncButnGNOuK+GGZGzn5pgoDLvBP2565gn7Nu1Iy7WGt85NxXiL188mx6keaxwg6zAWb9yCKcOBsYuR3c3FHqJ800QB+IOzM7nQvjb47gXkdBOb81jwuMLpiS8M4Em6FZJOw3lW3uvespdQXXre9rTVShUpyTXNAPNWoQ5StvwlMEJUFpRrhihbNzmKmaD22tt8aP84rp1G7pRdxXV9QzBEkxBnilGlsnQcwfBRbm9RChxe1HWZRhXf9HFXiaNvbPbksfygyi3oAzFVYsWjaVv8GQOGKO7HaEXsf38Vx0R4kcNaovU8SeqRpHBWPivLeqWeP3hjgjqIhMa4KgrqOx2OJYv1mmhP6XyMN88wTtq1viioGUY4qmWNie231gYhbm86Pk+E63VjvzaHUoXSqKTZMuWRlRf0q1NHn/d+cJ4dUXNKxjS4qVooqsOblh9IlTm1CsJxBZ/pJvYRXG2AExXl3SzUft6/JdVzMLXdU7snGRdukg8HfcPRwQganj5vh3cMod3lSes6IL7N4x5s17LtHtoL+fTOoXIgwizfAoqZjGcO63M/x0UfgBHHvV2+aAigERV1jcViCgiXTdBfnPkzqamBtsoxu5VMsdwVUaIGoyPQ/z2u8h66IxFZzQXr5JzY9zmE9m6Y2IAh9eT/VDvhI9eEusJbDJfm54/vvmeIT+dfHCNWH6EnkrgCJQ5VYR5mI= 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)(39860400002)(346002)(136003)(366004)(376002)(396003)(451199015)(31686004)(186003)(2906002)(83380400001)(2616005)(6506007)(478600001)(66476007)(86362001)(31696002)(36756003)(4326008)(26005)(8676002)(66946007)(6512007)(66556008)(5660300002)(8936002)(41300700001)(6486002)(6916009)(316002)(38100700002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?X/rAw+XDoDAcQCG9C9YJPjcIBjOt?= =?utf-8?q?ysD8eqBLL/q/KCgXuaQJ9Eh/WMLikQz9ZH252N9PqvirrALMgJ3zDTQl/KDdE/kMW?= =?utf-8?q?+r1F2W5pDcMkYx99fJdgjM70ffj6trvW+dsS/IVG130KxBSdk1yT0MXfZJ09Bfhav?= =?utf-8?q?upSclc74+sZsUFHn1O93GjPCcSlTr/dVLX3M4Zx0Z4T8VVGwvAiJPGSf6AuEkSGrm?= =?utf-8?q?hqF4YWAaxK4cvh4GcZpx1BZ8f0uqqOHWiJtoazTksSMC+6jlHDA1T54NeWOmRKJYE?= =?utf-8?q?hNtN7wfIe2lPxqO74WgB6/YSzCa3vphhC94e17RoShgXk1S8Y0ifbcVMNMT/kqDDJ?= =?utf-8?q?DgATLlfELR/IBv4rgYRT9xOnFglEjZzY/72yr+AD0K7U/giT6fGmWTOzVyBl1DxLB?= =?utf-8?q?rB8C6B9cglzs8BBUTsW75VR/HqL7724nbsK2ApBAAD0kjcy1IlH4sSJHfnSdM5y9L?= =?utf-8?q?e2QfYtki/SlELAwSo75tU+LHqJrxcu52KOj9YItQEB+oFcr1qZmla9OHO/QB7idNb?= =?utf-8?q?DUvaKnyY6gJieZg662w0njJM6twQ0ou5GXxszESsIOOuWG1B2y8Jq72XI0fD1PDpD?= =?utf-8?q?b7CKkPSN8kK4yKMyJ4zbhS7n5oVAX0elRKCH6wdBIov1g6JUs2tGg/3DsBGt2JIOJ?= =?utf-8?q?IzP0Ni/XIwLcYwJWsJvcL0b9K2L004c5Hg/a8yvRP84iFVw3+PmgLIOHHV0fY54XU?= =?utf-8?q?OzFTSd1xI0yQ8FbkOqeY6laNXJEnsKOhf9BnLM9BlPgLIsBQ2fLp8UCDUx94+gxCM?= =?utf-8?q?xQIekAFgGxzz6Zd4WBca4GKSgS14oJzRCF36q3+prNxqHanrKUqCL6eYXW8SJjFlj?= =?utf-8?q?PF5gEZDvxpn+WJK9QZEj5+eoNMLIxk4dMRHgsUD2+iUQQrqjlGE4BtZ/M7qE4yweW?= =?utf-8?q?ZfWsVUnTFo5UhaiHvIwqD6U0n2xUPFHFbyFqPpXphu0jgD+hOG0aHLk/PDPpicmV9?= =?utf-8?q?ZkpGnefm6aj25O1jfn+0ZWN7lg0a+4Cu4qlikT0hUV3ha7PWxwAjx24LvAEf7mAAL?= =?utf-8?q?4JQtTp39UMBfwgYldiJGwZZiX4fqoCd9RwFpIPUycY1N6DaOrWbLtQkSg76t+4OTv?= =?utf-8?q?HY/jPAHznrgjQIB6E0ERPG1CvW9RXQrx9+XKO3BWyz+EPvPILjwmGzBKGjaLV0rYM?= =?utf-8?q?UZmKttAR9CbWSexQrV1z6YfaFEW2jrShepW9+cg9aKV4n6vf5OicTddzopGv3JrkT?= =?utf-8?q?YItYOtXlQwu7q9GPYvJ6diXejnnt+JCPY3zhsGVZ0ntsEjAWREor2y4FMETwz1lFm?= =?utf-8?q?48RynV9S2UhUDCZLaR7hY6VEYjl0xIjCGRYlgDZsaes2ZJc0sv5e2hmmbZLpzRsgK?= =?utf-8?q?eefDrISh+svohWqJk+zQF1WgOog4Dr3LVHMgQtNoZRGdYo0/FdXaT4wLc4ZWmY9fk?= =?utf-8?q?3ZV5NYzmR9I2hR0mRQdiViuGOcxXs489C00E5uPj9YbiQ2TVZ7F91wDe61XJdIGCB?= =?utf-8?q?yvxpMBRbdizai6Ii7W6USOZFcTPprZTRPBAXwJdoWQzkFs0gVZIaCMTgMl7P46ve4?= =?utf-8?q?Yf/qbQZBq3ce?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 23494df1-2d11-43a9-96bf-08dacdf9fba1 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2022 08:57:57.9193 (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: xUut4rhz9P9PNRQUxrHijB1KUAhyPD0v0AkI2CAYGIxJCbOzUarZa5XWyn/qXuE4SQia+s5HFIKf66NpsTY6UA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8242 X-Spam-Status: No, score=-3029.2 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?1750367250760076315?= X-GMAIL-MSGID: =?utf-8?q?1750367250760076315?= There are just 4 templates using it, which can be easily identified by other means, as D is set only on a very limited number of FPU templates. Also move the respective conditional out of the code path taken by all "reverse match" insns (it probably should have been this way already before, to avoid the one conditional in the common case). With this the templates which had FloatR dropped no longer differ from their AT&T syntax + mnemonic counterparts - the only difference is now which of the two would be recognized. For this, however, we don't need two templates - we can simply arrange the condition for setting Opcode_FloatR accordingly. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -6800,12 +6800,18 @@ match_template (char mnem_suffix) specific_error = progress (i.error); continue; } - /* found_reverse_match holds which of D or FloatR + /* found_reverse_match holds which variant of D we've found. */ if (!t->opcode_modifier.d) found_reverse_match = 0; else if (operand_types[0].bitfield.tbyte) - found_reverse_match = Opcode_FloatD; + { + found_reverse_match = Opcode_FloatD; + /* FSUB{,R} and FDIV{,R} may need a 2nd bit flipped. */ + if ((t->base_opcode & 0x20) + && (intel_syntax || intel_mnemonic)) + found_reverse_match |= Opcode_FloatR; + } else if (t->opcode_modifier.vexsources) { found_reverse_match = Opcode_VexW; @@ -6820,8 +6826,6 @@ match_template (char mnem_suffix) ? Opcode_ExtD : Opcode_SIMD_IntD; else found_reverse_match = Opcode_D; - if (t->opcode_modifier.floatr) - found_reverse_match |= Opcode_FloatR; } else { --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -731,7 +731,6 @@ static bitfield opcode_modifiers[] = BITFIELD (Modrm), BITFIELD (Jump), BITFIELD (FloatMF), - BITFIELD (FloatR), BITFIELD (Size), BITFIELD (CheckRegSize), BITFIELD (OperandConstraint), --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -487,8 +487,6 @@ enum Jump, /* FP insn memory format bit, sized by 0x4 */ FloatMF, - /* src/dest swap for floats. */ - FloatR, /* needs size prefix if in 32-bit mode */ #define SIZE16 1 /* needs size prefix if in 16-bit mode */ @@ -743,7 +741,6 @@ typedef struct i386_opcode_modifier unsigned int modrm:1; unsigned int jump:3; unsigned int floatmf:1; - unsigned int floatr:1; unsigned int size:2; unsigned int checkregsize:1; unsigned int operandconstraint:4; --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -694,11 +694,10 @@ faddp, 0xdec0, None, CpuFP, NoSuf|Ugh, { // subtract fsub, 0xd8e0, None, CpuFP, NoSuf, { FloatReg } -fsub, 0xd8e0, None, CpuFP, D|NoSuf|ATTMnemonic|ATTSyntax, { FloatReg, FloatAcc } +fsub, 0xd8e0, None, CpuFP, D|NoSuf, { FloatReg, FloatAcc } // alias for fsubp fsub, 0xdee1, None, CpuFP, NoSuf|Ugh|ATTMnemonic|ATTSyntax, {} fsub, 0xdee9, None, CpuFP, NoSuf|Ugh|ATTMnemonic, {} -fsub, 0xd8e0, None, CpuFP, NoSuf|D|FloatR, { FloatReg, FloatAcc } fsub, 0xd8, 4, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex } fisub, 0xde, 4, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Word|Dword|Unspecified|BaseIndex } @@ -711,11 +710,10 @@ fsubp, 0xdee9, None, CpuFP, NoSuf, {} // subtract reverse fsubr, 0xd8e8, None, CpuFP, NoSuf, { FloatReg } -fsubr, 0xd8e8, None, CpuFP, D|NoSuf|ATTMnemonic|ATTSyntax, { FloatReg, FloatAcc } +fsubr, 0xd8e8, None, CpuFP, D|NoSuf, { FloatReg, FloatAcc } // alias for fsubrp fsubr, 0xdee9, None, CpuFP, NoSuf|Ugh|ATTMnemonic|ATTSyntax, {} fsubr, 0xdee1, None, CpuFP, NoSuf|Ugh|ATTMnemonic, {} -fsubr, 0xd8e8, None, CpuFP, NoSuf|D|FloatR, { FloatReg, FloatAcc } fsubr, 0xd8, 5, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex } fisubr, 0xde, 5, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Word|Dword|Unspecified|BaseIndex } @@ -741,11 +739,10 @@ fmulp, 0xdec8, None, CpuFP, NoSuf|Ugh, { // divide fdiv, 0xd8f0, None, CpuFP, NoSuf, { FloatReg } -fdiv, 0xd8f0, None, CpuFP, D|NoSuf|ATTMnemonic|ATTSyntax, { FloatReg, FloatAcc } +fdiv, 0xd8f0, None, CpuFP, D|NoSuf, { FloatReg, FloatAcc } // alias for fdivp fdiv, 0xdef1, None, CpuFP, NoSuf|Ugh|ATTMnemonic|ATTSyntax, {} fdiv, 0xdef9, None, CpuFP, NoSuf|Ugh|ATTMnemonic, {} -fdiv, 0xd8f0, None, CpuFP, NoSuf|D|FloatR, { FloatReg, FloatAcc } fdiv, 0xd8, 6, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex } fidiv, 0xde, 6, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Word|Dword|Unspecified|BaseIndex } @@ -758,11 +755,10 @@ fdivp, 0xdef9, None, CpuFP, NoSuf, {} // divide reverse fdivr, 0xd8f8, None, CpuFP, NoSuf, { FloatReg } -fdivr, 0xd8f8, None, CpuFP, D|NoSuf|ATTMnemonic|ATTSyntax, { FloatReg, FloatAcc } +fdivr, 0xd8f8, None, CpuFP, D|NoSuf, { FloatReg, FloatAcc } // alias for fdivrp fdivr, 0xdef9, None, CpuFP, NoSuf|Ugh|ATTMnemonic|ATTSyntax, {} fdivr, 0xdef1, None, CpuFP, NoSuf|Ugh|ATTMnemonic, {} -fdivr, 0xd8f8, None, CpuFP, NoSuf|D|FloatR, { FloatReg, FloatAcc } fdivr, 0xd8, 7, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex } fidivr, 0xde, 7, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Word|Dword|Unspecified|BaseIndex } From patchwork Thu Nov 24 08:58:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 25385 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3273772wrr; Thu, 24 Nov 2022 00:59:09 -0800 (PST) X-Google-Smtp-Source: AA0mqf6r7VXzNYeFE51fm91rFmhGewgEbt/TXgRJGTFJXDka0X0sErs882vAgd4N6LSqCIVeMcBo X-Received: by 2002:a17:906:3fce:b0:7ad:bb54:75d3 with SMTP id k14-20020a1709063fce00b007adbb5475d3mr26589305ejj.484.1669280349802; Thu, 24 Nov 2022 00:59:09 -0800 (PST) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id vp12-20020a170907a48c00b007bb12ecc8besi376831ejc.939.2022.11.24.00.59.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Nov 2022 00:59:09 -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="Urtyv/RL"; 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 2AA0138432EF for ; Thu, 24 Nov 2022 08:58:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2AA0138432EF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669280333; bh=3KFyYmBJucSlijYrZt/nV5VM1HUfiJTB4AhyyR2q32E=; 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=Urtyv/RL/oOF2ez9oIyl45n4cOWKn2IGHx2YYQafLq5Rhp5pz3YZl+pNW+B6uf9Pw 8c3dbhc+SqvROTmiOH1oSmF8F9tnJKG/QnYyj+q9LV56yeW7Sl4s4jpQa9xzJ4uGdT 0RoNeszqvN/FUmnBP9e+7ohxcQK2r8EckGx8IalU= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80081.outbound.protection.outlook.com [40.107.8.81]) by sourceware.org (Postfix) with ESMTPS id C499B383236A for ; Thu, 24 Nov 2022 08:58:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C499B383236A ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XlnwQq5b7p9Ie1LXkpz1zDYk1tkD7YLLgnNwIDNarDVzmYfR7DHdx82LUHii4Po5eWK89IUf46s9uOgYRfIqAc4ucdMZRsCuDk37VqLM+6pw37YCpfswyMgbcC3egHnlPhs5idhq1254dvoJlFPl28YPh16NlbGnLv8Wq6DDkqxCWfDy4yqUzErNSwW3Pn+0HbJknnMJI4ak6zgz9bIc7yBSmStHLwj49KyMMFtNJJeldmOOv5tFpprWCWnuwnSrIHuIQ3B6tITllqD9aRcOqP60632Qs24DKWrMn3zp1HEhGAoNwqs6ctoOyzHPpvhyBL6RH0XhoapteE6f6sHsbA== 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=3KFyYmBJucSlijYrZt/nV5VM1HUfiJTB4AhyyR2q32E=; b=ctlRoEtxsMqunB+lOa29DAAOyDow8V/Dgw379o8fFFxmyOIVE6LrfUG7kxqFJl/WnEisF1IPGmn0OcZe2CWRievqBt9KRyUa63GMyocfVSro2XcqJzU5PZFu9sFoxE0YHMsxykyaU8FaepfdxPXl2M9hY9lM1jmPavHcRNh/N77IBpNLfUdkfZ++D6VRG5le+ksoEQSDzql/DO6KFDgBDgGcc9moyW6Dz9lV74OMgfcOk+xIWFdCmgOcSvZb0RSIjEUemSbYtiqP70NoIr9tXicdBAsZqCk6lJJ432/UAzVL9U+JyRqLdPZyg5v8GY0DRVNfA2WIbMAvO5nuYdVxyw== 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 AM9PR04MB8242.eurprd04.prod.outlook.com (2603:10a6:20b:3ee::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.9; Thu, 24 Nov 2022 08:58:39 +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.019; Thu, 24 Nov 2022 08:58:37 +0000 Message-ID: <5dd8b2df-62f2-a551-4b35-f3df66d57e04@suse.com> Date: Thu, 24 Nov 2022 09:58:36 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: [PATCH 3/3] x86: clean up after removal of support for gcc <= 2.8.1 Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR0P281CA0131.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:97::16) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8242:EE_ X-MS-Office365-Filtering-Correlation-Id: 1f980158-3415-41e0-d6c0-08dacdfa12f0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TOTqcjHtvAE8+rW++pCrKQ/Ufftol0brg6t/aUu0edMqZ5W+00c7n745taX2z275KmmRN8fP9KCASXwj7fgNi/Hf0iePawaIjrKsUzZ2cGAE7nvYSN3EJUyd4Iag9cJdCXtnuzbDeU7j285FcNsS5ZI1UzttWvNuucs/k4ak3XUeJ6ppLqdEwE3SxsxmVUysKnpcRXtWk1f9ObefA3mMzy3rjogywjnm0ZbB1ckp/JmRU8QvIJ59c/cNs3rkuGUIsGmZOaeuhVRlQgfIU194mzRgx3RLubL8SjVBeVnGRA6BeeJVagsl+yfUfTcAXbx1BSezU56tIBl+RRlOdIhQ0I4M3i8i9mSugW5/4tmD5uqV/BMFvrBTBcyodoumzbwqSMVVBRlG/lxUiv2vcmH6hS4s4VJ+KjheFIdoUpyMPG4BVKzxqYEIMnp2MC/M+KbWCgF1U6hfohN1hZ9lVkuj0ptNrl51sLiSCOMzDXxEf9Foe+28lC30ygWUDknaRP8DjeyaEh7PArJ9o9B2cRG0bFqActBr0OfVKtbGxpy3/2wzU8kLL+lZR0anC7uouXAVV32vrT6ymfiEzd3nt37JUo6HGciZaO01cUYquZp7NtrrwWmFdZcSRSpypTmlbXfrTQrb0gym9xFVLLM+0OmoH/CIDy4Yi+pgbKV1GO4cn8MdZoYFaJ6AZQNIuFJ9pM1mr8iH2G1uvjlEDZhhvhGn0iILzn7O3GdKUX2aCkiiRVU= 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)(39860400002)(346002)(136003)(366004)(376002)(396003)(451199015)(31686004)(66899015)(186003)(2906002)(83380400001)(2616005)(6506007)(478600001)(66476007)(86362001)(31696002)(36756003)(4326008)(26005)(8676002)(66946007)(6512007)(66556008)(5660300002)(8936002)(41300700001)(6486002)(6916009)(316002)(38100700002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?uz01mjDdxC5GXXU3bCu6XgLcPuKC?= =?utf-8?q?/rL343QqBCov53iXo6SFZrCayuLxWmnHJwoww73t2Wncw1UOlgrS/zvFaigDte9sb?= =?utf-8?q?J//FijUxaDXZ+2sb1jow6sBD4h/HIhtpynGJcaGMZVFti0uUSjEelyhN405O77TLw?= =?utf-8?q?2udp+ciURHs66bGULJFgtSLdE0nsrhbMZfAgVQUZFwn+dARzXFf53ZnCWDoY/bXo2?= =?utf-8?q?RbQuJb6AaICP1qR0IC80m9LUwM5A27ZsxfQFZQbL6oQXUIv62ZUlHH5//v96+n3QT?= =?utf-8?q?MxWhJM5smxYMQzwGyyIqEZXtHROasuQNf37TNKFh9dRywkliu8/YhtoK/GcBtPpIn?= =?utf-8?q?PzHIFwHdW2CsCzS0GtrOyKLM8IX1nFFgpz2L7Q9RUkKrH9YB4kp4zOPObJyPJikig?= =?utf-8?q?oo554Rp0jvjVhp+rudBMzxGpUOE52uJvinhstnPhCMykEpCa0LaIGU3oIchQdR5NK?= =?utf-8?q?WjZ0elBe1WqVv/numVio/7DTHg2Zp0rKklQxcs3ENrdAffVLheuUXIxyM0D7n7qq0?= =?utf-8?q?Nr52M3dD4trloyvZE9JwE6EJW9eu1uQze8iGwcMBJ4cnbmOb49/LQt+PtQ/vf1SMg?= =?utf-8?q?SVUpeab3VVRIhWpkEeFGnvEIgHwAq4DVGr/L0Els74MIn+rmghIV9bUyOTZaswLGF?= =?utf-8?q?tOQf5t+xXVQW7AEV4pUAU9JWgmshbq1VisMdvyg/6ejwX7s/fn4le6TBulwCORUdJ?= =?utf-8?q?fqF4pu5g/PE2uSxbdk1JfgzohMLp6gIzFTaHLdFFd3YGKfbyPIYkBeYnhA/PSOqFU?= =?utf-8?q?tU6Kz4KOa4gcnAHxuoputU7gZIop0XqnObLi1yt7E8rG/BM/OrHkrIxiI4XOsXefe?= =?utf-8?q?Swnz42ewlRcm9o70Xr8Obd2Hv4Z52Hw2jUu5Y0t9usnD8JYgmaUKRBIAOHi3HQkQ3?= =?utf-8?q?1z8i7Oi3ioZJIfuLswevMAWxtow3kfE0ed5nKyc4IGndXL/WJ768TfvcZFzN4eGR1?= =?utf-8?q?Zr34xQIHyLGRTVejQ06p6A0ww8DAsN2ydGXaB9wirjEnlCW6x2pCByS3s5Vw99s+6?= =?utf-8?q?4YQ6oj8qNXdLwaduqhw6UgP68TP7IGS0VJO5o65DRvkSUa4JL/o86z4fty6PY9hqc?= =?utf-8?q?x1UPpzSDywBPGQ2Y78XMx2C8gYmd3TDQSZ0bvJtRRGDSLmVE7RLC4DybTITzEfErX?= =?utf-8?q?KrDdAMXV6aEXTP9AdjW7F42K4bUTZfWa6lumWjfcHd7zwbeRAtj4vXP3sNk8FQkMv?= =?utf-8?q?X6PBnUz2lJJMb95y21Ikz+Nf/umUkvOcuPzynDDNeMIK/mXjzmn4Pw0OJJmJhNoQR?= =?utf-8?q?lUz8PSgdw8Hb3adaQpZvkA/OnmgEj+1xv7+vX00atQCb6aWAaLZe2j8nzWDKPsol3?= =?utf-8?q?xWdWKKi45JFndup/HId7qno2FGDiqXfQymXdSTjh9XOafJZK/jfbS7ZAFlojOGmFy?= =?utf-8?q?5LgvysM6JqHvTh18jQndZf4umKkQdlU0CKI/D2gEYRM1h3jgAzkC2y59Of4n0fON9?= =?utf-8?q?B18Rdt0dZncmXmmXjSZy4AwHjGsCOzZBROVl8CGlWeJ9vpIjsjsFaGxFT1xyjgZSk?= =?utf-8?q?FRbQ5yicAqRl?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1f980158-3415-41e0-d6c0-08dacdfa12f0 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2022 08:58:37.0419 (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: PT/NX9Ryd4qW1p09/4m6N2z6QkVByO0IMP4XYg8Zm8ezq0kF52OYnaHkDbvUsMYyC5sO2Z6XHQnqtDusEqlFvA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8242 X-Spam-Status: No, score=-3028.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=no 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?1750367312235969500?= X-GMAIL-MSGID: =?utf-8?q?1750367312235969500?= At the very least a comment in process_operands() is stale. Beyond that there are effectively two options: 1) It is possible that FADDP and FMULP were mistakenly not marked as being in need of dealing with the compiler anomaly, and hence the respective templates weren't removed at the time when they should have been. 2) It is also possible that there are indeed uses known beyond compiler generated output for these two commutative opcodes, and hence the templates need to stay. To be on the safe side assume 2: Update the comment and fold the templates into their "normal" ones (utilizing D), adjusting consuming code accordingly. For FMULP also add a comment paralleling a similar one FADDP has. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -6806,7 +6806,8 @@ match_template (char mnem_suffix) found_reverse_match = 0; else if (operand_types[0].bitfield.tbyte) { - found_reverse_match = Opcode_FloatD; + if (t->opcode_modifier.operandconstraint != UGH) + found_reverse_match = Opcode_FloatD; /* FSUB{,R} and FDIV{,R} may need a 2nd bit flipped. */ if ((t->base_opcode & 0x20) && (intel_syntax || intel_mnemonic)) @@ -7997,29 +7998,31 @@ process_operands (void) { /* The register or float register operand is in operand 0 or 1. */ - unsigned int op = i.tm.operand_types[0].bitfield.class != Reg; + const reg_entry *r = i.op[0].regs; + if (i.imm_operands + || (r->reg_type.bitfield.instance == Accum && i.op[1].regs)) + r = i.op[1].regs; /* Register goes in low 3 bits of opcode. */ - i.tm.base_opcode |= i.op[op].regs->reg_num; - if ((i.op[op].regs->reg_flags & RegRex) != 0) + i.tm.base_opcode |= r->reg_num; + if ((r->reg_flags & RegRex) != 0) i.rex |= REX_B; if (!quiet_warnings && i.tm.opcode_modifier.operandconstraint == UGH) { - /* Warn about some common errors, but press on regardless. - The first case can be generated by gcc (<= 2.8.1). */ - if (i.operands == 2) - { - /* Reversed arguments on faddp, fsubp, etc. */ - as_warn (_("translating to `%s %s%s,%s%s'"), i.tm.name, - register_prefix, i.op[!intel_syntax].regs->reg_name, - register_prefix, i.op[intel_syntax].regs->reg_name); - } - else + /* Warn about some common errors, but press on regardless. */ + if (i.operands != 2) { /* Extraneous `l' suffix on fp insn. */ as_warn (_("translating to `%s %s%s'"), i.tm.name, register_prefix, i.op[0].regs->reg_name); } + else if (i.op[0].regs->reg_type.bitfield.instance != Accum) + { + /* Reversed arguments on faddp or fmulp. */ + as_warn (_("translating to `%s %s%s,%s%s'"), i.tm.name, + register_prefix, i.op[!intel_syntax].regs->reg_name, + register_prefix, i.op[intel_syntax].regs->reg_name); + } } } --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -686,11 +686,10 @@ fadd, 0xdec1, None, CpuFP, NoSuf|Ugh|ATT fadd, 0xd8, 0, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex } fiadd, 0xde, 0, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Word|Dword|Unspecified|BaseIndex } -faddp, 0xdec0, None, CpuFP, NoSuf, { FloatAcc, FloatReg } +faddp, 0xdec0, None, CpuFP, D|NoSuf|Ugh, { FloatAcc, FloatReg } faddp, 0xdec0, None, CpuFP, NoSuf, { FloatReg } // alias for faddp %st, %st(1) faddp, 0xdec1, None, CpuFP, NoSuf, {} -faddp, 0xdec0, None, CpuFP, NoSuf|Ugh, { FloatReg, FloatAcc } // subtract fsub, 0xd8e0, None, CpuFP, NoSuf, { FloatReg } @@ -732,10 +731,10 @@ fmul, 0xdec9, None, CpuFP, NoSuf|Ugh|ATT fmul, 0xd8, 1, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Dword|Qword|Unspecified|BaseIndex } fimul, 0xde, 1, CpuFP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf|No_ldSuf, { Word|Dword|Unspecified|BaseIndex } -fmulp, 0xdec8, None, CpuFP, NoSuf, { FloatAcc, FloatReg } +fmulp, 0xdec8, None, CpuFP, D|NoSuf|Ugh, { FloatAcc, FloatReg } fmulp, 0xdec8, None, CpuFP, NoSuf, { FloatReg } +// alias for fmulp %st, %st(1) fmulp, 0xdec9, None, CpuFP, NoSuf, {} -fmulp, 0xdec8, None, CpuFP, NoSuf|Ugh, { FloatReg, FloatAcc } // divide fdiv, 0xd8f0, None, CpuFP, NoSuf, { FloatReg }