From patchwork Tue Nov 26 08:48:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Jiang, Haochen" X-Patchwork-Id: 101879 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 634423857C4F for ; Tue, 26 Nov 2024 08:50:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 634423857C4F Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=np/zUhnP X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) by sourceware.org (Postfix) with ESMTPS id B79113857831 for ; Tue, 26 Nov 2024 08:48:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B79113857831 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B79113857831 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=192.198.163.16 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732610941; cv=none; b=kvCXZMPcXahF5gGlKt88sW8uMN8C8V2vpjwCnTyeJ2qRrB+IIbQY2MT3wbLB9k5GN084J4Mq1n3LJqCO7h25F4HyXdNZLBL/hSddQCD1+lXFnYs1Bp0Z1VOtybIcU5fH0GuIxU1genKILLIqK6U57pC+yQAsLbgePyNV0EYQhKI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732610941; c=relaxed/simple; bh=ssiG1x4iwCfcKiYIv2rCLB/hgQ6LO3kQEem0+23GHuQ=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=bGnyLrsMmlV34j+b+eu+ybRlTLcxRu7B9GKFi7Ha0SzayGO4BASB1Tawlx+cY8Ung7zvYKdkzgOAPZtPeh5PVyc9hefePbA/EzXet+A0EKeoA8ynN2paMaa/nOjrZGV8KgTy7RSuapdaT5LYIGkm1oYzetxL/qvzdJQEvcpd50s= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B79113857831 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1732610940; x=1764146940; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=ssiG1x4iwCfcKiYIv2rCLB/hgQ6LO3kQEem0+23GHuQ=; b=np/zUhnPFjKCeIrfYbp5Xx3oeNkYsV0r0+Kn1Heso6CBTnQyUylKakd3 PsrYSWztzwBskhlijzjF+nPcsYP19xFo96b4zmu8lYty7edmUgUBx4OmV XfIPrhm3ndQXxB/ciQXhIhJG49QBWjua9Z2O6+jtraaRR7ENJBT6wqDil fLYLohovt4oqEotorGp3aB7R8W6IzdOB4BalKoMafzzMcAsEHHisIjHyj J0jpG5n8/+gZlXWO2fwEzA77RPzai1yC8fNFfrNqmbHDn10+XGgwg0Zfs WrBcjVg94udbkWtp58BtQRHCkkTGLg6RAyXRPaD0XAa4cI1myRifgjFQX w==; X-CSE-ConnectionGUID: p/0MbvwBQwOTc4OR/B+dcw== X-CSE-MsgGUID: lM9PBWdRSnSnAVxc0eCznQ== X-IronPort-AV: E=McAfee;i="6700,10204,11267"; a="20349714" X-IronPort-AV: E=Sophos;i="6.12,185,1728975600"; d="scan'208";a="20349714" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Nov 2024 00:48:58 -0800 X-CSE-ConnectionGUID: Fcg64Jm4Qhmks0E2+Kf2fQ== X-CSE-MsgGUID: l9o5dwftS/WXDlbXlCtPVA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,185,1728975600"; d="scan'208";a="91433024" Received: from shliclel4217.sh.intel.com ([10.239.240.127]) by orviesa010.jf.intel.com with ESMTP; 26 Nov 2024 00:48:56 -0800 From: Haochen Jiang To: binutils@sourceware.org Cc: hjl.tools@gmail.com, jbeulich@suse.com, Kong Lingling Subject: [PATCH v3] Support Intel AVX10.2 BF16 instructions Date: Tue, 26 Nov 2024 16:48:54 +0800 Message-Id: <20241126084854.21442-1-haochen.jiang@intel.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-Spam-Status: No, score=-10.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_NONE, 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 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org From: Kong Lingling Hi all, I would like to send out the v3 patch even before the doc is published since the change is pretty clear on mnemonics and we need to catch up with Binutils 2.44 while there are still several patches and topics undergoing. Need to close some of them first and endless waiting is definitely not the best choice. v3 patch comes following with changes and patch description. Ok for trunk? --- Changes in v3: - Update mnemonics for scalef: VSCALEFPBF16 -> VSCALEFNEPBF16. - Mix tests w/ and w/o broadcast and size specifiers. - Adjust paddings in disassemler table. - Put %XB after %XH in comments and use oappend to handle that. --- In this patch, we will support AVX10.2 BF16 instructions. All of them are new instructions forms. In disassembler part, we added %XB to reduce W table pass since all of them get evex.w=0. --- Changes in v2: - Update vgetexppbf16 encoding: 66.MAP5.42 --> NP.MAP6.42 --- gas/Changelog: * testsuite/gas/i386/i386.exp: Add AVX10.2 tests. * testsuite/gas/i386/x86-64.exp: Ditto. * testsuite/gas/i386/avx10_2-256-bf16-intel.d: New. * testsuite/gas/i386/avx10_2-256-bf16.d: Ditto. * testsuite/gas/i386/avx10_2-256-bf16.s: Ditto. * testsuite/gas/i386/avx10_2-512-bf16-intel.d: Ditto. * testsuite/gas/i386/avx10_2-512-bf16.d: Ditto. * testsuite/gas/i386/avx10_2-512-bf16.s: Ditto. * testsuite/gas/i386/x86-64-avx10_2-256-bf16-intel.d: Ditto. * testsuite/gas/i386/x86-64-avx10_2-256-bf16.d: Ditto. * testsuite/gas/i386/x86-64-avx10_2-256-bf16.s: Ditto. * testsuite/gas/i386/x86-64-avx10_2-512-bf16-intel.d: Ditto. * testsuite/gas/i386/x86-64-avx10_2-512-bf16.d: Ditto. * testsuite/gas/i386/x86-64-avx10_2-512-bf16.s: Ditto. opcodes/ * i386-dis-evex-prefix.h: Update PREFIX_EVEX_0F3A08, PREFIX_EVEX_0F3A26, PREFIX_EVEX_0F3A56, PREFIX_EVEX_0F3A66, PREFIX_EVEX_0F3AC2, PREFIX_EVEX_MAP5_2F, PREFIX_EVEX_MAP5_51, PREFIX_EVEX_MAP5_58, PREFIX_EVEX_MAP5_59, PREFIX_EVEX_MAP5_5C, PREFIX_EVEX_MAP5_5D, PREFIX_EVEX_MAP5_5E, PREFIX_EVEX_MAP5_5F. Add PREFIX_EVEX_MAP6_2C, PREFIX_EVEX_MAP6_4C, PREFIX_EVEX_MAP6_4E, PREFIX_EVEX_MAP6_98, PREFIX_EVEX_MAP6_9A, PREFIX_EVEX_MAP6_9C, PREFIX_EVEX_MAP6_9E, PREFIX_EVEX_MAP6_A8, PREFIX_EVEX_MAP6_AA, PREFIX_EVEX_MAP6_AC, PREFIX_EVEX_MAP6_AE, PREFIX_EVEX_MAP6_B8, PREFIX_EVEX_MAP6_BA, PREFIX_EVEX_MAP6_BC, PREFIX_EVEX_MAP6_BE. * i386-dis-evex.h (evex_table): Update PREFIX_EVEX_MAP6_2C, PREFIX_EVEX_MAP6_42, PREFIX_EVEX_MAP6_4C, PREFIX_EVEX_MAP6_4E, PREFIX_EVEX_MAP6_98, PREFIX_EVEX_MAP6_9A, PREFIX_EVEX_MAP6_9C, PREFIX_EVEX_MAP6_9E, PREFIX_EVEX_MAP6_A8, PREFIX_EVEX_MAP6_AA, PREFIX_EVEX_MAP6_AC, PREFIX_EVEX_MAP6_AE, PREFIX_EVEX_MAP6_B8, PREFIX_EVEX_MAP6_BA, PREFIX_EVEX_MAP6_BC, PREFIX_EVEX_MAP6_BE. * i386-dis.c (PREFIX_EVEX_MAP6_2C): New enum. (PREFIX_EVEX_MAP6_42): Ditto. (PREFIX_EVEX_MAP6_4C): Ditto. (PREFIX_EVEX_MAP6_4E): Ditto. (PREFIX_EVEX_MAP6_98): Ditto. (PREFIX_EVEX_MAP6_9A): Ditto. (PREFIX_EVEX_MAP6_9C): Ditto. (PREFIX_EVEX_MAP6_9E): Ditto. (PREFIX_EVEX_MAP6_A8): Ditto. (PREFIX_EVEX_MAP6_AA): Ditto. (PREFIX_EVEX_MAP6_AC): Ditto. (PREFIX_EVEX_MAP6_AE): Ditto. (PREFIX_EVEX_MAP6_B8): Ditto. (PREFIX_EVEX_MAP6_BA): Ditto. (PREFIX_EVEX_MAP6_BC): Ditto. (PREFIX_EVEX_MAP6_BE): Ditto. (putop): Handle %XB. * i386-opc.tbl: Add AVX10.2 instructions. * i386-mnem.h: Regenerated. * i386-tbl.h: Ditto. Co-authored-by: Haochen Jiang --- .../gas/i386/avx10_2-256-bf16-intel.d | 295 ++ gas/testsuite/gas/i386/avx10_2-256-bf16.d | 294 ++ gas/testsuite/gas/i386/avx10_2-256-bf16.s | 169 + .../gas/i386/avx10_2-512-bf16-intel.d | 151 + gas/testsuite/gas/i386/avx10_2-512-bf16.d | 150 + gas/testsuite/gas/i386/avx10_2-512-bf16.s | 99 + gas/testsuite/gas/i386/i386.exp | 4 + .../gas/i386/x86-64-avx10_2-256-bf16-intel.d | 295 ++ .../gas/i386/x86-64-avx10_2-256-bf16.d | 293 ++ .../gas/i386/x86-64-avx10_2-256-bf16.s | 169 + .../gas/i386/x86-64-avx10_2-512-bf16-intel.d | 151 + .../gas/i386/x86-64-avx10_2-512-bf16.d | 150 + .../gas/i386/x86-64-avx10_2-512-bf16.s | 99 + gas/testsuite/gas/i386/x86-64.exp | 4 + opcodes/i386-dis-evex-prefix.h | 111 + opcodes/i386-dis-evex.h | 32 +- opcodes/i386-dis.c | 25 + opcodes/i386-mnem.h | 4082 +++++++++-------- opcodes/i386-opc.tbl | 20 + opcodes/i386-tbl.h | 414 +- 20 files changed, 4965 insertions(+), 2042 deletions(-) create mode 100644 gas/testsuite/gas/i386/avx10_2-256-bf16-intel.d create mode 100644 gas/testsuite/gas/i386/avx10_2-256-bf16.d create mode 100644 gas/testsuite/gas/i386/avx10_2-256-bf16.s create mode 100644 gas/testsuite/gas/i386/avx10_2-512-bf16-intel.d create mode 100644 gas/testsuite/gas/i386/avx10_2-512-bf16.d create mode 100644 gas/testsuite/gas/i386/avx10_2-512-bf16.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.s create mode 100644 gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.d create mode 100644 gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.s diff --git a/gas/testsuite/gas/i386/avx10_2-256-bf16-intel.d b/gas/testsuite/gas/i386/avx10_2-256-bf16-intel.d new file mode 100644 index 00000000000..3d7286e6b1b --- /dev/null +++ b/gas/testsuite/gas/i386/avx10_2-256-bf16-intel.d @@ -0,0 +1,295 @@ +#objdump: -dw -Mintel +#name: i386 AVX10.2/256 BF16 insns (Intel disassembly) +#source: avx10_2-256-bf16.s + +.*: +file format .* + +Disassembly of section \.text: + +#... +[a-f0-9]+ <_intel>: +\s*[a-f0-9]+:\s*62 f5 55 28 58 f4\s+vaddnepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f5 55 08 58 f4\s+vaddnepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f5 55 2f 58 b4 f4 00 00 00 10\s+vaddnepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 38 58 31\s+vaddnepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 28 58 71 7f\s+vaddnepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f5 55 bf 58 72 80\s+vaddnepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 0f 58 b4 f4 00 00 00 10\s+vaddnepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 18 58 31\s+vaddnepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 08 58 71 7f\s+vaddnepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f5 55 9f 58 72 80\s+vaddnepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 28 5e f4\s+vdivnepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f5 55 08 5e f4\s+vdivnepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f5 55 2f 5e b4 f4 00 00 00 10\s+vdivnepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 38 5e 31\s+vdivnepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 28 5e 71 7f\s+vdivnepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f5 55 bf 5e 72 80\s+vdivnepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 0f 5e b4 f4 00 00 00 10\s+vdivnepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 18 5e 31\s+vdivnepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 08 5e 71 7f\s+vdivnepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f5 55 9f 5e 72 80\s+vdivnepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 28 5f f4\s+vmaxpbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f5 55 08 5f f4\s+vmaxpbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f5 55 2f 5f b4 f4 00 00 00 10\s+vmaxpbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 38 5f 31\s+vmaxpbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 28 5f 71 7f\s+vmaxpbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f5 55 bf 5f 72 80\s+vmaxpbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 0f 5f b4 f4 00 00 00 10\s+vmaxpbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 18 5f 31\s+vmaxpbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 08 5f 71 7f\s+vmaxpbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f5 55 9f 5f 72 80\s+vmaxpbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 28 5d f4\s+vminpbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f5 55 08 5d f4\s+vminpbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f5 55 2f 5d b4 f4 00 00 00 10\s+vminpbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 38 5d 31\s+vminpbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 28 5d 71 7f\s+vminpbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f5 55 bf 5d 72 80\s+vminpbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 0f 5d b4 f4 00 00 00 10\s+vminpbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 18 5d 31\s+vminpbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 08 5d 71 7f\s+vminpbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f5 55 9f 5d 72 80\s+vminpbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 28 59 f4\s+vmulnepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f5 55 08 59 f4\s+vmulnepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f5 55 2f 59 b4 f4 00 00 00 10\s+vmulnepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 38 59 31\s+vmulnepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 28 59 71 7f\s+vmulnepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f5 55 bf 59 72 80\s+vmulnepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 0f 59 b4 f4 00 00 00 10\s+vmulnepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 18 59 31\s+vmulnepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 08 59 71 7f\s+vmulnepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f5 55 9f 59 72 80\s+vmulnepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 28 2c f4\s+vscalefnepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f6 54 08 2c f4\s+vscalefnepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f6 54 2f 2c b4 f4 00 00 00 10\s+vscalefnepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 38 2c 31\s+vscalefnepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 28 2c 71 7f\s+vscalefnepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 54 bf 2c 72 80\s+vscalefnepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 0f 2c b4 f4 00 00 00 10\s+vscalefnepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 18 2c 31\s+vscalefnepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 08 2c 71 7f\s+vscalefnepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 54 9f 2c 72 80\s+vscalefnepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 28 5c f4\s+vsubnepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f5 55 08 5c f4\s+vsubnepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f5 55 2f 5c b4 f4 00 00 00 10\s+vsubnepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 38 5c 31\s+vsubnepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 28 5c 71 7f\s+vsubnepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f5 55 bf 5c 72 80\s+vsubnepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 0f 5c b4 f4 00 00 00 10\s+vsubnepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 18 5c 31\s+vsubnepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 08 5c 71 7f\s+vsubnepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f5 55 9f 5c 72 80\s+vsubnepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 28 98 f4\s+vfmadd132nepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f6 54 08 98 f4\s+vfmadd132nepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f6 54 2f 98 b4 f4 00 00 00 10\s+vfmadd132nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 38 98 31\s+vfmadd132nepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 28 98 71 7f\s+vfmadd132nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 54 bf 98 72 80\s+vfmadd132nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 0f 98 b4 f4 00 00 00 10\s+vfmadd132nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 18 98 31\s+vfmadd132nepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 08 98 71 7f\s+vfmadd132nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 54 9f 98 72 80\s+vfmadd132nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 28 a8 f4\s+vfmadd213nepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f6 54 08 a8 f4\s+vfmadd213nepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f6 54 2f a8 b4 f4 00 00 00 10\s+vfmadd213nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 38 a8 31\s+vfmadd213nepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 28 a8 71 7f\s+vfmadd213nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 54 bf a8 72 80\s+vfmadd213nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 0f a8 b4 f4 00 00 00 10\s+vfmadd213nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 18 a8 31\s+vfmadd213nepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 08 a8 71 7f\s+vfmadd213nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 54 9f a8 72 80\s+vfmadd213nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 28 b8 f4\s+vfmadd231nepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f6 54 08 b8 f4\s+vfmadd231nepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f6 54 2f b8 b4 f4 00 00 00 10\s+vfmadd231nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 38 b8 31\s+vfmadd231nepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 28 b8 71 7f\s+vfmadd231nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 54 bf b8 72 80\s+vfmadd231nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 0f b8 b4 f4 00 00 00 10\s+vfmadd231nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 18 b8 31\s+vfmadd231nepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 08 b8 71 7f\s+vfmadd231nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 54 9f b8 72 80\s+vfmadd231nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 28 9a f4\s+vfmsub132nepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f6 54 08 9a f4\s+vfmsub132nepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f6 54 2f 9a b4 f4 00 00 00 10\s+vfmsub132nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 38 9a 31\s+vfmsub132nepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 28 9a 71 7f\s+vfmsub132nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 54 bf 9a 72 80\s+vfmsub132nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 0f 9a b4 f4 00 00 00 10\s+vfmsub132nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 18 9a 31\s+vfmsub132nepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 08 9a 71 7f\s+vfmsub132nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 54 9f 9a 72 80\s+vfmsub132nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 28 aa f4\s+vfmsub213nepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f6 54 08 aa f4\s+vfmsub213nepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f6 54 2f aa b4 f4 00 00 00 10\s+vfmsub213nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 38 aa 31\s+vfmsub213nepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 28 aa 71 7f\s+vfmsub213nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 54 bf aa 72 80\s+vfmsub213nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 0f aa b4 f4 00 00 00 10\s+vfmsub213nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 18 aa 31\s+vfmsub213nepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 08 aa 71 7f\s+vfmsub213nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 54 9f aa 72 80\s+vfmsub213nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 28 ba f4\s+vfmsub231nepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f6 54 08 ba f4\s+vfmsub231nepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f6 54 2f ba b4 f4 00 00 00 10\s+vfmsub231nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 38 ba 31\s+vfmsub231nepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 28 ba 71 7f\s+vfmsub231nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 54 bf ba 72 80\s+vfmsub231nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 0f ba b4 f4 00 00 00 10\s+vfmsub231nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 18 ba 31\s+vfmsub231nepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 08 ba 71 7f\s+vfmsub231nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 54 9f ba 72 80\s+vfmsub231nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 28 9c f4\s+vfnmadd132nepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f6 54 08 9c f4\s+vfnmadd132nepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f6 54 2f 9c b4 f4 00 00 00 10\s+vfnmadd132nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 38 9c 31\s+vfnmadd132nepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 28 9c 71 7f\s+vfnmadd132nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 54 bf 9c 72 80\s+vfnmadd132nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 0f 9c b4 f4 00 00 00 10\s+vfnmadd132nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 18 9c 31\s+vfnmadd132nepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 08 9c 71 7f\s+vfnmadd132nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 54 9f 9c 72 80\s+vfnmadd132nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 28 ac f4\s+vfnmadd213nepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f6 54 08 ac f4\s+vfnmadd213nepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f6 54 2f ac b4 f4 00 00 00 10\s+vfnmadd213nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 38 ac 31\s+vfnmadd213nepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 28 ac 71 7f\s+vfnmadd213nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 54 bf ac 72 80\s+vfnmadd213nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 0f ac b4 f4 00 00 00 10\s+vfnmadd213nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 18 ac 31\s+vfnmadd213nepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 08 ac 71 7f\s+vfnmadd213nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 54 9f ac 72 80\s+vfnmadd213nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 28 bc f4\s+vfnmadd231nepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f6 54 08 bc f4\s+vfnmadd231nepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f6 54 2f bc b4 f4 00 00 00 10\s+vfnmadd231nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 38 bc 31\s+vfnmadd231nepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 28 bc 71 7f\s+vfnmadd231nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 54 bf bc 72 80\s+vfnmadd231nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 0f bc b4 f4 00 00 00 10\s+vfnmadd231nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 18 bc 31\s+vfnmadd231nepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 08 bc 71 7f\s+vfnmadd231nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 54 9f bc 72 80\s+vfnmadd231nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 28 9e f4\s+vfnmsub132nepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f6 54 08 9e f4\s+vfnmsub132nepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f6 54 2f 9e b4 f4 00 00 00 10\s+vfnmsub132nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 38 9e 31\s+vfnmsub132nepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 28 9e 71 7f\s+vfnmsub132nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 54 bf 9e 72 80\s+vfnmsub132nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 0f 9e b4 f4 00 00 00 10\s+vfnmsub132nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 18 9e 31\s+vfnmsub132nepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 08 9e 71 7f\s+vfnmsub132nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 54 9f 9e 72 80\s+vfnmsub132nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 28 ae f4\s+vfnmsub213nepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f6 54 08 ae f4\s+vfnmsub213nepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f6 54 2f ae b4 f4 00 00 00 10\s+vfnmsub213nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 38 ae 31\s+vfnmsub213nepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 28 ae 71 7f\s+vfnmsub213nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 54 bf ae 72 80\s+vfnmsub213nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 0f ae b4 f4 00 00 00 10\s+vfnmsub213nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 18 ae 31\s+vfnmsub213nepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 08 ae 71 7f\s+vfnmsub213nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 54 9f ae 72 80\s+vfnmsub213nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 28 be f4\s+vfnmsub231nepbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f6 54 08 be f4\s+vfnmsub231nepbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f6 54 2f be b4 f4 00 00 00 10\s+vfnmsub231nepbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 38 be 31\s+vfnmsub231nepbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 28 be 71 7f\s+vfnmsub231nepbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 54 bf be 72 80\s+vfnmsub231nepbf16 ymm6\{k7\}\{z\},ymm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 0f be b4 f4 00 00 00 10\s+vfnmsub231nepbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 18 be 31\s+vfnmsub231nepbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 08 be 71 7f\s+vfnmsub231nepbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 54 9f be 72 80\s+vfnmsub231nepbf16 xmm6\{k7\}\{z\},xmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 7c 08 42 f5\s+vgetexppbf16 xmm6,xmm5 +\s*[a-f0-9]+:\s*62 f6 7c 28 42 f5\s+vgetexppbf16 ymm6,ymm5 +\s*[a-f0-9]+:\s*62 f6 7c 0f 42 b4 f4 00 00 00 10\s+vgetexppbf16 xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 7c 18 42 31\s+vgetexppbf16 xmm6,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 7c 08 42 71 7f\s+vgetexppbf16 xmm6,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 7c 9f 42 72 80\s+vgetexppbf16 xmm6\{k7\}\{z\},WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 7c 2f 42 b4 f4 00 00 00 10\s+vgetexppbf16 ymm6\{k7\},YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 7c 38 42 31\s+vgetexppbf16 ymm6,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 7c 28 42 71 7f\s+vgetexppbf16 ymm6,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 7c bf 42 72 80\s+vgetexppbf16 ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 7c 08 4c f5\s+vrcppbf16 xmm6,xmm5 +\s*[a-f0-9]+:\s*62 f6 7c 28 4c f5\s+vrcppbf16 ymm6,ymm5 +\s*[a-f0-9]+:\s*62 f6 7c 0f 4c b4 f4 00 00 00 10\s+vrcppbf16 xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 7c 18 4c 31\s+vrcppbf16 xmm6,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 7c 08 4c 71 7f\s+vrcppbf16 xmm6,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 7c 9f 4c 72 80\s+vrcppbf16 xmm6\{k7\}\{z\},WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 7c 2f 4c b4 f4 00 00 00 10\s+vrcppbf16 ymm6\{k7\},YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 7c 38 4c 31\s+vrcppbf16 ymm6,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 7c 28 4c 71 7f\s+vrcppbf16 ymm6,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 7c bf 4c 72 80\s+vrcppbf16 ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 7c 08 4e f5\s+vrsqrtpbf16 xmm6,xmm5 +\s*[a-f0-9]+:\s*62 f6 7c 28 4e f5\s+vrsqrtpbf16 ymm6,ymm5 +\s*[a-f0-9]+:\s*62 f6 7c 0f 4e b4 f4 00 00 00 10\s+vrsqrtpbf16 xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 7c 18 4e 31\s+vrsqrtpbf16 xmm6,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 7c 08 4e 71 7f\s+vrsqrtpbf16 xmm6,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 7c 9f 4e 72 80\s+vrsqrtpbf16 xmm6\{k7\}\{z\},WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 7c 2f 4e b4 f4 00 00 00 10\s+vrsqrtpbf16 ymm6\{k7\},YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 7c 38 4e 31\s+vrsqrtpbf16 ymm6,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 7c 28 4e 71 7f\s+vrsqrtpbf16 ymm6,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 7c bf 4e 72 80\s+vrsqrtpbf16 ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 7d 08 51 f5\s+vsqrtnepbf16 xmm6,xmm5 +\s*[a-f0-9]+:\s*62 f5 7d 28 51 f5\s+vsqrtnepbf16 ymm6,ymm5 +\s*[a-f0-9]+:\s*62 f5 7d 0f 51 b4 f4 00 00 00 10\s+vsqrtnepbf16 xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 7d 18 51 31\s+vsqrtnepbf16 xmm6,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 7d 08 51 71 7f\s+vsqrtnepbf16 xmm6,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f5 7d 9f 51 72 80\s+vsqrtnepbf16 xmm6\{k7\}\{z\},WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 7d 2f 51 b4 f4 00 00 00 10\s+vsqrtnepbf16 ymm6\{k7\},YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 7d 38 51 31\s+vsqrtnepbf16 ymm6,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 7d 28 51 71 7f\s+vsqrtnepbf16 ymm6,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f5 7d bf 51 72 80\s+vsqrtnepbf16 ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f3 7f 28 26 f5 7b\s+vgetmantpbf16 ymm6,ymm5,0x7b +\s*[a-f0-9]+:\s*62 f3 7f 08 26 f5 7b\s+vgetmantpbf16 xmm6,xmm5,0x7b +\s*[a-f0-9]+:\s*62 f3 7f 0f 26 b4 f4 00 00 00 10 7b\s+vgetmantpbf16 xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 18 26 31 7b\s+vgetmantpbf16 xmm6,WORD BCST \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 08 26 71 7f 7b\s+vgetmantpbf16 xmm6,XMMWORD PTR \[ecx\+0x7f0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 9f 26 72 80 7b\s+vgetmantpbf16 xmm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 2f 26 b4 f4 00 00 00 10 7b\s+vgetmantpbf16 ymm6\{k7\},YMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 38 26 31 7b\s+vgetmantpbf16 ymm6,WORD BCST \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 28 26 71 7f 7b\s+vgetmantpbf16 ymm6,YMMWORD PTR \[ecx\+0xfe0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f bf 26 72 80 7b\s+vgetmantpbf16 ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 28 56 f5 7b\s+vreducenepbf16 ymm6,ymm5,0x7b +\s*[a-f0-9]+:\s*62 f3 7f 08 56 f5 7b\s+vreducenepbf16 xmm6,xmm5,0x7b +\s*[a-f0-9]+:\s*62 f3 7f 0f 56 b4 f4 00 00 00 10 7b\s+vreducenepbf16 xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 18 56 31 7b\s+vreducenepbf16 xmm6,WORD BCST \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 08 56 71 7f 7b\s+vreducenepbf16 xmm6,XMMWORD PTR \[ecx\+0x7f0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 9f 56 72 80 7b\s+vreducenepbf16 xmm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 2f 56 b4 f4 00 00 00 10 7b\s+vreducenepbf16 ymm6\{k7\},YMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 38 56 31 7b\s+vreducenepbf16 ymm6,WORD BCST \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 28 56 71 7f 7b\s+vreducenepbf16 ymm6,YMMWORD PTR \[ecx\+0xfe0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f bf 56 72 80 7b\s+vreducenepbf16 ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 28 08 f5 7b\s+vrndscalenepbf16 ymm6,ymm5,0x7b +\s*[a-f0-9]+:\s*62 f3 7f 08 08 f5 7b\s+vrndscalenepbf16 xmm6,xmm5,0x7b +\s*[a-f0-9]+:\s*62 f3 7f 0f 08 b4 f4 00 00 00 10 7b\s+vrndscalenepbf16 xmm6\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 18 08 31 7b\s+vrndscalenepbf16 xmm6,WORD BCST \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 08 08 71 7f 7b\s+vrndscalenepbf16 xmm6,XMMWORD PTR \[ecx\+0x7f0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 9f 08 72 80 7b\s+vrndscalenepbf16 xmm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 2f 08 b4 f4 00 00 00 10 7b\s+vrndscalenepbf16 ymm6\{k7\},YMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 38 08 31 7b\s+vrndscalenepbf16 ymm6,WORD BCST \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 28 08 71 7f 7b\s+vrndscalenepbf16 ymm6,YMMWORD PTR \[ecx\+0xfe0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f bf 08 72 80 7b\s+vrndscalenepbf16 ymm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 f3 57 28 c2 ec 7b\s+vcmppbf16 k5,ymm5,ymm4,0x7b +\s*[a-f0-9]+:\s*62 f3 57 08 c2 ec 7b\s+vcmppbf16 k5,xmm5,xmm4,0x7b +\s*[a-f0-9]+:\s*62 f3 57 0f c2 ac f4 00 00 00 10 7b\s+vcmppbf16 k5\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 57 18 c2 29 7b\s+vcmppbf16 k5,xmm5,WORD BCST \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 57 08 c2 69 7f 7b\s+vcmppbf16 k5,xmm5,XMMWORD PTR \[ecx\+0x7f0\],0x7b +\s*[a-f0-9]+:\s*62 f3 57 1f c2 6a 80 7b\s+vcmppbf16 k5\{k7\},xmm5,WORD BCST \[edx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 f3 57 2f c2 ac f4 00 00 00 10 7b\s+vcmppbf16 k5\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 57 38 c2 29 7b\s+vcmppbf16 k5,ymm5,WORD BCST \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 57 28 c2 69 7f 7b\s+vcmppbf16 k5,ymm5,YMMWORD PTR \[ecx\+0xfe0\],0x7b +\s*[a-f0-9]+:\s*62 f3 57 3f c2 6a 80 7b\s+vcmppbf16 k5\{k7\},ymm5,WORD BCST \[edx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 f5 7d 08 2f f5\s+vcomsbf16 xmm6,xmm5 +\s*[a-f0-9]+:\s*62 f5 7d 08 2f b4 f4 00 00 00 10\s+vcomsbf16 xmm6,WORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 7d 08 2f 31\s+vcomsbf16 xmm6,WORD PTR \[ecx\] +\s*[a-f0-9]+:\s*62 f5 7d 08 2f 71 7f\s+vcomsbf16 xmm6,WORD PTR \[ecx\+0xfe\] +\s*[a-f0-9]+:\s*62 f5 7d 08 2f 72 80\s+vcomsbf16 xmm6,WORD PTR \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f3 7f 28 66 ed 7b\s+vfpclasspbf16 k5,ymm5,0x7b +\s*[a-f0-9]+:\s*62 f3 7f 08 66 ed 7b\s+vfpclasspbf16 k5,xmm5,0x7b +\s*[a-f0-9]+:\s*62 f3 7f 0f 66 ac f4 00 00 00 10 7b\s+vfpclasspbf16 k5\{k7\},XMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 18 66 29 7b\s+vfpclasspbf16 k5,WORD BCST \[ecx\]\{1to8\},0x7b +\s*[a-f0-9]+:\s*62 f3 7f 08 66 69 7f 7b\s+vfpclasspbf16 k5,XMMWORD PTR \[ecx\+0x7f0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 1f 66 6a 80 7b\s+vfpclasspbf16 k5\{k7\},WORD BCST \[edx-0x100\]\{1to8\},0x7b +\s*[a-f0-9]+:\s*62 f3 7f 38 66 29 7b\s+vfpclasspbf16 k5,WORD BCST \[ecx\]\{1to16\},0x7b +\s*[a-f0-9]+:\s*62 f3 7f 28 66 69 7f 7b\s+vfpclasspbf16 k5,YMMWORD PTR \[ecx\+0xfe0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 3f 66 6a 80 7b\s+vfpclasspbf16 k5\{k7\},WORD BCST \[edx-0x100\]\{1to16\},0x7b +#pass diff --git a/gas/testsuite/gas/i386/avx10_2-256-bf16.d b/gas/testsuite/gas/i386/avx10_2-256-bf16.d new file mode 100644 index 00000000000..1cf882de6f6 --- /dev/null +++ b/gas/testsuite/gas/i386/avx10_2-256-bf16.d @@ -0,0 +1,294 @@ +#objdump: -dw +#name: i386 AVX10.2/256 BF16 insns + +.*: +file format .* + + +Disassembly of section .text: + +0+ <_start>: +\s*[a-f0-9]+:\s*62 f5 55 28 58 f4\s+vaddnepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 08 58 f4\s+vaddnepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 2f 58 b4 f4 00 00 00 10\s+vaddnepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 38 58 31\s+vaddnepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 28 58 71 7f\s+vaddnepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 bf 58 72 80\s+vaddnepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 0f 58 b4 f4 00 00 00 10\s+vaddnepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 18 58 31\s+vaddnepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 08 58 71 7f\s+vaddnepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 9f 58 72 80\s+vaddnepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 28 5e f4\s+vdivnepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 08 5e f4\s+vdivnepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 2f 5e b4 f4 00 00 00 10\s+vdivnepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 38 5e 31\s+vdivnepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 28 5e 71 7f\s+vdivnepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 bf 5e 72 80\s+vdivnepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 0f 5e b4 f4 00 00 00 10\s+vdivnepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 18 5e 31\s+vdivnepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 08 5e 71 7f\s+vdivnepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 9f 5e 72 80\s+vdivnepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 28 5f f4\s+vmaxpbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 08 5f f4\s+vmaxpbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 2f 5f b4 f4 00 00 00 10\s+vmaxpbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 38 5f 31\s+vmaxpbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 28 5f 71 7f\s+vmaxpbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 bf 5f 72 80\s+vmaxpbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 0f 5f b4 f4 00 00 00 10\s+vmaxpbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 18 5f 31\s+vmaxpbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 08 5f 71 7f\s+vmaxpbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 9f 5f 72 80\s+vmaxpbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 28 5d f4\s+vminpbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 08 5d f4\s+vminpbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 2f 5d b4 f4 00 00 00 10\s+vminpbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 38 5d 31\s+vminpbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 28 5d 71 7f\s+vminpbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 bf 5d 72 80\s+vminpbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 0f 5d b4 f4 00 00 00 10\s+vminpbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 18 5d 31\s+vminpbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 08 5d 71 7f\s+vminpbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 9f 5d 72 80\s+vminpbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 28 59 f4\s+vmulnepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 08 59 f4\s+vmulnepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 2f 59 b4 f4 00 00 00 10\s+vmulnepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 38 59 31\s+vmulnepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 28 59 71 7f\s+vmulnepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 bf 59 72 80\s+vmulnepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 0f 59 b4 f4 00 00 00 10\s+vmulnepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 18 59 31\s+vmulnepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 08 59 71 7f\s+vmulnepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 9f 59 72 80\s+vmulnepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 28 2c f4\s+vscalefnepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 08 2c f4\s+vscalefnepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 2f 2c b4 f4 00 00 00 10\s+vscalefnepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 38 2c 31\s+vscalefnepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 28 2c 71 7f\s+vscalefnepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 bf 2c 72 80\s+vscalefnepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 0f 2c b4 f4 00 00 00 10\s+vscalefnepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 18 2c 31\s+vscalefnepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 08 2c 71 7f\s+vscalefnepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 9f 2c 72 80\s+vscalefnepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 28 5c f4\s+vsubnepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 08 5c f4\s+vsubnepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 2f 5c b4 f4 00 00 00 10\s+vsubnepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 38 5c 31\s+vsubnepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 28 5c 71 7f\s+vsubnepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 55 bf 5c 72 80\s+vsubnepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 0f 5c b4 f4 00 00 00 10\s+vsubnepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 18 5c 31\s+vsubnepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 08 5c 71 7f\s+vsubnepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 55 9f 5c 72 80\s+vsubnepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 28 98 f4\s+vfmadd132nepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 08 98 f4\s+vfmadd132nepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 2f 98 b4 f4 00 00 00 10\s+vfmadd132nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 38 98 31\s+vfmadd132nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 28 98 71 7f\s+vfmadd132nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 bf 98 72 80\s+vfmadd132nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 0f 98 b4 f4 00 00 00 10\s+vfmadd132nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 18 98 31\s+vfmadd132nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 08 98 71 7f\s+vfmadd132nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 9f 98 72 80\s+vfmadd132nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 28 a8 f4\s+vfmadd213nepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 08 a8 f4\s+vfmadd213nepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 2f a8 b4 f4 00 00 00 10\s+vfmadd213nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 38 a8 31\s+vfmadd213nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 28 a8 71 7f\s+vfmadd213nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 bf a8 72 80\s+vfmadd213nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 0f a8 b4 f4 00 00 00 10\s+vfmadd213nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 18 a8 31\s+vfmadd213nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 08 a8 71 7f\s+vfmadd213nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 9f a8 72 80\s+vfmadd213nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 28 b8 f4\s+vfmadd231nepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 08 b8 f4\s+vfmadd231nepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 2f b8 b4 f4 00 00 00 10\s+vfmadd231nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 38 b8 31\s+vfmadd231nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 28 b8 71 7f\s+vfmadd231nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 bf b8 72 80\s+vfmadd231nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 0f b8 b4 f4 00 00 00 10\s+vfmadd231nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 18 b8 31\s+vfmadd231nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 08 b8 71 7f\s+vfmadd231nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 9f b8 72 80\s+vfmadd231nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 28 9a f4\s+vfmsub132nepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 08 9a f4\s+vfmsub132nepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 2f 9a b4 f4 00 00 00 10\s+vfmsub132nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 38 9a 31\s+vfmsub132nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 28 9a 71 7f\s+vfmsub132nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 bf 9a 72 80\s+vfmsub132nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 0f 9a b4 f4 00 00 00 10\s+vfmsub132nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 18 9a 31\s+vfmsub132nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 08 9a 71 7f\s+vfmsub132nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 9f 9a 72 80\s+vfmsub132nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 28 aa f4\s+vfmsub213nepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 08 aa f4\s+vfmsub213nepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 2f aa b4 f4 00 00 00 10\s+vfmsub213nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 38 aa 31\s+vfmsub213nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 28 aa 71 7f\s+vfmsub213nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 bf aa 72 80\s+vfmsub213nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 0f aa b4 f4 00 00 00 10\s+vfmsub213nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 18 aa 31\s+vfmsub213nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 08 aa 71 7f\s+vfmsub213nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 9f aa 72 80\s+vfmsub213nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 28 ba f4\s+vfmsub231nepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 08 ba f4\s+vfmsub231nepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 2f ba b4 f4 00 00 00 10\s+vfmsub231nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 38 ba 31\s+vfmsub231nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 28 ba 71 7f\s+vfmsub231nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 bf ba 72 80\s+vfmsub231nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 0f ba b4 f4 00 00 00 10\s+vfmsub231nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 18 ba 31\s+vfmsub231nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 08 ba 71 7f\s+vfmsub231nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 9f ba 72 80\s+vfmsub231nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 28 9c f4\s+vfnmadd132nepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 08 9c f4\s+vfnmadd132nepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 2f 9c b4 f4 00 00 00 10\s+vfnmadd132nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 38 9c 31\s+vfnmadd132nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 28 9c 71 7f\s+vfnmadd132nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 bf 9c 72 80\s+vfnmadd132nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 0f 9c b4 f4 00 00 00 10\s+vfnmadd132nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 18 9c 31\s+vfnmadd132nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 08 9c 71 7f\s+vfnmadd132nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 9f 9c 72 80\s+vfnmadd132nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 28 ac f4\s+vfnmadd213nepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 08 ac f4\s+vfnmadd213nepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 2f ac b4 f4 00 00 00 10\s+vfnmadd213nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 38 ac 31\s+vfnmadd213nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 28 ac 71 7f\s+vfnmadd213nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 bf ac 72 80\s+vfnmadd213nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 0f ac b4 f4 00 00 00 10\s+vfnmadd213nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 18 ac 31\s+vfnmadd213nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 08 ac 71 7f\s+vfnmadd213nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 9f ac 72 80\s+vfnmadd213nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 28 bc f4\s+vfnmadd231nepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 08 bc f4\s+vfnmadd231nepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 2f bc b4 f4 00 00 00 10\s+vfnmadd231nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 38 bc 31\s+vfnmadd231nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 28 bc 71 7f\s+vfnmadd231nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 bf bc 72 80\s+vfnmadd231nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 0f bc b4 f4 00 00 00 10\s+vfnmadd231nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 18 bc 31\s+vfnmadd231nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 08 bc 71 7f\s+vfnmadd231nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 9f bc 72 80\s+vfnmadd231nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 28 9e f4\s+vfnmsub132nepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 08 9e f4\s+vfnmsub132nepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 2f 9e b4 f4 00 00 00 10\s+vfnmsub132nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 38 9e 31\s+vfnmsub132nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 28 9e 71 7f\s+vfnmsub132nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 bf 9e 72 80\s+vfnmsub132nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 0f 9e b4 f4 00 00 00 10\s+vfnmsub132nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 18 9e 31\s+vfnmsub132nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 08 9e 71 7f\s+vfnmsub132nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 9f 9e 72 80\s+vfnmsub132nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 28 ae f4\s+vfnmsub213nepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 08 ae f4\s+vfnmsub213nepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 2f ae b4 f4 00 00 00 10\s+vfnmsub213nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 38 ae 31\s+vfnmsub213nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 28 ae 71 7f\s+vfnmsub213nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 bf ae 72 80\s+vfnmsub213nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 0f ae b4 f4 00 00 00 10\s+vfnmsub213nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 18 ae 31\s+vfnmsub213nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 08 ae 71 7f\s+vfnmsub213nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 9f ae 72 80\s+vfnmsub213nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 28 be f4\s+vfnmsub231nepbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 08 be f4\s+vfnmsub231nepbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 2f be b4 f4 00 00 00 10\s+vfnmsub231nepbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 38 be 31\s+vfnmsub231nepbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 28 be 71 7f\s+vfnmsub231nepbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 bf be 72 80\s+vfnmsub231nepbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 0f be b4 f4 00 00 00 10\s+vfnmsub231nepbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 18 be 31\s+vfnmsub231nepbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 08 be 71 7f\s+vfnmsub231nepbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 9f be 72 80\s+vfnmsub231nepbf16 -0x100\(%edx\)\{1to8\},%xmm5,%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 7c 08 42 f5\s+vgetexppbf16 %xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 7c 28 42 f5\s+vgetexppbf16 %ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 7c 0f 42 b4 f4 00 00 00 10\s+vgetexppbf16 0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 7c 18 42 31\s+vgetexppbf16 \(%ecx\)\{1to8\},%xmm6 +\s*[a-f0-9]+:\s*62 f6 7c 08 42 71 7f\s+vgetexppbf16 0x7f0\(%ecx\),%xmm6 +\s*[a-f0-9]+:\s*62 f6 7c 9f 42 72 80\s+vgetexppbf16 -0x100\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 7c 2f 42 b4 f4 00 00 00 10\s+vgetexppbf16 0x10000000\(%esp,%esi,8\),%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 7c 38 42 31\s+vgetexppbf16 \(%ecx\)\{1to16\},%ymm6 +\s*[a-f0-9]+:\s*62 f6 7c 28 42 71 7f\s+vgetexppbf16 0xfe0\(%ecx\),%ymm6 +\s*[a-f0-9]+:\s*62 f6 7c bf 42 72 80\s+vgetexppbf16 -0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 7c 08 4c f5\s+vrcppbf16 %xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 7c 28 4c f5\s+vrcppbf16 %ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 7c 0f 4c b4 f4 00 00 00 10\s+vrcppbf16 0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 7c 18 4c 31\s+vrcppbf16 \(%ecx\)\{1to8\},%xmm6 +\s*[a-f0-9]+:\s*62 f6 7c 08 4c 71 7f\s+vrcppbf16 0x7f0\(%ecx\),%xmm6 +\s*[a-f0-9]+:\s*62 f6 7c 9f 4c 72 80\s+vrcppbf16 -0x100\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 7c 2f 4c b4 f4 00 00 00 10\s+vrcppbf16 0x10000000\(%esp,%esi,8\),%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 7c 38 4c 31\s+vrcppbf16 \(%ecx\)\{1to16\},%ymm6 +\s*[a-f0-9]+:\s*62 f6 7c 28 4c 71 7f\s+vrcppbf16 0xfe0\(%ecx\),%ymm6 +\s*[a-f0-9]+:\s*62 f6 7c bf 4c 72 80\s+vrcppbf16 -0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 7c 08 4e f5\s+vrsqrtpbf16 %xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 7c 28 4e f5\s+vrsqrtpbf16 %ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 7c 0f 4e b4 f4 00 00 00 10\s+vrsqrtpbf16 0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 7c 18 4e 31\s+vrsqrtpbf16 \(%ecx\)\{1to8\},%xmm6 +\s*[a-f0-9]+:\s*62 f6 7c 08 4e 71 7f\s+vrsqrtpbf16 0x7f0\(%ecx\),%xmm6 +\s*[a-f0-9]+:\s*62 f6 7c 9f 4e 72 80\s+vrsqrtpbf16 -0x100\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 7c 2f 4e b4 f4 00 00 00 10\s+vrsqrtpbf16 0x10000000\(%esp,%esi,8\),%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 7c 38 4e 31\s+vrsqrtpbf16 \(%ecx\)\{1to16\},%ymm6 +\s*[a-f0-9]+:\s*62 f6 7c 28 4e 71 7f\s+vrsqrtpbf16 0xfe0\(%ecx\),%ymm6 +\s*[a-f0-9]+:\s*62 f6 7c bf 4e 72 80\s+vrsqrtpbf16 -0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 7d 08 51 f5\s+vsqrtnepbf16 %xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 7d 28 51 f5\s+vsqrtnepbf16 %ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f5 7d 0f 51 b4 f4 00 00 00 10\s+vsqrtnepbf16 0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 7d 18 51 31\s+vsqrtnepbf16 \(%ecx\)\{1to8\},%xmm6 +\s*[a-f0-9]+:\s*62 f5 7d 08 51 71 7f\s+vsqrtnepbf16 0x7f0\(%ecx\),%xmm6 +\s*[a-f0-9]+:\s*62 f5 7d 9f 51 72 80\s+vsqrtnepbf16 -0x100\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 7d 2f 51 b4 f4 00 00 00 10\s+vsqrtnepbf16 0x10000000\(%esp,%esi,8\),%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 7d 38 51 31\s+vsqrtnepbf16 \(%ecx\)\{1to16\},%ymm6 +\s*[a-f0-9]+:\s*62 f5 7d 28 51 71 7f\s+vsqrtnepbf16 0xfe0\(%ecx\),%ymm6 +\s*[a-f0-9]+:\s*62 f5 7d bf 51 72 80\s+vsqrtnepbf16 -0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f3 7f 28 26 f5 7b\s+vgetmantpbf16 \$0x7b,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f3 7f 08 26 f5 7b\s+vgetmantpbf16 \$0x7b,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f3 7f 0f 26 b4 f4 00 00 00 10 7b\s+vgetmantpbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 7f 18 26 31 7b\s+vgetmantpbf16 \$0x7b,\(%ecx\)\{1to8\},%xmm6 +\s*[a-f0-9]+:\s*62 f3 7f 08 26 71 7f 7b\s+vgetmantpbf16 \$0x7b,0x7f0\(%ecx\),%xmm6 +\s*[a-f0-9]+:\s*62 f3 7f 9f 26 72 80 7b\s+vgetmantpbf16 \$0x7b,-0x100\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f3 7f 2f 26 b4 f4 00 00 00 10 7b\s+vgetmantpbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 7f 38 26 31 7b\s+vgetmantpbf16 \$0x7b,\(%ecx\)\{1to16\},%ymm6 +\s*[a-f0-9]+:\s*62 f3 7f 28 26 71 7f 7b\s+vgetmantpbf16 \$0x7b,0xfe0\(%ecx\),%ymm6 +\s*[a-f0-9]+:\s*62 f3 7f bf 26 72 80 7b\s+vgetmantpbf16 \$0x7b,-0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f3 7f 28 56 f5 7b\s+vreducenepbf16 \$0x7b,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f3 7f 08 56 f5 7b\s+vreducenepbf16 \$0x7b,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f3 7f 0f 56 b4 f4 00 00 00 10 7b\s+vreducenepbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 7f 18 56 31 7b\s+vreducenepbf16 \$0x7b,\(%ecx\)\{1to8\},%xmm6 +\s*[a-f0-9]+:\s*62 f3 7f 08 56 71 7f 7b\s+vreducenepbf16 \$0x7b,0x7f0\(%ecx\),%xmm6 +\s*[a-f0-9]+:\s*62 f3 7f 9f 56 72 80 7b\s+vreducenepbf16 \$0x7b,-0x100\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f3 7f 2f 56 b4 f4 00 00 00 10 7b\s+vreducenepbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 7f 38 56 31 7b\s+vreducenepbf16 \$0x7b,\(%ecx\)\{1to16\},%ymm6 +\s*[a-f0-9]+:\s*62 f3 7f 28 56 71 7f 7b\s+vreducenepbf16 \$0x7b,0xfe0\(%ecx\),%ymm6 +\s*[a-f0-9]+:\s*62 f3 7f bf 56 72 80 7b\s+vreducenepbf16 \$0x7b,-0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f3 7f 28 08 f5 7b\s+vrndscalenepbf16 \$0x7b,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f3 7f 08 08 f5 7b\s+vrndscalenepbf16 \$0x7b,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f3 7f 0f 08 b4 f4 00 00 00 10 7b\s+vrndscalenepbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 7f 18 08 31 7b\s+vrndscalenepbf16 \$0x7b,\(%ecx\)\{1to8\},%xmm6 +\s*[a-f0-9]+:\s*62 f3 7f 08 08 71 7f 7b\s+vrndscalenepbf16 \$0x7b,0x7f0\(%ecx\),%xmm6 +\s*[a-f0-9]+:\s*62 f3 7f 9f 08 72 80 7b\s+vrndscalenepbf16 \$0x7b,-0x100\(%edx\)\{1to8\},%xmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f3 7f 2f 08 b4 f4 00 00 00 10 7b\s+vrndscalenepbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 7f 38 08 31 7b\s+vrndscalenepbf16 \$0x7b,\(%ecx\)\{1to16\},%ymm6 +\s*[a-f0-9]+:\s*62 f3 7f 28 08 71 7f 7b\s+vrndscalenepbf16 \$0x7b,0xfe0\(%ecx\),%ymm6 +\s*[a-f0-9]+:\s*62 f3 7f bf 08 72 80 7b\s+vrndscalenepbf16 \$0x7b,-0x100\(%edx\)\{1to16\},%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f3 57 28 c2 ec 7b\s+vcmppbf16 \$0x7b,%ymm4,%ymm5,%k5 +\s*[a-f0-9]+:\s*62 f3 57 08 c2 ec 7b\s+vcmppbf16 \$0x7b,%xmm4,%xmm5,%k5 +\s*[a-f0-9]+:\s*62 f3 57 0f c2 ac f4 00 00 00 10 7b\s+vcmppbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%xmm5,%k5\{%k7\} +\s*[a-f0-9]+:\s*62 f3 57 18 c2 29 7b\s+vcmppbf16 \$0x7b,\(%ecx\)\{1to8\},%xmm5,%k5 +\s*[a-f0-9]+:\s*62 f3 57 08 c2 69 7f 7b\s+vcmppbf16 \$0x7b,0x7f0\(%ecx\),%xmm5,%k5 +\s*[a-f0-9]+:\s*62 f3 57 1f c2 6a 80 7b\s+vcmppbf16 \$0x7b,-0x100\(%edx\)\{1to8\},%xmm5,%k5\{%k7\} +\s*[a-f0-9]+:\s*62 f3 57 2f c2 ac f4 00 00 00 10 7b\s+vcmppbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%ymm5,%k5\{%k7\} +\s*[a-f0-9]+:\s*62 f3 57 38 c2 29 7b\s+vcmppbf16 \$0x7b,\(%ecx\)\{1to16\},%ymm5,%k5 +\s*[a-f0-9]+:\s*62 f3 57 28 c2 69 7f 7b\s+vcmppbf16 \$0x7b,0xfe0\(%ecx\),%ymm5,%k5 +\s*[a-f0-9]+:\s*62 f3 57 3f c2 6a 80 7b\s+vcmppbf16 \$0x7b,-0x100\(%edx\)\{1to16\},%ymm5,%k5\{%k7\} +\s*[a-f0-9]+:\s*62 f5 7d 08 2f f5\s+vcomsbf16 %xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f5 7d 08 2f b4 f4 00 00 00 10\s+vcomsbf16 0x10000000\(%esp,%esi,8\),%xmm6 +\s*[a-f0-9]+:\s*62 f5 7d 08 2f 31\s+vcomsbf16 \(%ecx\),%xmm6 +\s*[a-f0-9]+:\s*62 f5 7d 08 2f 71 7f\s+vcomsbf16 0xfe\(%ecx\),%xmm6 +\s*[a-f0-9]+:\s*62 f5 7d 08 2f 72 80\s+vcomsbf16 -0x100\(%edx\),%xmm6 +\s*[a-f0-9]+:\s*62 f3 7f 28 66 ed 7b\s+vfpclasspbf16 \$0x7b,%ymm5,%k5 +\s*[a-f0-9]+:\s*62 f3 7f 08 66 ed 7b\s+vfpclasspbf16 \$0x7b,%xmm5,%k5 +\s*[a-f0-9]+:\s*62 f3 7f 0f 66 ac f4 00 00 00 10 7b\s+vfpclasspbf16x \$0x7b,0x10000000\(%esp,%esi,8\),%k5\{%k7\} +\s*[a-f0-9]+:\s*62 f3 7f 18 66 29 7b\s+vfpclasspbf16 \$0x7b,\(%ecx\)\{1to8\},%k5 +\s*[a-f0-9]+:\s*62 f3 7f 08 66 69 7f 7b\s+vfpclasspbf16x \$0x7b,0x7f0\(%ecx\),%k5 +\s*[a-f0-9]+:\s*62 f3 7f 1f 66 6a 80 7b\s+vfpclasspbf16 \$0x7b,-0x100\(%edx\)\{1to8\},%k5\{%k7\} +\s*[a-f0-9]+:\s*62 f3 7f 38 66 29 7b\s+vfpclasspbf16 \$0x7b,\(%ecx\)\{1to16\},%k5 +\s*[a-f0-9]+:\s*62 f3 7f 28 66 69 7f 7b\s+vfpclasspbf16y \$0x7b,0xfe0\(%ecx\),%k5 +\s*[a-f0-9]+:\s*62 f3 7f 3f 66 6a 80 7b\s+vfpclasspbf16 \$0x7b,-0x100\(%edx\)\{1to16\},%k5\{%k7\} +#pass diff --git a/gas/testsuite/gas/i386/avx10_2-256-bf16.s b/gas/testsuite/gas/i386/avx10_2-256-bf16.s new file mode 100644 index 00000000000..ae5e7c3f00f --- /dev/null +++ b/gas/testsuite/gas/i386/avx10_2-256-bf16.s @@ -0,0 +1,169 @@ +# Check 32bit AVX10.2/256 instructions + + .arch generic32 + .arch .avx10.2/256 + .text +_start: + .irp m, addne, divne, max, min, mulne, scalefne, subne + v\m\()pbf16 %ymm4, %ymm5, %ymm6 + v\m\()pbf16 %xmm4, %xmm5, %xmm6 + v\m\()pbf16 0x10000000(%esp, %esi, 8), %ymm5, %ymm6{%k7} + v\m\()pbf16 (%ecx){1to16}, %ymm5, %ymm6 + v\m\()pbf16 4064(%ecx), %ymm5, %ymm6 + v\m\()pbf16 -256(%edx){1to16}, %ymm5, %ymm6{%k7}{z} + v\m\()pbf16 0x10000000(%esp, %esi, 8), %xmm5, %xmm6{%k7} + v\m\()pbf16 (%ecx){1to8}, %xmm5, %xmm6 + v\m\()pbf16 2032(%ecx), %xmm5, %xmm6 + v\m\()pbf16 -256(%edx){1to8}, %xmm5, %xmm6{%k7}{z} + .endr + + .irp m, madd, msub, nmadd, nmsub + .irp n, 132, 213, 231 + vf\m\n\(\())nepbf16 %ymm4, %ymm5, %ymm6 + vf\m\n\(\())nepbf16 %xmm4, %xmm5, %xmm6 + vf\m\n\(\())nepbf16 0x10000000(%esp, %esi, 8), %ymm5, %ymm6{%k7} + vf\m\n\(\())nepbf16 (%ecx){1to16}, %ymm5, %ymm6 + vf\m\n\(\())nepbf16 4064(%ecx), %ymm5, %ymm6 + vf\m\n\(\())nepbf16 -256(%edx){1to16}, %ymm5, %ymm6{%k7}{z} + vf\m\n\(\())nepbf16 0x10000000(%esp, %esi, 8), %xmm5, %xmm6{%k7} + vf\m\n\(\())nepbf16 (%ecx){1to8}, %xmm5, %xmm6 + vf\m\n\(\())nepbf16 2032(%ecx), %xmm5, %xmm6 + vf\m\n\(\())nepbf16 -256(%edx){1to8}, %xmm5, %xmm6{%k7}{z} + .endr + .endr + + .irp m, getexp, rcp, rsqrt, sqrtne + v\m\()pbf16 %xmm5, %xmm6 + v\m\()pbf16 %ymm5, %ymm6 + v\m\()pbf16 0x10000000(%esp, %esi, 8), %xmm6{%k7} + v\m\()pbf16 (%ecx){1to8}, %xmm6 + v\m\()pbf16 2032(%ecx), %xmm6 + v\m\()pbf16 -256(%edx){1to8}, %xmm6{%k7}{z} + v\m\()pbf16 0x10000000(%esp, %esi, 8), %ymm6{%k7} + v\m\()pbf16 (%ecx){1to16}, %ymm6 + v\m\()pbf16 4064(%ecx), %ymm6 + v\m\()pbf16 -256(%edx){1to16}, %ymm6{%k7}{z} + .endr + + .irp m, getmant, reducene, rndscalene + v\m\()pbf16 $123, %ymm5, %ymm6 + v\m\()pbf16 $123, %xmm5, %xmm6 + v\m\()pbf16 $123, 0x10000000(%esp, %esi, 8), %xmm6{%k7} + v\m\()pbf16 $123, (%ecx){1to8}, %xmm6 + v\m\()pbf16 $123, 2032(%ecx), %xmm6 + v\m\()pbf16 $123, -256(%edx){1to8}, %xmm6{%k7}{z} + v\m\()pbf16 $123, 0x10000000(%esp, %esi, 8), %ymm6{%k7} + v\m\()pbf16 $123, (%ecx){1to16}, %ymm6 + v\m\()pbf16 $123, 4064(%ecx), %ymm6 + v\m\()pbf16 $123, -256(%edx){1to16}, %ymm6{%k7}{z} + .endr + + vcmppbf16 $123, %ymm4, %ymm5, %k5 + vcmppbf16 $123, %xmm4, %xmm5, %k5 + vcmppbf16 $123, 0x10000000(%esp, %esi, 8), %xmm5, %k5{%k7} + vcmppbf16 $123, (%ecx){1to8}, %xmm5, %k5 + vcmppbf16 $123, 2032(%ecx), %xmm5, %k5 + vcmppbf16 $123, -256(%edx){1to8}, %xmm5, %k5{%k7} + vcmppbf16 $123, 0x10000000(%esp, %esi, 8), %ymm5, %k5{%k7} + vcmppbf16 $123, (%ecx){1to16}, %ymm5, %k5 + vcmppbf16 $123, 4064(%ecx), %ymm5, %k5 + vcmppbf16 $123, -256(%edx){1to16}, %ymm5, %k5{%k7} + + vcomsbf16 %xmm5, %xmm6 + vcomsbf16 0x10000000(%esp, %esi, 8), %xmm6 + vcomsbf16 (%ecx), %xmm6 + vcomsbf16 254(%ecx), %xmm6 + vcomsbf16 -256(%edx), %xmm6 + + vfpclasspbf16 $123, %ymm5, %k5 + vfpclasspbf16 $123, %xmm5, %k5 + vfpclasspbf16x $123, 0x10000000(%esp, %esi, 8), %k5{%k7} + vfpclasspbf16 $123, (%ecx){1to8}, %k5 + vfpclasspbf16x $123, 2032(%ecx), %k5 + vfpclasspbf16 $123, -256(%edx){1to8}, %k5{%k7} + vfpclasspbf16 $123, (%ecx){1to16}, %k5 + vfpclasspbf16y $123, 4064(%ecx), %k5 + vfpclasspbf16 $123, -256(%edx){1to16}, %k5{%k7} + +_intel: + .intel_syntax noprefix + .irp m, addne, divne, max, min, mulne, scalefne, subne + v\m\()pbf16 ymm6, ymm5, ymm4 + v\m\()pbf16 xmm6, xmm5, xmm4 + v\m\()pbf16 ymm6{k7}, ymm5, [esp+esi*8+0x10000000] + v\m\()pbf16 ymm6, ymm5, [ecx]{1to16} + v\m\()pbf16 ymm6, ymm5, YMMWORD PTR [ecx+4064] + v\m\()pbf16 ymm6{k7}{z}, ymm5, WORD PTR [edx-256]{1to16} + v\m\()pbf16 xmm6{k7}, xmm5, [esp+esi*8+0x10000000] + v\m\()pbf16 xmm6, xmm5, WORD PTR [ecx]{1to8} + v\m\()pbf16 xmm6, xmm5, XMMWORD PTR [ecx+2032] + v\m\()pbf16 xmm6{k7}{z}, xmm5, [edx-256]{1to8} + .endr + + .irp m, madd, msub, nmadd, nmsub + .irp n, 132, 213, 231 + vf\m\n\(\())nepbf16 ymm6, ymm5, ymm4 + vf\m\n\(\())nepbf16 xmm6, xmm5, xmm4 + vf\m\n\(\())nepbf16 ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8+0x10000000] + vf\m\n\(\())nepbf16 ymm6, ymm5, [ecx]{1to16} + vf\m\n\(\())nepbf16 ymm6, ymm5, [ecx+4064] + vf\m\n\(\())nepbf16 ymm6{k7}{z}, ymm5, WORD PTR [edx-256]{1to16} + vf\m\n\(\())nepbf16 xmm6{k7}, xmm5, [esp+esi*8+0x10000000] + vf\m\n\(\())nepbf16 xmm6, xmm5, WORD PTR [ecx]{1to8} + vf\m\n\(\())nepbf16 xmm6, xmm5, XMMWORD PTR [ecx+2032] + vf\m\n\(\())nepbf16 xmm6{k7}{z}, xmm5, [edx-256]{1to8} + .endr + .endr + + .irp m, getexp, rcp, rsqrt, sqrtne + v\m\()pbf16 xmm6, xmm5 + v\m\()pbf16 ymm6, ymm5 + v\m\()pbf16 xmm6{k7}, [esp+esi*8+0x10000000] + v\m\()pbf16 xmm6, [ecx]{1to8} + v\m\()pbf16 xmm6, XMMWORD PTR [ecx+2032] + v\m\()pbf16 xmm6{k7}{z}, WORD PTR [edx-256]{1to8} + v\m\()pbf16 ymm6{k7}, [esp+esi*8+0x10000000] + v\m\()pbf16 ymm6, WORD PTR [ecx]{1to16} + v\m\()pbf16 ymm6, YMMWORD PTR [ecx+4064] + v\m\()pbf16 ymm6{k7}{z}, [edx-256]{1to16} + .endr + + .irp m, getmant, reducene, rndscalene + v\m\()pbf16 ymm6, ymm5, 123 + v\m\()pbf16 xmm6, xmm5, 123 + v\m\()pbf16 xmm6{k7}, XMMWORD PTR [esp+esi*8+0x10000000], 123 + v\m\()pbf16 xmm6, [ecx]{1to8}, 123 + v\m\()pbf16 xmm6, [ecx+2032], 123 + v\m\()pbf16 xmm6{k7}{z}, WORD PTR [edx-256]{1to8}, 123 + v\m\()pbf16 ymm6{k7}, YMMWORD PTR [esp+esi*8+0x10000000], 123 + v\m\()pbf16 ymm6, [ecx]{1to16}, 123 + v\m\()pbf16 ymm6, [ecx+4064], 123 + v\m\()pbf16 ymm6{k7}{z}, WORD PTR [edx-256]{1to16}, 123 + .endr + + vcmppbf16 k5, ymm5, ymm4, 123 + vcmppbf16 k5, xmm5, xmm4, 123 + vcmppbf16 k5{k7}, xmm5, [esp+esi*8+0x10000000], 123 + vcmppbf16 k5, xmm5, WORD PTR [ecx]{1to8}, 123 + vcmppbf16 k5, xmm5, XMMWORD PTR [ecx+2032], 123 + vcmppbf16 k5{k7}, xmm5, [edx-256]{1to8}, 123 + vcmppbf16 k5{k7}, ymm5, YMMWORD PTR [esp+esi*8+0x10000000], 123 + vcmppbf16 k5, ymm5, WORD PTR [ecx]{1to16}, 123 + vcmppbf16 k5, ymm5, [ecx+4064], 123 + vcmppbf16 k5{k7}, ymm5, [edx-256]{1to16}, 123 + + vcomsbf16 xmm6, xmm5 + vcomsbf16 xmm6, WORD PTR [esp+esi*8+0x10000000] + vcomsbf16 xmm6, WORD PTR [ecx] + vcomsbf16 xmm6, WORD PTR [ecx+254] + vcomsbf16 xmm6, WORD PTR [edx-256] + + vfpclasspbf16 k5, ymm5, 123 + vfpclasspbf16 k5, xmm5, 123 + vfpclasspbf16 k5{k7}, XMMWORD PTR [esp+esi*8+0x10000000], 123 + vfpclasspbf16 k5, [ecx]{1to8}, 123 + vfpclasspbf16 k5, XMMWORD PTR [ecx+2032], 123 + vfpclasspbf16 k5{k7}, WORD PTR [edx-256]{1to8}, 123 + vfpclasspbf16 k5, [ecx]{1to16}, 123 + vfpclasspbf16 k5, YMMWORD PTR [ecx+4064], 123 + vfpclasspbf16 k5{k7}, WORD PTR [edx-256]{1to16}, 123 diff --git a/gas/testsuite/gas/i386/avx10_2-512-bf16-intel.d b/gas/testsuite/gas/i386/avx10_2-512-bf16-intel.d new file mode 100644 index 00000000000..67ad456520d --- /dev/null +++ b/gas/testsuite/gas/i386/avx10_2-512-bf16-intel.d @@ -0,0 +1,151 @@ +#objdump: -dw -Mintel +#name: i386 AVX10.2/512 BF16 insns (Intel disassembly) +#source: avx10_2-512-bf16.s + +.*: +file format .* + +Disassembly of section \.text: + +#... +[a-f0-9]+ <_intel>: +\s*[a-f0-9]+:\s*62 f5 55 48 58 f4\s+vaddnepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f5 55 4f 58 b4 f4 00 00 00 10\s+vaddnepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 58 58 31\s+vaddnepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 48 58 71 7f\s+vaddnepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f5 55 df 58 72 80\s+vaddnepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 48 5e f4\s+vdivnepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f5 55 4f 5e b4 f4 00 00 00 10\s+vdivnepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 58 5e 31\s+vdivnepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 48 5e 71 7f\s+vdivnepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f5 55 df 5e 72 80\s+vdivnepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 48 5f f4\s+vmaxpbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f5 55 4f 5f b4 f4 00 00 00 10\s+vmaxpbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 58 5f 31\s+vmaxpbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 48 5f 71 7f\s+vmaxpbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f5 55 df 5f 72 80\s+vmaxpbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 48 5d f4\s+vminpbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f5 55 4f 5d b4 f4 00 00 00 10\s+vminpbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 58 5d 31\s+vminpbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 48 5d 71 7f\s+vminpbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f5 55 df 5d 72 80\s+vminpbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 48 59 f4\s+vmulnepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f5 55 4f 59 b4 f4 00 00 00 10\s+vmulnepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 58 59 31\s+vmulnepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 48 59 71 7f\s+vmulnepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f5 55 df 59 72 80\s+vmulnepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 48 2c f4\s+vscalefnepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f6 54 4f 2c b4 f4 00 00 00 10\s+vscalefnepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 58 2c 31\s+vscalefnepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 48 2c 71 7f\s+vscalefnepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 54 df 2c 72 80\s+vscalefnepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 55 48 5c f4\s+vsubnepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f5 55 4f 5c b4 f4 00 00 00 10\s+vsubnepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 55 58 5c 31\s+vsubnepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 55 48 5c 71 7f\s+vsubnepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f5 55 df 5c 72 80\s+vsubnepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 48 98 f4\s+vfmadd132nepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f6 54 4f 98 b4 f4 00 00 00 10\s+vfmadd132nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 58 98 31\s+vfmadd132nepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 48 98 71 7f\s+vfmadd132nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 54 df 98 72 80\s+vfmadd132nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 48 a8 f4\s+vfmadd213nepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f6 54 4f a8 b4 f4 00 00 00 10\s+vfmadd213nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 58 a8 31\s+vfmadd213nepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 48 a8 71 7f\s+vfmadd213nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 54 df a8 72 80\s+vfmadd213nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 48 b8 f4\s+vfmadd231nepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f6 54 4f b8 b4 f4 00 00 00 10\s+vfmadd231nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 58 b8 31\s+vfmadd231nepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 48 b8 71 7f\s+vfmadd231nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 54 df b8 72 80\s+vfmadd231nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 48 9a f4\s+vfmsub132nepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f6 54 4f 9a b4 f4 00 00 00 10\s+vfmsub132nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 58 9a 31\s+vfmsub132nepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 48 9a 71 7f\s+vfmsub132nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 54 df 9a 72 80\s+vfmsub132nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 48 aa f4\s+vfmsub213nepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f6 54 4f aa b4 f4 00 00 00 10\s+vfmsub213nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 58 aa 31\s+vfmsub213nepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 48 aa 71 7f\s+vfmsub213nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 54 df aa 72 80\s+vfmsub213nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 48 ba f4\s+vfmsub231nepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f6 54 4f ba b4 f4 00 00 00 10\s+vfmsub231nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 58 ba 31\s+vfmsub231nepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 48 ba 71 7f\s+vfmsub231nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 54 df ba 72 80\s+vfmsub231nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 48 9c f4\s+vfnmadd132nepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f6 54 4f 9c b4 f4 00 00 00 10\s+vfnmadd132nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 58 9c 31\s+vfnmadd132nepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 48 9c 71 7f\s+vfnmadd132nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 54 df 9c 72 80\s+vfnmadd132nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 48 ac f4\s+vfnmadd213nepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f6 54 4f ac b4 f4 00 00 00 10\s+vfnmadd213nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 58 ac 31\s+vfnmadd213nepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 48 ac 71 7f\s+vfnmadd213nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 54 df ac 72 80\s+vfnmadd213nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 48 bc f4\s+vfnmadd231nepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f6 54 4f bc b4 f4 00 00 00 10\s+vfnmadd231nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 58 bc 31\s+vfnmadd231nepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 48 bc 71 7f\s+vfnmadd231nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 54 df bc 72 80\s+vfnmadd231nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 48 9e f4\s+vfnmsub132nepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f6 54 4f 9e b4 f4 00 00 00 10\s+vfnmsub132nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 58 9e 31\s+vfnmsub132nepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 48 9e 71 7f\s+vfnmsub132nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 54 df 9e 72 80\s+vfnmsub132nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 48 ae f4\s+vfnmsub213nepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f6 54 4f ae b4 f4 00 00 00 10\s+vfnmsub213nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 58 ae 31\s+vfnmsub213nepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 48 ae 71 7f\s+vfnmsub213nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 54 df ae 72 80\s+vfnmsub213nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 54 48 be f4\s+vfnmsub231nepbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f6 54 4f be b4 f4 00 00 00 10\s+vfnmsub231nepbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 58 be 31\s+vfnmsub231nepbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 48 be 71 7f\s+vfnmsub231nepbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 54 df be 72 80\s+vfnmsub231nepbf16 zmm6\{k7\}\{z\},zmm5,WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 7c 48 42 f5\s+vgetexppbf16 zmm6,zmm5 +\s*[a-f0-9]+:\s*62 f6 7c 4f 42 b4 f4 00 00 00 10\s+vgetexppbf16 zmm6\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 7c 58 42 31\s+vgetexppbf16 zmm6,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 7c 48 42 71 7f\s+vgetexppbf16 zmm6,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 7c df 42 72 80\s+vgetexppbf16 zmm6\{k7\}\{z\},WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 7c 48 4c f5\s+vrcppbf16 zmm6,zmm5 +\s*[a-f0-9]+:\s*62 f6 7c 4f 4c b4 f4 00 00 00 10\s+vrcppbf16 zmm6\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 7c 58 4c 31\s+vrcppbf16 zmm6,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 7c 48 4c 71 7f\s+vrcppbf16 zmm6,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 7c df 4c 72 80\s+vrcppbf16 zmm6\{k7\}\{z\},WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f6 7c 48 4e f5\s+vrsqrtpbf16 zmm6,zmm5 +\s*[a-f0-9]+:\s*62 f6 7c 4f 4e b4 f4 00 00 00 10\s+vrsqrtpbf16 zmm6\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 7c 58 4e 31\s+vrsqrtpbf16 zmm6,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 7c 48 4e 71 7f\s+vrsqrtpbf16 zmm6,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 7c df 4e 72 80\s+vrsqrtpbf16 zmm6\{k7\}\{z\},WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f5 7d 48 51 f5\s+vsqrtnepbf16 zmm6,zmm5 +\s*[a-f0-9]+:\s*62 f5 7d 4f 51 b4 f4 00 00 00 10\s+vsqrtnepbf16 zmm6\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f5 7d 58 51 31\s+vsqrtnepbf16 zmm6,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f5 7d 48 51 71 7f\s+vsqrtnepbf16 zmm6,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f5 7d df 51 72 80\s+vsqrtnepbf16 zmm6\{k7\}\{z\},WORD BCST \[edx-0x100\] +\s*[a-f0-9]+:\s*62 f3 7f 48 26 f5 7b\s+vgetmantpbf16 zmm6,zmm5,0x7b +\s*[a-f0-9]+:\s*62 f3 7f 4f 26 b4 f4 00 00 00 10 7b\s+vgetmantpbf16 zmm6\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 58 26 31 7b\s+vgetmantpbf16 zmm6,WORD BCST \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 48 26 71 7f 7b\s+vgetmantpbf16 zmm6,ZMMWORD PTR \[ecx\+0x1fc0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f df 26 72 80 7b\s+vgetmantpbf16 zmm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 48 56 f5 7b\s+vreducenepbf16 zmm6,zmm5,0x7b +\s*[a-f0-9]+:\s*62 f3 7f 4f 56 b4 f4 00 00 00 10 7b\s+vreducenepbf16 zmm6\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 58 56 31 7b\s+vreducenepbf16 zmm6,WORD BCST \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 48 56 71 7f 7b\s+vreducenepbf16 zmm6,ZMMWORD PTR \[ecx\+0x1fc0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f df 56 72 80 7b\s+vreducenepbf16 zmm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 48 08 f5 7b\s+vrndscalenepbf16 zmm6,zmm5,0x7b +\s*[a-f0-9]+:\s*62 f3 7f 4f 08 b4 f4 00 00 00 10 7b\s+vrndscalenepbf16 zmm6\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 58 08 31 7b\s+vrndscalenepbf16 zmm6,WORD BCST \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 48 08 71 7f 7b\s+vrndscalenepbf16 zmm6,ZMMWORD PTR \[ecx\+0x1fc0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f df 08 72 80 7b\s+vrndscalenepbf16 zmm6\{k7\}\{z\},WORD BCST \[edx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 f3 57 48 c2 ec 7b\s+vcmppbf16 k5,zmm5,zmm4,0x7b +\s*[a-f0-9]+:\s*62 f3 57 4f c2 ac f4 00 00 00 10 7b\s+vcmppbf16 k5\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 57 58 c2 29 7b\s+vcmppbf16 k5,zmm5,WORD BCST \[ecx\],0x7b +\s*[a-f0-9]+:\s*62 f3 57 48 c2 69 7f 7b\s+vcmppbf16 k5,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\],0x7b +\s*[a-f0-9]+:\s*62 f3 57 5f c2 6a 80 7b\s+vcmppbf16 k5\{k7\},zmm5,WORD BCST \[edx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 48 66 ed 7b\s+vfpclasspbf16 k5,zmm5,0x7b +\s*[a-f0-9]+:\s*62 f3 7f 4f 66 ac f4 00 00 00 10 7b\s+vfpclasspbf16 k5\{k7\},ZMMWORD PTR \[esp\+esi\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 58 66 29 7b\s+vfpclasspbf16 k5,WORD BCST \[ecx\]\{1to32\},0x7b +\s*[a-f0-9]+:\s*62 f3 7f 48 66 69 7f 7b\s+vfpclasspbf16 k5,ZMMWORD PTR \[ecx\+0x1fc0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 5f 66 6a 80 7b\s+vfpclasspbf16 k5\{k7\},WORD BCST \[edx-0x100\]\{1to32\},0x7b +#pass diff --git a/gas/testsuite/gas/i386/avx10_2-512-bf16.d b/gas/testsuite/gas/i386/avx10_2-512-bf16.d new file mode 100644 index 00000000000..7787084c261 --- /dev/null +++ b/gas/testsuite/gas/i386/avx10_2-512-bf16.d @@ -0,0 +1,150 @@ +#objdump: -dw +#name: i386 AVX10.2/512 BF16 insns + +.*: +file format .* + + +Disassembly of section .text: + +0+ <_start>: +\s*[a-f0-9]+:\s*62 f5 55 48 58 f4\s+vaddnepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 4f 58 b4 f4 00 00 00 10\s+vaddnepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 58 58 31\s+vaddnepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 48 58 71 7f\s+vaddnepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 df 58 72 80\s+vaddnepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 48 5e f4\s+vdivnepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 4f 5e b4 f4 00 00 00 10\s+vdivnepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 58 5e 31\s+vdivnepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 48 5e 71 7f\s+vdivnepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 df 5e 72 80\s+vdivnepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 48 5f f4\s+vmaxpbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 4f 5f b4 f4 00 00 00 10\s+vmaxpbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 58 5f 31\s+vmaxpbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 48 5f 71 7f\s+vmaxpbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 df 5f 72 80\s+vmaxpbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 48 5d f4\s+vminpbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 4f 5d b4 f4 00 00 00 10\s+vminpbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 58 5d 31\s+vminpbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 48 5d 71 7f\s+vminpbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 df 5d 72 80\s+vminpbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 48 59 f4\s+vmulnepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 4f 59 b4 f4 00 00 00 10\s+vmulnepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 58 59 31\s+vmulnepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 48 59 71 7f\s+vmulnepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 df 59 72 80\s+vmulnepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 48 2c f4\s+vscalefnepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 4f 2c b4 f4 00 00 00 10\s+vscalefnepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 58 2c 31\s+vscalefnepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 48 2c 71 7f\s+vscalefnepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 df 2c 72 80\s+vscalefnepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 55 48 5c f4\s+vsubnepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 4f 5c b4 f4 00 00 00 10\s+vsubnepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 55 58 5c 31\s+vsubnepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 48 5c 71 7f\s+vsubnepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 55 df 5c 72 80\s+vsubnepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 48 98 f4\s+vfmadd132nepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 4f 98 b4 f4 00 00 00 10\s+vfmadd132nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 58 98 31\s+vfmadd132nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 48 98 71 7f\s+vfmadd132nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 df 98 72 80\s+vfmadd132nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 48 a8 f4\s+vfmadd213nepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 4f a8 b4 f4 00 00 00 10\s+vfmadd213nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 58 a8 31\s+vfmadd213nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 48 a8 71 7f\s+vfmadd213nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 df a8 72 80\s+vfmadd213nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 48 b8 f4\s+vfmadd231nepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 4f b8 b4 f4 00 00 00 10\s+vfmadd231nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 58 b8 31\s+vfmadd231nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 48 b8 71 7f\s+vfmadd231nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 df b8 72 80\s+vfmadd231nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 48 9a f4\s+vfmsub132nepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 4f 9a b4 f4 00 00 00 10\s+vfmsub132nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 58 9a 31\s+vfmsub132nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 48 9a 71 7f\s+vfmsub132nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 df 9a 72 80\s+vfmsub132nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 48 aa f4\s+vfmsub213nepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 4f aa b4 f4 00 00 00 10\s+vfmsub213nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 58 aa 31\s+vfmsub213nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 48 aa 71 7f\s+vfmsub213nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 df aa 72 80\s+vfmsub213nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 48 ba f4\s+vfmsub231nepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 4f ba b4 f4 00 00 00 10\s+vfmsub231nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 58 ba 31\s+vfmsub231nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 48 ba 71 7f\s+vfmsub231nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 df ba 72 80\s+vfmsub231nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 48 9c f4\s+vfnmadd132nepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 4f 9c b4 f4 00 00 00 10\s+vfnmadd132nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 58 9c 31\s+vfnmadd132nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 48 9c 71 7f\s+vfnmadd132nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 df 9c 72 80\s+vfnmadd132nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 48 ac f4\s+vfnmadd213nepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 4f ac b4 f4 00 00 00 10\s+vfnmadd213nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 58 ac 31\s+vfnmadd213nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 48 ac 71 7f\s+vfnmadd213nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 df ac 72 80\s+vfnmadd213nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 48 bc f4\s+vfnmadd231nepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 4f bc b4 f4 00 00 00 10\s+vfnmadd231nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 58 bc 31\s+vfnmadd231nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 48 bc 71 7f\s+vfnmadd231nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 df bc 72 80\s+vfnmadd231nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 48 9e f4\s+vfnmsub132nepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 4f 9e b4 f4 00 00 00 10\s+vfnmsub132nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 58 9e 31\s+vfnmsub132nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 48 9e 71 7f\s+vfnmsub132nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 df 9e 72 80\s+vfnmsub132nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 48 ae f4\s+vfnmsub213nepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 4f ae b4 f4 00 00 00 10\s+vfnmsub213nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 58 ae 31\s+vfnmsub213nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 48 ae 71 7f\s+vfnmsub213nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 df ae 72 80\s+vfnmsub213nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 48 be f4\s+vfnmsub231nepbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 4f be b4 f4 00 00 00 10\s+vfnmsub231nepbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 58 be 31\s+vfnmsub231nepbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 48 be 71 7f\s+vfnmsub231nepbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 df be 72 80\s+vfnmsub231nepbf16 -0x100\(%edx\)\{1to32\},%zmm5,%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 7c 48 42 f5\s+vgetexppbf16 %zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 7c 4f 42 b4 f4 00 00 00 10\s+vgetexppbf16 0x10000000\(%esp,%esi,8\),%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 7c 58 42 31\s+vgetexppbf16 \(%ecx\)\{1to32\},%zmm6 +\s*[a-f0-9]+:\s*62 f6 7c 48 42 71 7f\s+vgetexppbf16 0x1fc0\(%ecx\),%zmm6 +\s*[a-f0-9]+:\s*62 f6 7c df 42 72 80\s+vgetexppbf16 -0x100\(%edx\)\{1to32\},%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 7c 48 4c f5\s+vrcppbf16 %zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 7c 4f 4c b4 f4 00 00 00 10\s+vrcppbf16 0x10000000\(%esp,%esi,8\),%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 7c 58 4c 31\s+vrcppbf16 \(%ecx\)\{1to32\},%zmm6 +\s*[a-f0-9]+:\s*62 f6 7c 48 4c 71 7f\s+vrcppbf16 0x1fc0\(%ecx\),%zmm6 +\s*[a-f0-9]+:\s*62 f6 7c df 4c 72 80\s+vrcppbf16 -0x100\(%edx\)\{1to32\},%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 7c 48 4e f5\s+vrsqrtpbf16 %zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 7c 4f 4e b4 f4 00 00 00 10\s+vrsqrtpbf16 0x10000000\(%esp,%esi,8\),%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 7c 58 4e 31\s+vrsqrtpbf16 \(%ecx\)\{1to32\},%zmm6 +\s*[a-f0-9]+:\s*62 f6 7c 48 4e 71 7f\s+vrsqrtpbf16 0x1fc0\(%ecx\),%zmm6 +\s*[a-f0-9]+:\s*62 f6 7c df 4e 72 80\s+vrsqrtpbf16 -0x100\(%edx\)\{1to32\},%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f5 7d 48 51 f5\s+vsqrtnepbf16 %zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f5 7d 4f 51 b4 f4 00 00 00 10\s+vsqrtnepbf16 0x10000000\(%esp,%esi,8\),%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f5 7d 58 51 31\s+vsqrtnepbf16 \(%ecx\)\{1to32\},%zmm6 +\s*[a-f0-9]+:\s*62 f5 7d 48 51 71 7f\s+vsqrtnepbf16 0x1fc0\(%ecx\),%zmm6 +\s*[a-f0-9]+:\s*62 f5 7d df 51 72 80\s+vsqrtnepbf16 -0x100\(%edx\)\{1to32\},%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f3 7f 48 26 f5 7b\s+vgetmantpbf16 \$0x7b,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f3 7f 4f 26 b4 f4 00 00 00 10 7b\s+vgetmantpbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 7f 58 26 31 7b\s+vgetmantpbf16 \$0x7b,\(%ecx\)\{1to32\},%zmm6 +\s*[a-f0-9]+:\s*62 f3 7f 48 26 71 7f 7b\s+vgetmantpbf16 \$0x7b,0x1fc0\(%ecx\),%zmm6 +\s*[a-f0-9]+:\s*62 f3 7f df 26 72 80 7b\s+vgetmantpbf16 \$0x7b,-0x100\(%edx\)\{1to32\},%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f3 7f 48 56 f5 7b\s+vreducenepbf16 \$0x7b,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f3 7f 4f 56 b4 f4 00 00 00 10 7b\s+vreducenepbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 7f 58 56 31 7b\s+vreducenepbf16 \$0x7b,\(%ecx\)\{1to32\},%zmm6 +\s*[a-f0-9]+:\s*62 f3 7f 48 56 71 7f 7b\s+vreducenepbf16 \$0x7b,0x1fc0\(%ecx\),%zmm6 +\s*[a-f0-9]+:\s*62 f3 7f df 56 72 80 7b\s+vreducenepbf16 \$0x7b,-0x100\(%edx\)\{1to32\},%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f3 7f 48 08 f5 7b\s+vrndscalenepbf16 \$0x7b,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f3 7f 4f 08 b4 f4 00 00 00 10 7b\s+vrndscalenepbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f3 7f 58 08 31 7b\s+vrndscalenepbf16 \$0x7b,\(%ecx\)\{1to32\},%zmm6 +\s*[a-f0-9]+:\s*62 f3 7f 48 08 71 7f 7b\s+vrndscalenepbf16 \$0x7b,0x1fc0\(%ecx\),%zmm6 +\s*[a-f0-9]+:\s*62 f3 7f df 08 72 80 7b\s+vrndscalenepbf16 \$0x7b,-0x100\(%edx\)\{1to32\},%zmm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f3 57 48 c2 ec 7b\s+vcmppbf16 \$0x7b,%zmm4,%zmm5,%k5 +\s*[a-f0-9]+:\s*62 f3 57 4f c2 ac f4 00 00 00 10 7b\s+vcmppbf16 \$0x7b,0x10000000\(%esp,%esi,8\),%zmm5,%k5\{%k7\} +\s*[a-f0-9]+:\s*62 f3 57 58 c2 29 7b\s+vcmppbf16 \$0x7b,\(%ecx\)\{1to32\},%zmm5,%k5 +\s*[a-f0-9]+:\s*62 f3 57 48 c2 69 7f 7b\s+vcmppbf16 \$0x7b,0x1fc0\(%ecx\),%zmm5,%k5 +\s*[a-f0-9]+:\s*62 f3 57 5f c2 6a 80 7b\s+vcmppbf16 \$0x7b,-0x100\(%edx\)\{1to32\},%zmm5,%k5\{%k7\} +\s*[a-f0-9]+:\s*62 f3 7f 48 66 ed 7b\s+vfpclasspbf16 \$0x7b,%zmm5,%k5 +\s*[a-f0-9]+:\s*62 f3 7f 4f 66 ac f4 00 00 00 10 7b\s+vfpclasspbf16z \$0x7b,0x10000000\(%esp,%esi,8\),%k5\{%k7\} +\s*[a-f0-9]+:\s*62 f3 7f 58 66 29 7b\s+vfpclasspbf16 \$0x7b,\(%ecx\)\{1to32\},%k5 +\s*[a-f0-9]+:\s*62 f3 7f 48 66 69 7f 7b\s+vfpclasspbf16z \$0x7b,0x1fc0\(%ecx\),%k5 +\s*[a-f0-9]+:\s*62 f3 7f 5f 66 6a 80 7b\s+vfpclasspbf16 \$0x7b,-0x100\(%edx\)\{1to32\},%k5\{%k7\} +#pass diff --git a/gas/testsuite/gas/i386/avx10_2-512-bf16.s b/gas/testsuite/gas/i386/avx10_2-512-bf16.s new file mode 100644 index 00000000000..60d7540483d --- /dev/null +++ b/gas/testsuite/gas/i386/avx10_2-512-bf16.s @@ -0,0 +1,99 @@ +# Check 32bit AVX10.2/512 instructions + + .arch generic32 + .arch .avx10.2/512 + .text +_start: + .irp m, addne, divne, max, min, mulne, scalefne, subne + v\m\()pbf16 %zmm4, %zmm5, %zmm6 + v\m\()pbf16 0x10000000(%esp, %esi, 8), %zmm5, %zmm6{%k7} + v\m\()pbf16 (%ecx){1to32}, %zmm5, %zmm6 + v\m\()pbf16 8128(%ecx), %zmm5, %zmm6 + v\m\()pbf16 -256(%edx){1to32}, %zmm5, %zmm6{%k7}{z} + .endr + + .irp m, madd, msub, nmadd, nmsub + .irp n, 132, 213, 231 + vf\m\n\(\())nepbf16 %zmm4, %zmm5, %zmm6 + vf\m\n\(\())nepbf16 0x10000000(%esp, %esi, 8), %zmm5, %zmm6{%k7} + vf\m\n\(\())nepbf16 (%ecx){1to32}, %zmm5, %zmm6 + vf\m\n\(\())nepbf16 8128(%ecx), %zmm5, %zmm6 + vf\m\n\(\())nepbf16 -256(%edx){1to32}, %zmm5, %zmm6{%k7}{z} + .endr + .endr + + .irp m, getexp, rcp, rsqrt, sqrtne + v\m\()pbf16 %zmm5, %zmm6 + v\m\()pbf16 0x10000000(%esp, %esi, 8), %zmm6{%k7} + v\m\()pbf16 (%ecx){1to32}, %zmm6 + v\m\()pbf16 8128(%ecx), %zmm6 + v\m\()pbf16 -256(%edx){1to32}, %zmm6{%k7}{z} + .endr + + .irp m, getmant, reducene, rndscalene + v\m\()pbf16 $123, %zmm5, %zmm6 + v\m\()pbf16 $123, 0x10000000(%esp, %esi, 8), %zmm6{%k7} + v\m\()pbf16 $123, (%ecx){1to32}, %zmm6 + v\m\()pbf16 $123, 8128(%ecx), %zmm6 + v\m\()pbf16 $123, -256(%edx){1to32}, %zmm6{%k7}{z} + .endr + + vcmppbf16 $123, %zmm4, %zmm5, %k5 + vcmppbf16 $123, 0x10000000(%esp, %esi, 8), %zmm5, %k5{%k7} + vcmppbf16 $123, (%ecx){1to32}, %zmm5, %k5 + vcmppbf16 $123, 8128(%ecx), %zmm5, %k5 + vcmppbf16 $123, -256(%edx){1to32}, %zmm5, %k5{%k7} + + vfpclasspbf16 $123, %zmm5, %k5 + vfpclasspbf16z $123, 0x10000000(%esp, %esi, 8), %k5{%k7} + vfpclasspbf16 $123, (%ecx){1to32}, %k5 + vfpclasspbf16z $123, 8128(%ecx), %k5 + vfpclasspbf16 $123, -256(%edx){1to32}, %k5{%k7} + +_intel: + .intel_syntax noprefix + .irp m, addne, divne, max, min, mulne, scalefne, subne + v\m\()pbf16 zmm6, zmm5, zmm4 + v\m\()pbf16 zmm6{k7}, zmm5, [esp+esi*8+0x10000000] + v\m\()pbf16 zmm6, zmm5, [ecx]{1to32} + v\m\()pbf16 zmm6, zmm5, ZMMWORD PTR [ecx+8128] + v\m\()pbf16 zmm6{k7}{z}, zmm5, WORD PTR [edx-256]{1to32} + .endr + + .irp m, madd, msub, nmadd, nmsub + .irp n, 132, 213, 231 + vf\m\n\(\())nepbf16 zmm6, zmm5, zmm4 + vf\m\n\(\())nepbf16 zmm6{k7}, zmm5, ZMMWORD PTR [esp+esi*8+0x10000000] + vf\m\n\(\())nepbf16 zmm6, zmm5, WORD PTR [ecx]{1to32} + vf\m\n\(\())nepbf16 zmm6, zmm5, [ecx+8128] + vf\m\n\(\())nepbf16 zmm6{k7}{z}, zmm5, [edx-256]{1to32} + .endr + .endr + + .irp m, getexp, rcp, rsqrt, sqrtne + v\m\()pbf16 zmm6, zmm5 + v\m\()pbf16 zmm6{k7}, [esp+esi*8+0x10000000] + v\m\()pbf16 zmm6, [ecx]{1to32} + v\m\()pbf16 zmm6, ZMMWORD PTR [ecx+8128] + v\m\()pbf16 zmm6{k7}{z}, WORD PTR [edx-256]{1to32} + .endr + + .irp m, getmant, reducene, rndscalene + v\m\()pbf16 zmm6, zmm5, 123 + v\m\()pbf16 zmm6{k7}, ZMMWORD PTR [esp+esi*8+0x10000000], 123 + v\m\()pbf16 zmm6, WORD PTR [ecx]{1to32}, 123 + v\m\()pbf16 zmm6, [ecx+8128], 123 + v\m\()pbf16 zmm6{k7}{z}, [edx-256]{1to32}, 123 + .endr + + vcmppbf16 k5, zmm5, zmm4, 123 + vcmppbf16 k5{k7}, zmm5, [esp+esi*8+0x10000000], 123 + vcmppbf16 k5, zmm5, [ecx]{1to32}, 123 + vcmppbf16 k5, zmm5, ZMMWORD PTR [ecx+8128], 123 + vcmppbf16 k5{k7}, zmm5, WORD PTR [edx-256]{1to32}, 123 + + vfpclasspbf16 k5, zmm5, 123 + vfpclasspbf16 k5{k7}, ZMMWORD PTR [esp+esi*8+0x10000000], 123 + vfpclasspbf16 k5, WORD PTR [ecx]{1to32}, 123 + vfpclasspbf16 k5, ZMMWORD PTR [ecx+8128], 123 + vfpclasspbf16 k5{k7}, [edx-256]{1to32}, 123 diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index e4af67d9e4d..b1d46830d08 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -534,6 +534,10 @@ if [gas_32_check] then { run_dump_test "avx10_2-512-cvt-intel" run_dump_test "avx10_2-256-cvt" run_dump_test "avx10_2-256-cvt-intel" + run_dump_test "avx10_2-512-bf16" + run_dump_test "avx10_2-512-bf16-intel" + run_dump_test "avx10_2-256-bf16" + run_dump_test "avx10_2-256-bf16-intel" run_list_test "sg" run_dump_test "clzero" run_dump_test "invlpgb" diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16-intel.d b/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16-intel.d new file mode 100644 index 00000000000..91030dae82c --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16-intel.d @@ -0,0 +1,295 @@ +#objdump: -dw -Mintel +#name: x86_64 AVX10.2/256 BF16 insns (Intel disassembly) +#source: x86-64-avx10_2-256-bf16.s + +.*: +file format .* + +Disassembly of section \.text: + +#... +[a-f0-9]+ <_intel>: +\s*[a-f0-9]+:\s*62 05 15 20 58 f4\s+vaddnepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 05 15 00 58 f4\s+vaddnepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 25 15 27 58 b4 f5 00 00 00 10\s+vaddnepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 30 58 31\s+vaddnepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 20 58 71 7f\s+vaddnepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 65 15 b7 58 72 80\s+vaddnepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 25 15 07 58 b4 f5 00 00 00 10\s+vaddnepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 10 58 31\s+vaddnepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 00 58 71 7f\s+vaddnepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 65 15 97 58 72 80\s+vaddnepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 05 15 20 5e f4\s+vdivnepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 05 15 00 5e f4\s+vdivnepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 25 15 27 5e b4 f5 00 00 00 10\s+vdivnepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 30 5e 31\s+vdivnepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 20 5e 71 7f\s+vdivnepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 65 15 b7 5e 72 80\s+vdivnepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 25 15 07 5e b4 f5 00 00 00 10\s+vdivnepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 10 5e 31\s+vdivnepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 00 5e 71 7f\s+vdivnepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 65 15 97 5e 72 80\s+vdivnepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 05 15 20 5f f4\s+vmaxpbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 05 15 00 5f f4\s+vmaxpbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 25 15 27 5f b4 f5 00 00 00 10\s+vmaxpbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 30 5f 31\s+vmaxpbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 20 5f 71 7f\s+vmaxpbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 65 15 b7 5f 72 80\s+vmaxpbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 25 15 07 5f b4 f5 00 00 00 10\s+vmaxpbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 10 5f 31\s+vmaxpbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 00 5f 71 7f\s+vmaxpbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 65 15 97 5f 72 80\s+vmaxpbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 05 15 20 5d f4\s+vminpbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 05 15 00 5d f4\s+vminpbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 25 15 27 5d b4 f5 00 00 00 10\s+vminpbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 30 5d 31\s+vminpbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 20 5d 71 7f\s+vminpbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 65 15 b7 5d 72 80\s+vminpbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 25 15 07 5d b4 f5 00 00 00 10\s+vminpbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 10 5d 31\s+vminpbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 00 5d 71 7f\s+vminpbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 65 15 97 5d 72 80\s+vminpbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 05 15 20 59 f4\s+vmulnepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 05 15 00 59 f4\s+vmulnepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 25 15 27 59 b4 f5 00 00 00 10\s+vmulnepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 30 59 31\s+vmulnepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 20 59 71 7f\s+vmulnepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 65 15 b7 59 72 80\s+vmulnepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 25 15 07 59 b4 f5 00 00 00 10\s+vmulnepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 10 59 31\s+vmulnepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 00 59 71 7f\s+vmulnepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 65 15 97 59 72 80\s+vmulnepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 20 2c f4\s+vscalefnepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 06 14 00 2c f4\s+vscalefnepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 26 14 27 2c b4 f5 00 00 00 10\s+vscalefnepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 30 2c 31\s+vscalefnepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 20 2c 71 7f\s+vscalefnepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 14 b7 2c 72 80\s+vscalefnepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 14 07 2c b4 f5 00 00 00 10\s+vscalefnepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 10 2c 31\s+vscalefnepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 00 2c 71 7f\s+vscalefnepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 14 97 2c 72 80\s+vscalefnepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 05 15 20 5c f4\s+vsubnepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 05 15 00 5c f4\s+vsubnepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 25 15 27 5c b4 f5 00 00 00 10\s+vsubnepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 30 5c 31\s+vsubnepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 20 5c 71 7f\s+vsubnepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 65 15 b7 5c 72 80\s+vsubnepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 25 15 07 5c b4 f5 00 00 00 10\s+vsubnepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 10 5c 31\s+vsubnepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 00 5c 71 7f\s+vsubnepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 65 15 97 5c 72 80\s+vsubnepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 20 98 f4\s+vfmadd132nepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 06 14 00 98 f4\s+vfmadd132nepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 26 14 27 98 b4 f5 00 00 00 10\s+vfmadd132nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 30 98 31\s+vfmadd132nepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 20 98 71 7f\s+vfmadd132nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 14 b7 98 72 80\s+vfmadd132nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 14 07 98 b4 f5 00 00 00 10\s+vfmadd132nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 10 98 31\s+vfmadd132nepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 00 98 71 7f\s+vfmadd132nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 14 97 98 72 80\s+vfmadd132nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 20 a8 f4\s+vfmadd213nepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 06 14 00 a8 f4\s+vfmadd213nepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 26 14 27 a8 b4 f5 00 00 00 10\s+vfmadd213nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 30 a8 31\s+vfmadd213nepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 20 a8 71 7f\s+vfmadd213nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 14 b7 a8 72 80\s+vfmadd213nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 14 07 a8 b4 f5 00 00 00 10\s+vfmadd213nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 10 a8 31\s+vfmadd213nepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 00 a8 71 7f\s+vfmadd213nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 14 97 a8 72 80\s+vfmadd213nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 20 b8 f4\s+vfmadd231nepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 06 14 00 b8 f4\s+vfmadd231nepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 26 14 27 b8 b4 f5 00 00 00 10\s+vfmadd231nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 30 b8 31\s+vfmadd231nepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 20 b8 71 7f\s+vfmadd231nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 14 b7 b8 72 80\s+vfmadd231nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 14 07 b8 b4 f5 00 00 00 10\s+vfmadd231nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 10 b8 31\s+vfmadd231nepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 00 b8 71 7f\s+vfmadd231nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 14 97 b8 72 80\s+vfmadd231nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 20 9a f4\s+vfmsub132nepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 06 14 00 9a f4\s+vfmsub132nepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 26 14 27 9a b4 f5 00 00 00 10\s+vfmsub132nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 30 9a 31\s+vfmsub132nepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 20 9a 71 7f\s+vfmsub132nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 14 b7 9a 72 80\s+vfmsub132nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 14 07 9a b4 f5 00 00 00 10\s+vfmsub132nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 10 9a 31\s+vfmsub132nepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 00 9a 71 7f\s+vfmsub132nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 14 97 9a 72 80\s+vfmsub132nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 20 aa f4\s+vfmsub213nepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 06 14 00 aa f4\s+vfmsub213nepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 26 14 27 aa b4 f5 00 00 00 10\s+vfmsub213nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 30 aa 31\s+vfmsub213nepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 20 aa 71 7f\s+vfmsub213nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 14 b7 aa 72 80\s+vfmsub213nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 14 07 aa b4 f5 00 00 00 10\s+vfmsub213nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 10 aa 31\s+vfmsub213nepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 00 aa 71 7f\s+vfmsub213nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 14 97 aa 72 80\s+vfmsub213nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 20 ba f4\s+vfmsub231nepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 06 14 00 ba f4\s+vfmsub231nepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 26 14 27 ba b4 f5 00 00 00 10\s+vfmsub231nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 30 ba 31\s+vfmsub231nepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 20 ba 71 7f\s+vfmsub231nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 14 b7 ba 72 80\s+vfmsub231nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 14 07 ba b4 f5 00 00 00 10\s+vfmsub231nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 10 ba 31\s+vfmsub231nepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 00 ba 71 7f\s+vfmsub231nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 14 97 ba 72 80\s+vfmsub231nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 20 9c f4\s+vfnmadd132nepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 06 14 00 9c f4\s+vfnmadd132nepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 26 14 27 9c b4 f5 00 00 00 10\s+vfnmadd132nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 30 9c 31\s+vfnmadd132nepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 20 9c 71 7f\s+vfnmadd132nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 14 b7 9c 72 80\s+vfnmadd132nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 14 07 9c b4 f5 00 00 00 10\s+vfnmadd132nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 10 9c 31\s+vfnmadd132nepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 00 9c 71 7f\s+vfnmadd132nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 14 97 9c 72 80\s+vfnmadd132nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 20 ac f4\s+vfnmadd213nepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 06 14 00 ac f4\s+vfnmadd213nepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 26 14 27 ac b4 f5 00 00 00 10\s+vfnmadd213nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 30 ac 31\s+vfnmadd213nepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 20 ac 71 7f\s+vfnmadd213nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 14 b7 ac 72 80\s+vfnmadd213nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 14 07 ac b4 f5 00 00 00 10\s+vfnmadd213nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 10 ac 31\s+vfnmadd213nepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 00 ac 71 7f\s+vfnmadd213nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 14 97 ac 72 80\s+vfnmadd213nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 20 bc f4\s+vfnmadd231nepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 06 14 00 bc f4\s+vfnmadd231nepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 26 14 27 bc b4 f5 00 00 00 10\s+vfnmadd231nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 30 bc 31\s+vfnmadd231nepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 20 bc 71 7f\s+vfnmadd231nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 14 b7 bc 72 80\s+vfnmadd231nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 14 07 bc b4 f5 00 00 00 10\s+vfnmadd231nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 10 bc 31\s+vfnmadd231nepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 00 bc 71 7f\s+vfnmadd231nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 14 97 bc 72 80\s+vfnmadd231nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 20 9e f4\s+vfnmsub132nepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 06 14 00 9e f4\s+vfnmsub132nepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 26 14 27 9e b4 f5 00 00 00 10\s+vfnmsub132nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 30 9e 31\s+vfnmsub132nepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 20 9e 71 7f\s+vfnmsub132nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 14 b7 9e 72 80\s+vfnmsub132nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 14 07 9e b4 f5 00 00 00 10\s+vfnmsub132nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 10 9e 31\s+vfnmsub132nepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 00 9e 71 7f\s+vfnmsub132nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 14 97 9e 72 80\s+vfnmsub132nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 20 ae f4\s+vfnmsub213nepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 06 14 00 ae f4\s+vfnmsub213nepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 26 14 27 ae b4 f5 00 00 00 10\s+vfnmsub213nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 30 ae 31\s+vfnmsub213nepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 20 ae 71 7f\s+vfnmsub213nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 14 b7 ae 72 80\s+vfnmsub213nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 14 07 ae b4 f5 00 00 00 10\s+vfnmsub213nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 10 ae 31\s+vfnmsub213nepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 00 ae 71 7f\s+vfnmsub213nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 14 97 ae 72 80\s+vfnmsub213nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 20 be f4\s+vfnmsub231nepbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 06 14 00 be f4\s+vfnmsub231nepbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 26 14 27 be b4 f5 00 00 00 10\s+vfnmsub231nepbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 30 be 31\s+vfnmsub231nepbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 20 be 71 7f\s+vfnmsub231nepbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 14 b7 be 72 80\s+vfnmsub231nepbf16 ymm30\{k7\}\{z\},ymm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 14 07 be b4 f5 00 00 00 10\s+vfnmsub231nepbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 10 be 31\s+vfnmsub231nepbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 00 be 71 7f\s+vfnmsub231nepbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 14 97 be 72 80\s+vfnmsub231nepbf16 xmm30\{k7\}\{z\},xmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 7c 08 42 f5\s+vgetexppbf16 xmm30,xmm29 +\s*[a-f0-9]+:\s*62 06 7c 28 42 f5\s+vgetexppbf16 ymm30,ymm29 +\s*[a-f0-9]+:\s*62 26 7c 0f 42 b4 f5 00 00 00 10\s+vgetexppbf16 xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 7c 18 42 31\s+vgetexppbf16 xmm30,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 7c 08 42 71 7f\s+vgetexppbf16 xmm30,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 7c 9f 42 72 80\s+vgetexppbf16 xmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 7c 2f 42 b4 f5 00 00 00 10\s+vgetexppbf16 ymm30\{k7\},YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 7c 38 42 31\s+vgetexppbf16 ymm30,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 7c 28 42 71 7f\s+vgetexppbf16 ymm30,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 7c bf 42 72 80\s+vgetexppbf16 ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 7c 08 4c f5\s+vrcppbf16 xmm30,xmm29 +\s*[a-f0-9]+:\s*62 06 7c 28 4c f5\s+vrcppbf16 ymm30,ymm29 +\s*[a-f0-9]+:\s*62 26 7c 0f 4c b4 f5 00 00 00 10\s+vrcppbf16 xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 7c 18 4c 31\s+vrcppbf16 xmm30,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 7c 08 4c 71 7f\s+vrcppbf16 xmm30,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 7c 9f 4c 72 80\s+vrcppbf16 xmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 7c 2f 4c b4 f5 00 00 00 10\s+vrcppbf16 ymm30\{k7\},YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 7c 38 4c 31\s+vrcppbf16 ymm30,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 7c 28 4c 71 7f\s+vrcppbf16 ymm30,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 7c bf 4c 72 80\s+vrcppbf16 ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 7c 08 4e f5\s+vrsqrtpbf16 xmm30,xmm29 +\s*[a-f0-9]+:\s*62 06 7c 28 4e f5\s+vrsqrtpbf16 ymm30,ymm29 +\s*[a-f0-9]+:\s*62 26 7c 0f 4e b4 f5 00 00 00 10\s+vrsqrtpbf16 xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 7c 18 4e 31\s+vrsqrtpbf16 xmm30,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 7c 08 4e 71 7f\s+vrsqrtpbf16 xmm30,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 7c 9f 4e 72 80\s+vrsqrtpbf16 xmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 26 7c 2f 4e b4 f5 00 00 00 10\s+vrsqrtpbf16 ymm30\{k7\},YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 7c 38 4e 31\s+vrsqrtpbf16 ymm30,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 7c 28 4e 71 7f\s+vrsqrtpbf16 ymm30,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 7c bf 4e 72 80\s+vrsqrtpbf16 ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 05 7d 08 51 f5\s+vsqrtnepbf16 xmm30,xmm29 +\s*[a-f0-9]+:\s*62 05 7d 28 51 f5\s+vsqrtnepbf16 ymm30,ymm29 +\s*[a-f0-9]+:\s*62 25 7d 0f 51 b4 f5 00 00 00 10\s+vsqrtnepbf16 xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 7d 18 51 31\s+vsqrtnepbf16 xmm30,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 7d 08 51 71 7f\s+vsqrtnepbf16 xmm30,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 65 7d 9f 51 72 80\s+vsqrtnepbf16 xmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 25 7d 2f 51 b4 f5 00 00 00 10\s+vsqrtnepbf16 ymm30\{k7\},YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 7d 38 51 31\s+vsqrtnepbf16 ymm30,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 7d 28 51 71 7f\s+vsqrtnepbf16 ymm30,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 65 7d bf 51 72 80\s+vsqrtnepbf16 ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 03 7f 28 26 f5 7b\s+vgetmantpbf16 ymm30,ymm29,0x7b +\s*[a-f0-9]+:\s*62 03 7f 08 26 f5 7b\s+vgetmantpbf16 xmm30,xmm29,0x7b +\s*[a-f0-9]+:\s*62 23 7f 0f 26 b4 f5 00 00 00 10 7b\s+vgetmantpbf16 xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 43 7f 18 26 31 7b\s+vgetmantpbf16 xmm30,WORD BCST \[r9\],0x7b +\s*[a-f0-9]+:\s*62 63 7f 08 26 71 7f 7b\s+vgetmantpbf16 xmm30,XMMWORD PTR \[rcx\+0x7f0\],0x7b +\s*[a-f0-9]+:\s*62 63 7f 9f 26 72 80 7b\s+vgetmantpbf16 xmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 23 7f 2f 26 b4 f5 00 00 00 10 7b\s+vgetmantpbf16 ymm30\{k7\},YMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 43 7f 38 26 31 7b\s+vgetmantpbf16 ymm30,WORD BCST \[r9\],0x7b +\s*[a-f0-9]+:\s*62 63 7f 28 26 71 7f 7b\s+vgetmantpbf16 ymm30,YMMWORD PTR \[rcx\+0xfe0\],0x7b +\s*[a-f0-9]+:\s*62 63 7f bf 26 72 80 7b\s+vgetmantpbf16 ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 03 7f 28 56 f5 7b\s+vreducenepbf16 ymm30,ymm29,0x7b +\s*[a-f0-9]+:\s*62 03 7f 08 56 f5 7b\s+vreducenepbf16 xmm30,xmm29,0x7b +\s*[a-f0-9]+:\s*62 23 7f 0f 56 b4 f5 00 00 00 10 7b\s+vreducenepbf16 xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 43 7f 18 56 31 7b\s+vreducenepbf16 xmm30,WORD BCST \[r9\],0x7b +\s*[a-f0-9]+:\s*62 63 7f 08 56 71 7f 7b\s+vreducenepbf16 xmm30,XMMWORD PTR \[rcx\+0x7f0\],0x7b +\s*[a-f0-9]+:\s*62 63 7f 9f 56 72 80 7b\s+vreducenepbf16 xmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 23 7f 2f 56 b4 f5 00 00 00 10 7b\s+vreducenepbf16 ymm30\{k7\},YMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 43 7f 38 56 31 7b\s+vreducenepbf16 ymm30,WORD BCST \[r9\],0x7b +\s*[a-f0-9]+:\s*62 63 7f 28 56 71 7f 7b\s+vreducenepbf16 ymm30,YMMWORD PTR \[rcx\+0xfe0\],0x7b +\s*[a-f0-9]+:\s*62 63 7f bf 56 72 80 7b\s+vreducenepbf16 ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 03 7f 28 08 f5 7b\s+vrndscalenepbf16 ymm30,ymm29,0x7b +\s*[a-f0-9]+:\s*62 03 7f 08 08 f5 7b\s+vrndscalenepbf16 xmm30,xmm29,0x7b +\s*[a-f0-9]+:\s*62 23 7f 0f 08 b4 f5 00 00 00 10 7b\s+vrndscalenepbf16 xmm30\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 43 7f 18 08 31 7b\s+vrndscalenepbf16 xmm30,WORD BCST \[r9\],0x7b +\s*[a-f0-9]+:\s*62 63 7f 08 08 71 7f 7b\s+vrndscalenepbf16 xmm30,XMMWORD PTR \[rcx\+0x7f0\],0x7b +\s*[a-f0-9]+:\s*62 63 7f 9f 08 72 80 7b\s+vrndscalenepbf16 xmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 23 7f 2f 08 b4 f5 00 00 00 10 7b\s+vrndscalenepbf16 ymm30\{k7\},YMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 43 7f 38 08 31 7b\s+vrndscalenepbf16 ymm30,WORD BCST \[r9\],0x7b +\s*[a-f0-9]+:\s*62 63 7f 28 08 71 7f 7b\s+vrndscalenepbf16 ymm30,YMMWORD PTR \[rcx\+0xfe0\],0x7b +\s*[a-f0-9]+:\s*62 63 7f bf 08 72 80 7b\s+vrndscalenepbf16 ymm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 93 17 20 c2 ec 7b\s+vcmppbf16 k5,ymm29,ymm28,0x7b +\s*[a-f0-9]+:\s*62 93 17 00 c2 ec 7b\s+vcmppbf16 k5,xmm29,xmm28,0x7b +\s*[a-f0-9]+:\s*62 b3 17 07 c2 ac f5 00 00 00 10 7b\s+vcmppbf16 k5\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 d3 17 10 c2 29 7b\s+vcmppbf16 k5,xmm29,WORD BCST \[r9\],0x7b +\s*[a-f0-9]+:\s*62 f3 17 00 c2 69 7f 7b\s+vcmppbf16 k5,xmm29,XMMWORD PTR \[rcx\+0x7f0\],0x7b +\s*[a-f0-9]+:\s*62 f3 17 17 c2 6a 80 7b\s+vcmppbf16 k5\{k7\},xmm29,WORD BCST \[rdx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 b3 17 27 c2 ac f5 00 00 00 10 7b\s+vcmppbf16 k5\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 d3 17 30 c2 29 7b\s+vcmppbf16 k5,ymm29,WORD BCST \[r9\],0x7b +\s*[a-f0-9]+:\s*62 f3 17 20 c2 69 7f 7b\s+vcmppbf16 k5,ymm29,YMMWORD PTR \[rcx\+0xfe0\],0x7b +\s*[a-f0-9]+:\s*62 f3 17 37 c2 6a 80 7b\s+vcmppbf16 k5\{k7\},ymm29,WORD BCST \[rdx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 05 7d 08 2f f5\s+vcomsbf16 xmm30,xmm29 +\s*[a-f0-9]+:\s*62 25 7d 08 2f b4 f5 00 00 00 10\s+vcomsbf16 xmm30,WORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 7d 08 2f 31\s+vcomsbf16 xmm30,WORD PTR \[r9\] +\s*[a-f0-9]+:\s*62 65 7d 08 2f 71 7f\s+vcomsbf16 xmm30,WORD PTR \[rcx\+0xfe\] +\s*[a-f0-9]+:\s*62 65 7d 08 2f 72 80\s+vcomsbf16 xmm30,WORD PTR \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 93 7f 28 66 ed 7b\s+vfpclasspbf16 k5,ymm29,0x7b +\s*[a-f0-9]+:\s*62 93 7f 08 66 ed 7b\s+vfpclasspbf16 k5,xmm29,0x7b +\s*[a-f0-9]+:\s*62 b3 7f 0f 66 ac f5 00 00 00 10 7b\s+vfpclasspbf16 k5\{k7\},XMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 d3 7f 18 66 29 7b\s+vfpclasspbf16 k5,WORD BCST \[r9\]\{1to8\},0x7b +\s*[a-f0-9]+:\s*62 f3 7f 08 66 69 7f 7b\s+vfpclasspbf16 k5,XMMWORD PTR \[rcx\+0x7f0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 1f 66 6a 80 7b\s+vfpclasspbf16 k5\{k7\},WORD BCST \[rdx-0x100\]\{1to8\},0x7b +\s*[a-f0-9]+:\s*62 d3 7f 38 66 29 7b\s+vfpclasspbf16 k5,WORD BCST \[r9\]\{1to16\},0x7b +\s*[a-f0-9]+:\s*62 f3 7f 28 66 69 7f 7b\s+vfpclasspbf16 k5,YMMWORD PTR \[rcx\+0xfe0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 3f 66 6a 80 7b\s+vfpclasspbf16 k5\{k7\},WORD BCST \[rdx-0x100\]\{1to16\},0x7b +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.d b/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.d new file mode 100644 index 00000000000..48e71858538 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.d @@ -0,0 +1,293 @@ +#objdump: -dw +#name: x86_64 AVX10.2/256 BF16 insns + +.*: +file format .* + +Disassembly of section \.text: + +0+ <_start>: +\s*[a-f0-9]+:\s*62 05 15 20 58 f4\s+vaddnepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 05 15 00 58 f4\s+vaddnepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 25 15 27 58 b4 f5 00 00 00 10\s+vaddnepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 30 58 31\s+vaddnepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 65 15 20 58 71 7f\s+vaddnepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 65 15 b7 58 72 80\s+vaddnepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 25 15 07 58 b4 f5 00 00 00 10\s+vaddnepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 10 58 31\s+vaddnepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 65 15 00 58 71 7f\s+vaddnepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 65 15 97 58 72 80\s+vaddnepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 05 15 20 5e f4\s+vdivnepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 05 15 00 5e f4\s+vdivnepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 25 15 27 5e b4 f5 00 00 00 10\s+vdivnepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 30 5e 31\s+vdivnepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 65 15 20 5e 71 7f\s+vdivnepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 65 15 b7 5e 72 80\s+vdivnepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 25 15 07 5e b4 f5 00 00 00 10\s+vdivnepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 10 5e 31\s+vdivnepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 65 15 00 5e 71 7f\s+vdivnepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 65 15 97 5e 72 80\s+vdivnepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 05 15 20 5f f4\s+vmaxpbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 05 15 00 5f f4\s+vmaxpbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 25 15 27 5f b4 f5 00 00 00 10\s+vmaxpbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 30 5f 31\s+vmaxpbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 65 15 20 5f 71 7f\s+vmaxpbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 65 15 b7 5f 72 80\s+vmaxpbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 25 15 07 5f b4 f5 00 00 00 10\s+vmaxpbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 10 5f 31\s+vmaxpbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 65 15 00 5f 71 7f\s+vmaxpbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 65 15 97 5f 72 80\s+vmaxpbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 05 15 20 5d f4\s+vminpbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 05 15 00 5d f4\s+vminpbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 25 15 27 5d b4 f5 00 00 00 10\s+vminpbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 30 5d 31\s+vminpbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 65 15 20 5d 71 7f\s+vminpbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 65 15 b7 5d 72 80\s+vminpbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 25 15 07 5d b4 f5 00 00 00 10\s+vminpbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 10 5d 31\s+vminpbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 65 15 00 5d 71 7f\s+vminpbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 65 15 97 5d 72 80\s+vminpbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 05 15 20 59 f4\s+vmulnepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 05 15 00 59 f4\s+vmulnepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 25 15 27 59 b4 f5 00 00 00 10\s+vmulnepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 30 59 31\s+vmulnepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 65 15 20 59 71 7f\s+vmulnepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 65 15 b7 59 72 80\s+vmulnepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 25 15 07 59 b4 f5 00 00 00 10\s+vmulnepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 10 59 31\s+vmulnepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 65 15 00 59 71 7f\s+vmulnepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 65 15 97 59 72 80\s+vmulnepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 20 2c f4\s+vscalefnepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 06 14 00 2c f4\s+vscalefnepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 26 14 27 2c b4 f5 00 00 00 10\s+vscalefnepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 30 2c 31\s+vscalefnepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 20 2c 71 7f\s+vscalefnepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 b7 2c 72 80\s+vscalefnepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 14 07 2c b4 f5 00 00 00 10\s+vscalefnepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 10 2c 31\s+vscalefnepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 00 2c 71 7f\s+vscalefnepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 97 2c 72 80\s+vscalefnepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 05 15 20 5c f4\s+vsubnepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 05 15 00 5c f4\s+vsubnepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 25 15 27 5c b4 f5 00 00 00 10\s+vsubnepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 30 5c 31\s+vsubnepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 65 15 20 5c 71 7f\s+vsubnepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 65 15 b7 5c 72 80\s+vsubnepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 25 15 07 5c b4 f5 00 00 00 10\s+vsubnepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 10 5c 31\s+vsubnepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 65 15 00 5c 71 7f\s+vsubnepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 65 15 97 5c 72 80\s+vsubnepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 20 98 f4\s+vfmadd132nepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 06 14 00 98 f4\s+vfmadd132nepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 26 14 27 98 b4 f5 00 00 00 10\s+vfmadd132nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 30 98 31\s+vfmadd132nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 20 98 71 7f\s+vfmadd132nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 b7 98 72 80\s+vfmadd132nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 14 07 98 b4 f5 00 00 00 10\s+vfmadd132nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 10 98 31\s+vfmadd132nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 00 98 71 7f\s+vfmadd132nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 97 98 72 80\s+vfmadd132nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 20 a8 f4\s+vfmadd213nepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 06 14 00 a8 f4\s+vfmadd213nepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 26 14 27 a8 b4 f5 00 00 00 10\s+vfmadd213nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 30 a8 31\s+vfmadd213nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 20 a8 71 7f\s+vfmadd213nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 b7 a8 72 80\s+vfmadd213nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 14 07 a8 b4 f5 00 00 00 10\s+vfmadd213nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 10 a8 31\s+vfmadd213nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 00 a8 71 7f\s+vfmadd213nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 97 a8 72 80\s+vfmadd213nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 20 b8 f4\s+vfmadd231nepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 06 14 00 b8 f4\s+vfmadd231nepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 26 14 27 b8 b4 f5 00 00 00 10\s+vfmadd231nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 30 b8 31\s+vfmadd231nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 20 b8 71 7f\s+vfmadd231nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 b7 b8 72 80\s+vfmadd231nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 14 07 b8 b4 f5 00 00 00 10\s+vfmadd231nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 10 b8 31\s+vfmadd231nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 00 b8 71 7f\s+vfmadd231nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 97 b8 72 80\s+vfmadd231nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 20 9a f4\s+vfmsub132nepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 06 14 00 9a f4\s+vfmsub132nepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 26 14 27 9a b4 f5 00 00 00 10\s+vfmsub132nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 30 9a 31\s+vfmsub132nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 20 9a 71 7f\s+vfmsub132nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 b7 9a 72 80\s+vfmsub132nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 14 07 9a b4 f5 00 00 00 10\s+vfmsub132nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 10 9a 31\s+vfmsub132nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 00 9a 71 7f\s+vfmsub132nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 97 9a 72 80\s+vfmsub132nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 20 aa f4\s+vfmsub213nepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 06 14 00 aa f4\s+vfmsub213nepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 26 14 27 aa b4 f5 00 00 00 10\s+vfmsub213nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 30 aa 31\s+vfmsub213nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 20 aa 71 7f\s+vfmsub213nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 b7 aa 72 80\s+vfmsub213nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 14 07 aa b4 f5 00 00 00 10\s+vfmsub213nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 10 aa 31\s+vfmsub213nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 00 aa 71 7f\s+vfmsub213nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 97 aa 72 80\s+vfmsub213nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 20 ba f4\s+vfmsub231nepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 06 14 00 ba f4\s+vfmsub231nepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 26 14 27 ba b4 f5 00 00 00 10\s+vfmsub231nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 30 ba 31\s+vfmsub231nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 20 ba 71 7f\s+vfmsub231nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 b7 ba 72 80\s+vfmsub231nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 14 07 ba b4 f5 00 00 00 10\s+vfmsub231nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 10 ba 31\s+vfmsub231nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 00 ba 71 7f\s+vfmsub231nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 97 ba 72 80\s+vfmsub231nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 20 9c f4\s+vfnmadd132nepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 06 14 00 9c f4\s+vfnmadd132nepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 26 14 27 9c b4 f5 00 00 00 10\s+vfnmadd132nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 30 9c 31\s+vfnmadd132nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 20 9c 71 7f\s+vfnmadd132nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 b7 9c 72 80\s+vfnmadd132nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 14 07 9c b4 f5 00 00 00 10\s+vfnmadd132nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 10 9c 31\s+vfnmadd132nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 00 9c 71 7f\s+vfnmadd132nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 97 9c 72 80\s+vfnmadd132nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 20 ac f4\s+vfnmadd213nepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 06 14 00 ac f4\s+vfnmadd213nepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 26 14 27 ac b4 f5 00 00 00 10\s+vfnmadd213nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 30 ac 31\s+vfnmadd213nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 20 ac 71 7f\s+vfnmadd213nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 b7 ac 72 80\s+vfnmadd213nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 14 07 ac b4 f5 00 00 00 10\s+vfnmadd213nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 10 ac 31\s+vfnmadd213nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 00 ac 71 7f\s+vfnmadd213nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 97 ac 72 80\s+vfnmadd213nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 20 bc f4\s+vfnmadd231nepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 06 14 00 bc f4\s+vfnmadd231nepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 26 14 27 bc b4 f5 00 00 00 10\s+vfnmadd231nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 30 bc 31\s+vfnmadd231nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 20 bc 71 7f\s+vfnmadd231nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 b7 bc 72 80\s+vfnmadd231nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 14 07 bc b4 f5 00 00 00 10\s+vfnmadd231nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 10 bc 31\s+vfnmadd231nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 00 bc 71 7f\s+vfnmadd231nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 97 bc 72 80\s+vfnmadd231nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 20 9e f4\s+vfnmsub132nepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 06 14 00 9e f4\s+vfnmsub132nepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 26 14 27 9e b4 f5 00 00 00 10\s+vfnmsub132nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 30 9e 31\s+vfnmsub132nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 20 9e 71 7f\s+vfnmsub132nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 b7 9e 72 80\s+vfnmsub132nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 14 07 9e b4 f5 00 00 00 10\s+vfnmsub132nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 10 9e 31\s+vfnmsub132nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 00 9e 71 7f\s+vfnmsub132nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 97 9e 72 80\s+vfnmsub132nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 20 ae f4\s+vfnmsub213nepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 06 14 00 ae f4\s+vfnmsub213nepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 26 14 27 ae b4 f5 00 00 00 10\s+vfnmsub213nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 30 ae 31\s+vfnmsub213nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 20 ae 71 7f\s+vfnmsub213nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 b7 ae 72 80\s+vfnmsub213nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 14 07 ae b4 f5 00 00 00 10\s+vfnmsub213nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 10 ae 31\s+vfnmsub213nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 00 ae 71 7f\s+vfnmsub213nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 97 ae 72 80\s+vfnmsub213nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 20 be f4\s+vfnmsub231nepbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 06 14 00 be f4\s+vfnmsub231nepbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 26 14 27 be b4 f5 00 00 00 10\s+vfnmsub231nepbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 30 be 31\s+vfnmsub231nepbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 20 be 71 7f\s+vfnmsub231nepbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 b7 be 72 80\s+vfnmsub231nepbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 14 07 be b4 f5 00 00 00 10\s+vfnmsub231nepbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 10 be 31\s+vfnmsub231nepbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 00 be 71 7f\s+vfnmsub231nepbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 97 be 72 80\s+vfnmsub231nepbf16 -0x100\(%rdx\)\{1to8\},%xmm29,%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 7c 08 42 f5\s+vgetexppbf16 %xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 06 7c 28 42 f5\s+vgetexppbf16 %ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 26 7c 0f 42 b4 f5 00 00 00 10\s+vgetexppbf16 0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 7c 18 42 31\s+vgetexppbf16 \(%r9\)\{1to8\},%xmm30 +\s*[a-f0-9]+:\s*62 66 7c 08 42 71 7f\s+vgetexppbf16 0x7f0\(%rcx\),%xmm30 +\s*[a-f0-9]+:\s*62 66 7c 9f 42 72 80\s+vgetexppbf16 -0x100\(%rdx\)\{1to8\},%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 7c 2f 42 b4 f5 00 00 00 10\s+vgetexppbf16 0x10000000\(%rbp,%r14,8\),%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 7c 38 42 31\s+vgetexppbf16 \(%r9\)\{1to16\},%ymm30 +\s*[a-f0-9]+:\s*62 66 7c 28 42 71 7f\s+vgetexppbf16 0xfe0\(%rcx\),%ymm30 +\s*[a-f0-9]+:\s*62 66 7c bf 42 72 80\s+vgetexppbf16 -0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 7c 08 4c f5\s+vrcppbf16 %xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 06 7c 28 4c f5\s+vrcppbf16 %ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 26 7c 0f 4c b4 f5 00 00 00 10\s+vrcppbf16 0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 7c 18 4c 31\s+vrcppbf16 \(%r9\)\{1to8\},%xmm30 +\s*[a-f0-9]+:\s*62 66 7c 08 4c 71 7f\s+vrcppbf16 0x7f0\(%rcx\),%xmm30 +\s*[a-f0-9]+:\s*62 66 7c 9f 4c 72 80\s+vrcppbf16 -0x100\(%rdx\)\{1to8\},%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 7c 2f 4c b4 f5 00 00 00 10\s+vrcppbf16 0x10000000\(%rbp,%r14,8\),%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 7c 38 4c 31\s+vrcppbf16 \(%r9\)\{1to16\},%ymm30 +\s*[a-f0-9]+:\s*62 66 7c 28 4c 71 7f\s+vrcppbf16 0xfe0\(%rcx\),%ymm30 +\s*[a-f0-9]+:\s*62 66 7c bf 4c 72 80\s+vrcppbf16 -0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 7c 08 4e f5\s+vrsqrtpbf16 %xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 06 7c 28 4e f5\s+vrsqrtpbf16 %ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 26 7c 0f 4e b4 f5 00 00 00 10\s+vrsqrtpbf16 0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 7c 18 4e 31\s+vrsqrtpbf16 \(%r9\)\{1to8\},%xmm30 +\s*[a-f0-9]+:\s*62 66 7c 08 4e 71 7f\s+vrsqrtpbf16 0x7f0\(%rcx\),%xmm30 +\s*[a-f0-9]+:\s*62 66 7c 9f 4e 72 80\s+vrsqrtpbf16 -0x100\(%rdx\)\{1to8\},%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 7c 2f 4e b4 f5 00 00 00 10\s+vrsqrtpbf16 0x10000000\(%rbp,%r14,8\),%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 7c 38 4e 31\s+vrsqrtpbf16 \(%r9\)\{1to16\},%ymm30 +\s*[a-f0-9]+:\s*62 66 7c 28 4e 71 7f\s+vrsqrtpbf16 0xfe0\(%rcx\),%ymm30 +\s*[a-f0-9]+:\s*62 66 7c bf 4e 72 80\s+vrsqrtpbf16 -0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 05 7d 08 51 f5\s+vsqrtnepbf16 %xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 05 7d 28 51 f5\s+vsqrtnepbf16 %ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 25 7d 0f 51 b4 f5 00 00 00 10\s+vsqrtnepbf16 0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 7d 18 51 31\s+vsqrtnepbf16 \(%r9\)\{1to8\},%xmm30 +\s*[a-f0-9]+:\s*62 65 7d 08 51 71 7f\s+vsqrtnepbf16 0x7f0\(%rcx\),%xmm30 +\s*[a-f0-9]+:\s*62 65 7d 9f 51 72 80\s+vsqrtnepbf16 -0x100\(%rdx\)\{1to8\},%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 25 7d 2f 51 b4 f5 00 00 00 10\s+vsqrtnepbf16 0x10000000\(%rbp,%r14,8\),%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 7d 38 51 31\s+vsqrtnepbf16 \(%r9\)\{1to16\},%ymm30 +\s*[a-f0-9]+:\s*62 65 7d 28 51 71 7f\s+vsqrtnepbf16 0xfe0\(%rcx\),%ymm30 +\s*[a-f0-9]+:\s*62 65 7d bf 51 72 80\s+vsqrtnepbf16 -0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 03 7f 28 26 f5 7b\s+vgetmantpbf16 \$0x7b,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 03 7f 08 26 f5 7b\s+vgetmantpbf16 \$0x7b,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 23 7f 0f 26 b4 f5 00 00 00 10 7b\s+vgetmantpbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 43 7f 18 26 31 7b\s+vgetmantpbf16 \$0x7b,\(%r9\)\{1to8\},%xmm30 +\s*[a-f0-9]+:\s*62 63 7f 08 26 71 7f 7b\s+vgetmantpbf16 \$0x7b,0x7f0\(%rcx\),%xmm30 +\s*[a-f0-9]+:\s*62 63 7f 9f 26 72 80 7b\s+vgetmantpbf16 \$0x7b,-0x100\(%rdx\)\{1to8\},%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 23 7f 2f 26 b4 f5 00 00 00 10 7b\s+vgetmantpbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 43 7f 38 26 31 7b\s+vgetmantpbf16 \$0x7b,\(%r9\)\{1to16\},%ymm30 +\s*[a-f0-9]+:\s*62 63 7f 28 26 71 7f 7b\s+vgetmantpbf16 \$0x7b,0xfe0\(%rcx\),%ymm30 +\s*[a-f0-9]+:\s*62 63 7f bf 26 72 80 7b\s+vgetmantpbf16 \$0x7b,-0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 03 7f 28 56 f5 7b\s+vreducenepbf16 \$0x7b,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 03 7f 08 56 f5 7b\s+vreducenepbf16 \$0x7b,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 23 7f 0f 56 b4 f5 00 00 00 10 7b\s+vreducenepbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 43 7f 18 56 31 7b\s+vreducenepbf16 \$0x7b,\(%r9\)\{1to8\},%xmm30 +\s*[a-f0-9]+:\s*62 63 7f 08 56 71 7f 7b\s+vreducenepbf16 \$0x7b,0x7f0\(%rcx\),%xmm30 +\s*[a-f0-9]+:\s*62 63 7f 9f 56 72 80 7b\s+vreducenepbf16 \$0x7b,-0x100\(%rdx\)\{1to8\},%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 23 7f 2f 56 b4 f5 00 00 00 10 7b\s+vreducenepbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 43 7f 38 56 31 7b\s+vreducenepbf16 \$0x7b,\(%r9\)\{1to16\},%ymm30 +\s*[a-f0-9]+:\s*62 63 7f 28 56 71 7f 7b\s+vreducenepbf16 \$0x7b,0xfe0\(%rcx\),%ymm30 +\s*[a-f0-9]+:\s*62 63 7f bf 56 72 80 7b\s+vreducenepbf16 \$0x7b,-0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 03 7f 28 08 f5 7b\s+vrndscalenepbf16 \$0x7b,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 03 7f 08 08 f5 7b\s+vrndscalenepbf16 \$0x7b,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 23 7f 0f 08 b4 f5 00 00 00 10 7b\s+vrndscalenepbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 43 7f 18 08 31 7b\s+vrndscalenepbf16 \$0x7b,\(%r9\)\{1to8\},%xmm30 +\s*[a-f0-9]+:\s*62 63 7f 08 08 71 7f 7b\s+vrndscalenepbf16 \$0x7b,0x7f0\(%rcx\),%xmm30 +\s*[a-f0-9]+:\s*62 63 7f 9f 08 72 80 7b\s+vrndscalenepbf16 \$0x7b,-0x100\(%rdx\)\{1to8\},%xmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 23 7f 2f 08 b4 f5 00 00 00 10 7b\s+vrndscalenepbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 43 7f 38 08 31 7b\s+vrndscalenepbf16 \$0x7b,\(%r9\)\{1to16\},%ymm30 +\s*[a-f0-9]+:\s*62 63 7f 28 08 71 7f 7b\s+vrndscalenepbf16 \$0x7b,0xfe0\(%rcx\),%ymm30 +\s*[a-f0-9]+:\s*62 63 7f bf 08 72 80 7b\s+vrndscalenepbf16 \$0x7b,-0x100\(%rdx\)\{1to16\},%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 93 17 20 c2 ec 7b\s+vcmppbf16 \$0x7b,%ymm28,%ymm29,%k5 +\s*[a-f0-9]+:\s*62 93 17 00 c2 ec 7b\s+vcmppbf16 \$0x7b,%xmm28,%xmm29,%k5 +\s*[a-f0-9]+:\s*62 b3 17 07 c2 ac f5 00 00 00 10 7b\s+vcmppbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%xmm29,%k5\{%k7\} +\s*[a-f0-9]+:\s*62 d3 17 10 c2 29 7b\s+vcmppbf16 \$0x7b,\(%r9\)\{1to8\},%xmm29,%k5 +\s*[a-f0-9]+:\s*62 f3 17 00 c2 69 7f 7b\s+vcmppbf16 \$0x7b,0x7f0\(%rcx\),%xmm29,%k5 +\s*[a-f0-9]+:\s*62 f3 17 17 c2 6a 80 7b\s+vcmppbf16 \$0x7b,-0x100\(%rdx\)\{1to8\},%xmm29,%k5\{%k7\} +\s*[a-f0-9]+:\s*62 b3 17 27 c2 ac f5 00 00 00 10 7b\s+vcmppbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%ymm29,%k5\{%k7\} +\s*[a-f0-9]+:\s*62 d3 17 30 c2 29 7b\s+vcmppbf16 \$0x7b,\(%r9\)\{1to16\},%ymm29,%k5 +\s*[a-f0-9]+:\s*62 f3 17 20 c2 69 7f 7b\s+vcmppbf16 \$0x7b,0xfe0\(%rcx\),%ymm29,%k5 +\s*[a-f0-9]+:\s*62 f3 17 37 c2 6a 80 7b\s+vcmppbf16 \$0x7b,-0x100\(%rdx\)\{1to16\},%ymm29,%k5\{%k7\} +\s*[a-f0-9]+:\s*62 05 7d 08 2f f5\s+vcomsbf16 %xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 25 7d 08 2f b4 f5 00 00 00 10\s+vcomsbf16 0x10000000\(%rbp,%r14,8\),%xmm30 +\s*[a-f0-9]+:\s*62 45 7d 08 2f 31\s+vcomsbf16 \(%r9\),%xmm30 +\s*[a-f0-9]+:\s*62 65 7d 08 2f 71 7f\s+vcomsbf16 0xfe\(%rcx\),%xmm30 +\s*[a-f0-9]+:\s*62 65 7d 08 2f 72 80\s+vcomsbf16 -0x100\(%rdx\),%xmm30 +\s*[a-f0-9]+:\s*62 93 7f 28 66 ed 7b\s+vfpclasspbf16 \$0x7b,%ymm29,%k5 +\s*[a-f0-9]+:\s*62 93 7f 08 66 ed 7b\s+vfpclasspbf16 \$0x7b,%xmm29,%k5 +\s*[a-f0-9]+:\s*62 b3 7f 0f 66 ac f5 00 00 00 10 7b\s+vfpclasspbf16x \$0x7b,0x10000000\(%rbp,%r14,8\),%k5\{%k7\} +\s*[a-f0-9]+:\s*62 d3 7f 18 66 29 7b\s+vfpclasspbf16 \$0x7b,\(%r9\)\{1to8\},%k5 +\s*[a-f0-9]+:\s*62 f3 7f 08 66 69 7f 7b\s+vfpclasspbf16x \$0x7b,0x7f0\(%rcx\),%k5 +\s*[a-f0-9]+:\s*62 f3 7f 1f 66 6a 80 7b\s+vfpclasspbf16 \$0x7b,-0x100\(%rdx\)\{1to8\},%k5\{%k7\} +\s*[a-f0-9]+:\s*62 d3 7f 38 66 29 7b\s+vfpclasspbf16 \$0x7b,\(%r9\)\{1to16\},%k5 +\s*[a-f0-9]+:\s*62 f3 7f 28 66 69 7f 7b\s+vfpclasspbf16y \$0x7b,0xfe0\(%rcx\),%k5 +\s*[a-f0-9]+:\s*62 f3 7f 3f 66 6a 80 7b\s+vfpclasspbf16 \$0x7b,-0x100\(%rdx\)\{1to16\},%k5\{%k7\} +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.s b/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.s new file mode 100644 index 00000000000..e48e040be72 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-256-bf16.s @@ -0,0 +1,169 @@ +# Check 64bit AVX10.2/256 instructions + + .arch generic64 + .arch .avx10.2/256 + .text +_start: + .irp m, addne, divne, max, min, mulne, scalefne, subne + v\m\()pbf16 %ymm28, %ymm29, %ymm30 + v\m\()pbf16 %xmm28, %xmm29, %xmm30 + v\m\()pbf16 0x10000000(%rbp, %r14, 8), %ymm29, %ymm30{%k7} + v\m\()pbf16 (%r9){1to16}, %ymm29, %ymm30 + v\m\()pbf16 4064(%rcx), %ymm29, %ymm30 + v\m\()pbf16 -256(%rdx){1to16}, %ymm29, %ymm30{%k7}{z} + v\m\()pbf16 0x10000000(%rbp, %r14, 8), %xmm29, %xmm30{%k7} + v\m\()pbf16 (%r9){1to8}, %xmm29, %xmm30 + v\m\()pbf16 2032(%rcx), %xmm29, %xmm30 + v\m\()pbf16 -256(%rdx){1to8}, %xmm29, %xmm30{%k7}{z} + .endr + + .irp m, madd, msub, nmadd, nmsub + .irp n, 132, 213, 231 + vf\m\n\(\())nepbf16 %ymm28, %ymm29, %ymm30 + vf\m\n\(\())nepbf16 %xmm28, %xmm29, %xmm30 + vf\m\n\(\())nepbf16 0x10000000(%rbp, %r14, 8), %ymm29, %ymm30{%k7} + vf\m\n\(\())nepbf16 (%r9){1to16}, %ymm29, %ymm30 + vf\m\n\(\())nepbf16 4064(%rcx), %ymm29, %ymm30 + vf\m\n\(\())nepbf16 -256(%rdx){1to16}, %ymm29, %ymm30{%k7}{z} + vf\m\n\(\())nepbf16 0x10000000(%rbp, %r14, 8), %xmm29, %xmm30{%k7} + vf\m\n\(\())nepbf16 (%r9){1to8}, %xmm29, %xmm30 + vf\m\n\(\())nepbf16 2032(%rcx), %xmm29, %xmm30 + vf\m\n\(\())nepbf16 -256(%rdx){1to8}, %xmm29, %xmm30{%k7}{z} + .endr + .endr + + .irp m, getexp, rcp, rsqrt, sqrtne + v\m\()pbf16 %xmm29, %xmm30 + v\m\()pbf16 %ymm29, %ymm30 + v\m\()pbf16 0x10000000(%rbp, %r14, 8), %xmm30{%k7} + v\m\()pbf16 (%r9){1to8}, %xmm30 + v\m\()pbf16 2032(%rcx), %xmm30 + v\m\()pbf16 -256(%rdx){1to8}, %xmm30{%k7}{z} + v\m\()pbf16 0x10000000(%rbp, %r14, 8), %ymm30{%k7} + v\m\()pbf16 (%r9){1to16}, %ymm30 + v\m\()pbf16 4064(%rcx), %ymm30 + v\m\()pbf16 -256(%rdx){1to16}, %ymm30{%k7}{z} + .endr + + .irp m, getmant, reducene, rndscalene + v\m\()pbf16 $123, %ymm29, %ymm30 + v\m\()pbf16 $123, %xmm29, %xmm30 + v\m\()pbf16 $123, 0x10000000(%rbp, %r14, 8), %xmm30{%k7} + v\m\()pbf16 $123, (%r9){1to8}, %xmm30 + v\m\()pbf16 $123, 2032(%rcx), %xmm30 + v\m\()pbf16 $123, -256(%rdx){1to8}, %xmm30{%k7}{z} + v\m\()pbf16 $123, 0x10000000(%rbp, %r14, 8), %ymm30{%k7} + v\m\()pbf16 $123, (%r9){1to16}, %ymm30 + v\m\()pbf16 $123, 4064(%rcx), %ymm30 + v\m\()pbf16 $123, -256(%rdx){1to16}, %ymm30{%k7}{z} + .endr + + vcmppbf16 $123, %ymm28, %ymm29, %k5 + vcmppbf16 $123, %xmm28, %xmm29, %k5 + vcmppbf16 $123, 0x10000000(%rbp, %r14, 8), %xmm29, %k5{%k7} + vcmppbf16 $123, (%r9){1to8}, %xmm29, %k5 + vcmppbf16 $123, 2032(%rcx), %xmm29, %k5 + vcmppbf16 $123, -256(%rdx){1to8}, %xmm29, %k5{%k7} + vcmppbf16 $123, 0x10000000(%rbp, %r14, 8), %ymm29, %k5{%k7} + vcmppbf16 $123, (%r9){1to16}, %ymm29, %k5 + vcmppbf16 $123, 4064(%rcx), %ymm29, %k5 + vcmppbf16 $123, -256(%rdx){1to16}, %ymm29, %k5{%k7} + + vcomsbf16 %xmm29, %xmm30 + vcomsbf16 0x10000000(%rbp, %r14, 8), %xmm30 + vcomsbf16 (%r9), %xmm30 + vcomsbf16 254(%rcx), %xmm30 + vcomsbf16 -256(%rdx), %xmm30 + + vfpclasspbf16 $123, %ymm29, %k5 + vfpclasspbf16 $123, %xmm29, %k5 + vfpclasspbf16x $123, 0x10000000(%rbp, %r14, 8), %k5{%k7} + vfpclasspbf16 $123, (%r9){1to8}, %k5 + vfpclasspbf16x $123, 2032(%rcx), %k5 + vfpclasspbf16 $123, -256(%rdx){1to8}, %k5{%k7} + vfpclasspbf16 $123, (%r9){1to16}, %k5 + vfpclasspbf16y $123, 4064(%rcx), %k5 + vfpclasspbf16 $123, -256(%rdx){1to16}, %k5{%k7} + +_intel: + .intel_syntax noprefix + .irp m, addne, divne, max, min, mulne, scalefne, subne + v\m\()pbf16 ymm30, ymm29, ymm28 + v\m\()pbf16 xmm30, xmm29, xmm28 + v\m\()pbf16 ymm30{k7}, ymm29, [rbp+r14*8+0x10000000] + v\m\()pbf16 ymm30, ymm29, [r9]{1to16} + v\m\()pbf16 ymm30, ymm29, YMMWORD PTR [rcx+4064] + v\m\()pbf16 ymm30{k7}{z}, ymm29, WORD PTR [rdx-256]{1to16} + v\m\()pbf16 xmm30{k7}, xmm29, [rbp+r14*8+0x10000000] + v\m\()pbf16 xmm30, xmm29, [r9]{1to8} + v\m\()pbf16 xmm30, xmm29, XMMWORD PTR [rcx+2032] + v\m\()pbf16 xmm30{k7}{z}, xmm29, WORD PTR [rdx-256]{1to8} + .endr + + .irp m, madd, msub, nmadd, nmsub + .irp n, 132, 213, 231 + vf\m\n\(\())nepbf16 ymm30, ymm29, ymm28 + vf\m\n\(\())nepbf16 xmm30, xmm29, xmm28 + vf\m\n\(\())nepbf16 ymm30{k7}, ymm29, YMMWORD PTR [rbp+r14*8+0x10000000] + vf\m\n\(\())nepbf16 ymm30, ymm29, WORD PTR [r9]{1to16} + vf\m\n\(\())nepbf16 ymm30, ymm29, [rcx+4064] + vf\m\n\(\())nepbf16 ymm30{k7}{z}, ymm29, [rdx-256]{1to16} + vf\m\n\(\())nepbf16 xmm30{k7}, xmm29, XMMWORD PTR [rbp+r14*8+0x10000000] + vf\m\n\(\())nepbf16 xmm30, xmm29, WORD PTR [r9]{1to8} + vf\m\n\(\())nepbf16 xmm30, xmm29, [rcx+2032] + vf\m\n\(\())nepbf16 xmm30{k7}{z}, xmm29, [rdx-256]{1to8} + .endr + .endr + + .irp m, getexp, rcp, rsqrt, sqrtne + v\m\()pbf16 xmm30, xmm29 + v\m\()pbf16 ymm30, ymm29 + v\m\()pbf16 xmm30{k7}, [rbp+r14*8+0x10000000] + v\m\()pbf16 xmm30, [r9]{1to8} + v\m\()pbf16 xmm30, XMMWORD PTR [rcx+2032] + v\m\()pbf16 xmm30{k7}{z}, WORD PTR [rdx-256]{1to8} + v\m\()pbf16 ymm30{k7}, YMMWORD PTR [rbp+r14*8+0x10000000] + v\m\()pbf16 ymm30, WORD PTR [r9]{1to16} + v\m\()pbf16 ymm30, [rcx+4064] + v\m\()pbf16 ymm30{k7}{z}, [rdx-256]{1to16} + .endr + + .irp m, getmant, reducene, rndscalene + v\m\()pbf16 ymm30, ymm29, 123 + v\m\()pbf16 xmm30, xmm29, 123 + v\m\()pbf16 xmm30{k7}, XMMWORD PTR [rbp+r14*8+0x10000000], 123 + v\m\()pbf16 xmm30, WORD PTR [r9]{1to8}, 123 + v\m\()pbf16 xmm30, [rcx+2032], 123 + v\m\()pbf16 xmm30{k7}{z}, [rdx-256]{1to8}, 123 + v\m\()pbf16 ymm30{k7}, [rbp+r14*8+0x10000000], 123 + v\m\()pbf16 ymm30, [r9]{1to16}, 123 + v\m\()pbf16 ymm30, YMMWORD PTR [rcx+4064], 123 + v\m\()pbf16 ymm30{k7}{z}, WORD PTR [rdx-256]{1to16}, 123 + .endr + + vcmppbf16 k5, ymm29, ymm28, 123 + vcmppbf16 k5, xmm29, xmm28, 123 + vcmppbf16 k5{k7}, xmm29, [rbp+r14*8+0x10000000], 123 + vcmppbf16 k5, xmm29, [r9]{1to8}, 123 + vcmppbf16 k5, xmm29, XMMWORD PTR [rcx+2032], 123 + vcmppbf16 k5{k7}, xmm29, WORD PTR [rdx-256]{1to8}, 123 + vcmppbf16 k5{k7}, ymm29, [rbp+r14*8+0x10000000], 123 + vcmppbf16 k5, ymm29, [r9]{1to16}, 123 + vcmppbf16 k5, ymm29, YMMWORD PTR [rcx+4064], 123 + vcmppbf16 k5{k7}, ymm29, WORD PTR [rdx-256]{1to16}, 123 + + vcomsbf16 xmm30, xmm29 + vcomsbf16 xmm30, WORD PTR [rbp+r14*8+0x10000000] + vcomsbf16 xmm30, [r9] + vcomsbf16 xmm30, [rcx+254] + vcomsbf16 xmm30, WORD PTR [rdx-256] + + vfpclasspbf16 k5, ymm29, 123 + vfpclasspbf16 k5, xmm29, 123 + vfpclasspbf16 k5{k7}, XMMWORD PTR [rbp+r14*8+0x10000000], 123 + vfpclasspbf16 k5, WORD PTR [r9]{1to8}, 123 + vfpclasspbf16 k5, XMMWORD PTR [rcx+2032], 123 + vfpclasspbf16 k5{k7}, [rdx-256]{1to8}, 123 + vfpclasspbf16 k5, WORD PTR [r9]{1to16}, 123 + vfpclasspbf16 k5, YMMWORD PTR [rcx+4064], 123 + vfpclasspbf16 k5{k7}, [rdx-256]{1to16}, 123 diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16-intel.d b/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16-intel.d new file mode 100644 index 00000000000..9b266c43b81 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16-intel.d @@ -0,0 +1,151 @@ +#objdump: -dw -Mintel +#name: x86_64 AVX10.2/512 BF16 insns (Intel disassembly) +#source: x86-64-avx10_2-512-bf16.s + +.*: +file format .* + +Disassembly of section \.text: + +#... +[a-f0-9]+ <_intel>: +\s*[a-f0-9]+:\s*62 05 15 40 58 f4\s+vaddnepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 25 15 47 58 b4 f5 00 00 00 10\s+vaddnepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 50 58 31\s+vaddnepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 40 58 71 7f\s+vaddnepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 65 15 d7 58 72 80\s+vaddnepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 05 15 40 5e f4\s+vdivnepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 25 15 47 5e b4 f5 00 00 00 10\s+vdivnepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 50 5e 31\s+vdivnepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 40 5e 71 7f\s+vdivnepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 65 15 d7 5e 72 80\s+vdivnepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 05 15 40 5f f4\s+vmaxpbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 25 15 47 5f b4 f5 00 00 00 10\s+vmaxpbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 50 5f 31\s+vmaxpbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 40 5f 71 7f\s+vmaxpbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 65 15 d7 5f 72 80\s+vmaxpbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 05 15 40 5d f4\s+vminpbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 25 15 47 5d b4 f5 00 00 00 10\s+vminpbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 50 5d 31\s+vminpbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 40 5d 71 7f\s+vminpbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 65 15 d7 5d 72 80\s+vminpbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 05 15 40 59 f4\s+vmulnepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 25 15 47 59 b4 f5 00 00 00 10\s+vmulnepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 50 59 31\s+vmulnepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 40 59 71 7f\s+vmulnepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 65 15 d7 59 72 80\s+vmulnepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 40 2c f4\s+vscalefnepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 26 14 47 2c b4 f5 00 00 00 10\s+vscalefnepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 50 2c 31\s+vscalefnepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 40 2c 71 7f\s+vscalefnepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 14 d7 2c 72 80\s+vscalefnepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 05 15 40 5c f4\s+vsubnepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 25 15 47 5c b4 f5 00 00 00 10\s+vsubnepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 15 50 5c 31\s+vsubnepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 15 40 5c 71 7f\s+vsubnepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 65 15 d7 5c 72 80\s+vsubnepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 40 98 f4\s+vfmadd132nepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 26 14 47 98 b4 f5 00 00 00 10\s+vfmadd132nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 50 98 31\s+vfmadd132nepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 40 98 71 7f\s+vfmadd132nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 14 d7 98 72 80\s+vfmadd132nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 40 a8 f4\s+vfmadd213nepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 26 14 47 a8 b4 f5 00 00 00 10\s+vfmadd213nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 50 a8 31\s+vfmadd213nepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 40 a8 71 7f\s+vfmadd213nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 14 d7 a8 72 80\s+vfmadd213nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 40 b8 f4\s+vfmadd231nepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 26 14 47 b8 b4 f5 00 00 00 10\s+vfmadd231nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 50 b8 31\s+vfmadd231nepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 40 b8 71 7f\s+vfmadd231nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 14 d7 b8 72 80\s+vfmadd231nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 40 9a f4\s+vfmsub132nepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 26 14 47 9a b4 f5 00 00 00 10\s+vfmsub132nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 50 9a 31\s+vfmsub132nepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 40 9a 71 7f\s+vfmsub132nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 14 d7 9a 72 80\s+vfmsub132nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 40 aa f4\s+vfmsub213nepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 26 14 47 aa b4 f5 00 00 00 10\s+vfmsub213nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 50 aa 31\s+vfmsub213nepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 40 aa 71 7f\s+vfmsub213nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 14 d7 aa 72 80\s+vfmsub213nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 40 ba f4\s+vfmsub231nepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 26 14 47 ba b4 f5 00 00 00 10\s+vfmsub231nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 50 ba 31\s+vfmsub231nepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 40 ba 71 7f\s+vfmsub231nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 14 d7 ba 72 80\s+vfmsub231nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 40 9c f4\s+vfnmadd132nepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 26 14 47 9c b4 f5 00 00 00 10\s+vfnmadd132nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 50 9c 31\s+vfnmadd132nepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 40 9c 71 7f\s+vfnmadd132nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 14 d7 9c 72 80\s+vfnmadd132nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 40 ac f4\s+vfnmadd213nepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 26 14 47 ac b4 f5 00 00 00 10\s+vfnmadd213nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 50 ac 31\s+vfnmadd213nepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 40 ac 71 7f\s+vfnmadd213nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 14 d7 ac 72 80\s+vfnmadd213nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 40 bc f4\s+vfnmadd231nepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 26 14 47 bc b4 f5 00 00 00 10\s+vfnmadd231nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 50 bc 31\s+vfnmadd231nepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 40 bc 71 7f\s+vfnmadd231nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 14 d7 bc 72 80\s+vfnmadd231nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 40 9e f4\s+vfnmsub132nepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 26 14 47 9e b4 f5 00 00 00 10\s+vfnmsub132nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 50 9e 31\s+vfnmsub132nepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 40 9e 71 7f\s+vfnmsub132nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 14 d7 9e 72 80\s+vfnmsub132nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 40 ae f4\s+vfnmsub213nepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 26 14 47 ae b4 f5 00 00 00 10\s+vfnmsub213nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 50 ae 31\s+vfnmsub213nepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 40 ae 71 7f\s+vfnmsub213nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 14 d7 ae 72 80\s+vfnmsub213nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 14 40 be f4\s+vfnmsub231nepbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 26 14 47 be b4 f5 00 00 00 10\s+vfnmsub231nepbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 50 be 31\s+vfnmsub231nepbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 40 be 71 7f\s+vfnmsub231nepbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 14 d7 be 72 80\s+vfnmsub231nepbf16 zmm30\{k7\}\{z\},zmm29,WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 7c 48 42 f5\s+vgetexppbf16 zmm30,zmm29 +\s*[a-f0-9]+:\s*62 26 7c 4f 42 b4 f5 00 00 00 10\s+vgetexppbf16 zmm30\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 7c 58 42 31\s+vgetexppbf16 zmm30,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 7c 48 42 71 7f\s+vgetexppbf16 zmm30,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 7c df 42 72 80\s+vgetexppbf16 zmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 7c 48 4c f5\s+vrcppbf16 zmm30,zmm29 +\s*[a-f0-9]+:\s*62 26 7c 4f 4c b4 f5 00 00 00 10\s+vrcppbf16 zmm30\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 7c 58 4c 31\s+vrcppbf16 zmm30,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 7c 48 4c 71 7f\s+vrcppbf16 zmm30,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 7c df 4c 72 80\s+vrcppbf16 zmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 06 7c 48 4e f5\s+vrsqrtpbf16 zmm30,zmm29 +\s*[a-f0-9]+:\s*62 26 7c 4f 4e b4 f5 00 00 00 10\s+vrsqrtpbf16 zmm30\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 7c 58 4e 31\s+vrsqrtpbf16 zmm30,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 7c 48 4e 71 7f\s+vrsqrtpbf16 zmm30,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 7c df 4e 72 80\s+vrsqrtpbf16 zmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 05 7d 48 51 f5\s+vsqrtnepbf16 zmm30,zmm29 +\s*[a-f0-9]+:\s*62 25 7d 4f 51 b4 f5 00 00 00 10\s+vsqrtnepbf16 zmm30\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 45 7d 58 51 31\s+vsqrtnepbf16 zmm30,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 65 7d 48 51 71 7f\s+vsqrtnepbf16 zmm30,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 65 7d df 51 72 80\s+vsqrtnepbf16 zmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\] +\s*[a-f0-9]+:\s*62 03 7f 48 26 f5 7b\s+vgetmantpbf16 zmm30,zmm29,0x7b +\s*[a-f0-9]+:\s*62 23 7f 4f 26 b4 f5 00 00 00 10 7b\s+vgetmantpbf16 zmm30\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 43 7f 58 26 31 7b\s+vgetmantpbf16 zmm30,WORD BCST \[r9\],0x7b +\s*[a-f0-9]+:\s*62 63 7f 48 26 71 7f 7b\s+vgetmantpbf16 zmm30,ZMMWORD PTR \[rcx\+0x1fc0\],0x7b +\s*[a-f0-9]+:\s*62 63 7f df 26 72 80 7b\s+vgetmantpbf16 zmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 03 7f 48 56 f5 7b\s+vreducenepbf16 zmm30,zmm29,0x7b +\s*[a-f0-9]+:\s*62 23 7f 4f 56 b4 f5 00 00 00 10 7b\s+vreducenepbf16 zmm30\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 43 7f 58 56 31 7b\s+vreducenepbf16 zmm30,WORD BCST \[r9\],0x7b +\s*[a-f0-9]+:\s*62 63 7f 48 56 71 7f 7b\s+vreducenepbf16 zmm30,ZMMWORD PTR \[rcx\+0x1fc0\],0x7b +\s*[a-f0-9]+:\s*62 63 7f df 56 72 80 7b\s+vreducenepbf16 zmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 03 7f 48 08 f5 7b\s+vrndscalenepbf16 zmm30,zmm29,0x7b +\s*[a-f0-9]+:\s*62 23 7f 4f 08 b4 f5 00 00 00 10 7b\s+vrndscalenepbf16 zmm30\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 43 7f 58 08 31 7b\s+vrndscalenepbf16 zmm30,WORD BCST \[r9\],0x7b +\s*[a-f0-9]+:\s*62 63 7f 48 08 71 7f 7b\s+vrndscalenepbf16 zmm30,ZMMWORD PTR \[rcx\+0x1fc0\],0x7b +\s*[a-f0-9]+:\s*62 63 7f df 08 72 80 7b\s+vrndscalenepbf16 zmm30\{k7\}\{z\},WORD BCST \[rdx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 93 17 40 c2 ec 7b\s+vcmppbf16 k5,zmm29,zmm28,0x7b +\s*[a-f0-9]+:\s*62 b3 17 47 c2 ac f5 00 00 00 10 7b\s+vcmppbf16 k5\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 d3 17 50 c2 29 7b\s+vcmppbf16 k5,zmm29,WORD BCST \[r9\],0x7b +\s*[a-f0-9]+:\s*62 f3 17 40 c2 69 7f 7b\s+vcmppbf16 k5,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\],0x7b +\s*[a-f0-9]+:\s*62 f3 17 57 c2 6a 80 7b\s+vcmppbf16 k5\{k7\},zmm29,WORD BCST \[rdx-0x100\],0x7b +\s*[a-f0-9]+:\s*62 93 7f 48 66 ed 7b\s+vfpclasspbf16 k5,zmm29,0x7b +\s*[a-f0-9]+:\s*62 b3 7f 4f 66 ac f5 00 00 00 10 7b\s+vfpclasspbf16 k5\{k7\},ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\],0x7b +\s*[a-f0-9]+:\s*62 d3 7f 58 66 29 7b\s+vfpclasspbf16 k5,WORD BCST \[r9\]\{1to32\},0x7b +\s*[a-f0-9]+:\s*62 f3 7f 48 66 69 7f 7b\s+vfpclasspbf16 k5,ZMMWORD PTR \[rcx\+0x1fc0\],0x7b +\s*[a-f0-9]+:\s*62 f3 7f 5f 66 6a 80 7b\s+vfpclasspbf16 k5\{k7\},WORD BCST \[rdx-0x100\]\{1to32\},0x7b +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.d b/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.d new file mode 100644 index 00000000000..73b9dced5a6 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.d @@ -0,0 +1,150 @@ +#objdump: -dw +#name: x86-64 AVX10.2/512 BF16 insns + +.*: +file format .* + + +Disassembly of section .text: + +0+ <_start>: +\s*[a-f0-9]+:\s*62 05 15 40 58 f4\s+vaddnepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 25 15 47 58 b4 f5 00 00 00 10\s+vaddnepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 50 58 31\s+vaddnepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 65 15 40 58 71 7f\s+vaddnepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 65 15 d7 58 72 80\s+vaddnepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 05 15 40 5e f4\s+vdivnepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 25 15 47 5e b4 f5 00 00 00 10\s+vdivnepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 50 5e 31\s+vdivnepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 65 15 40 5e 71 7f\s+vdivnepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 65 15 d7 5e 72 80\s+vdivnepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 05 15 40 5f f4\s+vmaxpbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 25 15 47 5f b4 f5 00 00 00 10\s+vmaxpbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 50 5f 31\s+vmaxpbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 65 15 40 5f 71 7f\s+vmaxpbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 65 15 d7 5f 72 80\s+vmaxpbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 05 15 40 5d f4\s+vminpbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 25 15 47 5d b4 f5 00 00 00 10\s+vminpbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 50 5d 31\s+vminpbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 65 15 40 5d 71 7f\s+vminpbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 65 15 d7 5d 72 80\s+vminpbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 05 15 40 59 f4\s+vmulnepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 25 15 47 59 b4 f5 00 00 00 10\s+vmulnepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 50 59 31\s+vmulnepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 65 15 40 59 71 7f\s+vmulnepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 65 15 d7 59 72 80\s+vmulnepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 40 2c f4\s+vscalefnepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 14 47 2c b4 f5 00 00 00 10\s+vscalefnepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 50 2c 31\s+vscalefnepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 40 2c 71 7f\s+vscalefnepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 d7 2c 72 80\s+vscalefnepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 05 15 40 5c f4\s+vsubnepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 25 15 47 5c b4 f5 00 00 00 10\s+vsubnepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 15 50 5c 31\s+vsubnepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 65 15 40 5c 71 7f\s+vsubnepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 65 15 d7 5c 72 80\s+vsubnepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 40 98 f4\s+vfmadd132nepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 14 47 98 b4 f5 00 00 00 10\s+vfmadd132nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 50 98 31\s+vfmadd132nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 40 98 71 7f\s+vfmadd132nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 d7 98 72 80\s+vfmadd132nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 40 a8 f4\s+vfmadd213nepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 14 47 a8 b4 f5 00 00 00 10\s+vfmadd213nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 50 a8 31\s+vfmadd213nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 40 a8 71 7f\s+vfmadd213nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 d7 a8 72 80\s+vfmadd213nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 40 b8 f4\s+vfmadd231nepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 14 47 b8 b4 f5 00 00 00 10\s+vfmadd231nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 50 b8 31\s+vfmadd231nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 40 b8 71 7f\s+vfmadd231nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 d7 b8 72 80\s+vfmadd231nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 40 9a f4\s+vfmsub132nepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 14 47 9a b4 f5 00 00 00 10\s+vfmsub132nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 50 9a 31\s+vfmsub132nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 40 9a 71 7f\s+vfmsub132nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 d7 9a 72 80\s+vfmsub132nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 40 aa f4\s+vfmsub213nepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 14 47 aa b4 f5 00 00 00 10\s+vfmsub213nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 50 aa 31\s+vfmsub213nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 40 aa 71 7f\s+vfmsub213nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 d7 aa 72 80\s+vfmsub213nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 40 ba f4\s+vfmsub231nepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 14 47 ba b4 f5 00 00 00 10\s+vfmsub231nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 50 ba 31\s+vfmsub231nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 40 ba 71 7f\s+vfmsub231nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 d7 ba 72 80\s+vfmsub231nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 40 9c f4\s+vfnmadd132nepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 14 47 9c b4 f5 00 00 00 10\s+vfnmadd132nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 50 9c 31\s+vfnmadd132nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 40 9c 71 7f\s+vfnmadd132nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 d7 9c 72 80\s+vfnmadd132nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 40 ac f4\s+vfnmadd213nepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 14 47 ac b4 f5 00 00 00 10\s+vfnmadd213nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 50 ac 31\s+vfnmadd213nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 40 ac 71 7f\s+vfnmadd213nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 d7 ac 72 80\s+vfnmadd213nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 40 bc f4\s+vfnmadd231nepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 14 47 bc b4 f5 00 00 00 10\s+vfnmadd231nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 50 bc 31\s+vfnmadd231nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 40 bc 71 7f\s+vfnmadd231nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 d7 bc 72 80\s+vfnmadd231nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 40 9e f4\s+vfnmsub132nepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 14 47 9e b4 f5 00 00 00 10\s+vfnmsub132nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 50 9e 31\s+vfnmsub132nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 40 9e 71 7f\s+vfnmsub132nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 d7 9e 72 80\s+vfnmsub132nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 40 ae f4\s+vfnmsub213nepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 14 47 ae b4 f5 00 00 00 10\s+vfnmsub213nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 50 ae 31\s+vfnmsub213nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 40 ae 71 7f\s+vfnmsub213nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 d7 ae 72 80\s+vfnmsub213nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 14 40 be f4\s+vfnmsub231nepbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 14 47 be b4 f5 00 00 00 10\s+vfnmsub231nepbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 50 be 31\s+vfnmsub231nepbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 40 be 71 7f\s+vfnmsub231nepbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 d7 be 72 80\s+vfnmsub231nepbf16 -0x100\(%rdx\)\{1to32\},%zmm29,%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 7c 48 42 f5\s+vgetexppbf16 %zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 7c 4f 42 b4 f5 00 00 00 10\s+vgetexppbf16 0x10000000\(%rbp,%r14,8\),%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 7c 58 42 31\s+vgetexppbf16 \(%r9\)\{1to32\},%zmm30 +\s*[a-f0-9]+:\s*62 66 7c 48 42 71 7f\s+vgetexppbf16 0x1fc0\(%rcx\),%zmm30 +\s*[a-f0-9]+:\s*62 66 7c df 42 72 80\s+vgetexppbf16 -0x100\(%rdx\)\{1to32\},%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 7c 48 4c f5\s+vrcppbf16 %zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 7c 4f 4c b4 f5 00 00 00 10\s+vrcppbf16 0x10000000\(%rbp,%r14,8\),%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 7c 58 4c 31\s+vrcppbf16 \(%r9\)\{1to32\},%zmm30 +\s*[a-f0-9]+:\s*62 66 7c 48 4c 71 7f\s+vrcppbf16 0x1fc0\(%rcx\),%zmm30 +\s*[a-f0-9]+:\s*62 66 7c df 4c 72 80\s+vrcppbf16 -0x100\(%rdx\)\{1to32\},%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 06 7c 48 4e f5\s+vrsqrtpbf16 %zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 7c 4f 4e b4 f5 00 00 00 10\s+vrsqrtpbf16 0x10000000\(%rbp,%r14,8\),%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 7c 58 4e 31\s+vrsqrtpbf16 \(%r9\)\{1to32\},%zmm30 +\s*[a-f0-9]+:\s*62 66 7c 48 4e 71 7f\s+vrsqrtpbf16 0x1fc0\(%rcx\),%zmm30 +\s*[a-f0-9]+:\s*62 66 7c df 4e 72 80\s+vrsqrtpbf16 -0x100\(%rdx\)\{1to32\},%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 05 7d 48 51 f5\s+vsqrtnepbf16 %zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 25 7d 4f 51 b4 f5 00 00 00 10\s+vsqrtnepbf16 0x10000000\(%rbp,%r14,8\),%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 45 7d 58 51 31\s+vsqrtnepbf16 \(%r9\)\{1to32\},%zmm30 +\s*[a-f0-9]+:\s*62 65 7d 48 51 71 7f\s+vsqrtnepbf16 0x1fc0\(%rcx\),%zmm30 +\s*[a-f0-9]+:\s*62 65 7d df 51 72 80\s+vsqrtnepbf16 -0x100\(%rdx\)\{1to32\},%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 03 7f 48 26 f5 7b\s+vgetmantpbf16 \$0x7b,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 23 7f 4f 26 b4 f5 00 00 00 10 7b\s+vgetmantpbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 43 7f 58 26 31 7b\s+vgetmantpbf16 \$0x7b,\(%r9\)\{1to32\},%zmm30 +\s*[a-f0-9]+:\s*62 63 7f 48 26 71 7f 7b\s+vgetmantpbf16 \$0x7b,0x1fc0\(%rcx\),%zmm30 +\s*[a-f0-9]+:\s*62 63 7f df 26 72 80 7b\s+vgetmantpbf16 \$0x7b,-0x100\(%rdx\)\{1to32\},%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 03 7f 48 56 f5 7b\s+vreducenepbf16 \$0x7b,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 23 7f 4f 56 b4 f5 00 00 00 10 7b\s+vreducenepbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 43 7f 58 56 31 7b\s+vreducenepbf16 \$0x7b,\(%r9\)\{1to32\},%zmm30 +\s*[a-f0-9]+:\s*62 63 7f 48 56 71 7f 7b\s+vreducenepbf16 \$0x7b,0x1fc0\(%rcx\),%zmm30 +\s*[a-f0-9]+:\s*62 63 7f df 56 72 80 7b\s+vreducenepbf16 \$0x7b,-0x100\(%rdx\)\{1to32\},%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 03 7f 48 08 f5 7b\s+vrndscalenepbf16 \$0x7b,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 23 7f 4f 08 b4 f5 00 00 00 10 7b\s+vrndscalenepbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 43 7f 58 08 31 7b\s+vrndscalenepbf16 \$0x7b,\(%r9\)\{1to32\},%zmm30 +\s*[a-f0-9]+:\s*62 63 7f 48 08 71 7f 7b\s+vrndscalenepbf16 \$0x7b,0x1fc0\(%rcx\),%zmm30 +\s*[a-f0-9]+:\s*62 63 7f df 08 72 80 7b\s+vrndscalenepbf16 \$0x7b,-0x100\(%rdx\)\{1to32\},%zmm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 93 17 40 c2 ec 7b\s+vcmppbf16 \$0x7b,%zmm28,%zmm29,%k5 +\s*[a-f0-9]+:\s*62 b3 17 47 c2 ac f5 00 00 00 10 7b\s+vcmppbf16 \$0x7b,0x10000000\(%rbp,%r14,8\),%zmm29,%k5\{%k7\} +\s*[a-f0-9]+:\s*62 d3 17 50 c2 29 7b\s+vcmppbf16 \$0x7b,\(%r9\)\{1to32\},%zmm29,%k5 +\s*[a-f0-9]+:\s*62 f3 17 40 c2 69 7f 7b\s+vcmppbf16 \$0x7b,0x1fc0\(%rcx\),%zmm29,%k5 +\s*[a-f0-9]+:\s*62 f3 17 57 c2 6a 80 7b\s+vcmppbf16 \$0x7b,-0x100\(%rdx\)\{1to32\},%zmm29,%k5\{%k7\} +\s*[a-f0-9]+:\s*62 93 7f 48 66 ed 7b\s+vfpclasspbf16 \$0x7b,%zmm29,%k5 +\s*[a-f0-9]+:\s*62 b3 7f 4f 66 ac f5 00 00 00 10 7b\s+vfpclasspbf16z \$0x7b,0x10000000\(%rbp,%r14,8\),%k5\{%k7\} +\s*[a-f0-9]+:\s*62 d3 7f 58 66 29 7b\s+vfpclasspbf16 \$0x7b,\(%r9\)\{1to32\},%k5 +\s*[a-f0-9]+:\s*62 f3 7f 48 66 69 7f 7b\s+vfpclasspbf16z \$0x7b,0x1fc0\(%rcx\),%k5 +\s*[a-f0-9]+:\s*62 f3 7f 5f 66 6a 80 7b\s+vfpclasspbf16 \$0x7b,-0x100\(%rdx\)\{1to32\},%k5\{%k7\} +#pass diff --git a/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.s b/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.s new file mode 100644 index 00000000000..989f88add2e --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-avx10_2-512-bf16.s @@ -0,0 +1,99 @@ +# Check 64bit AVX10.2/512 instructions + + .arch generic64 + .arch .avx10.2/512 + .text +_start: + .irp m, addne, divne, max, min, mulne, scalefne, subne + v\m\()pbf16 %zmm28, %zmm29, %zmm30 + v\m\()pbf16 0x10000000(%rbp, %r14, 8), %zmm29, %zmm30{%k7} + v\m\()pbf16 (%r9){1to32}, %zmm29, %zmm30 + v\m\()pbf16 8128(%rcx), %zmm29, %zmm30 + v\m\()pbf16 -256(%rdx){1to32}, %zmm29, %zmm30{%k7}{z} + .endr + + .irp m, madd, msub, nmadd, nmsub + .irp n, 132, 213, 231 + vf\m\n\(\())nepbf16 %zmm28, %zmm29, %zmm30 + vf\m\n\(\())nepbf16 0x10000000(%rbp, %r14, 8), %zmm29, %zmm30{%k7} + vf\m\n\(\())nepbf16 (%r9){1to32}, %zmm29, %zmm30 + vf\m\n\(\())nepbf16 8128(%rcx), %zmm29, %zmm30 + vf\m\n\(\())nepbf16 -256(%rdx){1to32}, %zmm29, %zmm30{%k7}{z} + .endr + .endr + + .irp m, getexp, rcp, rsqrt, sqrtne + v\m\()pbf16 %zmm29, %zmm30 + v\m\()pbf16 0x10000000(%rbp, %r14, 8), %zmm30{%k7} + v\m\()pbf16 (%r9){1to32}, %zmm30 + v\m\()pbf16 8128(%rcx), %zmm30 + v\m\()pbf16 -256(%rdx){1to32}, %zmm30{%k7}{z} + .endr + + .irp m, getmant, reducene, rndscalene + v\m\()pbf16 $123, %zmm29, %zmm30 + v\m\()pbf16 $123, 0x10000000(%rbp, %r14, 8), %zmm30{%k7} + v\m\()pbf16 $123, (%r9){1to32}, %zmm30 + v\m\()pbf16 $123, 8128(%rcx), %zmm30 + v\m\()pbf16 $123, -256(%rdx){1to32}, %zmm30{%k7}{z} + .endr + + vcmppbf16 $123, %zmm28, %zmm29, %k5 + vcmppbf16 $123, 0x10000000(%rbp, %r14, 8), %zmm29, %k5{%k7} + vcmppbf16 $123, (%r9){1to32}, %zmm29, %k5 + vcmppbf16 $123, 8128(%rcx), %zmm29, %k5 + vcmppbf16 $123, -256(%rdx){1to32}, %zmm29, %k5{%k7} + + vfpclasspbf16 $123, %zmm29, %k5 + vfpclasspbf16z $123, 0x10000000(%rbp, %r14, 8), %k5{%k7} + vfpclasspbf16 $123, (%r9){1to32}, %k5 + vfpclasspbf16z $123, 8128(%rcx), %k5 + vfpclasspbf16 $123, -256(%rdx){1to32}, %k5{%k7} + +_intel: + .intel_syntax noprefix + .irp m, addne, divne, max, min, mulne, scalefne, subne + v\m\()pbf16 zmm30, zmm29, zmm28 + v\m\()pbf16 zmm30{k7}, zmm29, [rbp+r14*8+0x10000000] + v\m\()pbf16 zmm30, zmm29, WORD PTR [r9]{1to32} + v\m\()pbf16 zmm30, zmm29, ZMMWORD PTR [rcx+8128] + v\m\()pbf16 zmm30{k7}{z}, zmm29, [rdx-256]{1to32} + .endr + + .irp m, madd, msub, nmadd, nmsub + .irp n, 132, 213, 231 + vf\m\n\(\())nepbf16 zmm30, zmm29, zmm28 + vf\m\n\(\())nepbf16 zmm30{k7}, zmm29, ZMMWORD PTR [rbp+r14*8+0x10000000] + vf\m\n\(\())nepbf16 zmm30, zmm29, [r9]{1to32} + vf\m\n\(\())nepbf16 zmm30, zmm29, [rcx+8128] + vf\m\n\(\())nepbf16 zmm30{k7}{z}, zmm29, WORD PTR [rdx-256]{1to32} + .endr + .endr + + .irp m, getexp, rcp, rsqrt, sqrtne + v\m\()pbf16 zmm30, zmm29 + v\m\()pbf16 zmm30{k7}, [rbp+r14*8+0x10000000] + v\m\()pbf16 zmm30, WORD PTR [r9]{1to32} + v\m\()pbf16 zmm30, ZMMWORD PTR [rcx+8128] + v\m\()pbf16 zmm30{k7}{z}, [rdx-256]{1to32} + .endr + + .irp m, getmant, reducene, rndscalene + v\m\()pbf16 zmm30, zmm29, 123 + v\m\()pbf16 zmm30{k7}, ZMMWORD PTR [rbp+r14*8+0x10000000], 123 + v\m\()pbf16 zmm30, [r9]{1to32}, 123 + v\m\()pbf16 zmm30, [rcx+8128], 123 + v\m\()pbf16 zmm30{k7}{z}, WORD PTR [rdx-256]{1to32}, 123 + .endr + + vcmppbf16 k5, zmm29, zmm28, 123 + vcmppbf16 k5{k7}, zmm29, [rbp+r14*8+0x10000000], 123 + vcmppbf16 k5, zmm29, WORD PTR [r9]{1to32}, 123 + vcmppbf16 k5, zmm29, ZMMWORD PTR [rcx+8128], 123 + vcmppbf16 k5{k7}, zmm29, [rdx-256]{1to32}, 123 + + vfpclasspbf16 k5, zmm29, 123 + vfpclasspbf16 k5{k7}, ZMMWORD PTR [rbp+r14*8+0x10000000], 123 + vfpclasspbf16 k5, [r9]{1to32}, 123 + vfpclasspbf16 k5, ZMMWORD PTR [rcx+8128], 123 + vfpclasspbf16 k5{k7}, WORD PTR [rdx-256]{1to32}, 123 diff --git a/gas/testsuite/gas/i386/x86-64.exp b/gas/testsuite/gas/i386/x86-64.exp index 14b7f6c6b83..6dc4e010e8b 100644 --- a/gas/testsuite/gas/i386/x86-64.exp +++ b/gas/testsuite/gas/i386/x86-64.exp @@ -512,6 +512,10 @@ run_dump_test "x86-64-avx10_2-512-cvt" run_dump_test "x86-64-avx10_2-512-cvt-intel" run_dump_test "x86-64-avx10_2-256-cvt" run_dump_test "x86-64-avx10_2-256-cvt-intel" +run_dump_test "x86-64-avx10_2-512-bf16" +run_dump_test "x86-64-avx10_2-512-bf16-intel" +run_dump_test "x86-64-avx10_2-256-bf16" +run_dump_test "x86-64-avx10_2-256-bf16-intel" run_dump_test "x86-64-clzero" run_dump_test "x86-64-mwaitx-bdver4" run_list_test "x86-64-mwaitx-reg" diff --git a/opcodes/i386-dis-evex-prefix.h b/opcodes/i386-dis-evex-prefix.h index cffc3852065..b097385edb8 100644 --- a/opcodes/i386-dis-evex-prefix.h +++ b/opcodes/i386-dis-evex-prefix.h @@ -297,6 +297,7 @@ { "vrndscalep%XH", { XM, EXxh, EXxEVexS, Ib }, 0 }, { Bad_Opcode }, { "vrndscalep%XS", { XM, EXx, EXxEVexS, Ib }, 0 }, + { "vrndscalenep%XB", { XM, EXxh, Ib }, 0 }, }, /* PREFIX_EVEX_0F3A0A */ { @@ -309,6 +310,7 @@ { "vgetmantp%XH", { XM, EXxh, EXxEVexS, Ib }, 0 }, { Bad_Opcode }, { "vgetmantp%XW", { XM, EXx, EXxEVexS, Ib }, 0 }, + { "vgetmantp%XB", { XM, EXxh, Ib }, 0 }, }, /* PREFIX_EVEX_0F3A27 */ { @@ -327,6 +329,7 @@ { "vreducep%XH", { XM, EXxh, EXxEVexS, Ib }, 0 }, { Bad_Opcode }, { "vreducep%XW", { XM, EXx, EXxEVexS, Ib }, 0 }, + { "vreducenep%XB", { XM, EXxh, Ib }, 0 }, }, /* PREFIX_EVEX_0F3A57 */ { @@ -339,6 +342,7 @@ { "vfpclassp%XH%XZ", { MaskG, EXxh, Ib }, 0 }, { Bad_Opcode }, { "vfpclassp%XW%XZ", { MaskG, EXx, Ib }, 0 }, + { "vfpclassp%XB%XZ", { MaskG, EXxh, Ib }, 0 }, }, /* PREFIX_EVEX_0F3A67 */ { @@ -350,6 +354,8 @@ { { "vcmpp%XH", { MaskG, Vex, EXxh, EXxEVexS, CMP }, 0 }, { "vcmps%XH", { MaskG, VexScalar, EXw, EXxEVexS, CMP }, 0 }, + { Bad_Opcode }, + { "vcmpp%XB", { MaskG, Vex, EXxh, CMP }, 0 }, }, /* PREFIX_EVEX_MAP4_4x */ { @@ -440,21 +446,26 @@ /* PREFIX_EVEX_MAP5_2F */ { { "vcomisY%XH", { XMScalar, EXw, EXxEVexS }, 0 }, + { Bad_Opcode }, + { "vcoms%XB", { XMScalar, EXw, EXxEVexS }, 0 }, }, /* PREFIX_EVEX_MAP5_51 */ { { "vsqrtp%XH", { XM, EXxh, EXxEVexR }, 0 }, { "vsqrts%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 }, + { "vsqrtnep%XB", { XM, EXxh }, 0 }, }, /* PREFIX_EVEX_MAP5_58 */ { { "vaddp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, { "vadds%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 }, + { "vaddnep%XB", { XM, Vex, EXxh }, 0 }, }, /* PREFIX_EVEX_MAP5_59 */ { { "vmulp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, { "vmuls%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 }, + { "vmulnep%XB", { XM, Vex, EXxh }, 0 }, }, /* PREFIX_EVEX_MAP5_5A */ { @@ -473,21 +484,25 @@ { { "vsubp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, { "vsubs%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 }, + { "vsubnep%XB", { XM, Vex, EXxh }, 0 }, }, /* PREFIX_EVEX_MAP5_5D */ { { "vminp%XH", { XM, Vex, EXxh, EXxEVexS }, 0 }, { "vmins%XH", { XMScalar, VexScalar, EXw, EXxEVexS }, 0 }, + { "vminp%XB", { XM, Vex, EXxh }, 0 }, }, /* PREFIX_EVEX_MAP5_5E */ { { "vdivp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, { "vdivs%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 }, + { "vdivnep%XB", { XM, Vex, EXxh }, 0 }, }, /* PREFIX_EVEX_MAP5_5F */ { { "vmaxp%XH", { XM, Vex, EXxh, EXxEVexS }, 0 }, { "vmaxs%XH", { XMScalar, VexScalar, EXw, EXxEVexS }, 0 }, + { "vmaxp%XB", { XM, Vex, EXxh }, 0 }, }, /* PREFIX_EVEX_MAP5_74 */ { @@ -540,6 +555,30 @@ { Bad_Opcode }, { "vcvtp%XH2psx", { XM, EXxmmqh, EXxEVexS }, 0 }, }, + /* PREFIX_EVEX_MAP6_2C */ + { + { "vscalefnep%XB", { XM, Vex, EXxh }, 0 }, + { Bad_Opcode }, + { "vscalefp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, + }, + /* PREFIX_EVEX_MAP6_42 */ + { + { "vgetexpp%XB", { XM, EXxh }, 0 }, + { Bad_Opcode }, + { "vgetexpp%XH", { XM, EXxh, EXxEVexS }, 0 }, + }, + /* PREFIX_EVEX_MAP6_4C */ + { + { "vrcpp%XB", { XM, EXxh }, 0 }, + { Bad_Opcode }, + { "vrcpp%XH", { XM, EXxh }, 0 }, + }, + /* PREFIX_EVEX_MAP6_4E */ + { + { "vrsqrtp%XB", { XM, EXxh }, 0 }, + { Bad_Opcode }, + { "vrsqrtp%XH", { XM, EXxh }, 0 }, + }, /* PREFIX_EVEX_MAP6_56 */ { { Bad_Opcode }, @@ -554,6 +593,78 @@ { Bad_Opcode }, { "vfcmaddcs%XH", { { DistinctDest_Fixup, scalar_mode }, VexScalar, EXd, EXxEVexR }, 0 }, }, + /* PREFIX_EVEX_MAP6_98 */ + { + { "vfmadd132nep%XB", { XM, Vex, EXxh }, 0 }, + { Bad_Opcode }, + { "vfmadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, + }, + /* PREFIX_EVEX_MAP6_9A */ + { + { "vfmsub132nep%XB", { XM, Vex, EXxh }, 0 }, + { Bad_Opcode }, + { "vfmsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, + }, + /* PREFIX_EVEX_MAP6_9C */ + { + { "vfnmadd132nep%XB", { XM, Vex, EXxh }, 0 }, + { Bad_Opcode }, + { "vfnmadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, + }, + /* PREFIX_EVEX_MAP6_9E */ + { + { "vfnmsub132nep%XB", { XM, Vex, EXxh }, 0 }, + { Bad_Opcode }, + { "vfnmsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, + }, + /* PREFIX_EVEX_MAP6_A8 */ + { + { "vfmadd213nep%XB", { XM, Vex, EXxh }, 0 }, + { Bad_Opcode }, + { "vfmadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, + }, + /* PREFIX_EVEX_MAP6_AA */ + { + { "vfmsub213nep%XB", { XM, Vex, EXxh }, 0 }, + { Bad_Opcode }, + { "vfmsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, + }, + /* PREFIX_EVEX_MAP6_AC */ + { + { "vfnmadd213nep%XB", { XM, Vex, EXxh }, 0 }, + { Bad_Opcode }, + { "vfnmadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, + }, + /* PREFIX_EVEX_MAP6_AE */ + { + { "vfnmsub213nep%XB", { XM, Vex, EXxh }, 0 }, + { Bad_Opcode }, + { "vfnmsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, + }, + /* PREFIX_EVEX_MAP6_B8 */ + { + { "vfmadd231nep%XB", { XM, Vex, EXxh }, 0 }, + { Bad_Opcode }, + { "vfmadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, + }, + /* PREFIX_EVEX_MAP6_BA */ + { + { "vfmsub231nep%XB", { XM, Vex, EXxh }, 0 }, + { Bad_Opcode }, + { "vfmsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, + }, + /* PREFIX_EVEX_MAP6_BC */ + { + { "vfnmadd231nep%XB", { XM, Vex, EXxh }, 0 }, + { Bad_Opcode }, + { "vfnmadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, + }, + /* PREFIX_EVEX_MAP6_BE */ + { + { "vfnmsub231nep%XB", { XM, Vex, EXxh }, 0 }, + { Bad_Opcode }, + { "vfnmsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 }, + }, /* PREFIX_EVEX_MAP6_D6 */ { { Bad_Opcode }, diff --git a/opcodes/i386-dis-evex.h b/opcodes/i386-dis-evex.h index 9e0546e66ca..704f33ec6fc 100644 --- a/opcodes/i386-dis-evex.h +++ b/opcodes/i386-dis-evex.h @@ -1506,7 +1506,7 @@ static const struct dis386 evex_table[][256] = { { Bad_Opcode }, { Bad_Opcode }, { Bad_Opcode }, - { "vscalefp%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_2C) }, { "vscalefs%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, { Bad_Opcode }, { Bad_Opcode }, @@ -1531,7 +1531,7 @@ static const struct dis386 evex_table[][256] = { /* 40 */ { Bad_Opcode }, { Bad_Opcode }, - { "vgetexpp%XH", { XM, EXxh, EXxEVexS }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_42) }, { "vgetexps%XH", { XMScalar, VexScalar, EXw, EXxEVexS }, PREFIX_DATA }, { Bad_Opcode }, { Bad_Opcode }, @@ -1542,9 +1542,9 @@ static const struct dis386 evex_table[][256] = { { Bad_Opcode }, { Bad_Opcode }, { Bad_Opcode }, - { "vrcpp%XH", { XM, EXxh }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_4C) }, { "vrcps%XH", { XMScalar, VexScalar, EXw }, PREFIX_DATA }, - { "vrsqrtp%XH", { XM, EXxh }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_4E) }, { "vrsqrts%XH", { XMScalar, VexScalar, EXw }, PREFIX_DATA }, /* 50 */ { Bad_Opcode }, @@ -1628,13 +1628,13 @@ static const struct dis386 evex_table[][256] = { { "vfmaddsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, { "vfmsubadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, /* 98 */ - { "vfmadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_98) }, { "vfmadd132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, - { "vfmsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_9A) }, { "vfmsub132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, - { "vfnmadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_9C) }, { "vfnmadd132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, - { "vfnmsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_9E) }, { "vfnmsub132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, /* A0 */ { Bad_Opcode }, @@ -1646,13 +1646,13 @@ static const struct dis386 evex_table[][256] = { { "vfmaddsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, { "vfmsubadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, /* A8 */ - { "vfmadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_A8) }, { "vfmadd213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, - { "vfmsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_AA) }, { "vfmsub213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, - { "vfnmadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_AC) }, { "vfnmadd213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, - { "vfnmsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_AE) }, { "vfnmsub213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, /* B0 */ { Bad_Opcode }, @@ -1664,13 +1664,13 @@ static const struct dis386 evex_table[][256] = { { "vfmaddsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, { "vfmsubadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, /* B8 */ - { "vfmadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_B8) }, { "vfmadd231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, - { "vfmsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_BA) }, { "vfmsub231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, - { "vfnmadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_BC) }, { "vfnmadd231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, - { "vfnmsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, + { PREFIX_TABLE (PREFIX_EVEX_MAP6_BE) }, { "vfnmsub231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, /* C0 */ { Bad_Opcode }, diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index ea3a8e2f860..99a6ab334f5 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -1248,8 +1248,24 @@ enum PREFIX_EVEX_MAP5_7D, PREFIX_EVEX_MAP6_13, + PREFIX_EVEX_MAP6_2C, + PREFIX_EVEX_MAP6_42, + PREFIX_EVEX_MAP6_4C, + PREFIX_EVEX_MAP6_4E, PREFIX_EVEX_MAP6_56, PREFIX_EVEX_MAP6_57, + PREFIX_EVEX_MAP6_98, + PREFIX_EVEX_MAP6_9A, + PREFIX_EVEX_MAP6_9C, + PREFIX_EVEX_MAP6_9E, + PREFIX_EVEX_MAP6_A8, + PREFIX_EVEX_MAP6_AA, + PREFIX_EVEX_MAP6_AC, + PREFIX_EVEX_MAP6_AE, + PREFIX_EVEX_MAP6_B8, + PREFIX_EVEX_MAP6_BA, + PREFIX_EVEX_MAP6_BC, + PREFIX_EVEX_MAP6_BE, PREFIX_EVEX_MAP6_D6, PREFIX_EVEX_MAP6_D7, }; @@ -1815,6 +1831,8 @@ struct dis386 { "XW" => print 's', 'd' depending on the VEX.W bit (for FMA) "XD" => print 'd' if !EVEX or EVEX.W=1, EVEX.W=0 is not a valid encoding "XH" => print 'h' if EVEX.W=0, EVEX.W=1 is not a valid encoding (for FP16) + "XB" => print 'bf16' if EVEX.W=0, EVEX.W=1 is not a valid encoding + (for BF16) "XS" => print 's' if !EVEX or EVEX.W=0, EVEX.W=1 is not a valid encoding "XV" => print "{vex} " pseudo prefix "XE" => print "{evex} " pseudo prefix if no EVEX-specific functionality is @@ -10510,6 +10528,13 @@ putop (instr_info *ins, const char *in_template, int sizeflag) goto case_B; } + else if (l && last[0] == 'X') + { + if (ins->vex.w == 0) + oappend (ins, "bf16"); + else + oappend (ins, "{bad}"); + } else abort (); break; diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl index 71073171fcc..402f01943c1 100644 --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -3464,4 +3464,24 @@ vcvthf82ph, 0xf21e, AVX10_2, Modrm|Map5|EVex128|VexW0|Masking|Disp8MemShift=3|No vcvthf82ph, 0xf21e, AVX10_2, Modrm|Map5|EVex256|VexW0|Masking|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } vcvthf82ph, 0xf21e, AVX10_2, Modrm|Map5|EVex512|VexW0|Masking|Disp8MemShift=5|NoSuf, { RegYMM|Unspecified|BaseIndex, RegZMM } +vpbf16, 0x66, AVX10_2, Modrm|Map5|Src1VVVV|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + +vnepbf16, 0x | 0x, AVX10_2, Modrm|Map6|Src1VVVV|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } + +vcmppbf16, 0xf2c2, AVX10_2, Modrm|Space0F3A|Src1VVVV|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegMask } +vfpclasspbf16, 0xf266, AVX10_2, Modrm|Space0F3A|VexW0|Masking|Broadcast|Disp8ShiftVL|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|BaseIndex, RegMask } +vfpclasspbf16x, 0xf266, AVX10_2, Modrm|Space0F3A|EVex128|VexW0|Masking|Disp8MemShift=4|NoSuf|ATTSyntax, { Imm8, RegXMM|Unspecified|BaseIndex, RegMask } +vfpclasspbf16y, 0xf266, AVX10_2, Modrm|Space0F3A|EVex256|VexW0|Masking|Disp8MemShift=5|NoSuf|ATTSyntax, { Imm8, RegYMM|Unspecified|BaseIndex, RegMask } +vfpclasspbf16z, 0xf266, AVX10_2, Modrm|Space0F3A|EVex512|VexW0|Masking|Disp8MemShift=6|NoSuf|ATTSyntax, { Imm8, RegZMM|Unspecified|BaseIndex, RegMask } +vgetexppbf16, 0x42, AVX10_2, Modrm|Map6|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } +vgetmantpbf16, 0xf226, AVX10_2, Modrm|Space0F3A|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } +vrcppbf16, 0x4c, AVX10_2, Modrm|Map6|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } +vreducenepbf16, 0xf256, AVX10_2, Modrm|Space0F3A|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } +vrndscalenepbf16, 0xf208, AVX10_2, Modrm|Space0F3A|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } +vrsqrtpbf16, 0x4e, AVX10_2, Modrm|Map6|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } +vscalefnepbf16, 0x2c, AVX10_2, Modrm|Map6|Src1VVVV|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +vsqrtnepbf16, 0x6651, AVX10_2, Modrm|Map5|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + +vcomsbf16, 0x662f, AVX10_2, Modrm|Map5|EVexLIG|VexW0|Disp8MemShift=1|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegXMM } + // AVX10.2 instructions end.