From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30077.outbound.protection.outlook.com [40.107.3.77]) by sourceware.org (Postfix) with ESMTPS id 0B3EF385829F for ; Fri, 5 Aug 2022 12:22:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0B3EF385829F ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gMKI58Pzr5MRIT6KuNn20hxjPg1ZTF9znCxoDmuTJm8T3N8PgEKCA8blN8nFwZBk5uOTtllitZmJSgip8EHmrN6hKTD9FzOS+pXFW4cSAF9//toDUaRqG55k0KuI+VBjfcZpqKNU4VxDUTnXuYFlQx+aADPFzUs1TCLOYTGf2M7Zqw35gg6EpO84FXyp8DBAheg10REMhtxFIrbqla8YjYtU2sQA4eba8ylADxhhNk1syR4r9Kyv01a3uRYgrqmjmErkoJZ+3gmY6BNxyHUraRmhUb6ymnivx19QUrePirsMaciTWx20PfLla/zpuB3tGM2+N2RVNBGyS6SNd8ymAg== 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=JGs8oUL4DJzKMhOHLpvZf3ILuj7Q15FQciq4HkYLw0k=; b=jbgWFV9ZrNyT8rZBhFZndLiZAmb80Xwkg1Y5+DKYqLUMzkseiwHBgRXo06LpY0IPEQf8akli202LUZSDmQZPYy1IIx0OMttwiwvwxV+m5+BEfnZ2DgrVMm1wy7nndTRxUhAZJPHRMmcDYUCKVlEUObtLywJeZ6DbKcl77AOBJ8pWD5mUEQfrhGQg9JQujwkMGQQsLDytJzc6yFo1pzd0CXIY4Z4p2SCpYleGt5ZvEQ9TFqjAQzMvUQGktI/nkvOmFao64vsEJDrKIWYa8WlMnpkuFKpCJYyidRo2jZbhD/wXjmOz4fP4kJ0m60mcQSypVLEbM8EENmNClZczM2Fr5g== 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 VI1PR0402MB3759.eurprd04.prod.outlook.com (2603:10a6:803:1f::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Fri, 5 Aug 2022 12:22:17 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::d475:4e1c:e4df:495b]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::d475:4e1c:e4df:495b%3]) with mapi id 15.20.5504.015; Fri, 5 Aug 2022 12:22:17 +0000 Message-ID: <03949571-5dbb-f6c1-e2fb-9fbbd8c4b54c@suse.com> Date: Fri, 5 Aug 2022 14:22:15 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: [PATCH 05/12] x86-64: adjust MOVQ to/from SReg attributes Content-Language: en-US To: Binutils References: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0058.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::19) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f709220c-c551-4d60-a8e8-08da76dd22e3 X-MS-TrafficTypeDiagnostic: VI1PR0402MB3759:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +dSSV9qKsxdly8HsOdiG4P51y23Yk5vUi12NxbltohlCurCBDJ8Vhi6scfi4sTc+mF8VBlagTmc+d9Z6cKu36fMvd7hXw45wFGLlMB380WliGXRU+ZlEaQ8XDbDWp/DgKistD8SX78vf/jYzJvkKwCkPP3BvdTwcKn4e7rJ8/jQ1uEOGXu+Jz4zETqnBTWEQcIIf1RBoSZtR1NpFMfAZ/iaH3CEq9xiQNwbQQQxwwx2h45D3in77GA9MJXckjJw3ZTBTKojvU16ZiBLsqrfHlVN2oRc1wGTNc4/Nz6MXgYWtmu5PNeTDM2YAcXUksZIH/ko/CqJ/UOzSoqKIr2fxE3yc3IxBBHsDh3QTumySni22J5zxw1oAku5DLv81ccTIrY0KHoAuENU66y9dkl4sJ27mI7NBK5M31qrl8851ZCLBlU9D5IGxcDaZTSgQQLjRrsCJDWxpLn4AkyBfRa9z3WCKd7xOZqsALKvkrcDlrbuf1xILRsVhuOaJKyIQfdbYqdeNzSGbQqN2wptPD5IIhwQB646QTnK7Sc9ny9vz9y4OTjIOf86r+Oz33iH5Mlmnpia1ojLXfwUotSKK1rqbe8sr29BjhLplNYCp7CFJUlpDIdSZ6awzywOmlCufUodp28vzSIio95XJpVvE4FzVcQS0CMS2r5TQifkI4EbFQClGaMeDMb/MmnumuqHa59tF3KRSD73Y/OpeG9rNudz4rhq9TZvNHq+GR+31DA6rnHdp0QS63ptdA3nUGEQmUaho/iiXj3PY7mXntVc5yDc/mmApohbvvBz4ffbo1tvDFtKKREn3YzJA+MDDdkzPoBEgNtn6F4cvJ3TKnwvbIdZ8qw== 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:(13230016)(376002)(39860400002)(136003)(346002)(366004)(396003)(41300700001)(478600001)(6486002)(36756003)(31696002)(86362001)(38100700002)(186003)(6512007)(6506007)(26005)(31686004)(2616005)(6916009)(4326008)(316002)(5660300002)(66946007)(8676002)(66476007)(66556008)(8936002)(2906002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YmZEeDhwUlNId0NmUHZIbjhPTEpNQ0s1NlVpMHordzFKVDFCZlQybVV5dUN1?= =?utf-8?B?bURjL002NjJUcnNieWFwUm1JdFViTXRiMUxPR3Y1MWRJK0k4UUhqdG94cjlH?= =?utf-8?B?cFNaMllDbGpDaHFFL0VyZ21POWVlUFlzV3ZpeUxDeTdCdDY5dHYzUXlWVGkx?= =?utf-8?B?RTJrZC9YeHJrMEp0Ny9iTWhlRjA5bC9PU2hhcTBFTEUvL3NQY3g4cGttNlgy?= =?utf-8?B?NUxRQmtLQ2hEaWN0eDQwV045ZFJ5amQ3U2xaUHRzY2pUKy9vZmp0YzZXMVk3?= =?utf-8?B?T0FxSWxldWsrS2hCRC9Ca3lzeCtMcjViekE2aVpibURkRVhSVkVsMXhDb05W?= =?utf-8?B?Z1FlMUQrUi94VTJNSHlMVjJ1NmJWa3ZoT2pRMVI2RFp2SGszV2FTNGpiaTdJ?= =?utf-8?B?ajFJbUlzRm9zSG81NmREQnEydEF5cVFoRlN4dWJaLyszODA2bitIVlV4NGg4?= =?utf-8?B?bTJMOUdEbVMvUURUREhST1piTndvTENXT3lvMDhGbjZzMENZSDh6d1RCTGZn?= =?utf-8?B?UWtpMExycXVaZHdxeUp6M3BRMGg4QmFhRHdnVE1CYnhwMGlJbFNzMmZ6Snl0?= =?utf-8?B?bEE0YnlCb1BDcjVmUHVGWThrdzNxMUJSak1XZmlvU0lJTEQrcENBT0JCNDk1?= =?utf-8?B?RGIzOFJRbWJvZEVYaXNtRExRVi93S1RCMk5ZczB6ZEtaam1tM0hIZUE5SXMz?= =?utf-8?B?SEQ3ZkZZZjBOMEk1ZTJNOEdxVENNSTVPa0pXS1dVeExjangwcVVubUt6QlRC?= =?utf-8?B?V1pWaVN2dGRWVHpFaTVHQlRhQ1BaUnZLcUgxNk0veFRYMXFWNkMvdFF2Y0Ja?= =?utf-8?B?QkU4eHY3bXR1d1VlTDZNNG40aDZ4ZmdKQ2c4SGQ4KzB3L2Y4T0R3aDFKalV5?= =?utf-8?B?WUtsVXc0QytLSkVxZExyOS9tam5QMmZNTS9ibm9rbEh1K2c2dTdCcWdHcnQ0?= =?utf-8?B?SXpUWWFhbFVwbmZjSUtuVGFOWFJXbVBsdExJME5vbkMxZkdwUzRTRWp4cloy?= =?utf-8?B?azBYU3FPcTZiN2JMQXF5QXVGV3MxRXpaU3pRb1liRlJ6dVJwekF6cXNHc2Jt?= =?utf-8?B?VVhGcTJGWXJvSjI1dVhHbFAyU3FuVVNSVWhMMHJkYnAxK0kvS1FxUUNFU1pS?= =?utf-8?B?M2NpNVR4Q3hpMjA1OTVuVUYvMXRpQlJCNjR1WCtoeFc3Yzg1VU9uOGg5SnZz?= =?utf-8?B?eHRsQXJ3RmtMQVBTWFBDNnJnTmlDK1FxVzhUUkZ0U1A4R2IvOExqeG1VVlIw?= =?utf-8?B?ZzhIWHpQcmZocEhic3JqKzNyTnBuUi9qNm45bm95U2xxOW52am15QTdhN3Bl?= =?utf-8?B?UkU0d25aTXYrbkJDeTNUVXdFc0NmK1lKbVVYd092WDF6K0Qxem9ORHE5L0xI?= =?utf-8?B?K0hSYXhFVjkrM1JESElDR3NRMWpqazg2bEp5SkthdnQvSXVEdWVpYk83amlw?= =?utf-8?B?ZEp3Q0xSRjZhNUhyeHpPWDNWdmhKaWQzMnkyRFpGWFBVbW16THd5TEtSN1hJ?= =?utf-8?B?Vjh5N0sxUmxGbWtURjhUb0RabEZ0ZWpuSllKcEdvU081eDUzbzN2cTNDeUZq?= =?utf-8?B?bEhKcWVZcXVuUWNEMVUwTDZxZnhZTGtzbFJEejRQN0ZtTjBmcTdPQ3Y0Tktx?= =?utf-8?B?akRjKyt5ZTU3OXhBMGZ6Um14bTVkNHg0NGw1RXpqS01GL1A5dncwbGtDelVI?= =?utf-8?B?N2pkUzFPYlNnK3RzbU01NWhNRFdySEtxTlZ4YUFoTHBRWkJ3Y0lzcHpZUjB4?= =?utf-8?B?azNSUEN3dmVqNHFveGE5Ukt2TjRjTFZFNkVYN2JKaXV2M2xsYXB2RjB3MFV2?= =?utf-8?B?ZVI1QlZob0M4VVN0RkN2RVkzYy8rU2NZVnp1dGlIWGhoTVhhM01wV3N6MGd1?= =?utf-8?B?S2Q1cDVLekcwV0psdjdPd2dMOUQyWXpVQmNObnk1Q3N3RzV4NkdWT2VJc2hu?= =?utf-8?B?U3g3UVVUZXM0K1JPaGhxL3lVd1hDbmprK1pxYmdhYzVDbmpwdFdNeGhNeTJK?= =?utf-8?B?RzAycmt3MUxtbkpKSy9ZSWorTFNBNFhoSGJXODRLRVA5UWtQRzdPSFFDVXZM?= =?utf-8?B?LzkrVWtkbGFJNWp1eU1hdS83T1htSUZxTzF6OUdxbGtjNElrb3I4WCtaOElI?= =?utf-8?Q?W53Wux13kUvQ/tFcXrDIlkvmH?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: f709220c-c551-4d60-a8e8-08da76dd22e3 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2022 12:22:17.2791 (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: 1glnAXKHVFOen86QpDpDEfU14DEL9S5oyKnT20APlkp2BlbelfVMJUYuOKnfQ04f5uIRdCXyYXQBYrUUmb7RpQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3759 X-Spam-Status: No, score=-3030.4 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, T_SCC_BODY_TEXT_LINE 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-List-Received-Date: Fri, 05 Aug 2022 12:22:23 -0000 It is unclear to me why the corresponding MOV (no Q suffix) can be issued without REX.W, but MOVQ has to have that prefix (bit). Add NoRex64 and in exchange drop Size64. --- a/gas/testsuite/gas/i386/x86-64-segment.l +++ b/gas/testsuite/gas/i386/x86-64-segment.l @@ -5,8 +5,15 @@ 5 0002 8C18 mov %ds,\(%rax\) 6 0004 8E18 movw \(%rax\),%ds 7 0006 8E18 mov \(%rax\),%ds - 8 # test segment reg insns with REX - 9 0008 488CD8 movq %ds,%rax - 10 000b 488ED8 movq %rax,%ds - 11 # Force a good alignment. - 12 000e 0000 .p2align 4,0 + 8 # test segment reg insns with avoided REX + 9 0008 8CD8 mov %ds,%rax + 10 000a 8CD8 movq %ds,%rax + 11 000c 8ED8 mov %rax,%ds + 12 000e 8ED8 movq %rax,%ds + 13 # test segment reg insns with REX + 14 0010 418CD8 mov %ds,%r8 + 15 0013 418CD8 movq %ds,%r8 + 16 0016 418ED8 mov %r8,%ds + 17 0019 418ED8 movq %r8,%ds + 18 # Force a good alignment. + 19 001c 0+ + *\.p2align 4,0 --- a/gas/testsuite/gas/i386/x86-64-segment.s +++ b/gas/testsuite/gas/i386/x86-64-segment.s @@ -5,8 +5,15 @@ mov %ds,(%rax) movw (%rax),%ds mov (%rax),%ds -# test segment reg insns with REX +# test segment reg insns with avoided REX + mov %ds,%rax movq %ds,%rax + mov %rax,%ds movq %rax,%ds +# test segment reg insns with REX + mov %ds,%r8 + movq %ds,%r8 + mov %r8,%ds + movq %r8,%ds # Force a good alignment. .p2align 4,0 --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -148,7 +148,7 @@ movq, 0xb8, None, Cpu64, Size64|No_bSuf| // implementation defined value is zero). mov, 0x8c, None, 0, RegMem|No_bSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { SReg, Reg16|Reg32|Reg64 } mov, 0x8c, None, 0, D|Modrm|IgnoreSize|No_bSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg, Word|Unspecified|BaseIndex } -movq, 0x8c, None, Cpu64, D|RegMem|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { SReg, Reg64 } +movq, 0x8c, None, Cpu64, D|RegMem|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { SReg, Reg64 } mov, 0x8e, None, 0, Modrm|IgnoreSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Reg16|Reg32|Reg64, SReg } // Move to/from control debug registers. In the 16 or 32bit modes // they are 32bit. In the 64bit mode they are 64bit.