From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2060.outbound.protection.outlook.com [40.107.103.60]) by sourceware.org (Postfix) with ESMTPS id 41DF4382E2A8 for ; Thu, 13 Oct 2022 08:20:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 41DF4382E2A8 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=OcllUI+nisXfcDkVzQZtl/ik68G70wqIXFc1kC2nNfvaasRWmT0sM9/HPBAK0B3ixpeEBA3uvjDSFJxJlTaY8hKjGKQVrlTZ6TIysD04dnKMJQM7ZCa+ulMI3ZKrO/BV0aYE66A4VIPnXlqVFpb7XC7HAZhbJy3ZbmwwxWYoVrq3YkHVbgiPp5+5JQ36nkqIVYiXPsv6sPmCnKwUOTUjs4ifjeWdekSz/ML5A0Ml0ukjf4+bJmh5CMJ06HnQIRmUQmOwcna3FmzLe/3AZ5j9rECmsCLxATjN1i5obxjlrQ6LlCl8LXndzsy0GRf7E8bjjHrFzWlRne4tEnZVvoES6g== 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=qr79C1Tp39wKvSNAQNmIVtQYzYtUrBMW2D+JW+/IPS8=; b=X2mZDH/gBQS9uAd3oaGBrRl/lkI2TljaJvjUJoyfTGPO/7sR1Sx26eOWxxZInQOeQFMQZ/x+fBJ1vGMs/lEhEEcnc1h1ZqmXSCl8PhNU16BWWUhpUU2lMzAjPb3iFhvLOkpB4Z8qN4iZeVWlkrmUtHCM6cXw712BBd2fO5XwR6kUQE+gxZS3bUh0a+hyKJGVJLtWL8wUc0EeTBgrsqlxtXoW7shWt6jB06n4atOkySsmL2bWsxiKGTg2j2gUbJHGYzcA08b2w4ygMfh0MHDnKucD7zlDse0i15rZ/j6ZOs/ogqTf2jCd9CQw5t6sHjQ5/zDXXiqBHhMVeiJOR3MaLg== 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=qr79C1Tp39wKvSNAQNmIVtQYzYtUrBMW2D+JW+/IPS8=; b=0ltSixVrXLGw5yXBywe5q+IQgQRa6txFPOJj+Y4DwHGVHwNXqDQP+FRt3T91UbOf0RNyQbGCTQHKwgAUCeDp7j/iWRx68v27ONPf95CxNQMN8kkTfvsyz3jj7dMjXK9BvazwzZh1uVTHumj36PZPlU/t0o5TKlV2TjDez6GeboMb+GJ2hNbyri4FC5TXsHe0Uj2nHkTDdaY0fIQxLvREETAouI8GkfhyCbirmf6p4dPQ0XT6c98sQMfjMJf8XvOqw3YH3BYHhx8z3s8ew+67UjnccTLXUh9KPvndSWhcktNGKyBieYeu1Xe9fZHIQH7CHeOmhLjo76kc105nrJud+w== 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 AM7PR04MB6917.eurprd04.prod.outlook.com (2603:10a6:20b:109::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.26; Thu, 13 Oct 2022 08:20:15 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2459:15ae:e6cb:218a]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2459:15ae:e6cb:218a%7]) with mapi id 15.20.5723.026; Thu, 13 Oct 2022 08:20:15 +0000 Message-ID: <1df3bd01-99c5-f56c-d937-970edd42b2b8@suse.com> Date: Thu, 13 Oct 2022 10:20:14 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.2 Subject: [PATCH v4 6/8] x86-64: allow HLE store of accumulator to absolute 32-bit address Content-Language: en-US To: Binutils References: <4aa2665c-535f-da2d-1edb-4eb1f4195c3e@suse.com> Cc: "H.J. Lu" From: Jan Beulich In-Reply-To: <4aa2665c-535f-da2d-1edb-4eb1f4195c3e@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR2P281CA0030.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:14::17) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB6917:EE_ X-MS-Office365-Filtering-Correlation-Id: 30c457c8-a6b7-405e-e7f2-08daacf3c170 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WTa5Fs1iGeXX1KGlhIdO/eRFU1XbSnGDNOE3kKWU4g69DMKgoerTtvglvAk0RhiPnktx1oj48xpfaRdC60kviqXbyLpoyGT7F7ptIIwx/hFHwE0yJNaU43QgHkCxtki2Im+ye6Tl+esn2QYrvxteKidEc7CeTZPJxG+DGvq9bgRBiYxA+eSrDER671vNomenil7zFFAl1xc1NzFYj77sO6ByJNzqv9BKNi3DzcY4cNtXo+xG7grbMlOZIB+Irq6GEzNzfQRL9AqSgqpnyb8f8JHJkD2TGm4YLjdxjM24uGEn19RNvQZSUfkITEG/F9eonTEQzt+jNDAeBMQmac6YfRpl7JOFKmeO/kMVLh1kyZxA2jT5gGlrEdg2cxOCfvtax8wuywdK4WCFG5gPsx2SlNQlAR9ZyG4GzPFI2gnGUt8VWgpzCTTJ0xiARI5iGoYQLG0FszXQeO8BGjC+5G38SCK2l+nlGaVi6QqYrUGqJtNV9adgqYTM6kA4G3ePK5LWAlY7jf7NmPXwAX9KTKQLf5s/oEBEE+Z1oanofuFPqwzW+Yj4aCWxIoS9KBJ/iiCgLpE8CI0YHj/utvcBbEHM0PX2NzRcxa9fkaF8i3ZZ4d6DK9MYDZ2P/a83uR99y/qMnZT1+SR4aYQbp1sjDO6UJnSdXqPwQfrWaSTj5a6ifPrYFh3GJdXYnska0VOu1f+7oV7V9oLoswHjVLoOS0tL5V/TcoiR79uVWpcCoa7OUTeg4cH0X2ivQnxdkOh4WJxQBfGQX36vyXW9jUN+5UauVvDSQM8wyabo/longJBboTA= 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)(346002)(366004)(376002)(396003)(39850400004)(136003)(451199015)(31686004)(6506007)(36756003)(83380400001)(38100700002)(6486002)(186003)(31696002)(478600001)(86362001)(6916009)(6512007)(316002)(2906002)(5660300002)(2616005)(41300700001)(8936002)(8676002)(4326008)(26005)(66946007)(66556008)(66476007)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MmFzK1pyRjhjbTdwN3BNZEdyT080WEFSazM4WS9nYzd4Mm1XMjNGRUQrVzFW?= =?utf-8?B?K1RnajUwb1BhV1JVazQydHNHU05YRnlHTk9Gdk83VFF3eU5WOGJ2OFdVM050?= =?utf-8?B?YytpSjExZTVzanV2N25LT1JvVys0bjJ4czQzTldQODlDTG5URmtaVXR5YU0z?= =?utf-8?B?d0RmN3RIL3Y0NnhoYUdxVG4xcitJQ1VNN2ZHeURmOTZoQmxLNHlObXF1MVNH?= =?utf-8?B?RXp0Z3FvWEllUG42NS9Ydm50ZGtRVEN5a1ZwR1F1cXBFUDdEcTZVTVJtL2RH?= =?utf-8?B?elVLeTBSZjRQdE1pWXBJYnRMSUh2K2duVHVLU3VOMGpSR2haY09FQmVNdlNo?= =?utf-8?B?Njc5NzlxT3FyY0JYRGRvUXMzbGR2Zk1RN05DOVFxNmtPNXZQVGwzNXl3WlVm?= =?utf-8?B?N0dnbHVUTU1wclhpa2ZZcFBCQXd1T2RaYittVHh5RVdJTHEwRFNCWno0Sko3?= =?utf-8?B?aytzanZBS2Q4SUc0SzVDVHlNOVpkYzZxMDlZTkk1NGtkdXFiNnN0MkRLVkNi?= =?utf-8?B?enBJTHNVUytqc2o3RUpTWHljZnBPYUR6M3ZPcGNpNFg4NW5kdkQzYTdyRXUv?= =?utf-8?B?UUdEVGZrdkJGRW9VemQ5R3c2c3RyWTlFdXVKUlc4K2Q3ZE1LSDNaUENFMHpZ?= =?utf-8?B?bVdXUlFKTHloVkxkVmlWRGNNekdLMVdVY2NhVXJvM3o4eHNYSVZKUTFIUVpN?= =?utf-8?B?RCtvWWZxa0Z0K1QrcjVFVWVmY1llSXRYYlIzYktBQ1RhU09PdjZ3OVd0cG5s?= =?utf-8?B?U2puYXg0MmpmZERHaVFnMHgzNHRockYwckYrRU1tRWRaYmlQckswcHdodXpU?= =?utf-8?B?VjBFUU5WUy93Ty95VExmYVVSVFc3T1lZNEFTWkZQZVlpUTNjN2xtT1NXRjRW?= =?utf-8?B?RTl3RTIxTm41SmJpT1k3eld1ZUtCMEkxd3p4VzEwbnVQZ00wOVV5ekNrMURZ?= =?utf-8?B?VjVTQkExang2cm5aWDRuVmI4T09YU0lFMGsrbUo3cVg3NENkeC9Zb3hsa0wx?= =?utf-8?B?UVpxOFdvb1gxc0R5b01yUm1IREozOG5tVkdFc2lpWFhXNUEwU3RFdFE3ZjF2?= =?utf-8?B?Vjk5UGJvcFZnc3RNNTRGRlBJUzNRN3VBa04zNHBOM0RQcjlwaHNLZlJERVh0?= =?utf-8?B?ZlhURDBUNEN0aVhJMmVmTHhENjV0NVBYZHo1c1NpMktlZXByeTYrS2VWcjY2?= =?utf-8?B?dEtUTFpNQlEvazhOVnZFOS9zVzJBV2oxZFpPQW5ENFdyOHhIajErVG55Mkg2?= =?utf-8?B?Tlk0L3RPckh3N2tVQ3M4N0s4Vm1lTTBpbnR2NzlkMWVibUlqaWxwR0tOeDF2?= =?utf-8?B?dm1LQjR5WGVvdUx1QmV1eEZqMnFBNnhTVDY2SDczSHpkQm53THZFaUxaTzhu?= =?utf-8?B?NlR0SGNoQ3lYcnVYbmkydmVGclg4TW5vQTVEWXVZUW4zcndWaXdGdk5mUnNK?= =?utf-8?B?WHJSYjh4a0lqcklpa3A5TTVzaUZ4K0ZPbmdVZENDUW42VzRXcEZtWjcwbWUz?= =?utf-8?B?ZWhtYytQZ1REWlY2djA0am5iZGEvRGRyY2U1T3BVMGN4YThQUE5iTGRvbFVv?= =?utf-8?B?Yi9XdzVJK1ZweXhLZFp1QVZ4bm9iR3k1Z2dlTGlGcTdCUEZ2akVhNTMxM2pC?= =?utf-8?B?VTNNS3l3Y1BWaTU4ekdoVWVCSlV0NFloZ2VTdlpXTjdpWWUzNVVJTkV6Z0tH?= =?utf-8?B?Q3VkWWVqNkFNWWp3aWlhcDczV0R1cGR5NEwvQVFic0tLTmVneHF4cFZqdlZh?= =?utf-8?B?MlpWR2RUSlYyQWptRHVnTGhscW5RVkxNT1RaVllJY1J4OG55MWdWNUdCS0Zn?= =?utf-8?B?NysyTFVXS0JkbFo0aUp5dFpORFliT0tQQk9uRG1rTWpUaTMwUjhTRXhScG14?= =?utf-8?B?bVBkTW9lNHp5VHBMeEJCSmxJR2UvRVVjUkUvdHY5M05Sd0trL1ZmbVF2SzNn?= =?utf-8?B?dndFNktIcDFjaUNBa3QrSGJDZER2Z1pjMmZTQ2hWaUE1enJITklpNWRpaWxR?= =?utf-8?B?Z2QzMlZqVFRzdFc4TzlIeXBGbnBJSDBOZlQwVy9zT2RJTnhhdThtc1BvbUhF?= =?utf-8?B?eHJHcjBKaEdmendNcGhHT3lFVGxOeUFMaWQrUTNWZTM5Q0F5V3RHWkF5NnlM?= =?utf-8?Q?KnH3uxq4/yOzj3zD52KNAU2cU?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 30c457c8-a6b7-405e-e7f2-08daacf3c170 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2022 08:20:15.0810 (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: TfEGSu836x83ttxmeRmEK9W8Jv/IkzsPFMhKYx+7ymFIqqi89R6Z4j8jAdjgC4wjfMPqnHkDcZNj7PNVbRGtNw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6917 X-Spam-Status: No, score=-3029.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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 @@ -6844,12 +6844,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-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 --- 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)