From patchwork Fri Jan 27 11:35:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 49266 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp784041wrn; Fri, 27 Jan 2023 03:35:21 -0800 (PST) X-Google-Smtp-Source: AK7set9oDYeWUNjWocax+nO3gDopZHWf3oyi5EbmKvmUGS7fmIQPqjicOqBXrCaPbbSaoM0UJ0tQ X-Received: by 2002:a17:906:e8c:b0:878:762b:d8fc with SMTP id p12-20020a1709060e8c00b00878762bd8fcmr4876849ejf.28.1674819321222; Fri, 27 Jan 2023 03:35:21 -0800 (PST) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id fi24-20020a1709073ad800b007d6105e0adasi4121259ejc.12.2023.01.27.03.35.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:35:21 -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=IPLwIMfJ; 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 8ADDB3858020 for ; Fri, 27 Jan 2023 11:35:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8ADDB3858020 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1674819317; bh=ZqDAic6Z43zfUbpJyob7XTltlhqz/nIJWD6vkVSkNq4=; 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=IPLwIMfJ3M5xddVeBy4ZzBei3QC7QM+Q2Ee4C4deJUEUIHtUwO0jXtsw2JaJTeCE5 QXju81mSlhn5MUcf110YtS6VnbmSygd1QUWoy5dJlvNv/QXJOVfwVfTakgQSEujeiX Q4dozYbETZNoueLNmqlcHAS4ac5tWF+Qsx8OLZLM= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2051.outbound.protection.outlook.com [40.107.8.51]) by sourceware.org (Postfix) with ESMTPS id 8C4863858404 for ; Fri, 27 Jan 2023 11:35:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8C4863858404 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QJoUZuTinDxBTktwIc9ZKKk9oZisCmLS8+LXXtBarzYJ/55EVtrDR8t2ceHhE3D8HlVcNIkpiZAdar3hCgHwjRo5P4G1uqJqo1I2J005X3NpVW19z7wE/sWiX87fdXBgfd9V4KpCSf57OrHrL3uGIM1U4rsFYna2+CdlMoqWOrSwQ2d8H29CVyFsk27CIUK/BF79SYgRRV23VUbyYyEEQt5DzsBGnn7S0o/VE01bGAZC3yM5dHlO1E+svt76NNUNVDcU6bnTHdCkHlBzLbdSgk5Ha9c3xG4PZVaml+mZ4ekLXFsQAKEtl0vP1dDmpV7n41GDwzYJ/y7PV3W0OBx8hQ== 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=ZqDAic6Z43zfUbpJyob7XTltlhqz/nIJWD6vkVSkNq4=; b=bvLsrkm1jvXivJq651iayvxLclTDziqosjhM+Ct72tGV65WoUaOcYFieybLuRJs0d+A2WBntIJT5Vk839ydjIH698mY1LennXVmjVm5fWcP1dxy9xzPDSvhQejsoikuW4REmHdMnelM4Tl7WMUNVwVC7wsfZSnv+08vHkcvFSSrgFs7RUMnIxmLvK8yP1Q3/hhAJHQ1D2VwFtiN0+40LhIiejeGr1mw3CLD3sKq9aoJaTzDMfMfUPMuWwUw9HD3ZywZqg8GLs0b6xBkYXxGvhl2hT+CAjwCfNH8/CB57Ov1KN/4rDWnc4vPmqONfLcqLVA6sZMGv21RH+ixWDvBvPg== 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 DB8PR04MB7130.eurprd04.prod.outlook.com (2603:10a6:10:123::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.23; Fri, 27 Jan 2023 11:35:06 +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.6043.022; Fri, 27 Jan 2023 11:35:06 +0000 Message-ID: <3162e04b-3063-ab0c-3596-963132fd6233@suse.com> Date: Fri, 27 Jan 2023 12:35:04 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH 1/3] x86: respect {nooptimize} for LEA Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR3P281CA0054.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4a::18) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB7130:EE_ X-MS-Office365-Filtering-Correlation-Id: 9f28f5a5-0b7b-48a1-68f7-08db005a898a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: M7STJQsNdUlZXDrQnC6glM9ZOfA7SD5VeFGF/+U8TN8dRT/V+ZzeKWNfYUur9KpIEjaai/5VgkA2DuMpTLlj9vGT7Tz6+GS+W7IAFCCgNQNguwnsc+PqY1R6kgd+nLnJ4/9oVVT+MnKxPn210KKUmlgXu5X9cxUAP8qEdkE48yJ0ctfnnzmwUPvZgaQr2RSv4+qP5nwmFpFz4KBBQLLhCx5komgZrCYhJu2Frd06fFZ7F5Sfx6VMbPvb+7+jMg+VUnMkKAamse5Jb/nB8IByxfVR6aiHvtdgxfTB6WnWWea2vTt021JIU22sjfE/u96pOAJBfxB69BuHSAq/5drKVKzNqanGFtL95r06EHwbvAZZeK7K5k3BV5PJx05uE+6nIAvs+o8mGnvsiOzlW6SSQpbuRJV8KrV2tuvU+tEBZSSchBm1FHJPkh6rzcutJtwSldTz0KMEdKUvff7nf5StPhgoUxe+XnWy+/+tM6SZxMncVRxOkj+kaQTcgo3LMymseJ2Xh7F3bSqRfOSEf96AMR5ZeDBzmbSGtGo528Zvf0eIYS/NrXxmN7Li9ylY3ywC5a5c1M8fX6gZziW/axPbNuDNjiD6Nk7aHzDK3iPiETzDHLsRLKyeP+Zvcx8ceHI2EFPKiJ7W3W3R5fn9YtuvsTni1vA1/W+d0JWi2q+ZuMSsjpLWOJo5JzYabzAPe6d4lifVbOMSpSLyJeu9jZ2FGNlLw4wWtVCdfIja5PfRVeI= 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:(13230025)(376002)(136003)(39860400002)(366004)(346002)(396003)(451199018)(41300700001)(8936002)(5660300002)(38100700002)(83380400001)(86362001)(31696002)(316002)(36756003)(66476007)(66556008)(66946007)(6916009)(8676002)(186003)(4326008)(6512007)(26005)(2616005)(31686004)(478600001)(6486002)(6506007)(2906002)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?gO6aDQ1RTSRReSrPUNvldfYdxlsY?= =?utf-8?q?rjAWUpA/23Zh19CEmpA7SmWpJiS0CtBoQHq8Oy2GmmfALG39vAxloevNtqyc66nf4?= =?utf-8?q?L96g7mUWg96nUH15Idi+ma9ZMChdIGGpXuyXGoIPojA7xgWMwoAjmbnWCp4+vvqko?= =?utf-8?q?UIMhRpDzHk2TdUywpaUbBe+I+kYgt61d0gooU8SfJM87fdanJJTWzu3chbPv6QXjV?= =?utf-8?q?qEaoFj+33c//yIc3EYQST8cnqA2sEL+IwAVfxdC6fibMB7pw1SezzJttBAmQngLnI?= =?utf-8?q?zmCRllU3+KZrbENNcvQ2iQgnbPoSgA0jO6OqB4ic3sQwSwslB74npY2ytxdu5jyTh?= =?utf-8?q?W3RTwx2tNSG03RuwULUX6Fn1mIpRxrksL2RYkXVVTGhKGAjYtSaiEQXDz06xey8bO?= =?utf-8?q?EkLi6Lr97TqvaQ0BDgBTKk7xkzFs4fN/Cr8P3lewIgvlHGmkxGfulqeJNAsXCcxec?= =?utf-8?q?Xig2Br/DaOOlVguog121FBPlTedwH62s6okkAqta5wojmjzAE17SbFDtPHb9NyExb?= =?utf-8?q?v/t9Z7Oz1CHWNXivgLOouuyAExP6jw50tKvgf2Uf1nNCWr6HyYeb8XcvUTfvQZZXU?= =?utf-8?q?6rR65bIrfrj64TWZVrBWLeh+NoNxtD8Xdg56c8EzgwsWlELpg/Gp9JqjGW6Kwroua?= =?utf-8?q?WSDIPWLgzuprSQLzJkOcQ6Ntvt8jFkPTE9x4FJKYHirQmaDKr9atZ8Cj1RZf3VT92?= =?utf-8?q?//qGNDGUxRmAQ8B+kTn/Np9rn6v8KwwiJTdzIml5EEaNhPgIv238Z/EggYQHH/j/W?= =?utf-8?q?IgOdFVLMuAFF+6sL8xQAaCFyy3O9Qfi2XMcp3rOvuSP4CaoXpTu2USjIRVbHub24r?= =?utf-8?q?062/kRu1XsDjE5EjCzJieGFecn9xII3kMLZVcGvD7udMelmX8r2JsN2qvWu3oNNWh?= =?utf-8?q?5u0HS/byS1kSAYnSiugXp85vue6tXFjMvar0krRG1nQKq8jr+w1SDPBw0iShmT1Nc?= =?utf-8?q?f91hKkPifBu5TuBQLkCRfuXzc+tdsgSb7z9oXq00mQE2iDb77mt5KxYiyvZlhaWLZ?= =?utf-8?q?9mvemUqqROfXCfnpYEtSa/vqTO6lzxYeOvQPLZzyqs3hfiRoi2NFWRUq5VTkMnNuq?= =?utf-8?q?SobnqRXCAB3jCbRHVx5qumkF36RCxWad6Lp96BXcV4q7o18JIZavf2hRd5bnesKFr?= =?utf-8?q?yR/MCgpASaX7gsjSEJaBwr+UzoWXueKx9N/Y9AnJDEMKtScLwnqdvRF+AMZkWuHmm?= =?utf-8?q?OsqqwDX/uOcWXcd6iPpHXWdKL1w0QKQWrQ8mfnHPgtNErRIT59nTAyTEnrcdWPDwb?= =?utf-8?q?imStd9Ve8A0EuF+SjBmv+1fUgmBkRpfPrKpWAn2Y9w+k7IYN87LmQD8L6v4L+TPme?= =?utf-8?q?DUddO4WfTceSpl4GWX/2dfcdueyBrC8ZwbhHhPo0OHP8iSNf+dR1ZiA2OgNs1+Iik?= =?utf-8?q?48fcMQSKzMsfdWDLvqvbgcFpKqRbXQ3Q8D4Eg48pnTkcSF9bKUqhgIOXtPuNlNbej?= =?utf-8?q?n2ML5lXxoLNj9VnTg/7IjGXHwHJyoVI4sSvJizL4hb/N9ExyPvgeQIdftGnv7bzHf?= =?utf-8?q?5q7AG9kQ/px7?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f28f5a5-0b7b-48a1-68f7-08db005a898a X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2023 11:35:05.9694 (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: f+NFj7zOna3rZ/HkVmqGnduGVs69wDwJ0yRDL2Zhn0N/nmNFpTD/n5UZlPb7iagctHtWy4w++CyqMosaaqPWPg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7130 X-Spam-Status: No, score=-3028.6 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?1756175344350899221?= X-GMAIL-MSGID: =?utf-8?q?1756175344350899221?= Dropping a meaningless segment prefix occurs outside of optimize_encoding() and hence needs explicit checking for a request to avoid any optimizations. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -8159,7 +8159,7 @@ process_operands (void) { if (!quiet_warnings) as_warn (_("segment override on `%s' is ineffectual"), insn_name (&i.tm)); - if (optimize) + if (optimize && !i.no_optimize) { i.seg[0] = NULL; i.prefix[SEG_PREFIX] = 0; --- a/gas/testsuite/gas/i386/lea-optimize.d +++ b/gas/testsuite/gas/i386/lea-optimize.d @@ -10,6 +10,7 @@ Disassembly of section .text: 0+ : [ ]*[0-9a-f]+:[ ]+8d 04 08[ ]+lea[ ]+\(%eax,%ecx(,1)?\),%eax [ ]*[0-9a-f]+:[ ]+8d 04 08[ ]+lea[ ]+\(%eax,%ecx(,1)?\),%eax +[ ]*[0-9a-f]+:[ ]+26 8d 04 01[ ]+lea[ ]+%es:\(%ecx,%eax(,1)?\),%eax [ ]*[0-9a-f]+:[ ]+8d 48 01[ ]+lea[ ]+0x1\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+8d 88 00 00 00 00[ ]+lea[ ]+0x0\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+8d 0c 25 00 00 00 00[ ]+lea[ ]+0x0\(,(%eiz)?(,1)?\),%ecx @@ -21,6 +22,7 @@ Disassembly of section .text: [ ]*[0-9a-f]+:[ ]+8b c8[ ]+mov[ ]+%eax,%ecx [ ]*[0-9a-f]+:[ ]+8b c8[ ]+mov[ ]+%eax,%ecx [ ]*[0-9a-f]+:[ ]+8b c8[ ]+mov[ ]+%eax,%ecx +[ ]*[0-9a-f]+:[ ]+64 8d 08[ ]+lea[ ]+%fs:\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+0f b7 c6[ ]+movzwl[ ]+%si,%eax [ ]*[0-9a-f]+:[ ]+0f b7 f6[ ]+movzwl[ ]+%si,%esi [ ]*[0-9a-f]+:[ ]+0f b7 c6[ ]+movzwl[ ]+%si,%eax --- a/gas/testsuite/gas/i386/lea.d +++ b/gas/testsuite/gas/i386/lea.d @@ -9,6 +9,7 @@ Disassembly of section .text: 0+ : [ ]*[0-9a-f]+:[ ]+36 8d 04 08[ ]+lea[ ]+%ss:\(%eax,%ecx(,1)?\),%eax [ ]*[0-9a-f]+:[ ]+36 8d 04 08[ ]+lea[ ]+%ss:\(%eax,%ecx(,1)?\),%eax +[ ]*[0-9a-f]+:[ ]+26 8d 04 01[ ]+lea[ ]+%es:\(%ecx,%eax(,1)?\),%eax [ ]*[0-9a-f]+:[ ]+8d 48 01[ ]+lea[ ]+0x1\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+8d 88 00 00 00 00[ ]+lea[ ]+0x0\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+8d 0c 25 00 00 00 00[ ]+lea[ ]+0x0\(,(%eiz)?(,1)?\),%ecx @@ -20,6 +21,7 @@ Disassembly of section .text: [ ]*[0-9a-f]+:[ ]+8d 08[ ]+lea[ ]+\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+8d 08[ ]+lea[ ]+\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+65 8d 08[ ]+lea[ ]+%gs:\(%eax\),%ecx +[ ]*[0-9a-f]+:[ ]+64 8d 08[ ]+lea[ ]+%fs:\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+67 8d 04[ ]+lea[ ]+\(%si\),%eax [ ]*[0-9a-f]+:[ ]+67 8d 34[ ]+lea[ ]+\(%si\),%esi [ ]*[0-9a-f]+:[ ]+67 8d 04[ ]+lea[ ]+\(%si\),%eax --- a/gas/testsuite/gas/i386/lea.e +++ b/gas/testsuite/gas/i386/lea.e @@ -1,4 +1,6 @@ .*: Assembler messages: .*:3: Warning: .* `lea' .* .*:4: Warning: .* `lea' .* -.*:19: Warning: .* `lea' .* +.*:5: Warning: .* `lea' .* +.*:20: Warning: .* `lea' .* +.*:21: Warning: .* `lea' .* --- a/gas/testsuite/gas/i386/lea.s +++ b/gas/testsuite/gas/i386/lea.s @@ -2,6 +2,7 @@ start: lea %ss:(%eax,%ecx), %eax ss lea (%eax,%ecx), %eax + {nooptimize} es lea (%ecx,%eax), %eax .allow_index_reg lea 1(%eax), %ecx @@ -17,6 +18,7 @@ start: lea (%eax), %ecx lea 1-1(%eax), %ecx lea %gs:(%eax), %ecx + {nooptimize} lea %fs:(%eax), %ecx lea (%si), %eax lea (%si), %esi --- a/gas/testsuite/gas/i386/lea16-optimize.d +++ b/gas/testsuite/gas/i386/lea16-optimize.d @@ -10,6 +10,7 @@ Disassembly of section .text: 0+ : [ ]*[0-9a-f]+:[ ]+67 66 8d 04 08[ ]+lea[ ]+\(%eax,%ecx(,1)?\),%eax [ ]*[0-9a-f]+:[ ]+67 66 8d 04 08[ ]+lea[ ]+\(%eax,%ecx(,1)?\),%eax +[ ]*[0-9a-f]+:[ ]+26 67 66 8d 04 01[ ]+lea[ ]+%es:\(%ecx,%eax(,1)?\),%eax [ ]*[0-9a-f]+:[ ]+67 66 8d 48 01[ ]+lea[ ]+0x1\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+67 66 8d 88 00 00 00 00[ ]+lea[ ]+0x0\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+67 66 8d 0c 25 00 00 00 00[ ]+addr32 lea[ ]+0x0,%ecx @@ -21,6 +22,7 @@ Disassembly of section .text: [ ]*[0-9a-f]+:[ ]+66 8b c8[ ]+mov[ ]+%eax,%ecx [ ]*[0-9a-f]+:[ ]+66 8b c8[ ]+mov[ ]+%eax,%ecx [ ]*[0-9a-f]+:[ ]+66 8b c8[ ]+mov[ ]+%eax,%ecx +[ ]*[0-9a-f]+:[ ]+64 67 66 8d 08[ ]+lea[ ]+%fs:\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+66 8d 04[ ]+lea[ ]+\(%si\),%eax [ ]*[0-9a-f]+:[ ]+66 8d 34[ ]+lea[ ]+\(%si\),%esi [ ]*[0-9a-f]+:[ ]+66 8d 04[ ]+lea[ ]+\(%si\),%eax --- a/gas/testsuite/gas/i386/lea16-optimize2.d +++ b/gas/testsuite/gas/i386/lea16-optimize2.d @@ -10,6 +10,7 @@ Disassembly of section .text: 0+ : [ ]*[0-9a-f]+:[ ]+67 66 8d 04 08[ ]+lea[ ]+\(%eax,%ecx(,1)?\),%eax [ ]*[0-9a-f]+:[ ]+67 66 8d 04 08[ ]+lea[ ]+\(%eax,%ecx(,1)?\),%eax +[ ]*[0-9a-f]+:[ ]+26 67 66 8d 04 01[ ]+lea[ ]+%es:\(%ecx,%eax(,1)?\),%eax [ ]*[0-9a-f]+:[ ]+67 66 8d 48 01[ ]+lea[ ]+0x1\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+67 66 8d 88 00 00 00 00[ ]+lea[ ]+0x0\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+67 66 8d 0c 25 00 00 00 00[ ]+addr32 lea[ ]+0x0,%ecx @@ -21,6 +22,7 @@ Disassembly of section .text: [ ]*[0-9a-f]+:[ ]+66 8b c8[ ]+mov[ ]+%eax,%ecx [ ]*[0-9a-f]+:[ ]+66 8b c8[ ]+mov[ ]+%eax,%ecx [ ]*[0-9a-f]+:[ ]+66 8b c8[ ]+mov[ ]+%eax,%ecx +[ ]*[0-9a-f]+:[ ]+64 67 66 8d 08[ ]+lea[ ]+%fs:\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+66 8d 04[ ]+lea[ ]+\(%si\),%eax [ ]*[0-9a-f]+:[ ]+66 8d 34[ ]+lea[ ]+\(%si\),%esi [ ]*[0-9a-f]+:[ ]+66 8d 04[ ]+lea[ ]+\(%si\),%eax --- a/gas/testsuite/gas/i386/lea16.d +++ b/gas/testsuite/gas/i386/lea16.d @@ -10,6 +10,7 @@ Disassembly of section .text: 0+ : [ ]*[0-9a-f]+:[ ]+36 67 66 8d 04 08[ ]+lea[ ]+%ss:\(%eax,%ecx(,1)?\),%eax [ ]*[0-9a-f]+:[ ]+36 67 66 8d 04 08[ ]+lea[ ]+%ss:\(%eax,%ecx(,1)?\),%eax +[ ]*[0-9a-f]+:[ ]+26 67 66 8d 04 01[ ]+lea[ ]+%es:\(%ecx,%eax(,1)?\),%eax [ ]*[0-9a-f]+:[ ]+67 66 8d 48 01[ ]+lea[ ]+0x1\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+67 66 8d 88 00 00 00 00[ ]+lea[ ]+0x0\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+67 66 8d 0c 25 00 00 00 00[ ]+addr32 lea[ ]+0x0,%ecx @@ -21,6 +22,7 @@ Disassembly of section .text: [ ]*[0-9a-f]+:[ ]+67 66 8d 08[ ]+lea[ ]+\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+67 66 8d 08[ ]+lea[ ]+\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+65 67 66 8d 08[ ]+lea[ ]+%gs:\(%eax\),%ecx +[ ]*[0-9a-f]+:[ ]+64 67 66 8d 08[ ]+lea[ ]+%fs:\(%eax\),%ecx [ ]*[0-9a-f]+:[ ]+66 8d 04[ ]+lea[ ]+\(%si\),%eax [ ]*[0-9a-f]+:[ ]+66 8d 34[ ]+lea[ ]+\(%si\),%esi [ ]*[0-9a-f]+:[ ]+66 8d 04[ ]+lea[ ]+\(%si\),%eax From patchwork Fri Jan 27 11:35:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 49267 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp784498wrn; Fri, 27 Jan 2023 03:36:21 -0800 (PST) X-Google-Smtp-Source: AMrXdXvSKd4aiDd9T8dzrG2N9fJEd66fUe5+XSN/gGyMXY/RBHDUis8BbZsHdLNpY5yFrCvCT8Gn X-Received: by 2002:a17:906:99d1:b0:845:bb21:f638 with SMTP id s17-20020a17090699d100b00845bb21f638mr42688460ejn.75.1674819381473; Fri, 27 Jan 2023 03:36:21 -0800 (PST) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id v18-20020a1709064e9200b008779cf266c3si4603857eju.628.2023.01.27.03.36.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:36:21 -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=tbrE8752; 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 026B63857B93 for ; Fri, 27 Jan 2023 11:36:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 026B63857B93 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1674819378; bh=UbbME0CGg1zFcvNLOKqNbvVuTtr4Q/UIc8XpryO7FQ4=; 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=tbrE8752X5wm8a5IGNkesiriIN7sWX5oyBxCBarUAFKBhlEhnFKDFzigzCLgfGs5g TA0713yfqxWOLTK6BTqKtZbjx4zG4ch6rq4rrEqvuAy7Uh0CqoNjO2rOhGVDtkMm8V REPSW75zrQFujTBdYwnAORzMGsKtcUvupiuMatCQ= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2043.outbound.protection.outlook.com [40.107.247.43]) by sourceware.org (Postfix) with ESMTPS id 7256A3858404 for ; Fri, 27 Jan 2023 11:35:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7256A3858404 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W+5J48MZAugEHAEIiv5No2SnQwQRvlowY9P/0ogx05JtlZk5+aSPmvy099PAOP8tMXw7t14wvSsEH9Ru44PybGfIIMPT2orZKVw+QYagaT1HVHLBvq+De0H9HHHyZRP4en6yFfmS3/ihH91eLdQuC5GzalV4x54k84wJ63RLhNcWDjSO/FvCtQw5WJ3zmKu/Cnj/62SaUi4N0O3gFRyl3IwPcMbghaWJwoAO0FgrLoZlIPvi/aDtQECjca8LgPiJXGKZE1W+nhCP6iFk+nnW5YbvQ01xKRShyZZqPSt2C/z0lmSEcdx/JV9hddoADw+ZBiQJy8/PmWmUZbZOjVeQ9Q== 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=UbbME0CGg1zFcvNLOKqNbvVuTtr4Q/UIc8XpryO7FQ4=; b=Ho8PTAbChrjNwq1h1dhcXwu8P7hreJnt1oeigwPgehPIzbBeyjiUqqICFKQ2L9YPo9780yuwcVsEz79/DLtqkk9dytgmuBEvc5O1SEg9GHlBtPrEp/X4ixnjVoa2EVRyB9GeQ1qpA0f07vfFPeeG6Pfi1WRVZbuMCtYdkbJTG8hsPFd/UOFw6IusgxbvX5pIbgc44+ccgiLEnSRDaLXwr3kDbauBh0LpV/9h1BAYw1GRzlAGgucPCKtvl7n017A1ARnAnfuyjCGxdV3Fhgf1B5EC16PhOLUXIPeG5+NZ7AzgO+S4doWpuh124H+O0TBWh/9ui6eyG3Swgq5kCJCqhA== 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 AS8PR04MB8136.eurprd04.prod.outlook.com (2603:10a6:20b:3f7::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.23; Fri, 27 Jan 2023 11:35:35 +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.6043.022; Fri, 27 Jan 2023 11:35:34 +0000 Message-ID: Date: Fri, 27 Jan 2023 12:35:33 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH 2/3] x86-64: respect {nooptimize} when building VEX prefix Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR0P281CA0106.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a8::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_|AS8PR04MB8136:EE_ X-MS-Office365-Filtering-Correlation-Id: 3f8a346f-650f-47b6-ba49-08db005a9a9e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dxMt8SJUBbmxZaI5dZ9Zb7LPha+EVeMA2YpgY8Bf5R3v9nfD2XxaWBisHEV8w2tUY1kVHsGC6yGV9yA7DsckURpfaaQYTmMWTjO27LZV7WV9m7qjmgOVvwvYXrccV8z1uUwthF1bUTx1Edt5h0ki217eDR4VO2/4l+UuJ1SsOMAYkNdE5fyrQO+saWKEY8zXxQKDnrGB0mTqvXd20iwhp5NAaULSJb1sqsbG9QrqmPRdpYYVlf01GYPlCSpZu7ajKmB5c8z7S+A2xWEqTN36gzL3SxBmsZHnhmxJ9nM/6KyqvAn1xZFYHxGUag+Ur0zHQN5/7WcLHG9XkEpVXvtp+UW6IOizU58tp6cb4GjXD2GFhJByQ5KrvXrf9sahVSCoOc+Ks/+thBeE1hGGYF7JgHhCbaFHrhNInRrUVF26OBpIuutmavkNkHS1xu/11waN/ZMg2G5jbqg2Z6FfQV0vrNjaO8DnC0f2btnzt60iajggRItM4ZAhI9s5VuOPhry5TJRX6kEqnBrOk3iZxWyZnAKb63qRwHYgq2PL3AhHpijzz9R2JFHd/UK9yysugxQm6wFFwy06dIiY4NnVQfSdO6TOtSWwlqMLmV28N40bAxsGiynPdL/YQnATKxRf8rlhOAEyPXG9RgJ9Q9zPSHqkHLhrRnUfo1g/viAjVMj6HAKNi+74mOOLa516z8FdPLHDYgzht3rm+PY7sAzKPUp3RzZnaTXF+iZMkuX4eF3WW9I= 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:(13230025)(346002)(376002)(39860400002)(136003)(396003)(366004)(451199018)(31686004)(6506007)(5660300002)(2906002)(36756003)(316002)(8936002)(41300700001)(31696002)(2616005)(4326008)(6916009)(66476007)(26005)(66556008)(186003)(6512007)(83380400001)(8676002)(66946007)(86362001)(38100700002)(6486002)(478600001)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Dtp8Ey0EVFOvNr78f/Fuzy0PbEWv?= =?utf-8?q?4KU3tXPmuvM0gHY9gAFK3D5osxEPHDZL4W+GBHrR+C0hHdm4ZD2x3Y6vRe4HmgdM0?= =?utf-8?q?1dQKfL9S1hjgBw44WGMUTFiXvqkSDjKU6JXzjP3v0Bw20BpaGN0DpGhLuSrsTqFuu?= =?utf-8?q?DowWU0dDKfthFi99RVTwmSh7bTsiu7LHwAvfHcCER47ra6ZZ4AwHYPzLpnIAMGkYS?= =?utf-8?q?us/NHUqwWYTIKBco4gpXCm4GnT1KvUtYWP+VYSy8J9qnmWRkgWi33w2Xxiyz24gMH?= =?utf-8?q?qWIs4Tub5BrLIoLA9yHL+5GDCUP5X+h4zoWwmd6VZ/2CP9ezKyeXcZk7AJ3LQkSHH?= =?utf-8?q?HJ8FA/FVMJs9baqoPoIRI6PicVUNJd/RZyTNmJ9sf6+qamDF4mXiylT5koQIoTz22?= =?utf-8?q?7BB9ytseES4ac8Wg8OXfwLPXADoFH7FZdX12QI09MvGUnPVPYU0ir5qey2tGl5Sf0?= =?utf-8?q?8hTsosbp36sVpFYbXqBYLhZ2n9YVKWl+vs/aftMLxOwhXWGLcFW86I05if3TJYLvM?= =?utf-8?q?1fenlP7eBzCwVSU76XJoeT6raf4Hv0GhgWchBSUJPjaV8y/g+HP7eJozHpKO1vIaU?= =?utf-8?q?w9sZeFbFo5+TOQcpcETmlChv3BnLsdsATx41xCxrQkjOUwDIvYGKbhLUWqaMxhJYy?= =?utf-8?q?cKkLdHBmudGI/U9cBvz94V7K0Zga7SzckDERh2XrAM5qs5muoTFj0btsT+J6Tbbj9?= =?utf-8?q?PEca8/cJAKw8v8nDD/Id9x/NE2/b/p0g+iAH1wUS+4CbuNfzJaZktCf6P0v985Qc0?= =?utf-8?q?t1Qypg7ePiej0vBBbyc7+B9zCNQxI4A6jlWws9SQd4kBDFqUS36xfnWnB0rm9b5bV?= =?utf-8?q?akXsUs+J3QSIwoVkgc99EyVdCpa19p/tU9yFiGsWMrcsIRFgMzdfvaCna8/M71gNN?= =?utf-8?q?ZefvL9OaBs41Zxy9VSu0Zl2MZa/oMZ4QAutSYTG+66+dteE6jhAODPGd8kKG/9xJM?= =?utf-8?q?O1YGpdvXCG6ZhykVYuTT5LPqVu6fbsRA5Qtk0nrbjPT0aiS3RMAYNHtB/zIXGUsqT?= =?utf-8?q?f4qVuObgfF7i+brvG+Ju3gVw8577SJL9eYBuBzPV9OUCtcuycLZJk8l8BVH3o59/r?= =?utf-8?q?MqYDgKGVT41y7nlfKNNIZZG4MLevGo7ocjX/JCnq9BwX/KFcVUo0VjpeDudFbzvmw?= =?utf-8?q?7/66OPkfxvLjmIl44idym1bDxPAnFL+42PMdIrw1g3Sxo6mzz4ZSZRyf6B1aAHy58?= =?utf-8?q?9op6KFKITSDHI1uR9LjPCaf5vW6r7yr4415ssCh1W54Mx9TkxUWMCGy5x+FmCpFxC?= =?utf-8?q?WCNpTg/4533E7uNGWy0GjjqHVcJM1l5kW0B5I5w8ALmBWMvx0B49+7z0GsEz3jeiC?= =?utf-8?q?boyNLWScWFIJYIfkp13A4PU+lHoRgdJOCekGjHkBRMSiK8YvDwCDis9izqFedoSpG?= =?utf-8?q?V+j8V+OoKz7ALWw4ALrvCkq2mbeiUqcaqXg+S2CBXNvriQEfH+Yz7pmULaY0yx54G?= =?utf-8?q?JsMNwlwKUJGLtvidc7MSVd0RpYCb/GQ6oZKj/T9D9ZC0eihzg4XVx8W/a9jXVlhMW?= =?utf-8?q?7DzacLWeMhB9?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f8a346f-650f-47b6-ba49-08db005a9a9e X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2023 11:35:34.5769 (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: eW5S8z/is6LLvgOOYFBJ+XCpQ8rPC9ynou2N3MlpxxAa1DK0Nps+ByxmJjiqDh2/HR6+MGwnLqXiDppSND9qzg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8136 X-Spam-Status: No, score=-3028.6 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?1756175407938571133?= X-GMAIL-MSGID: =?utf-8?q?1756175407938571133?= Swapping operands for commutative insns occurs outside of optimize_encoding() and hence needs explicit checking for a request to avoid any optimizations. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -3624,7 +3624,8 @@ build_vex_prefix (const insn_template *t && i.reg_operands == i.operands - i.imm_operands && i.tm.opcode_modifier.vex && i.tm.opcode_modifier.commutative - && (i.tm.opcode_modifier.sse2avx || optimize > 1) + && (i.tm.opcode_modifier.sse2avx + || (optimize > 1 && !i.no_optimize)) && i.rex == REX_B && i.vex.register_specifier && !(i.vex.register_specifier->reg_flags & RegRex)) --- a/gas/testsuite/gas/i386/x86-64-optimize-4.d +++ b/gas/testsuite/gas/i386/x86-64-optimize-4.d @@ -9,6 +9,8 @@ Disassembly of section .text: 0+ <_start>: +[a-f0-9]+: a9 7f 00 00 00 test \$0x7f,%eax + +[a-f0-9]+: c4 c1 61 db e4 vpand %xmm12,%xmm3,%xmm4 + +[a-f0-9]+: c5 91 db e2 vpand %xmm2,%xmm13,%xmm4 +[a-f0-9]+: 62 f1 7d 28 6f d1 vmovdqa32 %ymm1,%ymm2 +[a-f0-9]+: 62 f1 fd 28 6f d1 vmovdqa64 %ymm1,%ymm2 +[a-f0-9]+: 62 f1 7f 08 6f d1 vmovdqu8 %xmm1,%xmm2 --- a/gas/testsuite/gas/i386/x86-64-optimize-4.s +++ b/gas/testsuite/gas/i386/x86-64-optimize-4.s @@ -5,6 +5,9 @@ _start: {nooptimize} testl $0x7f, %eax + {nooptimize} vpand %xmm12, %xmm3, %xmm4 + {nooptimize} vpand %xmm2, %xmm13, %xmm4 + {nooptimize} vmovdqa32 %ymm1, %ymm2 {nooptimize} vmovdqa64 %ymm1, %ymm2 {nooptimize} vmovdqu8 %xmm1, %xmm2 From patchwork Fri Jan 27 11:36:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 49268 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp784855wrn; Fri, 27 Jan 2023 03:37:18 -0800 (PST) X-Google-Smtp-Source: AMrXdXsD0+5RcuWn0JDm9ypW6l+zwl5xaKjHxAdPlYvoJnggprzqBVhSf2ATTXeRLqH8pCMRBV+g X-Received: by 2002:a17:906:8d08:b0:86f:e30c:72c1 with SMTP id rv8-20020a1709068d0800b0086fe30c72c1mr45185876ejc.8.1674819438557; Fri, 27 Jan 2023 03:37:18 -0800 (PST) Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id d4-20020a17090692c400b0087bdb28557esi1020423ejx.736.2023.01.27.03.37.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 03:37:18 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=I4WxqwHO; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 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 80CFF3858296 for ; Fri, 27 Jan 2023 11:37:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 80CFF3858296 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1674819437; bh=ZcyqSlwY+T5ICemcTwElBmEjgD1q5lHRfxzOarD9P04=; 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=I4WxqwHOHX8VLpu+PyiR2E/ndybY35uPkL2Hz8mUaDHZGs6UL8Y6llYXmCun1BdIw YmHCnCQX2yzvgTmHKPcR+1RsGiojnqsEmx9EUCE7QgGstt6uAG6VAmz7Z+8gyWA4RH wAalhec/RmfRtJ/amh+x5h+9/Ateo219am/yuO6Y= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2064.outbound.protection.outlook.com [40.107.241.64]) by sourceware.org (Postfix) with ESMTPS id 5EF643858430 for ; Fri, 27 Jan 2023 11:36:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5EF643858430 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OAEgGn/MnzzIYV4ZdVAb5vs/zkLIjEhsIz1fWGVbFS12q0Ll2/y0qXMRNvwLgTSogQlu7Bkcpc6KyqU2p0jKt8oxFaX7+TB97CqE7x0FOYotswjvey5R3oKF6eUZOgyIHxLXdlx/2i59EhIHrxeN/Wgkp353M6NmwV9cmWt2SDhQhvD+/T1YEGq4asqGRztA6wWlOgnpeiMD9SiJMWESt5pXRXGGcSiCHZqRyjLMh/M+8BjBl3I7S3Bzl4oUSGyZdcUB5JfepVCOSu8IA9s8dybmSpsteI8xT0o9LvPXOXdWodMWsAXDgN6qJul6yNIAuTjshuTWEzOt4u4vgI61Tg== 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=ZcyqSlwY+T5ICemcTwElBmEjgD1q5lHRfxzOarD9P04=; b=ZYmPXUjHJ9P+C3ejCDOKlxgBRsY0FgqqZ7aZSM19lzCAPCj39PduoBGmjyiRvVvMN8wC1QLfm/xzsVSziaYV43bZuKzoWiwvyU+2GtFee8Z6luslOWeW75/TODl+4NpxixClo0VTzEPhliU2sCu1VFCDoba6XpL8qKBUtL0LnZiy5YGiyyoWWaeaBxjbMvILP1+fG1X25LAZYT7d3JvCe8yu+yY5eR5W6kCbrWyGoNSF6Cse+EyPDUxWvb8OTC91isW5+apsknUndXZNgbeo1Hp1tveLH+RqM+6RGPVmjY5x5dKoy8VrTXrZFZdXmB72q/p5/RncT2NiFt7hJ2WvvQ== 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 AS8PR04MB8136.eurprd04.prod.outlook.com (2603:10a6:20b:3f7::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.23; Fri, 27 Jan 2023 11:36:04 +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.6043.022; Fri, 27 Jan 2023 11:36:04 +0000 Message-ID: <44b896ee-5b03-1ed6-bda2-8cffec382810@suse.com> Date: Fri, 27 Jan 2023 12:36:02 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH 3/3] x86: drop LOCK from XCHG when optimizing Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR3P281CA0118.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a3::13) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8136:EE_ X-MS-Office365-Filtering-Correlation-Id: 87ca9490-8114-4570-c85b-08db005aac33 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zwglEKkS3/Fi35142InXkyJK08X/F5m9Pj6LfQX5KAcl35RCmG/QDTx3Imgf7wAz/AUiue2ntqeTgufxUX3KmK/AYEBYSFFlzXnFy7b33i8tNcGhdOulyZw0wnlNWZEZbYdNEt4sDvXEaM/YbgdZA6Qx2N5uJcY+QG0qi6LX8PhcM5IKVtEJzzWB22wenJCp22EpGP4bzcGbqqGjYFoQr6K3AbjSCsTm/hntdpwcL9M1WZB3+dfd2P0xH9n2/LFfsUEY+/ke78r8osmDKmtnwilATVOFxO9jgZe/Mb4Uwh5Z+f5oEfYfTLgC9MnsG6SBjYMBzNEUhX15xmgRgpmtHivuK62Vjk5NqJG2w+LOIpj7KqRZsPD/8W3hqlg1L7s75FiIEOtKli7BGHAX5FVtWJvfu7Fo+n5/nRneIwzG74aoJyL1N8YHrtlnMuy0ij5LRRefmaXYvRhpNpfXpcnxO/HNXvcnqTq/3llK6RCHIuXy/Okb0kFkOFpo4uViZY3bC4ajTNvV4hxfvoKqkU+ERJ/b0jTdZMQcNYDRvA9zPKvM0QF4AV7JbXfmiZC3ej+cKAkbju771FS+gpk4X2CwoO/3cvEYft8JqUGZiNiFUVQN5+S6FpRroFBxTEbwovd3vHDw9pCdpNP2I8HiJLTm5t7uK8igXBdjJVza8amHcQaRQWJeKOGcANpJ4unvevnxBaw8iPnmsm7I6X5KKp3gy6KSGxvEm54WRtcpeJOhC20= 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:(13230025)(346002)(376002)(39860400002)(136003)(396003)(366004)(451199018)(31686004)(6506007)(5660300002)(2906002)(36756003)(316002)(8936002)(41300700001)(31696002)(2616005)(4326008)(6916009)(66476007)(26005)(66556008)(186003)(6512007)(83380400001)(8676002)(66946007)(86362001)(38100700002)(6486002)(478600001)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?cmH0gnI7SEGAdnXzeqSdc5aia1qd?= =?utf-8?q?BIkmWYn2MMDHwJOBzBbP2u9KsWBPNcXaeOWpJa93yRM0sw4Gap4mpQ6LDLZ8D+Ha3?= =?utf-8?q?YdQWBhkVxA0jW+WTAt9sCCVIGoU2XqPYMmIJC1fuWSM7s9E7Kh8m2n8lPAsOYa849?= =?utf-8?q?KyfuzsOdLZI7NjxcuhSR7oGmOkfE8wibl8Px8fT9QAxaV0F7ert8N7cDMjrfOtKf7?= =?utf-8?q?w/LMzNqljIN0SDMdIe02VSvWZ+eT7fwTFAhqq0EoyJ7jA3bx15EG9zQXXmw/TshHe?= =?utf-8?q?6oIq3ecAXuZo01coVcubjsAJ5mRmdTwG9zZA4jZNwE6k9DoPCyrb872tS32t/UKn6?= =?utf-8?q?FnzOwgQLZH9sj/HtQV3KvIxNiQHyKvNHrKnPnE9z9ztl7NAZ2s9eLrfB93vAW9nbd?= =?utf-8?q?1jVDj2zIv9lQmN4L3HZ79RiLN74TrlVDXLFYtNuc/yzCptnFtJw5meMGxdk9JW95G?= =?utf-8?q?iwt9IFpoTw0OVcG5ek1ao+mpRJ4WHRcI/ZJocb9rUo/zwfqzIxua7v9pwfyDRmTUY?= =?utf-8?q?eXaNaO6Z3aEjqN7vTbftw0sz2or/tgYeAHf3CjbDIOuRa3b9qS67Fk0ohNYZ8thJ3?= =?utf-8?q?Y7l6yE4N9LoDZam5SgtyyZ+PatH7ZwNDW7oCrIaFWtB8/tyril5GE0X5B/tTQtNCM?= =?utf-8?q?BvdxoUwbSpgj0i9y0ve4KNmyX6U3dilUe6M6jbspvFeaYGkLagDm8nJQTe9NQ+EhC?= =?utf-8?q?yZPP+s5zlMmYALip58jvzmozRYzF2L/cyLbi7ObMGZr1f0rCAj3iuBkqrDZerhHaW?= =?utf-8?q?URaKuWcXS+uh2+0/R8xXK0ttKprK0NEmsvyYbhIWSBHRPQDRMvwfVircTSiNBgS2T?= =?utf-8?q?PFu7HhWK4j9z76dkXkb44NWx3oWOYcjsMRukM81uNX8IQFhREUkcKG4Fyr1XiS1UC?= =?utf-8?q?qKO7ZY4HD8gCn2nedONUx3uegeudubJIefxT7fRB9IrLEDbOqaVobuijzIQzAE8gM?= =?utf-8?q?Kvqs1fDcnaqW9GiStOiOYxJBbkzkvUuG3n7Gy3A7dEbAoRIbQh40p/wsYy5bn0844?= =?utf-8?q?eqP0ttGSiJwQFBDtB85fP5xBMXqh5UMKZIqV5rR9HvHFrrMUnvwTs8Qcge4N0iJZM?= =?utf-8?q?Bh6QqrBECX33pJmr4zvgfNLdCaJ3XGcdzy3BqwCcbGb7xdgXjGUywlMtDKPreOu0u?= =?utf-8?q?RBuj+L37vNHcUkV7WfHn5/xODiow0P9UR9xSp6FcEvvrle4oNwLEDBkp0D3hon+M3?= =?utf-8?q?/Zd+IHWmgvdweMQN9zv+qw+hKB/X2CDc+6DrESGONUESFrz9vWWLR9py+tnbDJcjb?= =?utf-8?q?9mWx6jv1T2NkcxcsntwhhGLq6LOHEQOTiyB0pthEfc+2i++AiiBBcQZGqO/AWi6ZS?= =?utf-8?q?biemPxAkUzqaL2EBxIbzRkfJI2jr4SD4uV4S1UujwpQ+TjFoEl7c6gy5D9I6ZN9Yg?= =?utf-8?q?GNMDS84xVI4WBiWO7BKhO4NFiCUg8skQyM1E3p2I092M/HlMRwtxwhhGpotehgJGb?= =?utf-8?q?lqY7Rig+u5G041eeDdc4a3dl670RNPwyfSu8dQOVdRE2WIkx9sttKXa/gN+pJVmo2?= =?utf-8?q?u3CGNEOyO+Vw?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 87ca9490-8114-4570-c85b-08db005aac33 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2023 11:36:04.0907 (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: AMDuaZ0A4RecNbzTSAruS+DZ7vnUcblP5//Ks4/1qoA9we4VsD1zQz9+4rbkdur8jzm6AxzyfDj2hYySkCDX7g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8136 X-Spam-Status: No, score=-3028.6 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?1756175467512120363?= X-GMAIL-MSGID: =?utf-8?q?1756175467512120363?= Like with segment overrides on LEA, optimize away such a redundant instruction prefix. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -5179,14 +5179,20 @@ md_assemble (char *line) /* Check for lock without a lockable instruction. Destination operand must be memory unless it is xchg (0x86). */ - if (i.prefix[LOCK_PREFIX] - && (i.tm.opcode_modifier.prefixok < PrefixLock + if (i.prefix[LOCK_PREFIX]) + { + if (i.tm.opcode_modifier.prefixok < PrefixLock || i.mem_operands == 0 || (i.tm.base_opcode != 0x86 - && !(i.flags[i.operands - 1] & Operand_Mem)))) - { - as_bad (_("expecting lockable instruction after `lock'")); - return; + && !(i.flags[i.operands - 1] & Operand_Mem))) + { + as_bad (_("expecting lockable instruction after `lock'")); + return; + } + + /* Zap the redundant prefix from XCHG when optimizing. */ + if (i.tm.base_opcode == 0x86 && optimize && !i.no_optimize) + i.prefix[LOCK_PREFIX] = 0; } if (is_any_vex_encoding (&i.tm) --- a/gas/testsuite/gas/i386/optimize-2.d +++ b/gas/testsuite/gas/i386/optimize-2.d @@ -22,6 +22,8 @@ Disassembly of section .text: +[a-f0-9]+: 08 e4 or %ah,%ah +[a-f0-9]+: 66 09 ed or %bp,%bp +[a-f0-9]+: 09 f6 or %esi,%esi + +[a-f0-9]+: 87 0a xchg %ecx,\(%edx\) + +[a-f0-9]+: 87 11 xchg %edx,\(%ecx\) +[a-f0-9]+: c5 f1 55 e9 vandnpd %xmm1,%xmm1,%xmm5 +[a-f0-9]+: c5 f9 6f d1 vmovdqa %xmm1,%xmm2 +[a-f0-9]+: c5 f9 6f d1 vmovdqa %xmm1,%xmm2 --- a/gas/testsuite/gas/i386/optimize-2.s +++ b/gas/testsuite/gas/i386/optimize-2.s @@ -20,6 +20,9 @@ _start: or %bp, %bp or %esi, %esi + lock xchg %ecx, (%edx) + lock xchg (%ecx), %edx + vandnpd %zmm1, %zmm1, %zmm5 vmovdqa32 %xmm1, %xmm2 --- a/gas/testsuite/gas/i386/optimize-2b.d +++ b/gas/testsuite/gas/i386/optimize-2b.d @@ -23,6 +23,8 @@ Disassembly of section .text: +[a-f0-9]+: 84 e4 test %ah,%ah +[a-f0-9]+: 66 85 ed test %bp,%bp +[a-f0-9]+: 85 f6 test %esi,%esi + +[a-f0-9]+: 87 0a xchg %ecx,\(%edx\) + +[a-f0-9]+: 87 11 xchg %edx,\(%ecx\) +[a-f0-9]+: c5 f1 55 e9 vandnpd %xmm1,%xmm1,%xmm5 +[a-f0-9]+: c5 f9 6f d1 vmovdqa %xmm1,%xmm2 +[a-f0-9]+: c5 f9 6f d1 vmovdqa %xmm1,%xmm2 --- a/gas/testsuite/gas/i386/optimize-3.d +++ b/gas/testsuite/gas/i386/optimize-3.d @@ -9,6 +9,8 @@ Disassembly of section .text: 0+ <_start>: +[a-f0-9]+: a9 7f 00 00 00 test \$0x7f,%eax + +[a-f0-9]+: f0 87 0a lock xchg %ecx,\(%edx\) + +[a-f0-9]+: f0 87 11 lock xchg %edx,\(%ecx\) +[a-f0-9]+: 62 f1 7d 28 6f d1 vmovdqa32 %ymm1,%ymm2 +[a-f0-9]+: 62 f1 fd 28 6f d1 vmovdqa64 %ymm1,%ymm2 +[a-f0-9]+: 62 f1 7f 08 6f d1 vmovdqu8 %xmm1,%xmm2 --- a/gas/testsuite/gas/i386/optimize-3.s +++ b/gas/testsuite/gas/i386/optimize-3.s @@ -5,6 +5,9 @@ _start: {nooptimize} testl $0x7f, %eax + {nooptimize} lock xchg %ecx, (%edx) + {nooptimize} lock xchg (%ecx), %edx + {nooptimize} vmovdqa32 %ymm1, %ymm2 {nooptimize} vmovdqa64 %ymm1, %ymm2 {nooptimize} vmovdqu8 %xmm1, %xmm2