From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2063.outbound.protection.outlook.com [40.107.21.63]) by sourceware.org (Postfix) with ESMTPS id CE1953857361 for ; Fri, 5 Aug 2022 12:20:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CE1953857361 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jeeKTCeQY03ZvlkSZYj7QVemqIRSCibDKkmcum7PVEdZR1E2+oWB/uNUDElwe4fBk2DbVpPmandimtRPl0pHPb4BlKgIu+5rcZMQ0EJQdrT4wi2/KSa4wRNQKetunAa5lK8m+gWong4KyW9kDnZrGzOtrgOMrRc7skuOV0hOGfl7fSh96MTbRzf+IvuO1oHWwOf7OYsPkMDD40iH1K9bM7K8hNnigoTSmor77ivHb7xp+pqgWj6K4RnepRSMqv7EFNiG25YWTPuLQ34SgvvXn7NgmRfNKZ1tmNLh4VBz1r5MwkBKp1YOR9WWufBQHMCY4sZLLGNIr7ylr7QfF/rBDQ== 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=aPepy5txspsr1Rpc1CX2+5wksAZ9Gn8eqRWF5JncX48=; b=fyQ3q7zvbWIjEh3SPUierSgbyWh9eBqoO0uiLhrcouKvmPmV+6upqLMG0MaS8bltcBivIkpsKCtdRV6rwLu3B21BqGbNTusXmrqfVTvtybDDKfOMIqomlT9gYVoVm9HbuqplQ6SA9kvjydZHbDNBTdFfeOumrE6Tu/kFYQdqnOVlQEiwPnYo3RBXuNbpj9HsGDFzmk/CVZDU4xMASfiCncoenJwRJn8CROaYequ1rhl+hZ/3jw6NzL3jGl2LCoBHlm636E0MEI1stuZTOj5STqrxSgi8CWzBlWhHljts/szov63yBaKvE8xwjC6DAo+GHCcDpAjJ+E6eobf83Jy3xA== 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:20:06 +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:20:06 +0000 Message-ID: <39936ed4-08ae-87cf-a168-09a2c3dc393c@suse.com> Date: Fri, 5 Aug 2022 14:20:04 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: [PATCH 02/12] x86: allow use of broadcast with X/Y/Z-suffixed AVX512-FP16 insns 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: FR0P281CA0006.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::11) 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: fb0a6f23-4eca-4dfd-6da1-08da76dcd517 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: MglGXG/KzWXyX+i5Y8mM6SvRgPMrtf7SitRl6WCUIqUki40vGq5plksfC5+yKK+fmf1I0QPAi+EhZV7Iz7k5Xvs5v4A12x0N6Oo5izrHcu9zji4mJz7PIODvGiTbDVciduw4Fj1LGWSfmXVFkOmAq9JUpampTJX7qp+gtj1tGl9WJBOhWP0Q5v+tbQR8A31FZR3WyFPhW0pC5vjFoAddNBfYlgZrsGwQrnR1vEki02x2aPHo7HOuUR/RzAUi4XkrRVjExQ7I7I9hW5Ao0Qj32tXnqlBPLSPV7YwEkCatjhdzUYD3p6idNPg5dr6r+zuSfoWveN8Xgx0AqYcuja/gInI4lVQzT8hVMGY2i8NW/221uZjrs6h8TD+Bh8fb9mQ1xDCJRlTojbZkse8xv55aPnTB+tN3tuVbYGnwHM0Uj6L8E+tFVEjC9x3K2rZdM+3LFfJNVXP985dgZr3cKNAsWFt/xlhhZw5DF0qlYvWZXVfhc+b9pvkpeiT/EPXmy+/6O0tOkhW1F6Nt9Z+6/owQGsyXbcIxh9ystxQzTLulLTSz6xFLQVxHeN+iQCiMVhYSrOQ1O954VMCggqmI4EPQ/F6nXLT/yTsMZNF6eO7EuAq/lyFTZyKEn1aZ2G0D9G015UUm83vodNXFQxmzObr2kQM6GsjxV3PpMtahcbEZgENEqrnzm+nsTbK9aCyB76fuvPUfstTr+CY/7N734QiLMhOu2Bin/h9dESA4PgLK/ticdmqcZQxd4WYru2aj4Sgm2ONLGk5Tra7wp08vltDBF5hMI12ahTSTEKnVIrNXJuY1QQsbdGhRS5Ucn8zaefsAkjkrZkCBjNU2fgXmlsEnbw== 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)(54906003)(4326008)(316002)(5660300002)(66946007)(8676002)(66476007)(66556008)(30864003)(8936002)(2906002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c256K0JER0sydEdOc0ZwZlRIeDlYVWIyOHZXKzZDWHBzaHZYQ0crbjdSOVZk?= =?utf-8?B?Zk1DUGdxWVEvMzh6VUlaSURrQi8wQi84aTVjZlpjU2QzcnNzWUE5dFlwamJZ?= =?utf-8?B?WmFub2pEd0dkdzU5Yjg1R1ptQkw1d0xZRTlZMURFNWNVTzJZamNmOXFnNzVD?= =?utf-8?B?ZlBpa1Q1Vm1mM05VcExYWkc3RnJzSE50TElHVlBHaFpBNEJLRnFhcHltTWZt?= =?utf-8?B?Rlp1bG5xbXBpY0hQV1R3OVpKem90amFCNjFZNWtUV3RyL3BzaHhqbWVuZFds?= =?utf-8?B?eVNvSmZNb2g3RFdaeitDLzBZZ3NmNjUzQkh1dklEdFFWbmVWc1c4TkMweGRw?= =?utf-8?B?TnRPejdZdVdMQmtXNnppU2JKUldpS0NILzVwMXYzUWpEakZ4SkEvZlpkQXJL?= =?utf-8?B?NVZpaGJGMVNzUVJtb2taMzR4S1dXNmdEQXFBSmFRcEJpYVVEWnhpKzVzcHpC?= =?utf-8?B?ZXprSVVoK1hsRno3MlBTSldQOFRKZmJ2VUdmQy9pVUdUL0NpeGdwMWp0cGty?= =?utf-8?B?K1VsOHp1dEJ4Z2F4N1FkaHBCS2pEbDVjZ0pSRHQ5VWpRS3lUWTcvS2JBWi9r?= =?utf-8?B?Y1A0K3BZeTZQYUFEUFRJeU9JUDcxdmEvTjBBQjY2ZEpJM2p3dmtXMnlWL3dD?= =?utf-8?B?Ym1HY2RrU0lRUDUvVFlxenpPeUI0UkxVWkcrV2V6Rm53ZnIrUzFzR0dEOHVQ?= =?utf-8?B?SUpqZUpGenZMQk1BVUxsMkZoM1A0eHZsZWVjampsQzlwb3hMM0hFSWdoclY5?= =?utf-8?B?ZkRyRWJCUDF0dFBYY0dVWHVaZkQ3ajRXcENsV2kvUEl2Ynk5Q3VvbGltMU9U?= =?utf-8?B?eDJLSDJjVFYzZFpFUzIwSWRmaHo2T1k5b1ZBOFRSaGZIWVhBTnI4TitRZmlm?= =?utf-8?B?YjlxMkoxeWFhM1lQYUhubXVhcGkrUlFNU3RqV3hXbVhNelppVkQ5WmhSWDYw?= =?utf-8?B?aUhzSFVGcFpLYjlxcjZyeUtwQkxIcnpJM3piQnU5cjVDaUV1enBQUnMwTTFD?= =?utf-8?B?a3VSTlNjbVhXVEtlNUlDYlA4bVB3LzdoZkJmdkNCZTdLQ2RZRUV4cElROUdP?= =?utf-8?B?TmF5WFZyakFDMVhkR0p5T0t1Z2VhQkwwVzhFV3ZXYmkyUE4wZGdHVDdtNVNv?= =?utf-8?B?Y1F1WENmbWR1aVNBRU9NZUFSODlEOEVIdEJBVGlZM3VwdmltTDZFc0tTVVJD?= =?utf-8?B?RHFRMDJlMTJpeGtadDdoNzRKZUhJUk9saEJ2RVBRenFmZUNHVEhXS09jcFFn?= =?utf-8?B?WGNBVEdmL2MxRTV0T3hrelQyUElJK0d5ZFdJY1hGQS9GbFhPaXF2SUVnaE5H?= =?utf-8?B?TzE3QjZyWkd4Y1NJakJ3N2JJaUZCRnQ2cnhUVXRzNHVoaE9ndUNqcVByKzQ5?= =?utf-8?B?Z0luOEpGUm1GRmMyTmVtTUptVXJWcGhGemsvd1RrWVNQaW5hM2IwK3g1Tk1E?= =?utf-8?B?TWFlUHJKNStLcDBNOG1FWDJyTVowRExBdU5FcHRZMWc1clBPVVMwbm1UbDNV?= =?utf-8?B?UmMrbWlzYmtuK0kvZlVxWVNuQ3Y1TUVWb3hWTGgxYmdsTjRLVEt1R2JMTitW?= =?utf-8?B?dDBpU2pGYmNNVFFOUE1zaFNpeUFVUVZvL2tmYWM0Sm8vbWhnMTJKQ0h2NkY5?= =?utf-8?B?SDNraFVzRC9temxTN1NsWXJhSUVpQlBvZlREZDNOemx6dTFWbUpXYktJdVh6?= =?utf-8?B?amplMnkrKzZ5ZWVXMDk3aEZ2QnZQQitNbnpLZzBxaDBYK0VwQnJTaFpXMWtD?= =?utf-8?B?S2NFYnFBelFkSnJISVFjOXRmV2p2Uyt1WTdGUVcxRDBsTUhMOXdyeWZ2UU5j?= =?utf-8?B?T1Y3UmIyVERJbGRBSml5WlJqQ2JNN3JrdUxHenNTTmcxUVZwdWRJaTc1MnRW?= =?utf-8?B?dlBtUTF5czNoWkRhTndzT2dmd2M1WWsrem96V3k0TmNUbFRLSDQ3TGJwb0Zj?= =?utf-8?B?RlhvaXNzMk9xOU4weWcrQm41NUtkUG1DS3ZvemlrM2tUVnFXckFXb3hKTUU2?= =?utf-8?B?WkVvL3VsWlRhTmFSM2JpNW9PdHFCaVBOWDg5cExxNXpQWmxTM2NUNFd1bk5m?= =?utf-8?B?ZkN4a3dFTmszZHAwWnVPM1RzRGNwdlBjLzFrY2t2QVBxOTlLdllhNTZyQm1q?= =?utf-8?Q?32bGVMXTdRyNWL4TRPuFaUqaO?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: fb0a6f23-4eca-4dfd-6da1-08da76dcd517 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:20:06.7405 (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: vy+GRjy5DJ5FOZI+genLsGCiBCA3MtoQpSBJtGC8AVC7mhFbbUSD+IjWA35V8qvcMU55adR/j7wsYOshTecUCw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3759 X-Spam-Status: No, score=-3029.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, LOTS_OF_MONEY, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no 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:20:12 -0000 While the x/y/z suffix isn't necessary to use in this case, it is still odd that these forms don't support broadcast (unlike their AVX512F / AVX512DQ counterparts). The lack thereof can e.g. make macro-ized programming more difficult. --- a/gas/testsuite/gas/i386/avx512_fp16.d +++ b/gas/testsuite/gas/i386/avx512_fp16.d @@ -546,6 +546,7 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 f3 7c 58 66 29 7b[ ]*vfpclassph \$0x7b,\(%ecx\)\{1to32\},%k5 [ ]*[a-f0-9]+:[ ]*62 f3 7c 48 66 69 7f 7b[ ]*vfpclassphz \$0x7b,0x1fc0\(%ecx\),%k5 [ ]*[a-f0-9]+:[ ]*62 f3 7c 5f 66 6a 80 7b[ ]*vfpclassph \$0x7b,-0x100\(%edx\)\{1to32\},%k5\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f3 7c 58 66 69 01 7b[ ]*vfpclassph \$0x7b,0x2\(%ecx\)\{1to32\},%k5 [ ]*[a-f0-9]+:[ ]*62 f3 7c 08 67 ee 7b[ ]*vfpclasssh \$0x7b,%xmm6,%k5 [ ]*[a-f0-9]+:[ ]*62 f3 7c 0f 67 ee 7b[ ]*vfpclasssh \$0x7b,%xmm6,%k5\{%k7\} [ ]*[a-f0-9]+:[ ]*62 f3 7c 0f 67 ac f4 00 00 00 10 7b[ ]*vfpclasssh \$0x7b,0x10000000\(%esp,%esi,8\),%k5\{%k7\} --- a/gas/testsuite/gas/i386/avx512_fp16.s +++ b/gas/testsuite/gas/i386/avx512_fp16.s @@ -541,6 +541,7 @@ _start: vfpclassph $123, (%ecx){1to32}, %k5 #AVX512-FP16 BROADCAST_EN vfpclassphz $123, 8128(%ecx), %k5 #AVX512-FP16 Disp8(7f) vfpclassph $123, -256(%edx){1to32}, %k5{%k7} #AVX512-FP16 BROADCAST_EN Disp8(80) MASK_ENABLING + vfpclassphz $123, 2(%ecx){1to32}, %k5 #AVX512-FP16 BROADCAST_EN vfpclasssh $123, %xmm6, %k5 #AVX512-FP16 vfpclasssh $123, %xmm6, %k5{%k7} #AVX512-FP16 MASK_ENABLING vfpclasssh $123, 0x10000000(%esp, %esi, 8), %k5{%k7} #AVX512-FP16 MASK_ENABLING --- a/gas/testsuite/gas/i386/avx512_fp16-intel.d +++ b/gas/testsuite/gas/i386/avx512_fp16-intel.d @@ -546,6 +546,7 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 f3 7c 58 66 29 7b[ ]*vfpclassph k5,WORD BCST \[ecx\]\{1to32\},0x7b [ ]*[a-f0-9]+:[ ]*62 f3 7c 48 66 69 7f 7b[ ]*vfpclassph k5,ZMMWORD PTR \[ecx\+0x1fc0\],0x7b [ ]*[a-f0-9]+:[ ]*62 f3 7c 5f 66 6a 80 7b[ ]*vfpclassph k5\{k7\},WORD BCST \[edx-0x100\]\{1to32\},0x7b +[ ]*[a-f0-9]+:[ ]*62 f3 7c 58 66 69 01 7b[ ]*vfpclassph k5,WORD BCST \[ecx\+0x2\]\{1to32\},0x7b [ ]*[a-f0-9]+:[ ]*62 f3 7c 08 67 ee 7b[ ]*vfpclasssh k5,xmm6,0x7b [ ]*[a-f0-9]+:[ ]*62 f3 7c 0f 67 ee 7b[ ]*vfpclasssh k5\{k7\},xmm6,0x7b [ ]*[a-f0-9]+:[ ]*62 f3 7c 0f 67 ac f4 00 00 00 10 7b[ ]*vfpclasssh k5\{k7\},WORD PTR \[esp\+esi\*8\+0x10000000\],0x7b --- a/gas/testsuite/gas/i386/avx512_fp16_vl.d +++ b/gas/testsuite/gas/i386/avx512_fp16_vl.d @@ -574,9 +574,11 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 f3 7c 18 66 29 7b[ ]*vfpclassph \$0x7b,\(%ecx\)\{1to8\},%k5 [ ]*[a-f0-9]+:[ ]*62 f3 7c 08 66 69 7f 7b[ ]*vfpclassphx \$0x7b,0x7f0\(%ecx\),%k5 [ ]*[a-f0-9]+:[ ]*62 f3 7c 1f 66 6a 80 7b[ ]*vfpclassph \$0x7b,-0x100\(%edx\)\{1to8\},%k5\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f3 7c 18 66 69 01 7b[ ]*vfpclassph \$0x7b,0x2\(%ecx\)\{1to8\},%k5 [ ]*[a-f0-9]+:[ ]*62 f3 7c 38 66 29 7b[ ]*vfpclassph \$0x7b,\(%ecx\)\{1to16\},%k5 [ ]*[a-f0-9]+:[ ]*62 f3 7c 28 66 69 7f 7b[ ]*vfpclassphy \$0x7b,0xfe0\(%ecx\),%k5 [ ]*[a-f0-9]+:[ ]*62 f3 7c 3f 66 6a 80 7b[ ]*vfpclassph \$0x7b,-0x100\(%edx\)\{1to16\},%k5\{%k7\} +[ ]*[a-f0-9]+:[ ]*62 f3 7c 38 66 69 01 7b[ ]*vfpclassph \$0x7b,0x2\(%ecx\)\{1to16\},%k5 [ ]*[a-f0-9]+:[ ]*62 f6 7d 08 42 f5[ ]*vgetexpph %xmm5,%xmm6 [ ]*[a-f0-9]+:[ ]*62 f6 7d 8f 42 f5[ ]*vgetexpph %xmm5,%xmm6\{%k7\}\{z\} [ ]*[a-f0-9]+:[ ]*62 f6 7d 28 42 f5[ ]*vgetexpph %ymm5,%ymm6 --- a/gas/testsuite/gas/i386/avx512_fp16_vl.s +++ b/gas/testsuite/gas/i386/avx512_fp16_vl.s @@ -569,9 +569,11 @@ _start: vfpclassph $123, (%ecx){1to8}, %k5 #AVX512-FP16,AVX512VL BROADCAST_EN vfpclassphx $123, 2032(%ecx), %k5 #AVX512-FP16,AVX512VL Disp8(7f) vfpclassph $123, -256(%edx){1to8}, %k5{%k7} #AVX512-FP16,AVX512VL BROADCAST_EN Disp8(80) MASK_ENABLING + vfpclassphx $123, 2(%ecx){1to8}, %k5 #AVX512-FP16,AVX512VL BROADCAST_EN vfpclassph $123, (%ecx){1to16}, %k5 #AVX512-FP16,AVX512VL BROADCAST_EN vfpclassphy $123, 4064(%ecx), %k5 #AVX512-FP16,AVX512VL Disp8(7f) vfpclassph $123, -256(%edx){1to16}, %k5{%k7} #AVX512-FP16,AVX512VL BROADCAST_EN Disp8(80) MASK_ENABLING + vfpclassphy $123, 2(%ecx){1to16}, %k5 #AVX512-FP16,AVX512VL BROADCAST_EN vgetexpph %xmm5, %xmm6 #AVX512-FP16,AVX512VL vgetexpph %xmm5, %xmm6{%k7}{z} #AVX512-FP16,AVX512VL MASK_ENABLING ZEROCTL vgetexpph %ymm5, %ymm6 #AVX512-FP16,AVX512VL --- a/gas/testsuite/gas/i386/avx512_fp16_vl-intel.d +++ b/gas/testsuite/gas/i386/avx512_fp16_vl-intel.d @@ -574,9 +574,11 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 f3 7c 18 66 29 7b[ ]*vfpclassph k5,WORD BCST \[ecx\]\{1to8\},0x7b [ ]*[a-f0-9]+:[ ]*62 f3 7c 08 66 69 7f 7b[ ]*vfpclassph k5,XMMWORD PTR \[ecx\+0x7f0\],0x7b [ ]*[a-f0-9]+:[ ]*62 f3 7c 1f 66 6a 80 7b[ ]*vfpclassph k5\{k7\},WORD BCST \[edx-0x100\]\{1to8\},0x7b +[ ]*[a-f0-9]+:[ ]*62 f3 7c 18 66 69 01 7b[ ]*vfpclassph k5,WORD BCST \[ecx\+0x2\]\{1to8\},0x7b [ ]*[a-f0-9]+:[ ]*62 f3 7c 38 66 29 7b[ ]*vfpclassph k5,WORD BCST \[ecx\]\{1to16\},0x7b [ ]*[a-f0-9]+:[ ]*62 f3 7c 28 66 69 7f 7b[ ]*vfpclassph k5,YMMWORD PTR \[ecx\+0xfe0\],0x7b [ ]*[a-f0-9]+:[ ]*62 f3 7c 3f 66 6a 80 7b[ ]*vfpclassph k5\{k7\},WORD BCST \[edx-0x100\]\{1to16\},0x7b +[ ]*[a-f0-9]+:[ ]*62 f3 7c 38 66 69 01 7b[ ]*vfpclassph k5,WORD BCST \[ecx\+0x2\]\{1to16\},0x7b [ ]*[a-f0-9]+:[ ]*62 f6 7d 08 42 f5[ ]*vgetexpph xmm6,xmm5 [ ]*[a-f0-9]+:[ ]*62 f6 7d 8f 42 f5[ ]*vgetexpph xmm6\{k7\}\{z\},xmm5 [ ]*[a-f0-9]+:[ ]*62 f6 7d 28 42 f5[ ]*vgetexpph ymm6,ymm5 --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -3560,38 +3560,38 @@ vucomish, 0x2e, None, CpuAVX512_FP16, Mo vcvtdq2ph, 0x5b, None, CpuAVX512_FP16, Modrm|EVex512|Masking=3|EVexMap5|VexW0|Broadcast|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { RegZMM|Dword|Unspecified|BaseIndex, RegYMM } vcvtdq2ph, 0x5b, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|Masking=3|EVexMap5|VexW0|Broadcast|Disp8ShiftVL|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IntelSyntax, { RegXMM|RegYMM|Dword|Unspecified|BaseIndex, RegXMM } vcvtdq2ph, 0x5b, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|Masking=3|EVexMap5|VexW0|Broadcast|Disp8ShiftVL|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|RegYMM|Dword|BaseIndex, RegXMM } -vcvtdq2phx, 0x5b, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex128|Masking=3|EVexMap5|VexW0|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|Unspecified|BaseIndex, RegXMM } -vcvtdq2phy, 0x5b, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex256|Masking=3|EVexMap5|VexW0|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegYMM|Unspecified|BaseIndex, RegXMM } +vcvtdq2phx, 0x5b, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex128|Masking=3|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM } +vcvtdq2phy, 0x5b, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex256|Masking=3|EVexMap5|VexW0|Broadcast|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegYMM|Dword|Unspecified|BaseIndex, RegXMM } vcvtudq2ph, 0xf27a, None, CpuAVX512_FP16, Modrm|EVex512|Masking=3|EVexMap5|VexW0|Broadcast|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { RegZMM|Dword|Unspecified|BaseIndex, RegYMM } vcvtudq2ph, 0xf27a, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|Masking=3|EVexMap5|VexW0|Broadcast|Disp8ShiftVL|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IntelSyntax, { RegXMM|RegYMM|Dword|Unspecified|BaseIndex, RegXMM } vcvtudq2ph, 0xf27a, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|Masking=3|EVexMap5|VexW0|Broadcast|Disp8ShiftVL|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|RegYMM|Dword|BaseIndex, RegXMM } -vcvtudq2phx, 0xf27a, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex128|Masking=3|EVexMap5|VexW0|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|Unspecified|BaseIndex, RegXMM } -vcvtudq2phy, 0xf27a, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex256|Masking=3|EVexMap5|VexW0|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegYMM|Unspecified|BaseIndex, RegXMM } +vcvtudq2phx, 0xf27a, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex128|Masking=3|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM } +vcvtudq2phy, 0xf27a, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex256|Masking=3|EVexMap5|VexW0|Broadcast|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegYMM|Dword|Unspecified|BaseIndex, RegXMM } vcvtqq2ph, 0x5b, None, CpuAVX512_FP16, Modrm|Masking=3|EVexMap5|VexW1|Broadcast|Disp8ShiftVL|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM } vcvtqq2ph, 0x5b, None, CpuAVX512_FP16, Modrm|Masking=3|EVexMap5|VexW1|Broadcast|Disp8ShiftVL|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|ATTSyntax, { RegXMM|RegYMM|RegZMM|Qword|BaseIndex, RegXMM } -vcvtqq2phz, 0x5b, None, CpuAVX512_FP16, Modrm|EVex512|Masking=3|EVexMap5|VexW1|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|ATTSyntax, { RegZMM|Unspecified|BaseIndex, RegXMM } -vcvtqq2phx, 0x5b, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex128|Masking=3|EVexMap5|VexW1|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|Unspecified|BaseIndex, RegXMM } -vcvtqq2phy, 0x5b, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex256|Masking=3|EVexMap5|VexW1|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegYMM|Unspecified|BaseIndex, RegXMM } +vcvtqq2phz, 0x5b, None, CpuAVX512_FP16, Modrm|EVex512|Masking=3|EVexMap5|VexW1|Broadcast|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|ATTSyntax, { RegZMM|Qword|Unspecified|BaseIndex, RegXMM } +vcvtqq2phx, 0x5b, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex128|Masking=3|EVexMap5|VexW1|Broadcast|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } +vcvtqq2phy, 0x5b, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex256|Masking=3|EVexMap5|VexW1|Broadcast|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegYMM|Qword|Unspecified|BaseIndex, RegXMM } vcvtuqq2ph, 0xf27a, None, CpuAVX512_FP16, Modrm|Masking=3|EVexMap5|VexW1|Broadcast|Disp8ShiftVL|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM } vcvtuqq2ph, 0xf27a, None, CpuAVX512_FP16, Modrm|Masking=3|EVexMap5|VexW1|Broadcast|Disp8ShiftVL|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|ATTSyntax, { RegXMM|RegYMM|RegZMM|Qword|BaseIndex, RegXMM } -vcvtuqq2phz, 0xf27a, None, CpuAVX512_FP16, Modrm|EVex512|Masking=3|EVexMap5|VexW1|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|ATTSyntax, { RegZMM|Unspecified|BaseIndex, RegXMM } -vcvtuqq2phx, 0xf27a, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex128|Masking=3|EVexMap5|VexW1|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|Unspecified|BaseIndex, RegXMM } -vcvtuqq2phy, 0xf27a, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex256|Masking=3|EVexMap5|VexW1|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegYMM|Unspecified|BaseIndex, RegXMM } +vcvtuqq2phz, 0xf27a, None, CpuAVX512_FP16, Modrm|EVex512|Masking=3|EVexMap5|VexW1|Broadcast|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|ATTSyntax, { RegZMM|Qword|Unspecified|BaseIndex, RegXMM } +vcvtuqq2phx, 0xf27a, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex128|Masking=3|EVexMap5|VexW1|Broadcast|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } +vcvtuqq2phy, 0xf27a, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex256|Masking=3|EVexMap5|VexW1|Broadcast|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegYMM|Qword|Unspecified|BaseIndex, RegXMM } vcvtpd2ph, 0x665a, None, CpuAVX512_FP16, Modrm|Masking=3|EVexMap5|VexW1|Broadcast|Disp8ShiftVL|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|BaseIndex, RegXMM } vcvtpd2ph, 0x665a, None, CpuAVX512_FP16, Modrm|Masking=3|EVexMap5|VexW1|Broadcast|Disp8ShiftVL|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|ATTSyntax, { RegXMM|RegYMM|RegZMM|Qword|BaseIndex, RegXMM } -vcvtpd2phx, 0x665a, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex128|Masking=3|EVexMap5|VexW1|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|Unspecified|BaseIndex, RegXMM } -vcvtpd2phy, 0x665a, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex256|Masking=3|EVexMap5|VexW1|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegYMM|Unspecified|BaseIndex, RegXMM } -vcvtpd2phz, 0x665a, None, CpuAVX512_FP16, Modrm|EVex512|Masking=3|EVexMap5|VexW1|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|ATTSyntax, { RegZMM|Unspecified|BaseIndex, RegXMM } +vcvtpd2phx, 0x665a, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex128|Masking=3|EVexMap5|VexW1|Broadcast|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } +vcvtpd2phy, 0x665a, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex256|Masking=3|EVexMap5|VexW1|Broadcast|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegYMM|Qword|Unspecified|BaseIndex, RegXMM } +vcvtpd2phz, 0x665a, None, CpuAVX512_FP16, Modrm|EVex512|Masking=3|EVexMap5|VexW1|Broadcast|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|ATTSyntax, { RegZMM|Qword|Unspecified|BaseIndex, RegXMM } vcvtps2phx, 0x661d, None, CpuAVX512_FP16, Modrm|EVex512|Masking=3|EVexMap5|VexW0|Broadcast|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { RegZMM|Dword|Unspecified|BaseIndex, RegYMM } vcvtps2phx, 0x661d, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|Masking=3|EVexMap5|VexW0|Broadcast|Disp8ShiftVL|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IntelSyntax, { RegXMM|RegYMM|Dword|Unspecified|BaseIndex, RegXMM } vcvtps2phx, 0x661d, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|Masking=3|EVexMap5|VexW0|Broadcast|Disp8ShiftVL|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|RegYMM|Dword|BaseIndex, RegXMM } -vcvtps2phxx, 0x661d, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex128|Masking=3|EVexMap5|VexW0|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|Unspecified|BaseIndex, RegXMM } -vcvtps2phxy, 0x661d, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex256|Masking=3|EVexMap5|VexW0|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegYMM|Unspecified|BaseIndex, RegXMM } +vcvtps2phxx, 0x661d, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex128|Masking=3|EVexMap5|VexW0|Broadcast|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegXMM|Dword|Unspecified|BaseIndex, RegXMM } +vcvtps2phxy, 0x661d, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex256|Masking=3|EVexMap5|VexW0|Broadcast|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { RegYMM|Dword|Unspecified|BaseIndex, RegXMM } vcvtw2ph, 0xf37d, None, CpuAVX512_FP16, Modrm|Masking=3|EVexMap5|VexW0|Broadcast|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } vcvtuw2ph, 0xf27d, None, CpuAVX512_FP16, Modrm|Masking=3|EVexMap5|VexW0|Broadcast|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } @@ -3675,9 +3675,9 @@ vfnmsubph, 0x668e | 0x, No vfnmsubsh, 0x668f | 0x, None, CpuAVX512_FP16, Modrm|EVexLIG|VexVVVV|Masking=3|EVexMap6|VexW0|Disp8MemShift=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { RegXMM|Word|Unspecified|BaseIndex, RegXMM, RegXMM } vfpclassph, 0x66, None, CpuAVX512_FP16, Modrm|Masking=2|Space0F3A|VexW0|Broadcast|Disp8ShiftVL|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|BaseIndex, RegMask } -vfpclassphz, 0x66, None, CpuAVX512_FP16, Modrm|EVex512|Masking=2|Space0F3A|VexW0|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { Imm8, RegZMM|Unspecified|BaseIndex, RegMask } -vfpclassphx, 0x66, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex128|Masking=2|Space0F3A|VexW0|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { Imm8, RegXMM|Unspecified|BaseIndex, RegMask } -vfpclassphy, 0x66, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex256|Masking=2|Space0F3A|VexW0|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { Imm8, RegYMM|Unspecified|BaseIndex, RegMask } +vfpclassphz, 0x66, None, CpuAVX512_FP16, Modrm|EVex512|Masking=2|Space0F3A|VexW0|Broadcast|Disp8MemShift=6|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { Imm8, RegZMM|Word|Unspecified|BaseIndex, RegMask } +vfpclassphx, 0x66, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex128|Masking=2|Space0F3A|VexW0|Broadcast|Disp8MemShift=4|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { Imm8, RegXMM|Word|Unspecified|BaseIndex, RegMask } +vfpclassphy, 0x66, None, CpuAVX512_FP16|CpuAVX512VL, Modrm|EVex256|Masking=2|Space0F3A|VexW0|Broadcast|Disp8MemShift=5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ATTSyntax, { Imm8, RegYMM|Word|Unspecified|BaseIndex, RegMask } vfpclasssh, 0x67, None, CpuAVX512_FP16, Modrm|EVexLIG|Masking=2|Space0F3A|VexW0|Disp8MemShift=1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Word|Unspecified|BaseIndex, RegMask } vgetmantph, 0x26, None, CpuAVX512_FP16, Modrm|Masking=3|Space0F3A|VexW0|Broadcast|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM }