From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lCtK8FmYrYGq/7BjbK2aULFnA71mQRZ8iFdEmeUV2lM=; b=hsM6L8mQ6rYC8vjj6OltxKTXMsi9iBxj0dCjNTwkVFUPLqplZmIvMLWMTM5S6rUpb5/Z3j+euSrdtTzt+STUueEH3sbc/EH0YNuj++0Y5EStbrUynkVQrhRsO1MmH92gpsfAIkALpbiXL8CgduUOiQQCQfARm7E08rAxKFXI5WcBIrVH1h0vBozHeZZ01gx5CMMFAY8LlP7qaklosPmy0XonCoMsHpikkEjgr5d2TTyd+lC63qS4iQRRUMa3VbGs/3e3H2Ft+7sb4c+Nwu+DeXAjHfgpoQbkQlxjA+lqRuTd1ZD62YPcbRHwRtbOLMnZ3uUwIuQRE/6ohQZiF+6BrA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; 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: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit 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?B?cEtidHdBcDE5azhoN1NRTTd5R1UyUGlpZEg5S2IvZ2I2MTd2cXU5RW9RWFZp?= =?utf-8?B?Um9HblJoVE5wNlZXWGxTUkg2TkoxYWpQamJmdXhWV2Y2c0FJTzdsbVdVVjg2?= =?utf-8?B?U2htUXhkazYrWFVaOVZnWVBpMml0eGJpaWNHT0gxWVMyOVZMVStqOXVtNGlO?= =?utf-8?B?NVNRTFMyeWtHeGg4RTByVGlYSUhNVkhVaEYvZHp2WWZQRktRV01TL1hBRXhl?= =?utf-8?B?R2xOZGZHcy94eEo1ZUFpcVh6dndEV1h0SU5tNkhzTWhEZHNyd2RNYk9hVTFU?= =?utf-8?B?MmFkSjRzdW5tZDlYN3kyMmlMM1RZemZyZ3pZN2JqS201d0laS29sSnBjTnF5?= =?utf-8?B?MFl6U3Myd1RkaDQ5NlIvMExRbVRFVW9YR1JrWFVDVFptNHhoNGZLM2xKd0NS?= =?utf-8?B?NGJjRmFsRW1IbUdyb1VxRUFwUDQyLzUyclRJSEJOTTRUNnFMRTFFYWYwSEla?= =?utf-8?B?YkpXamVWUlNzclRzbGNrb3BKb2QyWHFNdzFSRW8zQmM1eUpsVXU5ODh4TlE3?= =?utf-8?B?SFBNd29mc0I4aEt6VThHSi9NZnZPVWgzbmIvNDdNV3I1Mk8yYlYzVWpZdU1k?= =?utf-8?B?K1JNQ281dEdUMWprYjg2TGxzcVgzcmcvZE90WUJQbkRhNTIwUEhFdWRTUStm?= =?utf-8?B?dW80UmdLV2x6S0N6d0QvYk9Fdm5LSmZxTkpWZHpnaHlielNaNjRmb3dpRmhN?= =?utf-8?B?Tk5BSG42ME53UDIwbUNBdWhoMy9icjVnWVU3a0dFcUlDOTFPS2JrN2QwQnJE?= =?utf-8?B?TDRnN3VJWGIrY3dYQzBPTmVZc2lqN2tWbWNnT3FoeEhRV0VRcnFZcUdFSklu?= =?utf-8?B?NWduaHZTcU9JU0tDdVhKU2dHalpaaHpjeFZ5enFLaHpkcERMbSs1RDlZWkNx?= =?utf-8?B?dktDaWRmUnFiK2N3eDhrS3hEZDdZbFprTVAvbk5FK3I5N0FVMGdZd0ZUMDZp?= =?utf-8?B?TVNHaHRpalF5elRuT05qck1oOHJyN211WnBwTGYwY2U5bzNzeDlGZzNvb1gy?= =?utf-8?B?MFp0TFNKZnZnRVZON2YyN3RabkVUeUNFMU5HMXRDN3VKMDZyYVdXNEU0M244?= =?utf-8?B?eFFhekpha3JBazR5aUlNSE9taG4wanJvRkhCMFJBamhZdTViOWZPUXFQUExz?= =?utf-8?B?UVFuOUhoUkpSVGhVUE15bko0N1FkbVVDVnJvWkJvbFovSW85cE5aMERvVFg5?= =?utf-8?B?Uk5nenRoM0dxcDU0QkpjbEgxNlZSZGhBMXR1TkFMSUEyRHplNWJkM1RxSzFr?= =?utf-8?B?b0crUGYvd2VrRjlab2pib0ZvM3lnMWVsR1R5K25EczhIMmRHdzBocXZMWFJn?= =?utf-8?B?NENiSzQ1RTVRWXgwanExTnFuTGw0UjZlQ09XNkw4aXZnOVd4aVQvendQNGRu?= =?utf-8?B?VGFLdEV6aTdWYm1VbGNKaW5vYlRiM2tJYmVmRlBKYThGT1QzQ2JXTlFrY1Jy?= =?utf-8?B?UVRtMkRXL09pRFBoZDFFNDVDd21qejNQbmNBVEMxbGFyYWg0V0tNZnh2SVdZ?= =?utf-8?B?Vlc2STZFclhqcjZRZ2kySE1jb0t0ZmpGTzRIR1Y3UjhTVGp3M1ZNU2dUQmp2?= =?utf-8?B?MHRjT3MveTlDUDh4Vld6YktJWE5uZGVBWWV6OXl5WDVBcTZhbm9LZ1pQZ0FI?= =?utf-8?B?d2F2SUZoL2VVdVJkQmhvTXhuVUZEeWF0Nnp2LzVJUnM2SHVNaFBJaUJWVXM5?= =?utf-8?B?OEp2NjNiUG4xYUpCM1FDR2NKcXN6bE5XUlA3SS8xOC9NNS90TTY0NVJlK0R1?= =?utf-8?B?M0UvRkFJMUFqV3FiS0QwRXdQZ2FEWVBFZmJMMkRnaFNyNDdEajM2emYzUGwz?= =?utf-8?B?dzBadTNmUjJjZEZiNDdDTlR1M2ZjYkVBbXFLTmxROXo4eitFd3dad0hZR2w0?= =?utf-8?B?MkRzdmx3Qld6dFJDWUVWZk1WLzlCdW5xbEQyRUVDZ2xzSDIyakZ0aEN6N003?= =?utf-8?B?R2s0ZVJpZHZzaXNic0FrMFBCUDJxcjN1YXY2UG9tSkRHUDRnZDdvVEJrVS9M?= =?utf-8?B?V1dhaUlWQ0lpWThsSnY4QVJkMldkdjhSSmVJVERWV00wUGRlaVJnQTA3SzdS?= =?utf-8?B?eE4rY1kzNmlSQkkyRFppaHNBcUt5bE5Ta05iUTAwSkhjd2FtYy9XL2gvbDhn?= =?utf-8?Q?2EyUObB/kPqRXJOzbMEO2HUeP?= 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 List-Id: 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