From patchwork Tue Oct 25 07:27:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 10543 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp858453wru; Tue, 25 Oct 2022 00:29:28 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7wbvhLzfgF6LKIio9x+WNqOGKKiJT56G+5cAv859wpAAMe59Sn2cCSA7T9M6Em91whog8X X-Received: by 2002:a17:906:6a17:b0:794:f0e8:1918 with SMTP id qw23-20020a1709066a1700b00794f0e81918mr25752903ejc.474.1666682968167; Tue, 25 Oct 2022 00:29:28 -0700 (PDT) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id s24-20020a056402037800b0045cd50b7c65si1704866edw.266.2022.10.25.00.29.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Oct 2022 00:29:28 -0700 (PDT) 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=hMws1Hjq; 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 E34F538582BF for ; Tue, 25 Oct 2022 07:29:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E34F538582BF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1666682954; bh=u5PpalHJrPiVNjaxzYwPTm/OmWfm9/ox7GdciLPMZXo=; 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=hMws1Hjq5/zNfuTjRyrWT1IUZCErMcVr+3U95Wmod4IEu9stTATe3VqiUhCAUK7Zi 75d4MZWMUWt/Wytdpiuft/81+2cmd2IPivNkp7+LdHRSBnIgqrBNQQjAyN3MOHyRAi dIWbOr+5nWeX230+5oUMzsoQJzr4JODlyq1v8Q7o= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2085.outbound.protection.outlook.com [40.107.247.85]) by sourceware.org (Postfix) with ESMTPS id DCDD93857C72 for ; Tue, 25 Oct 2022 07:27:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DCDD93857C72 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DNvqUHSUddoZGbNqss8GLOvmo0Jx5qFCTn1Dr6psBkdVNdqfYOzKdO+VRe6X+GPtcbio7gSSaQQwT3Ayy9Ly4LLCPN3O0e/GOvOtWeHZqawJNRa6/b81khSWim7zrxc75zTX2X5s7K/EfsOg2DVg2Iu+wvXS1IxF/S9cRRWK/WOpWy7AT92Q+SzEY5g9wkKeUDKd1VTSarLTn278b5Gfxpn3gJ0HHVs/CGt+GZeluFs0E2H0vqlceLcjtta4DG/5kmts+J1CBXF24EkKyg19yO0bGw7hsokdun8t4VF/pgTuSGQWKe5C7NoEyCzLf6PrsmWIlJjW6oPM96bS/m3mpg== 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=u5PpalHJrPiVNjaxzYwPTm/OmWfm9/ox7GdciLPMZXo=; b=LHzuElLpy/tmorbwfYdZtMQcVnyI2Nm2GoRGKruicjoEteo33LjmO2dMcVWLeSeMsTeCrZ38espqsev4vUpE3WBrrMsGiOBzqqJB2RZGVMQXhB4q/AZPfsvR7B7VBqWwA993J2oCkOQMRFygqKVgkcnlFmx/1UPq9tqv4XIMjiwxzABeKppB0Jp1GW5PsfzcjuihDMM4A9PnuehDWWyExhxTRXOhC48iB3jLdcyfUdgEgexR/YFdmXYbK41oYEcsPNnfFvNYnwZC4uYywsDx+iE0hKZwPs7ffLXS8abOsQ6wl0n9P+lBfDEKhNgmXMDDUK47ogmAvReXIUt+AZf0Qg== 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 PA4PR04MB7933.eurprd04.prod.outlook.com (2603:10a6:102:b9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21; Tue, 25 Oct 2022 07:27:12 +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.5746.021; Tue, 25 Oct 2022 07:27:12 +0000 Message-ID: <74db429d-d203-eab8-4ae1-18b9ad416b02@suse.com> Date: Tue, 25 Oct 2022 09:27:11 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0 Subject: [PATCH v5 5/8] x86-64: allow HLE store of accumulator to absolute 32-bit address Content-Language: en-US To: Binutils References: In-Reply-To: X-ClientProxiedBy: FR3P281CA0049.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4a::22) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7933:EE_ X-MS-Office365-Filtering-Correlation-Id: c2b8f4fc-d3b8-43ea-9897-08dab65a55a7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FYXK+CAKDhbA/fycBAskeWiDeKNM50OQZMAmzhrjqoryxm3afqTknhfGnK4J+AIwRimB1I/6+17C9T7UJGJpvaYZzbJp0WycJ6ieC9miEg2ykuAtGme/nS6Oh3kY6gcvlSwghmuSnB5BFwoEfRj7GO72/eSGO25z1KmriVl4H8+RVO8b02xHZkC+go4C5KwXtVDw/978o5kdKOK9ghMxdIWhiCatrvYJg8FinBI3MCeGkVp/efSQi0BfrPYegeKeTcsklxTRbdnq8p0m/4PRm1KmJvFVXZp2LQ69IwGw8Sfn7VzHy7wyjgrV4Dj+LpqhFGqj1Fmt89EEOOVwEa6hG7z3v+pof692lS0NuuMeMCnPJ7I6E4fdmczUOqKy0Q6kO6X0dZKRU/nt7aQ33sSgOJtXUSpq61Mx6LuMVZ/HGjcgWdDECO3mgjXoy+CDlvhfZ+1EHiyMndXMuwlld6gkd+ndAFw1Y0HNlHZu/73MzeOpAt/Vzofsleb5doXiHfLeZPL9F+VuoQg9kJBKZs59csNBDhVEcjXkYKhXIG21YVtmJ5d58t0a05DuqjJXMRR9MkX3L8UNrvq3UdQ3gfyxgcVkfIJ2nzO8GMrlJmSdvRaJzaqMRxCzjWjTUDpjHLp+sTehkfUp3IUq/DxsKdzqU9rRKH9nOoI6TEVGyFGDVgwiUJyk9KCdyrPdw3+/bkD1t6fDTggmXTEomSn8kCI9AMEWUwLGbqrDgknml2BnatHNORYivEMwYqX4tspSyvm7+mC8bBjcWDdM754lBNUPIboeHA/vQxiEBLdT6pSiq7Q= 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)(396003)(136003)(366004)(376002)(346002)(451199015)(86362001)(316002)(38100700002)(83380400001)(31696002)(6916009)(6512007)(66476007)(41300700001)(26005)(186003)(2616005)(8936002)(5660300002)(2906002)(8676002)(4326008)(66556008)(66946007)(6506007)(36756003)(6486002)(31686004)(478600001)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?GKGgM14hReG2MS9s4sqnN3F5rzmb?= =?utf-8?q?BBxV6LPDW3NYX31p5Sm10rrFhdKh4DW1kOqaFjl1a2oq9PQmNzUFNMvRABwPDHXS1?= =?utf-8?q?9PSjd4GyH6Ue+bbrqf7cCQ6eHdEVYlmmoK75afpG+va1F0YGD0NCnbZm7BzakgxpW?= =?utf-8?q?53P3NyX1UaDkEVLO3GpFwvSSGOUa6tO4+MDPGDr8ifAlIqw59L3pEhMi9jlD+qZGr?= =?utf-8?q?xjxLOK50tsXT7S/28Hxw0ngvGKzU+agHOg7ZwOMUcftgOELoPCCtXzvP8Cn9CkAvE?= =?utf-8?q?3PjqaO8c0AwZ9jOw1oMkBb71GytDPh4d3sZp7BtXPaocTX/MCU4u78C9jbBtuyJ6M?= =?utf-8?q?JIywOyDjzYOZcByYyGiKsfXxccBXjFII5Rln/tgjrbkRdyXpL+nU2ybfEhfIkJBql?= =?utf-8?q?oUyJEqy+X83OteZnjG3r6R4DDKlQQRpJsZlD8aWq+su8kDvFlIrob+vqbKo1covIk?= =?utf-8?q?ZVVpTu5Vju5XlvoEdZTkpOOTILxiNxsT+EABK8YiCx2vu2GtW/vqxyR/zbJDkagMx?= =?utf-8?q?uphKr7iZUEc9AtBCk3e04jEWkQRTJLfF2dNb9FDUMM3nGfbX7ZFIh6AGTyfxb0Qv8?= =?utf-8?q?PJhh87sJYdTwWFCIvXYDPSYt8YJOMspBgnGubuJ4JncmNqc3B4bhvCg+uZb+WPKf4?= =?utf-8?q?XVlfblUWwNMgSiUyuZEp/5RfmR1nEkQsB5o7HPtwlEXuYLw1FovHYMrBfLd+lIcfH?= =?utf-8?q?sz2bA2tqa0O5gEtOWdugeuyy7h9+GMgLQlvK9JWJBKLIg8g2/6S7VGbivlaxKGCgd?= =?utf-8?q?tMMnSSW72hvtIlxa8wF2/Wu8HtLMtydc4kRAKwatMlw14GoKtZblx22ry7fhT/eJJ?= =?utf-8?q?9CKd29uxgfPDNaE6NQwvgi5JGHYaO5flrpIz5TLetfZQyDx4iPj4Y0P434ywDT7Si?= =?utf-8?q?yHim42lwbSXGTHkr8uK9smKoxxGACgpcyEYtoeLRYgKbvqKcbu3tiTUjN4NIzqksV?= =?utf-8?q?x6hCbJ3pujIR+2pzuyl1slpdmJ6rUnoH3v230Vt1NhzkYzSYNyg61eqeE2zdDTojS?= =?utf-8?q?8nmRYNkQleeL+BVK0q9x+3CW5MSF33Ampog7Rscwop7K8gHUnTSwOIclM03qo6jET?= =?utf-8?q?QeqIohXw1tIgUOP4/T57X05CnNtjLah165itNp348Qu2hPhHlNNSDxro2GNLue1TW?= =?utf-8?q?CEI5p091sIPWlc82/ZRk9GhU4G39qB37HhwiwG5wYsTkeiP5Nn8lM3ZbHk9F9WA0j?= =?utf-8?q?Pr7l5u8jepTk4To2kMl/0j/Y5xE5W3+T+80WvyhMBm+nISGIlb8HJU3Wgz1QXa7Lo?= =?utf-8?q?UwTAWaeKtQUWPROdTo0to3UsV7NLwf/fZIbBQ070T5HedS6NNH9u/oyDgzuJSHT6y?= =?utf-8?q?pnpRdp7eglnWgdnRJb8+1Ues0ogs6lnug2FvCWnjFms8OsEulax05SvnW5WiCXEsR?= =?utf-8?q?E0nLWG64RU9NtwaqAF5YA5KYRTKF+jTZdJVQP/5jIXF2j2nNPOE9IoWS9gSF6+t0F?= =?utf-8?q?esu3Z3LtqVBnm7xB2k3k5niKsbALGLYNiJ1QiY4Jw9EM0MKrcOxH0vrSSuy5m56rM?= =?utf-8?q?vCGhaW9UgM3c?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c2b8f4fc-d3b8-43ea-9897-08dab65a55a7 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2022 07:27:12.7955 (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: 8tt0CMQIpn3aX28SxwcWH+P47c7Wrvt/GShmCs+IbpXCgCl2y+KSsyENCkrTvTFrGmqUHBCTVUha/mpAzmEhLQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7933 X-Spam-Status: No, score=-3029.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?1747643760183442207?= X-GMAIL-MSGID: =?utf-8?q?1747643760183442207?= 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 @@ -6837,12 +6837,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