From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 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=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 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=CFpsqw0CyueuogK3wRKwChsU/YAdjJfeNlKPkt5YrpI=; b=TLf3VlxaaBP00+3xrr48wW//5WVUma3kaZR2Td0lMrTws6nVdbrRFRz8GakZvJ3ErzlzYincqEJ7lslDg99nJMq3QMhtQUBtwDD+kkEFgmrTVngz3SVJf0ENgo5is6ihD8mJSeH1WhWz+wT2Mu/scn/25zTNeGJdXMXwaQqthexatJ+NP6oSBx7GFrBOicKZaNFDGvsVITW5poF0s7LGiNA19qZ81srWyLuYO1TuH2+ng1z8z4rMfhzcAKN8dp5Kaj/hNhaZYpEJnxN5MrMt/bCEQIPZn55yKZOsNL77YIMOfUKnPQ9uCUD4/QR+frH51ILtqrPFWH9wcbbn5p6lGA== 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 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> Cc: "H.J. Lu" From: Jan Beulich In-Reply-To: <6d71dc80-91c8-7bc8-c57f-4f771ca59fab@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit 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?B?WkdRRWxvVlZhU0dnT0I1eXlKUy9IMU1NTVNMbDFBY1hiV3phMnZCWHBXZTdZ?= =?utf-8?B?azN2VVgreVl0K2FDRnIyT0Q5aFpYSHdNcG9hY3E5WG9BN0RDNklDaXZ4Q2pk?= =?utf-8?B?N0pUb0pjbzdOeFhLODVzTVRiY2xZbVR4Tjg0UzZDRC9GMUxJbFFxOHU5V20w?= =?utf-8?B?Vk1OYTVNVEJYbXhBNjFXblg3aTZQZC8rcUhjcjEvY0tXY3lzVDFXd0ZlNlRM?= =?utf-8?B?NFFjYi92M01MMVM2OCt2Q3ZHRkpEQ0dmcStKZVR3WmJSbTVqV0Raai9vNEdE?= =?utf-8?B?S2VVWERiRG41ZTJmK2E0R2dtUHFSdkUyUWpMTU91cDZtaWpoMzJjRWVCK2Ra?= =?utf-8?B?ekQwdFZCOExLREx3MTFYSkZmNkx1NVJlazRyL2dNblhMQXpWVFFjQVc2eFE4?= =?utf-8?B?QlZrRi8xNjJqcDFuSUVmNnEvVk5iTFRxYkFTWXpFblR2L0NjckFxWFUzekI2?= =?utf-8?B?VVBkK0V4cTEyYndDM0ZNUFhXazdFM05ZQ3l6UTNmVlVCQVJ1THVjdmlOUmxz?= =?utf-8?B?ZlFaRXRZQlZGYmp2THF1R3NyTXRaRUNObWdRSVY5K3pBVVNQSGk0ekNuS0pw?= =?utf-8?B?dXdjcVl2OWkrb0xhNERodUdpNERkVDdRYTlEdEJzcllKUmdxMkxydGx6dG1t?= =?utf-8?B?TTNxS09XellIRHllYXBQNlQ1QzcrUkVHWVFpNEZWdS9NVUZWQmZnK3dTNWR6?= =?utf-8?B?a1JwaWc4Z0pwSjZXT0Y0NGowTHg2M0VybEFtM1lTTTQxV1EySTBNYWZLMG9r?= =?utf-8?B?STAwNHBjSnN2RCs3ZHJ3bU1VaTJSMzMwakt3dGhCYytLT2U3RFQzNkphZzcy?= =?utf-8?B?QTVuenNGR0MycHd6enVtSHFuQ1d1ZmhpanZEZGovMk5lQS9zU2VLa1EzZjVs?= =?utf-8?B?NlhtRVYrTWxUdGJtRFdUL0dSeHhWV0p6VHMzdGJrS2lSOWdCOTZNQTM5UU9h?= =?utf-8?B?ZEhVWXRFY1dmOG9sTE1SZlkyNTJHTVJRQWhqajgrVEozZGhuaXI3aFJETW42?= =?utf-8?B?amtCSXF3NFhUOWh6OUJZMWUvNkRnTHRwQW5XZE50ajIwYytBT2pFR0lXZ21B?= =?utf-8?B?MEtIbitBeGtaNTVKYWtZYzBCZjdmeHhuVFRjeUxQNjB6MUdIQkl5NkYwVWlV?= =?utf-8?B?aDB4dTF5Q0x5ZG1rcVhMM0QyVE1QTXZEWTEyTDd0TE11OHJ4UU12M1d0VnUx?= =?utf-8?B?UjdYcGpXM2pTeG9QdEx4V29LNjF1Tmw5eUNjMFlXNXVXbVhuL1NhU3JDNnl2?= =?utf-8?B?VjdrYXF4d2Jaenp6ZmVzcEtFbzd6YVpLeEttUGJOM0VMS21CSFJjbzcxeGlh?= =?utf-8?B?ZWkvZWZldzdadnRYdmlNZ0VFNlNaYnd2aHV4a0lmUkg3Sjc4UHNpRXh3eWlx?= =?utf-8?B?Y1JpNFcva09LdWNLRmpUcnhpOUxxTENXQ2NES2VqTnZCL2RlNjYwWEg3Y2dq?= =?utf-8?B?UG5yMWNnS0VvK010YTduNkdub0p0WFJDVjhtNUxPRWp0dHdVbFI0T3lQbG1P?= =?utf-8?B?RlNyRVRtMzZ2VGx0aEJaa3hPMU5tUUxBckpjQk80SFFsdEs1OG4vSi8rVWJu?= =?utf-8?B?QUd0bjMzL1RqaXQ0eXc2d01GRWxmTDVsOHVBUVBTV2dJYjFOTjdycSt3NFFS?= =?utf-8?B?UmRIa3pybjZvT25DOEtpME54UmxQUnZPOWdnLzBaWjFUWjJ0NEFHQ1IrYTUz?= =?utf-8?B?YXBXa3JqazRqK2NHeFhlWHNyZzE2eCtaaUZxa1FoSjlGVkVFZDF1MGt5RjB5?= =?utf-8?B?clJCaWtKbnFUL295cEVyZFBMUlVtSDlxRWM4Zmt3SnRibGRqODZIZ1hrN3BZ?= =?utf-8?B?SkZZUCttOU1BcVE1eVpRbXZQYndDdDdZRzBhNWE5Z3Aza0swdEl4U1VrOTls?= =?utf-8?B?eVU2cCtmbFNZWXJiY0lBY0J0dmJqaWFYRDZFb3NRUXZZczgyd0Z6MkFTcVlm?= =?utf-8?B?TFpiY0FiK3VKTy8wa3FmRUtjbi9YZzdLS3BuZ2ZVVWsyR1RBSTBadUU2MGNJ?= =?utf-8?B?NXc0RDdBdUFZKzk5bEJPYUxtMGhSNm1HTUMzeHZkdG55YkNxNkRlRFkrb2xo?= =?utf-8?B?eDNubk81dVpHTitGUG8vc0VuejQ5cWFhdHNzRGlSOW92Qmw0bzRhU2EvNHpI?= =?utf-8?Q?aGkCOix9mMnukF0XDFbJEFrLM?= 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 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 @@ -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