From patchwork Fri Dec 2 10:20:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 28857 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp751326wrr; Fri, 2 Dec 2022 02:20:25 -0800 (PST) X-Google-Smtp-Source: AA0mqf6JbQO0RXeOiYcRKWwUEZX6vrLPX6o8zS8ty5xYWuiO6TiIQkMEYnssVibwKxBKI9S+b6Wc X-Received: by 2002:a05:6402:396:b0:46b:9c63:fa87 with SMTP id o22-20020a056402039600b0046b9c63fa87mr12717978edv.100.1669976425464; Fri, 02 Dec 2022 02:20:25 -0800 (PST) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id y12-20020a056402440c00b00469d35e2f13si6473931eda.522.2022.12.02.02.20.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Dec 2022 02:20:25 -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=XhvOcosw; 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 A67243857C51 for ; Fri, 2 Dec 2022 10:20:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A67243857C51 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669976420; bh=lCtK8FmYrYGq/7BjbK2aULFnA71mQRZ8iFdEmeUV2lM=; 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=XhvOcoswh7L6K2LzFnhZeVYnQ0GMHns0/MqfsT+wZ1yeMzZc7Xle0XrLmJd8JZJU8 EB4oTjGgxaQXUgJAoGBTdM5sMqMbGSzDqKf9NuIwpDANd3e5HedkdhUJKl/DihgA81 Kdxm3ro/XvMQ8Wr+jMOSEVjEUEfOVmuffYkePAbo= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2042.outbound.protection.outlook.com [40.107.6.42]) by sourceware.org (Postfix) with ESMTPS id 185453858C60 for ; Fri, 2 Dec 2022 10:20:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 185453858C60 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SSIo3Jt4QkuJijGKofFYuS9nX2HBtKrR5mC/7e7rZaoCtUfgzM6qZeVkUKn1o2Ndz3+DB02Eh8fAJrDsTWFdN7oIg9Zs52IYmFnkhqqMhUPPvKU56fP+adOGTXKUU/8NMrHxuGEBDBqc13kjBRZ5vS3F3lsTeMbnZQo7gqZyc9WbuQjM/xH8iLORNlOKR9ona1i0PS3zWvaJBuZ939ZIGG7ljwgqhtpT4Cbpo4awCS/dSTc7e4uvXPJt9SVJMUJlbCI9LQU2r4dH4lsnHoZ1mTcmlm8Q4NQejmIOXPu1sTezbfv1PLDYj4GqPvMK6eU6Q1CrvHqLG/Y4p/YavrgW9w== 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=lCtK8FmYrYGq/7BjbK2aULFnA71mQRZ8iFdEmeUV2lM=; b=TI5Nc0DjfcfNSJwb6m9qYQRiDJba2R0OM5MieW2jgwO/+Q4nlIZYWKRUOf5+K8sioPY7FdH2y+8YxDZVDeUD9CmG9l6jwGJqUUgYgqMMffX0kPJNQJOXEQU1nSt2jfpBuKBefytCnFCES+cSd7H6t+3ad4ilWelX05PWXcp0WSF1ApAZUnkSfJWtet+Spt/mgiC1tFQes0/s/2v1AK6JA2fUUyMAf6ZzQ/yBxKyJsotFRCwub6oaUypmJG7jut4TfHS4CWKtLCf663YxxXrV/VQ+0+aec4uRDu/vpiFM9EoRlHo6r9mujn0CvR/K9w+sLC7GKg5RKkiXcEHWgy1r/Q== 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 AM8PR04MB7409.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.19; Fri, 2 Dec 2022 10:20:08 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022 10:20:07 +0000 Message-ID: <77fa4300-e192-5b9d-d699-37255054d391@suse.com> Date: Fri, 2 Dec 2022 11:20:06 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: [PATCH v7 4/7] x86-64: allow HLE store of accumulator to absolute 32-bit address Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR3P281CA0160.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a2::15) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7409:EE_ X-MS-Office365-Filtering-Correlation-Id: 9512888d-6ebe-4c2b-ee46-08dad44ec8f2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PoW2h98RHKE8pOchnSRF9l/9yp69CRQVI6GVS2uKsAYa8n+h9SVkKWLw4oXlhLKHtuYLXHjwR2aCEYH9Ib60mSbqdqX2J3iXVEi+MZM7hZJzNd64dFj+oPnvQx1SfvZlDvr7ugptXUe3YBeiIzsbm8X57BII4btiKjGc97edcoZmamYyxaH7HoEkjSH7BlWQQ6nd2QiCgLnKFpTjK+ZMak5GbikDlRQxnziMkZyN3mx1/3SvpFPRdhtDNRjGqegCWiF9om8B43x0xPMN0/jKC3TPl4dnUaLmeAEzhNW22MsioPBhnqrjkYbMtX30aIUxmM72m/UcnTlzZQ9V/hX4O+OZ7kfEiisufeGSt6aqjW/GAJZWtDUdrLpB5JDYxnwCPKUWv8nnF8g9/kQZ8Lm9ud7IcKrtIpzst4lntUdbIxXLjfZPXh9K7G9ofRoB1xHZzdfXJtyY7KL428JveZb1ecMyCvEYL+I5UtjdBLoHQ7HIhGmiluoWh309PqMrWITST9bbWPOlqH8XIfKTQ96Qe32aBY4TRlB6O6CgbSjH8FlV0ZZvVvpD9GOuT6A2Y8QPhUAU/qySxDFrsxkLxwYmzbmYE/9L1QuJ1G1mLkAAmkiiXHse44j9opEkfXFS276YzFYTKdNU1jyw5COU1VlwG3YptALItBf3p29dsXYm4e3r5pIn0fZUBPJDDEMvaZxhDUkJvs6ehiT3f/Zr3kx2NBsWTZcwV1PiRP++ql5qskA= 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)(396003)(376002)(451199015)(31686004)(2616005)(2906002)(26005)(36756003)(8936002)(6486002)(6512007)(5660300002)(31696002)(86362001)(41300700001)(6506007)(66476007)(478600001)(186003)(66556008)(66946007)(38100700002)(6916009)(316002)(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?pKbtwAp19k8h7SQM7yGU2PiidH9K?= =?utf-8?q?b/gb617vqu9EoQXViRoGnRhTNp6VWXlSRH6NJ1ajPjbfuxVWf6sAIO7lmWUV86Shm?= =?utf-8?q?Qxdk6+XUZ9VgYPi2itxbiicGOH1YS29VLU+j9um4iN5SQLS2ykGxh8E0rTiXIHMVH?= =?utf-8?q?UhF/dzvYfPFKQWMS/XAExeGlNdfGs/xxJ5eAiqXzvwDWXtINm6HsMhDdsrwdMbOaU?= =?utf-8?q?1T2adJ4sunmd9X7y22iL3TYzfrgzY7bjKm5wIZKolJpcNqy0YzSs2wTdh496R/0LQ?= =?utf-8?q?mTEUoXGRkXUCTZm4xh4fK3lJwCR4bcFalEmHmGroUqEApP42/52rTIHBNM4T6qLE1?= =?utf-8?q?Eaf0HIZbJWjeVRSsrTslckopJod2XqMw1REo3Bc5yJlUu988xNQ7HPMwofsB8hKzU?= =?utf-8?q?8GJ/MfvOUh3nb/47MWr52O2bV3UjYuMd+RMCo5tGT1jkb86LlsqX3rg/dOtYBPnDa?= =?utf-8?q?520PHEudSQ+fuo4RgKWlzKCzwD/bOEvnKJfqNJVdzghybzSZ64fowiFhMNNAHn60N?= =?utf-8?q?wP20mCAuhh3/br5gYU7kGEqIC91OKbk7d0BrDL4g7uIXb+cwXC0ONeYsij7kVmcgO?= =?utf-8?q?qhxHQWEQrqYqGEJIn5gnhvSqOISKCuXJSgGjZZhzcxVyzqKhzdpDLm+5D9YZCqvKC?= =?utf-8?q?idfRqb+cwx8kKxDd7YlZkMP/nNE+r97AU0gYwFT06iMSGhtijQyzTnONjrMh8rr7m?= =?utf-8?q?uZppLf0ce9o3sx9Fg3ooX20ZtLSJfvgEVN7f27tZnETyCE1NG1tC7uJ06raWW4E43?= =?utf-8?q?n8xQazJakrAk4yiIMHOmhn0jroFHB0RAjhYu5b9fOQqPPLsQQn9HhRJRThUPMynJ4?= =?utf-8?q?7QdmUCVroZBolZ/Io9pNZ0DoTX9RNgzth3Gqp54BJclH16VRdhA1tuNALIA2Dze5b?= =?utf-8?q?d3TqK1koG+Pf/wekF9ZojboFo3yg1elGTy+nDs8H2dGw0hqvLXRg4CbK45E5QYx0j?= =?utf-8?q?q1NqnLl4R6eCOW6L8ivg9WxiT/zwP4dnTaKtEzi7VbmUlcJinobTb3kIbefFPJa8F?= =?utf-8?q?OT3CbWNQkcRrQTm2DW/OiDPhd1E45Cwmjz3PncATC1larah4WKMfxvIWYVW6I6ErX?= =?utf-8?q?jr6Qgi2HMcoKtfjFO4HGV7R8STjw3VMSgTBjv0tcOs/y9CP8xVWzbKIXNndeAYez9?= =?utf-8?q?yyX5Aq6anoKgZPgAHwavIFh/eUuRdBhoMxnUFDyat6zv/5IRs6HuMhPIiBVUs98Jv?= =?utf-8?q?63bPn1aJB3QCGcJqszlNWRP7I/18/M5/tM645Re+Du3E/FAI1AjWqbKD0EwPgaDYP?= =?utf-8?q?EfbL2DghSr47Dj36zf3Pl3w0Zu3fR2cdFb47CNTu3fcbEAmqKNlQ9z8z+EwwZwHYG?= =?utf-8?q?l42DsvlwBWztRCYEVfMV/9BunqlD2EECglsH22jFthCz7M7Gk4eRidvsisbsAk0PB?= =?utf-8?q?P2qr3uav6PomJDGP4gd7oTBkU/LWWaiIVCIiY8lJv8ARd2Wdv8RJeITDVWM0PdeiR?= =?utf-8?q?gA07K7RxN+cY36iRBI2DZihsAqKylNSkNbQ00JHcwamc/W/h/l8g2EyUObB/kPqRX?= =?utf-8?q?JOzbMEO2HUeP?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9512888d-6ebe-4c2b-ee46-08dad44ec8f2 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 10:20:07.1966 (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: P27neO6Nmkrur7lMVAWUvPJkfub64GnpgW7QQRRE0JkjXkPfwOl+YMqq0S9ZrSxTBQo8utq9VkLMybNMZ+fOyg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7409 X-Spam-Status: No, score=-3029.0 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?1751097200152572621?= X-GMAIL-MSGID: =?utf-8?q?1751097200152572621?= 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 @@ -6870,12 +6870,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