From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on2041.outbound.protection.outlook.com [40.107.13.41]) by sourceware.org (Postfix) with ESMTPS id 822DD3858D38 for ; Thu, 9 Nov 2023 13:05:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 822DD3858D38 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-Filter: OpenARC Filter v1.0.0 sourceware.org 822DD3858D38 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.13.41 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699535127; cv=pass; b=BfHskww0E/FmC9WzSqJ1waaFe5umy4eatQ/hOKAxFzjK6N3bt+zuRbPWsJTmCrnxsqV7s3IsodmqT9/3R/Q82xs/iSiIx9IZkhm4EM3fAs+1bRvBm9P8nzRBfF1wkbsMmwQDY/pU22ee/cP2em7OJ4c/jD7ikP7Wp8IIIac2+Gk= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699535127; c=relaxed/simple; bh=Y2JnZiHWpjbDZmmkva8cI9aZfrZHwsVEsFVoHcbOhC4=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=lwwTiDzj2WxaO2Ct1ORuKCg9XWGyHePaqXgCT4wP3JKJcvZd0q/CBvZWvPttHPbKeUPZOeSYPLx5Ch4GJD1qPWdsaBE+35n1VTeaO3eWTZf6BCHtREZWiuricXlyD3JeMz7cENgqsyKwP+yBjc5CWQYEpJQSDFRcDQnxjmYv3U8= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fgNZ1JcO7glNe2x5wYkIB0hfhb3FeCgf8uJqIvEEbNMhKoifLYK3PelqUluAoZxC/pliFdXDnuz4oy5vmSDMO7Z1CejxmJlgMVXONr3GQYVUM/gV0LeVQhqh9HNuqsRqov6Ew7r005JphvM0+7MSh68E2MTwWLI+HhfrfGcXfVhoDnGATmgnhDOqaB8QeQAnAbIpa2bX4I6V/3uy6/TVk7LOgQIV4ZRF/XsXta8g3+s8e6Qy1ZrTAvZQ2SJeXv/uD1g9jMO1kOLshPBsNYamZu/aQPwFS8HHPpounvrmIfX9glz10LwElsduui7YwgAZsXH9TbQgOn29CiJjNwxZKQ== 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=8iVnXTNixn3PGq0LE0uDd5K2w5yBbM7jG9XbKmpBclI=; b=f7TfmckdEDcHpuD85PKKfvX1GajTziD615yJTHtMCiMNSMPIqe8gL5mbuqz1UUmRcGGn2ceW9JNhq0V4p8Q5DabPBcG8EodY0wxqEF8SxfP6WQN1ZOTEkhRMfYTlUM1bVquXg/Lzt2J9iXv8/v/VyAYhAj940m6pQ+TWLsOmB97psXaAtRIcCefJNzLZeRgjhTK9BmSQd/5PBfMkHXp6wxPBscXa+aD2SIE3twBcznTtsbTSa7n6Rr+Drzr/2m0m0L0rVB2x7mVn50nj5AA0aV64eYV9Ydwsq63YoeQ12QPvtOb2YoOSUpy/nPBQCtkikJ+xHyk0yZT3Q7BJ1RDb1w== 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=8iVnXTNixn3PGq0LE0uDd5K2w5yBbM7jG9XbKmpBclI=; b=Al7QTTCBbWdAYJp2nkcmpkzs8jUWwl+PkY07xMRS3yfXqIyRpI0Ix9c+DAofPFwT+R487X6aFNpkMeQJmWMoNH3CJYXLFuimWj+03DczsSHkwUmVyLjYWPiRgQq9jaO9glxvRgyioe0BZRCHfJnpRzXrnwEDpPYYg8vCCSBufBRhzxRgLRWr3z/jviK3oIn7hGsEWJgIL0L0ld2A6UA7cnW4mECGGsOha/9/gpSdDEUnqyZkbRKSD7Asfdhq6YYB7ZuOsOpMJjb8Q2k/KEVMX3lXj1WxHThUb8qHXHpgltfDwAEfSJ7D/nZvIECzaHu6pi/0xB7RcFbMe1PZatr7qQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) by AM9PR04MB8636.eurprd04.prod.outlook.com (2603:10a6:20b:43f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Thu, 9 Nov 2023 13:05:22 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.018; Thu, 9 Nov 2023 13:05:22 +0000 Message-ID: Date: Thu, 9 Nov 2023 14:05:19 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH V2 3/8] Support APX GPR32 with extend evex prefix Content-Language: en-US To: "Cui, Lili" Cc: "Lu, Hongjiu" , "binutils@sourceware.org" References: <4aebadde-7cba-050e-d2eb-188d6216c566@suse.com> From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR2P281CA0063.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:93::19) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8636:EE_ X-MS-Office365-Filtering-Correlation-Id: 1288b51c-1c70-44a6-a2f3-08dbe12487ed X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: C2ncKmfgc+qnz8cYxo1clPUoBW8LtxxHkGbobo8RsDdrWywNZ5iZ+STa8fIR0wM+pGY4uj2a1DHR4TcHhE4ahUbzJIsR8P5CAJfJaEYg6x46AYW8TSVOhOJSjATz6kUfDExk+mOpjPGvLVft9T2Nm/3W/kOPDzebxyxFBgrp6imNn6ex7WL6A7HVPdFfztyqygx/ARuALVcee141VchqOFfe8HBUazJyAdNQnanJn3o9vyhaH99t0jDwKqYdelTaGUYhbxplS9Yh7x+CfSgL5ndyHmPzhwy7g0rIfqekgkUvKZzGczv/tRD4KGZmFHGCc7az8yubwqRWXjbrLeyOzBW3H2WFZOX61nYIQMRkPx3dqRVG6MlA5XUXk5GPIkC1MW/EDaXymujGIkb6Kf3FKiJXLspk4+KLQ16YxCzjO/EP10m42YRoVIseqDOigMPTg00OrZMPczPMvh/lJ3Dm68Fl0dPH3lAAq6VkDLSEHy4OzSezsxd2D5ChjfDa8sgGYhNob3t4qsS7WlTlpXXg4RaTu3ColkudBSs6OikSnNM5bK6f3isJZQX9q6E4nj1JtijxrJnOe0WZZI5TqYI1Iy1sfNsdJ5HNMhEPYALhFaA4Zro0n30BiDXhb02CCyl46DiWVV5zRzS+cLQAMyD3WA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(39860400002)(376002)(136003)(396003)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(26005)(53546011)(6506007)(2616005)(6666004)(41300700001)(6512007)(83380400001)(5660300002)(2906002)(8676002)(4326008)(8936002)(6486002)(478600001)(6916009)(66556008)(54906003)(66476007)(66946007)(316002)(36756003)(31696002)(86362001)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dEdZRjRkTGpCSjZzR0cvU2Ezelg1SE1LOXNNRzlmWUVZR1JsSzZnYkdZcUdu?= =?utf-8?B?eS8xdFJ2MGlnUEx5ZFFhajFnbnUyUC82RGpHWk1HeC9Ob0x5K1Y2L2JhQjI4?= =?utf-8?B?V2htU01UY1dVT1ZZRWZzVTdKeTEyQ3NUT3F1LzlLcFF0TVVFempUMkdqUjVK?= =?utf-8?B?N0VKU2tMQ3pEOFZkRm1kcEd1OVNTd1FwODRIUnBPM0EveDZkRm10L2xqYlRt?= =?utf-8?B?RmZCczRsMi8wWGhMN3RCenIyL1hZSUp5ak5CeEZpVmpFYllSNzdoS3lQRnpv?= =?utf-8?B?YmpQd0wveDVCZFZGWkI2cjl0dUhTUnRJdU5Cak1VRDd2Q1QyWEFpazFCdG5w?= =?utf-8?B?YTN6cThQTnVGMzFGem40TWVucHBxb1lnZjl3UHlaNTdYeVJGTlpHaDZwRmZa?= =?utf-8?B?NWRUNUxqdHFIbDZrRHZ4Szc1cCt3NHJxMXVWK1JSVzJFTWZtYVdVaEk0OVNK?= =?utf-8?B?aGYrR0pUUUc5c0ZMb0x4aDBVZXpOd0xBNERJSHp4a2dCOFdWOC8yajRvbVVP?= =?utf-8?B?dDhydlRvSlNKMlV2ampRWGFCbXkra1luYUhWRlNCRCtoSkllVEl0MnBTa05q?= =?utf-8?B?QVRLUzNNOUs5N0N0cTVSNEVHV1JWTTNaZ3FiU0pobGFBWjRrZ3lLcWV3WGUv?= =?utf-8?B?N0xyMnFrZ0ZOV0VSQmhrY0N3eUZ6VDNrMHBKMjR4M1N4K3pOTFF4TlJHN0Zm?= =?utf-8?B?WjU5MjUwTWFmNFJKNG5sWHIyYmc0K1ZMZTlUc09yUW80VVlkeGNvclJzbjg4?= =?utf-8?B?Q25HQWNtWk9yMWJCd2hmY2dGRWNIR2JZcVBhazR3aldGMU1Ucm40Y1NINkpB?= =?utf-8?B?S202dEhFclpzQzU2OGZjaHBNSGtnQ3VOdTZXUi82a1JjYkxCTU1Ba3ZWbU5Z?= =?utf-8?B?c2lvaHFQamVNekw3aWFnamNwZmo2M0NON21Sc0dXUDk5bnVOKzV6aWZIVTRS?= =?utf-8?B?WEVTR0tsVFdjWU5YVVlDSWtEU1oyVW1sL1VMMEV4SGE3K0NMWExxUTdMY3FT?= =?utf-8?B?ODVzTTFrWmlYMjY3NHBQNXl2VmQ4dDhnVlhLbTBOdEpOSXRoK1lzclNENmw0?= =?utf-8?B?bXQ5S2I2N2pRN0xESW43cElka0RZdFdzV3p5bCs3TmJiOHc5bEU5WmhrSENm?= =?utf-8?B?WUQrSHJ1d2djY2dtN0pJUTRIeTI3RGlGa1c0YkcvcUdXL0lvallYYlBTRGVV?= =?utf-8?B?VlFQRWd5ODFCVEo2NUY1SzV2Z0p5ZmVQQWlsYnp4VFdvYVM1dFFPNEpFRkNq?= =?utf-8?B?NVNaMkJ0YVYzUE1MYUJQSDA3OExlTThnOHh4dVVnWkVTQnYxRmtRU1RGRG9V?= =?utf-8?B?OGNFSFJhYnVGdTNoa1hFYjI1K0ZOdW82SlYrWDVmNzRpZi9OZ0piUU5uejJG?= =?utf-8?B?OEsvcVdUbWJYaUNrTVlOSG5HMmxwWnUzc0hpdmJwK2RCZ01tNkd4UXUrMnFR?= =?utf-8?B?Z1k3YTNTRXpFQzRGVXBQaVJRZXZGaTlxZFBzQW95ZTFyQWZKQUtqMGcwdDFV?= =?utf-8?B?ajBQR0NWNHJ2eFFoRGZCZUZkdGZoRmd5R2ZvQnljRHphaXRCMnEyUEJjdVRx?= =?utf-8?B?UzFFc0tnc0NsQUhBYWhqNytub04yQmJOdXlTTlp4eU16MHVHKzBYTWxHOXhP?= =?utf-8?B?alp0ZmRVdHJ1N0F4Zm5QV1l1REg2NG5xNGlFdi9HSXpiK2RDMm05N1FvSDF2?= =?utf-8?B?VnZpeTZPVnZ4VGhYRlhER0YzVE4vMkE3QXhMWXhONDhrbWxUTVJ2OHg3czJr?= =?utf-8?B?YUduSitsZHlITG9OL3kwbTNyTXpFR3BGSXFJazdrT3lzSWE3d2ZHa0RpN3Za?= =?utf-8?B?VEZPa1lpenc0U1d4c1NwZ2VUNGVqeDhMbXg3bitMVkJLWndvS2xRdkdTVzU3?= =?utf-8?B?Q2hSTzJZaGxWa3VoK25tV1NFcDhoQzE5b2M3SW5HMjk5eS8xVVFpNHdrYmcy?= =?utf-8?B?di9QRDNlNVVma094UWpOMC9hNzFmOFplMGZSUkQ4anlJbTRodU5hL3B0Q0Vv?= =?utf-8?B?QnZjekZnUGNZaDFmSGNuRUZzeE9aa2REbEtIYm8xRXR1bmpZWTRwbU5kUTJC?= =?utf-8?B?UjJyUmFFeksyZzFxVU0xTFhRVkQxZDViS0hzcy80OGNsUkZ0bDJwYkFrOEUz?= =?utf-8?Q?r3RCCfG/I7ur/QlurEMKyBF0Z?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1288b51c-1c70-44a6-a2f3-08dbe12487ed X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 13:05:22.0091 (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: OTu4P/lxZwl1voi+6d/bBK9/OihyeLw08SeJzivhprMWMBJCPPrG4WxScojISLS7KMBpK8JykehjdUWdTqNqWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8636 X-Spam-Status: No, score=-3028.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,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 List-Id: On 09.11.2023 13:31, Cui, Lili wrote: >> Subject: Re: [PATCH V2 3/8] Support APX GPR32 with extend evex prefix >> >> On 03.11.2023 17:50, Cui, Lili wrote: >>> --- a/gas/testsuite/gas/i386/x86-64-inval-movbe.l >>> +++ b/gas/testsuite/gas/i386/x86-64-inval-movbe.l >>> @@ -1,29 +1,30 @@ >>> .*: Assembler messages: >>> -.*:4: Error: .* >>> .*:5: Error: .* >>> .*:6: Error: .* >>> .*:7: Error: .* >>> .*:8: Error: .* >>> -.*:11: Error: .* >>> +.*:9: Error: .* >>> .*:12: Error: .* >>> .*:13: Error: .* >>> .*:14: Error: .* >>> .*:15: Error: .* >>> +.*:16: Error: .* >>> GAS LISTING .* >>> >>> >>> [ ]*1[ ]+\# Check illegal movbe in 64bit mode\. >>> [ ]*2[ ]+\.text >>> -[ ]*3[ ]+foo: >>> -[ ]*4[ ]+movbe \(%rcx\),%bl >>> -[ ]*5[ ]+movbe %ecx,%ebx >>> -[ ]*6[ ]+movbe %bx,%rcx >>> -[ ]*7[ ]+movbe %rbx,%rcx >>> -[ ]*8[ ]+movbe %bl,\(%rcx\) >>> -[ ]*9[ ]+ >>> -[ ]*10[ ]+\.intel_syntax noprefix >>> -[ ]*11[ ]+movbe bl, byte ptr \[rcx\] >>> -[ ]*12[ ]+movbe ebx, ecx >>> -[ ]*13[ ]+movbe rcx, bx >>> -[ ]*14[ ]+movbe rcx, rbx >>> -[ ]*15[ ]+movbe byte ptr \[rcx\], bl >>> +[ ]*3[ ]+\.arch \.noapx_f >>> +[ ]*4[ ]+foo: >>> +[ ]*5[ ]+movbe \(%rcx\),%bl >>> +[ ]*6[ ]+movbe %ecx,%ebx >>> +[ ]*7[ ]+movbe %bx,%rcx >>> +[ ]*8[ ]+movbe %rbx,%rcx >>> +[ ]*9[ ]+movbe %bl,\(%rcx\) >>> +[ ]*10[ ]+ >>> +[ ]*11[ ]+\.intel_syntax noprefix >>> +[ ]*12[ ]+movbe bl, byte ptr \[rcx\] >>> +[ ]*13[ ]+movbe ebx, ecx >>> +[ ]*14[ ]+movbe rcx, bx >>> +[ ]*15[ ]+movbe rcx, rbx >>> +[ ]*16[ ]+movbe byte ptr \[rcx\], bl >> >> To avoid the need to fiddle with this file, did you consider changing the test's >> command line options instead? In any event ... >> > > Do you mean disabling apx_f with the command line "#as..."? Yes. > I tried "#as -march=+noapx_f" , but not worked. Listing tests have their command line options passed directly from the .exp file. >>> --- a/opcodes/i386-dis-evex-len.h >>> +++ b/opcodes/i386-dis-evex-len.h >>> @@ -62,6 +62,16 @@ static const struct dis386 evex_len_table[][3] = { >>> { REG_TABLE (REG_EVEX_0F38C7_L_2) }, >>> }, >>> >>> + /* EVEX_LEN_0F38F2 */ >>> + { >>> + { "andnS", { Gdq, VexGdq, Edq }, 0 }, >>> + }, >> >> There's no sign of a prefix decode step here. >> > > The prefix decoding step is in the NF patch and its dependent patches (Part II 2/6). Both are suspended currently. But prefix decoding is orthogonal to NF handling. Why would that step be added only there? >>> --- a/opcodes/i386-dis-evex-mod.h >>> +++ b/opcodes/i386-dis-evex-mod.h >>> @@ -1 +1,43 @@ >>> /* Nothing at present. */ >> >> This comment needs to go away when new stuff is added here. However, I'm >> sure I requested before that no new entries be put here which have only one >> of their two slots populated. The reg-only and mem-only aspects can be >> expressed via proper choice of operand specifiers, at least in almost all cases. >> Note how you already use ... >> >>> + /* MOD_EVEX_MAP4_DA_PREFIX_1 */ >>> + { >>> + { Bad_Opcode }, >>> + { "encodekey128", { Gd, Ed }, 0 }, }, >>> + /* MOD_EVEX_MAP4_DB_PREFIX_1 */ >>> + { >>> + { Bad_Opcode }, >>> + { "encodekey256", { Gd, Ed }, 0 }, }, >>> + /* MOD_EVEX_MAP4_DC_PREFIX_1 */ >>> + { >>> + { "aesenc128kl", { XM, M }, 0 }, >>> + }, >>> + /* MOD_EVEX_MAP4_DD_PREFIX_1 */ >>> + { >>> + { "aesdec128kl", { XM, M }, 0 }, >>> + }, >>> + /* MOD_EVEX_MAP4_DE_PREFIX_1 */ >>> + { >>> + { "aesenc256kl", { XM, M }, 0 }, >>> + }, >>> + /* MOD_EVEX_MAP4_DF_PREFIX_1 */ >>> + { >>> + { "aesdec256kl", { XM, M }, 0 }, >>> + }, >>> + /* MOD_EVEX_MAP4_F8_PREFIX_1 */ >>> + { >>> + { "enqcmds", { Gva, M }, 0 }, >>> + }, >>> + /* MOD_EVEX_MAP4_F8_PREFIX_2 */ >>> + { >>> + { "movdir64b", { Gva, M }, 0 }, >>> + }, >>> + /* MOD_EVEX_MAP4_F8_PREFIX_3 */ >>> + { >>> + { "enqcmd", { Gva, M }, 0 }, >>> + }, >> >> ... M in many entries anyway. These can move one level up without needing >> further adjustment. >> >> For all of the above, however, an EVEX.W decode step looks to be missing. >> Interestingly the doc consistently omits the (presumably) .W0 suffix for these, >> having merely a trailing dot there. The issue (doc and/or code) is present >> elsewhere as well. >> > > Do you mean that all EVEX promoted instructions need to be explicitly .W0 in > the doc? Not exactly, no. The doc should explicitly state what the behavior wrt EVEX.W is. I'm merely guessing that for the insns where it's missing W0 might be meant (on the assumption that a common goal ought to be to waste as little encoding space as possible). If it's WIG (in the present doc typically spelled IGNORED) instead, ... > in the case of, I'll handle it uniformly in get_valid_dis386. ... no W decoding step would be needed of course. Jan