From patchwork Fri Nov 4 10:52:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 15468 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp318016wru; Fri, 4 Nov 2022 03:53:43 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7qshi0oGUlwr8CG7MD3FYPvUUY3micTYF/ouYWqIajP9ldWp/k+XskeeLxnVEujre1vW7/ X-Received: by 2002:a17:906:6a1b:b0:7ad:ba1e:879b with SMTP id qw27-20020a1709066a1b00b007adba1e879bmr30622910ejc.311.1667559223659; Fri, 04 Nov 2022 03:53:43 -0700 (PDT) Received: from sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id x2-20020a05640225c200b0045a1e2373dbsi4369717edb.44.2022.11.04.03.53.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Nov 2022 03:53:43 -0700 (PDT) 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="FgeLA/rE"; 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 2628B3858027 for ; Fri, 4 Nov 2022 10:53:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2628B3858027 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1667559213; bh=CFpsqw0CyueuogK3wRKwChsU/YAdjJfeNlKPkt5YrpI=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=FgeLA/rEIDvdWkM7VfMxMS/UHtBTj7RNdq1Jkxd+LRXyoQE/NydpWvp4YaYhm2yWM /hIyVojiUfyt1c0parMpz2ZupnahZppnGCHWly5yhBtSG0crEj17iN/iA5FCn8ZgyA 04+hIbhRFRRm0jGiY1qGBwpfGoN0KrjxOU2LDbIY= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60044.outbound.protection.outlook.com [40.107.6.44]) by sourceware.org (Postfix) with ESMTPS id 018E13857BA3 for ; Fri, 4 Nov 2022 10:52:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 018E13857BA3 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SvQF9M0NYYdeklYdzisNNe76TiosalqJtTwXg9SIHSV7o9Umho1lV3VPF9pysEkflrtrllBZVdm4lB2ke230T6pLpB8FG59C071Dl8kBDsJEjeaOjjRphTzI6ymVI9A0ir0pUFCyLBp1i98FoNAma9p3YnFgMu9VNF3qsNFD0CwyOAd99WJKsUmizKRudFFoagEN3cYQsU+eSEI4alqlqsrT4HlmJtvV9wcSF2ckbeiZEx3Jhen62pvxkg439+DkfqR+28e3l3ewMXc3EU+d+EmidwXp98erF6kLOajwlTzshMPditAHvb+bWqhPYvvHblppqHxTVqdwmIErE6knpg== 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=CFpsqw0CyueuogK3wRKwChsU/YAdjJfeNlKPkt5YrpI=; b=iiOUWeLPsGWUIGCkXbC5EqWi6XQm9Sop+BUD2OXgbMxCndeDcaCjD0lMufZLLaN8Gp9oJiccqlPOwD9f2PcrCYXXN8k/FgAFtdf0xV/o1FPeHoOQwLbSkuxRp1KBWC7QIF5KgkmQrZEsQPtZ6uKJHl8JGd5o23Ebdx66ddrxrjKWvpv9gFmggbW9b8E/irwD3/c7UIr45uIuNL9h1m5R8Bwf9pKuWjRRwnzsSJDl9+Ywm1rX30P3NTvJLbStNX/Z2F12TRlCcHWo/ge6mXMBSpu57SwOtKJ/4teTANmnDriodE3xoY0QwT3PtsEzmbxfGDietd2IG52DtxkwH7bJwA== 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 DBAPR04MB7397.eurprd04.prod.outlook.com (2603:10a6:10:1a9::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.20; Fri, 4 Nov 2022 10:52:34 +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.5791.022; Fri, 4 Nov 2022 10:52:33 +0000 Message-ID: <15ab2cf5-f1ac-e882-c415-6318f1bcc7f0@suse.com> Date: Fri, 4 Nov 2022 11:52:31 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: [PATCH v6 4/7] x86-64: allow HLE store of accumulator to absolute 32-bit address Content-Language: en-US To: Binutils References: <6d71dc80-91c8-7bc8-c57f-4f771ca59fab@suse.com> In-Reply-To: <6d71dc80-91c8-7bc8-c57f-4f771ca59fab@suse.com> X-ClientProxiedBy: AS9PR06CA0168.eurprd06.prod.outlook.com (2603:10a6:20b:45c::20) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBAPR04MB7397:EE_ X-MS-Office365-Filtering-Correlation-Id: f2ef312f-361f-459b-43d4-08dabe52ad40 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EUlOPDZihPJClbiPuGF0TGJ3cRetVRp8G6zOWfr95fL1D1MhyyHZtP1/z/gWSlZJCKTcgcFBHidJ1yyCiG53BWM1Ws02nrAR1U9dxKqLMKIoQkq1rQirw/Td0Y501andFstRGXKol6GKhzizLhARRaYBVRSsald5cVy9iodMzEzWNb7imsq1fWsf7q39YZkawSb51reR+E0c/zwIZurxe09qqJlO6Md6wEjT8vV0UcM8JuSZR95j9HKbhcbjpY0u1QCsQOzkQ2kBx5H95jihdzkh8Xj7v9oMBvbfYHNgsVDpb3BHE1m6I4d0QwWUBW/xH+8R52+rkLKSlkl09cxqSHxHY6G/ymY9R8O4tmnDxasLCrSUbuQeD8kZ/ef6I0Ab5PGw59o8JF/0+SFfxEK2eUn7Kn5Zb6qNSE6FhzZVkhROdWGIvUXVrNdNsj5vdhdV5Tf41F39m8L07Hfvk4xhQ3xkwkc2/z8tzBdbTVF0J39YFBnCTw5sUVWZIqSQV7FfV/QBjA1p187aBOIggu/CPOFp6nmE7KiD5sF4eNOgFZdZ30SgnVrBRBf6ZKvKV45wfzTJt/Zj+98OH6Bwd+/huIFgBwsh087kMBY+DeadVPa80pnYHWZermQthM+60Yloc6mET1JgmjcNP9odBqUn6u1EfwqL8hs4sWnS4uCzkDR2WvFjvHEiTZu1dVPDQe9/XDsqIBlOUP3b3hgXUmJyy9OH2NKz4Esy/Kv3ahnUiuZ3y/xqEmd3wnEww4YYJobTr46703M1ZNpx7IQQEN2Ry9W0GQOFyHiFbMYJirCELJE= 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)(346002)(136003)(39860400002)(376002)(396003)(451199015)(316002)(478600001)(6512007)(31696002)(86362001)(186003)(6486002)(26005)(83380400001)(6506007)(6916009)(2616005)(36756003)(2906002)(8676002)(8936002)(41300700001)(31686004)(38100700002)(4326008)(5660300002)(66946007)(66476007)(66556008)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?ZGQEloVVaSGgOB5yyJS/H1MMMSLl?= =?utf-8?q?1AcXbWza2vBXpWe7Yk3vUX+yYt+aCFr2OD9hZXHwMpoacq9XoA7DC6ICivxCjd7JT?= =?utf-8?q?oJco7NxXK85sMTbclYmTxN84S6CD/F1LIlQq8u9Wm0VMNa5MTBXmxA61WnX7i6Pd/?= =?utf-8?q?+qHcr1/cKWcysT1WwFe6TL4Qcb/v3ML1S68+vCvGFJDCGfq+JeTwZbRm5jWDZj/o4?= =?utf-8?q?GDKeUXDbDn5e2f+a4GgmPqRvE2QjLMOup6mijh32cEeB+dZzD0tVB8LKDLw11XJFf?= =?utf-8?q?6Lu5Rek4r/gMnXLAzVTQcAW6xQ8BVkF/162jp1nIEf6q/VNbLTqbASYzEnTv/CcrA?= =?utf-8?q?qXU3zB6UPd+Exq12bwC3FMPXWk7E3NYCyzQ3fVUBARuLucviNRlsfQZEtYBVFbjvL?= =?utf-8?q?quGsrMtZECNmgQIV9+zAUSPHi4zCnKJpuwcqYv9i+oLa4DhuGi4DdT7Qa9DtBsrYJ?= =?utf-8?q?Rgq2LrtlztmmM3qKOWzYHDyeapP6T5C7+REGYQi4FVu/MUFVBfg+wS5dzkRpig8gJ?= =?utf-8?q?pJ6WOF44j0Lx63ErlAm3YSM41WQ2I0MafK0okI004pcJsvD+7drwmMUi2R330jKwt?= =?utf-8?q?hBc+KOe7DT36Jag72A5nzsFGC2pwzzumHqnCWufhijvDdj/2NeA/sSeKkQ3f5l6Xm?= =?utf-8?q?EV+MlTtbmDWT/GRxxVWJzTs3tbkKiR9gB96MA39QOadHUYtEcWf8olLMRfY252GMR?= =?utf-8?q?QAhjj8+TJ3dhnir7hRDMn6jkBIqw4XT9hz9BY1e/6DgLtpAnWdNtj20c+AOjEGIWg?= =?utf-8?q?mA0KHn+AxkZ55JakYc0Bf7fxxnTTcyLP60z1GHBIy6F0UiUh0xu1yCLydmkqXL3D2?= =?utf-8?q?TMPMvDY12L7tLMu8rxQMv3WtVu1R7XpjW3jSxoPtLxWoK61uNl9yCc0YW5uWmXn/S?= =?utf-8?q?aSrC6yvV7kaqxwbZzzzfespKEo7zaZKxKmPbN3ELKmBHRco71xiaei/efew7ZvtXv?= =?utf-8?q?iMgEE6SZbwvhuxkIfRH7J78PsiExwyiqcRi4W/kOKucKFjTrxi9LqLCWCcDKejNvB?= =?utf-8?q?/de660XH7cgjPnr1cgKEo+Mta7n6GnoJtXRCV8m5LOEjttwUlR4OyPlmOFSrETm36?= =?utf-8?q?vTlthBZkxO1NmQLArJcBO4HQltK58n/J/+UbnAGtn33/Tjit4yw6wMFElfL5l8uAQ?= =?utf-8?q?PSWgIb1NN7rq+w4QRRdHkzrn6oOnC8Ki0NxRlPRvO9gg/0ZZ1TZ2t4AGCR+a53apW?= =?utf-8?q?krjk4j+cGxXeXsrg16x+ZiFqkQhJ9FVEEd1u0kyF0yrRBikJnqT/oypErdPLRUmH9?= =?utf-8?q?qEc8fkwJtbldj86HgXk7pYJFYP+m9MAqQ5yZQmvPbwCt7YG0a5a9gp3kK0tIxSUk9?= =?utf-8?q?9lyU6p+flSYYrbcIAcBtvbjiaXD6EosQQvYs82wFz2ASqYfLZbcAb+uJO/0kqfEKc?= =?utf-8?q?n/Xg7KKpngfUUk2GTAI0ZuE60cI5w4D7AuAY+99lBOaLm0hR6mGMC3xvdtnybCq6D?= =?utf-8?q?eDY+olhx3nnO5uZGN+FPo/sEnz49qaatssDiR9ovBl4o4aSa/4zHaGkCOix9mMnuk?= =?utf-8?q?F0XDFbJEFrLM?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: f2ef312f-361f-459b-43d4-08dabe52ad40 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2022 10:52:33.1018 (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: aDDEr5SB0mnoDP/BlkeXUg+JAToMFiLh9IZLl/bUHsmX7+wCGDDE7T1r3dvM/8taFXeEyrqT1xaK6b++JGZnog== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7397 X-Spam-Status: No, score=-3029.5 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?1748562580581263468?= X-GMAIL-MSGID: =?utf-8?q?1748562580581263468?= In commit 1212781b35c9 ("ix86: allow HLE store of accumulator to absolute address") I was wrong to exclude 64-bit code. Dropping the check also leads to better diagnostics in 64-bit code ("MOV", after all, isn't invalid with "XRELEASE"). While there also limit the amount of further checks done: The operand type checks that were there were effectively redundant with other ones anyway, plus it's quite fine to also have "xrelease mov , %eax" look for the next MOV template (in fact again also improving diagnostics). --- v2: New. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -6874,12 +6874,9 @@ match_template (char mnem_suffix) continue; /* xrelease mov %eax, is another special case. It must not match the accumulator-only encoding of mov. */ - if (flag_code != CODE_64BIT - && i.hle_prefix + if (i.hle_prefix && t->base_opcode == 0xa0 - && t->opcode_modifier.opcodespace == SPACE_BASE - && i.types[0].bitfield.instance == Accum - && (i.flags[1] & Operand_Mem)) + && t->opcode_modifier.opcodespace == SPACE_BASE) continue; /* Fall through. */ --- a/gas/testsuite/gas/i386/x86-64-hle.d +++ b/gas/testsuite/gas/i386/x86-64-hle.d @@ -424,6 +424,8 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f0 f2 20 01 lock xacquire and %al,\(%rcx\) [ ]*[a-f0-9]+: f0 f3 20 01 lock xrelease and %al,\(%rcx\) [ ]*[a-f0-9]+: f3 88 01 xrelease mov %al,\(%rcx\) +[ ]*[a-f0-9]+: f3 88 04 25 78 56 34 12 xrelease mov %al,0x12345678 +[ ]*[a-f0-9]+: 67 f3 88 04 25 21 43 65 87 xrelease mov %al,0x87654321\(,%eiz,1\) [ ]*[a-f0-9]+: f2 f0 08 01 xacquire lock or %al,\(%rcx\) [ ]*[a-f0-9]+: f2 f0 08 01 xacquire lock or %al,\(%rcx\) [ ]*[a-f0-9]+: f3 f0 08 01 xrelease lock or %al,\(%rcx\) @@ -475,6 +477,8 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f0 f2 66 21 01 lock xacquire and %ax,\(%rcx\) [ ]*[a-f0-9]+: f0 f3 66 21 01 lock xrelease and %ax,\(%rcx\) [ ]*[a-f0-9]+: 66 f3 89 01 xrelease mov %ax,\(%rcx\) +[ ]*[a-f0-9]+: 66 f3 89 04 25 78 56 34 12 xrelease mov %ax,0x12345678 +[ ]*[a-f0-9]+: 67 66 f3 89 04 25 21 43 65 87 xrelease mov %ax,0x87654321\(,%eiz,1\) [ ]*[a-f0-9]+: 66 f2 f0 09 01 xacquire lock or %ax,\(%rcx\) [ ]*[a-f0-9]+: 66 f2 f0 09 01 xacquire lock or %ax,\(%rcx\) [ ]*[a-f0-9]+: 66 f3 f0 09 01 xrelease lock or %ax,\(%rcx\) @@ -526,6 +530,8 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f0 f2 21 01 lock xacquire and %eax,\(%rcx\) [ ]*[a-f0-9]+: f0 f3 21 01 lock xrelease and %eax,\(%rcx\) [ ]*[a-f0-9]+: f3 89 01 xrelease mov %eax,\(%rcx\) +[ ]*[a-f0-9]+: f3 89 04 25 78 56 34 12 xrelease mov %eax,0x12345678 +[ ]*[a-f0-9]+: 67 f3 89 04 25 21 43 65 87 xrelease mov %eax,0x87654321\(,%eiz,1\) [ ]*[a-f0-9]+: f2 f0 09 01 xacquire lock or %eax,\(%rcx\) [ ]*[a-f0-9]+: f2 f0 09 01 xacquire lock or %eax,\(%rcx\) [ ]*[a-f0-9]+: f3 f0 09 01 xrelease lock or %eax,\(%rcx\) @@ -577,6 +583,8 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f0 f2 48 21 01 lock xacquire and %rax,\(%rcx\) [ ]*[a-f0-9]+: f0 f3 48 21 01 lock xrelease and %rax,\(%rcx\) [ ]*[a-f0-9]+: f3 48 89 01 xrelease mov %rax,\(%rcx\) +[ ]*[a-f0-9]+: f3 48 89 04 25 78 56 34 12 xrelease mov %rax,0x12345678 +[ ]*[a-f0-9]+: 67 f3 48 89 04 25 21 43 65 87 xrelease mov %rax,0x87654321\(,%eiz,1\) [ ]*[a-f0-9]+: f2 f0 48 09 01 xacquire lock or %rax,\(%rcx\) [ ]*[a-f0-9]+: f2 f0 48 09 01 xacquire lock or %rax,\(%rcx\) [ ]*[a-f0-9]+: f3 f0 48 09 01 xrelease lock or %rax,\(%rcx\) --- a/gas/testsuite/gas/i386/x86-64-hle.s +++ b/gas/testsuite/gas/i386/x86-64-hle.s @@ -442,6 +442,8 @@ _start: .byte 0xf0; .byte 0xf2; andb %al,(%rcx) .byte 0xf0; .byte 0xf3; andb %al,(%rcx) xrelease movb %al,(%rcx) + xrelease movb %al,0x12345678 + xrelease addr32 movb %al,0x87654321 xacquire lock orb %al,(%rcx) lock xacquire orb %al,(%rcx) xrelease lock orb %al,(%rcx) @@ -496,6 +498,8 @@ _start: .byte 0xf0; .byte 0xf2; andw %ax,(%rcx) .byte 0xf0; .byte 0xf3; andw %ax,(%rcx) xrelease movw %ax,(%rcx) + xrelease movw %ax,0x12345678 + xrelease addr32 movw %ax,0x87654321 xacquire lock orw %ax,(%rcx) lock xacquire orw %ax,(%rcx) xrelease lock orw %ax,(%rcx) @@ -550,6 +554,8 @@ _start: .byte 0xf0; .byte 0xf2; andl %eax,(%rcx) .byte 0xf0; .byte 0xf3; andl %eax,(%rcx) xrelease movl %eax,(%rcx) + xrelease movl %eax,0x12345678 + xrelease addr32 movl %eax,0x87654321 xacquire lock orl %eax,(%rcx) lock xacquire orl %eax,(%rcx) xrelease lock orl %eax,(%rcx) @@ -604,6 +610,8 @@ _start: .byte 0xf0; .byte 0xf2; andq %rax,(%rcx) .byte 0xf0; .byte 0xf3; andq %rax,(%rcx) xrelease movq %rax,(%rcx) + xrelease movq %rax,0x12345678 + xrelease addr32 movq %rax,0x87654321 xacquire lock orq %rax,(%rcx) lock xacquire orq %rax,(%rcx) xrelease lock orq %rax,(%rcx) --- a/gas/testsuite/gas/i386/x86-64-hle-intel.d +++ b/gas/testsuite/gas/i386/x86-64-hle-intel.d @@ -425,6 +425,8 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f0 f2 20 01 lock xacquire and BYTE PTR \[rcx\],al [ ]*[a-f0-9]+: f0 f3 20 01 lock xrelease and BYTE PTR \[rcx\],al [ ]*[a-f0-9]+: f3 88 01 xrelease mov BYTE PTR \[rcx\],al +[ ]*[a-f0-9]+: f3 88 04 25 78 56 34 12 xrelease mov BYTE PTR (ds:)?0x12345678,al +[ ]*[a-f0-9]+: 67 f3 88 04 25 21 43 65 87 xrelease mov BYTE PTR \[eiz\*1\+0x87654321\],al [ ]*[a-f0-9]+: f2 f0 08 01 xacquire lock or BYTE PTR \[rcx\],al [ ]*[a-f0-9]+: f2 f0 08 01 xacquire lock or BYTE PTR \[rcx\],al [ ]*[a-f0-9]+: f3 f0 08 01 xrelease lock or BYTE PTR \[rcx\],al @@ -476,6 +478,8 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f0 f2 66 21 01 lock xacquire and WORD PTR \[rcx\],ax [ ]*[a-f0-9]+: f0 f3 66 21 01 lock xrelease and WORD PTR \[rcx\],ax [ ]*[a-f0-9]+: 66 f3 89 01 xrelease mov WORD PTR \[rcx\],ax +[ ]*[a-f0-9]+: 66 f3 89 04 25 78 56 34 12 xrelease mov WORD PTR (ds:)?0x12345678,ax +[ ]*[a-f0-9]+: 67 66 f3 89 04 25 21 43 65 87 xrelease mov WORD PTR \[eiz\*1\+0x87654321\],ax [ ]*[a-f0-9]+: 66 f2 f0 09 01 xacquire lock or WORD PTR \[rcx\],ax [ ]*[a-f0-9]+: 66 f2 f0 09 01 xacquire lock or WORD PTR \[rcx\],ax [ ]*[a-f0-9]+: 66 f3 f0 09 01 xrelease lock or WORD PTR \[rcx\],ax @@ -527,6 +531,8 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f0 f2 21 01 lock xacquire and DWORD PTR \[rcx\],eax [ ]*[a-f0-9]+: f0 f3 21 01 lock xrelease and DWORD PTR \[rcx\],eax [ ]*[a-f0-9]+: f3 89 01 xrelease mov DWORD PTR \[rcx\],eax +[ ]*[a-f0-9]+: f3 89 04 25 78 56 34 12 xrelease mov DWORD PTR (ds:)?0x12345678,eax +[ ]*[a-f0-9]+: 67 f3 89 04 25 21 43 65 87 xrelease mov DWORD PTR \[eiz\*1\+0x87654321\],eax [ ]*[a-f0-9]+: f2 f0 09 01 xacquire lock or DWORD PTR \[rcx\],eax [ ]*[a-f0-9]+: f2 f0 09 01 xacquire lock or DWORD PTR \[rcx\],eax [ ]*[a-f0-9]+: f3 f0 09 01 xrelease lock or DWORD PTR \[rcx\],eax @@ -578,6 +584,8 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f0 f2 48 21 01 lock xacquire and QWORD PTR \[rcx\],rax [ ]*[a-f0-9]+: f0 f3 48 21 01 lock xrelease and QWORD PTR \[rcx\],rax [ ]*[a-f0-9]+: f3 48 89 01 xrelease mov QWORD PTR \[rcx\],rax +[ ]*[a-f0-9]+: f3 48 89 04 25 78 56 34 12 xrelease mov QWORD PTR (ds:)?0x12345678,rax +[ ]*[a-f0-9]+: 67 f3 48 89 04 25 21 43 65 87 xrelease mov QWORD PTR \[eiz\*1\+0x87654321\],rax [ ]*[a-f0-9]+: f2 f0 48 09 01 xacquire lock or QWORD PTR \[rcx\],rax [ ]*[a-f0-9]+: f2 f0 48 09 01 xacquire lock or QWORD PTR \[rcx\],rax [ ]*[a-f0-9]+: f3 f0 48 09 01 xrelease lock or QWORD PTR \[rcx\],rax