From patchwork Thu Oct 17 07:28:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haochen Jiang X-Patchwork-Id: 99068 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 95B723858C3A for ; Thu, 17 Oct 2024 07:29:10 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) by sourceware.org (Postfix) with ESMTPS id F366C3858D20 for ; Thu, 17 Oct 2024 07:28:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F366C3858D20 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 F366C3858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=192.198.163.14 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729150119; cv=none; b=qY4fcQZcraUdLsDix5LJhqd01kiMi6aQ76sFSWgqQ/dc0fNZtN0qoOzKSvCZJkeqz3cjzsdYaj3tCHSCBzpFHXe8x20gSBcWn/8EnYdW+eR+RRuyNxpzU1J5XVWjY+ivOip4VyCGgrUkJn0GNxyde0DwC7clTMGUmzBgAWOOHFg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729150119; c=relaxed/simple; bh=sSmwaK2cwiX4dvWIfjpA6ifo1OMG2DUoy5drV+b4WMw=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=ShLBtKr44PzHB6xtlGM+3w+iz+a8UDFiLULvyeDa1ot0IbaeqI5Izra9dUfpraB1m6qJvVJH4/beTdbIiHVo3ghsoW9AJO40uYvwAYh9RdSZdV901uDnX+tZpNJyJ34ikoPcGEpqrud9a6o7C71Zk2woiJcfXAGh2tcjJTmc2Ik= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1729150107; x=1760686107; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=sSmwaK2cwiX4dvWIfjpA6ifo1OMG2DUoy5drV+b4WMw=; b=ks19gKa0qA1GSX9V3JmrEYhSt8nQC1IV6gUGDfl3E7j2V2ouUA4iXvkH Nsf+awtvnlOuwxFNyIJF/RKoVh7clLplOO2Tp0RwmOMhq/ECZw22bQBju IfcGFlXmor45CZkruWQnQVlk5gvRMKzNQ7PE4BOUtmTlS6pIlUrFRCM4f Zo6MKihWUOleRkOmKVyI0bDekB/EFw0PAXqHSw0k2fQilSHuHp7odWsUI V9xkHY0g/dAf/fWvnTXdiA0vtP4KoZtcMi9QXxeqYE6a5GGsRGANpZY27 GUzAQETGvJ8jczRcn0qBIimaqrU4q6ZjM/HOFfLQvqw1mz0oihft4OmBF w==; X-CSE-ConnectionGUID: GFEjyKu0TzuxjP2fIpARsQ== X-CSE-MsgGUID: zqG2E3SNSI+85/ebyK94Sg== X-IronPort-AV: E=McAfee;i="6700,10204,11227"; a="28830470" X-IronPort-AV: E=Sophos;i="6.11,210,1725346800"; d="scan'208";a="28830470" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Oct 2024 00:28:25 -0700 X-CSE-ConnectionGUID: CKDKSwmdR4Ct/aFwDCLq5Q== X-CSE-MsgGUID: sNN5TUm+RjWGqiyPxcvsBA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,210,1725346800"; d="scan'208";a="78120665" Received: from shliclel4217.sh.intel.com ([10.239.240.127]) by fmviesa007.fm.intel.com with ESMTP; 17 Oct 2024 00:28:23 -0700 From: Haochen Jiang To: binutils@sourceware.org Cc: hjl.tools@gmail.com, jbeulich@suse.com, Kong Lingling Subject: [PATCH v2] Support Intel AVX10.2 BF16 instructions Date: Thu, 17 Oct 2024 15:28:22 +0800 Message-Id: <20241017072822.2440473-1-haochen.jiang@intel.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-Spam-Status: No, score=-10.7 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, The AVX10.2 SPEC just released v2 with vgetexppbf16 encoding change: https://cdrdv2.intel.com/v1/dl/getContent/836199 It is a good news that we don't have to pend this patch. v2 patch comes following with changes and patch description. Ok for trunk? Thx, Haochen --- Changes in v2: - Update vgetexppbf16 encoding: 66.MAP5.42 --> NP.MAP6.42 --- 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. 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 | 35 + opcodes/i386-mnem.h | 4080 +++++++++-------- opcodes/i386-opc.tbl | 20 + opcodes/i386-tbl.h | 414 +- 20 files changed, 4974 insertions(+), 2041 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..25831446cc7 --- /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+vscalefpbf16 ymm6,ymm5,ymm4 +\s*[a-f0-9]+:\s*62 f6 54 08 2c f4\s+vscalefpbf16 xmm6,xmm5,xmm4 +\s*[a-f0-9]+:\s*62 f6 54 2f 2c b4 f4 00 00 00 10\s+vscalefpbf16 ymm6\{k7\},ymm5,YMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 38 2c 31\s+vscalefpbf16 ymm6,ymm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 28 2c 71 7f\s+vscalefpbf16 ymm6,ymm5,YMMWORD PTR \[ecx\+0xfe0\] +\s*[a-f0-9]+:\s*62 f6 54 bf 2c 72 80\s+vscalefpbf16 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+vscalefpbf16 xmm6\{k7\},xmm5,XMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 18 2c 31\s+vscalefpbf16 xmm6,xmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 08 2c 71 7f\s+vscalefpbf16 xmm6,xmm5,XMMWORD PTR \[ecx\+0x7f0\] +\s*[a-f0-9]+:\s*62 f6 54 9f 2c 72 80\s+vscalefpbf16 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..a426bf149ea --- /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+vscalefpbf16 %ymm4,%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 08 2c f4\s+vscalefpbf16 %xmm4,%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 2f 2c b4 f4 00 00 00 10\s+vscalefpbf16 0x10000000\(%esp,%esi,8\),%ymm5,%ymm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 38 2c 31\s+vscalefpbf16 \(%ecx\)\{1to16\},%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 28 2c 71 7f\s+vscalefpbf16 0xfe0\(%ecx\),%ymm5,%ymm6 +\s*[a-f0-9]+:\s*62 f6 54 bf 2c 72 80\s+vscalefpbf16 -0x100\(%edx\)\{1to16\},%ymm5,%ymm6\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 f6 54 0f 2c b4 f4 00 00 00 10\s+vscalefpbf16 0x10000000\(%esp,%esi,8\),%xmm5,%xmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 18 2c 31\s+vscalefpbf16 \(%ecx\)\{1to8\},%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 08 2c 71 7f\s+vscalefpbf16 0x7f0\(%ecx\),%xmm5,%xmm6 +\s*[a-f0-9]+:\s*62 f6 54 9f 2c 72 80\s+vscalefpbf16 -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..db4721514df --- /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, scalef, 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, scalef, subne + v\m\()pbf16 ymm6, ymm5, ymm4 + v\m\()pbf16 xmm6, xmm5, xmm4 + v\m\()pbf16 ymm6{k7}, ymm5, YMMWORD PTR [esp+esi*8+0x10000000] + v\m\()pbf16 ymm6, ymm5, WORD PTR [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, XMMWORD PTR [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, WORD PTR [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, WORD PTR [ecx]{1to16} + vf\m\n\(\())nepbf16 ymm6, ymm5, YMMWORD PTR [ecx+4064] + vf\m\n\(\())nepbf16 ymm6{k7}{z}, ymm5, WORD PTR [edx-256]{1to16} + vf\m\n\(\())nepbf16 xmm6{k7}, xmm5, XMMWORD PTR [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, WORD PTR [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}, XMMWORD PTR [esp+esi*8+0x10000000] + v\m\()pbf16 xmm6, WORD PTR [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}, YMMWORD PTR [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}, WORD PTR [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, WORD PTR [ecx]{1to8}, 123 + v\m\()pbf16 xmm6, XMMWORD PTR [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, WORD PTR [ecx]{1to16}, 123 + v\m\()pbf16 ymm6, YMMWORD PTR [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, XMMWORD PTR [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, WORD PTR [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, YMMWORD PTR [ecx+4064], 123 + vcmppbf16 k5{k7}, ymm5, WORD PTR [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, WORD PTR [ecx]{1to8}, 123 + vfpclasspbf16 k5, XMMWORD PTR [ecx+2032], 123 + vfpclasspbf16 k5{k7}, WORD PTR [edx-256]{1to8}, 123 + vfpclasspbf16 k5, WORD PTR [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..e64981cb9d7 --- /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+vscalefpbf16 zmm6,zmm5,zmm4 +\s*[a-f0-9]+:\s*62 f6 54 4f 2c b4 f4 00 00 00 10\s+vscalefpbf16 zmm6\{k7\},zmm5,ZMMWORD PTR \[esp\+esi\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 f6 54 58 2c 31\s+vscalefpbf16 zmm6,zmm5,WORD BCST \[ecx\] +\s*[a-f0-9]+:\s*62 f6 54 48 2c 71 7f\s+vscalefpbf16 zmm6,zmm5,ZMMWORD PTR \[ecx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 f6 54 df 2c 72 80\s+vscalefpbf16 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..e1d04858d67 --- /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+vscalefpbf16 %zmm4,%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 4f 2c b4 f4 00 00 00 10\s+vscalefpbf16 0x10000000\(%esp,%esi,8\),%zmm5,%zmm6\{%k7\} +\s*[a-f0-9]+:\s*62 f6 54 58 2c 31\s+vscalefpbf16 \(%ecx\)\{1to32\},%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 48 2c 71 7f\s+vscalefpbf16 0x1fc0\(%ecx\),%zmm5,%zmm6 +\s*[a-f0-9]+:\s*62 f6 54 df 2c 72 80\s+vscalefpbf16 -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..0e44a0aa15a --- /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, scalef, 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, scalef, subne + v\m\()pbf16 zmm6, zmm5, zmm4 + v\m\()pbf16 zmm6{k7}, zmm5, ZMMWORD PTR [esp+esi*8+0x10000000] + v\m\()pbf16 zmm6, zmm5, WORD PTR [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, ZMMWORD PTR [ecx+8128] + vf\m\n\(\())nepbf16 zmm6{k7}{z}, zmm5, WORD PTR [edx-256]{1to32} + .endr + .endr + + .irp m, getexp, rcp, rsqrt, sqrtne + v\m\()pbf16 zmm6, zmm5 + v\m\()pbf16 zmm6{k7}, ZMMWORD PTR [esp+esi*8+0x10000000] + v\m\()pbf16 zmm6, WORD PTR [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, ZMMWORD PTR [ecx+8128], 123 + v\m\()pbf16 zmm6{k7}{z}, WORD PTR [edx-256]{1to32}, 123 + .endr + + vcmppbf16 k5, zmm5, zmm4, 123 + vcmppbf16 k5{k7}, zmm5, ZMMWORD PTR [esp+esi*8+0x10000000], 123 + vcmppbf16 k5, zmm5, WORD PTR [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}, WORD PTR [edx-256]{1to32}, 123 diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 0a979ccf16a..7a3be5d5b5a 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -531,6 +531,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..fd20c83c0a0 --- /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+vscalefpbf16 ymm30,ymm29,ymm28 +\s*[a-f0-9]+:\s*62 06 14 00 2c f4\s+vscalefpbf16 xmm30,xmm29,xmm28 +\s*[a-f0-9]+:\s*62 26 14 27 2c b4 f5 00 00 00 10\s+vscalefpbf16 ymm30\{k7\},ymm29,YMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 30 2c 31\s+vscalefpbf16 ymm30,ymm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 20 2c 71 7f\s+vscalefpbf16 ymm30,ymm29,YMMWORD PTR \[rcx\+0xfe0\] +\s*[a-f0-9]+:\s*62 66 14 b7 2c 72 80\s+vscalefpbf16 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+vscalefpbf16 xmm30\{k7\},xmm29,XMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 10 2c 31\s+vscalefpbf16 xmm30,xmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 00 2c 71 7f\s+vscalefpbf16 xmm30,xmm29,XMMWORD PTR \[rcx\+0x7f0\] +\s*[a-f0-9]+:\s*62 66 14 97 2c 72 80\s+vscalefpbf16 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..56ae4ad517d --- /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+vscalefpbf16 %ymm28,%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 06 14 00 2c f4\s+vscalefpbf16 %xmm28,%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 26 14 27 2c b4 f5 00 00 00 10\s+vscalefpbf16 0x10000000\(%rbp,%r14,8\),%ymm29,%ymm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 30 2c 31\s+vscalefpbf16 \(%r9\)\{1to16\},%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 20 2c 71 7f\s+vscalefpbf16 0xfe0\(%rcx\),%ymm29,%ymm30 +\s*[a-f0-9]+:\s*62 66 14 b7 2c 72 80\s+vscalefpbf16 -0x100\(%rdx\)\{1to16\},%ymm29,%ymm30\{%k7\}\{z\} +\s*[a-f0-9]+:\s*62 26 14 07 2c b4 f5 00 00 00 10\s+vscalefpbf16 0x10000000\(%rbp,%r14,8\),%xmm29,%xmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 10 2c 31\s+vscalefpbf16 \(%r9\)\{1to8\},%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 00 2c 71 7f\s+vscalefpbf16 0x7f0\(%rcx\),%xmm29,%xmm30 +\s*[a-f0-9]+:\s*62 66 14 97 2c 72 80\s+vscalefpbf16 -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..00381feb3e3 --- /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, scalef, 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, scalef, subne + v\m\()pbf16 ymm30, ymm29, ymm28 + v\m\()pbf16 xmm30, xmm29, xmm28 + v\m\()pbf16 ymm30{k7}, ymm29, YMMWORD PTR [rbp+r14*8+0x10000000] + v\m\()pbf16 ymm30, ymm29, WORD PTR [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, XMMWORD PTR [rbp+r14*8+0x10000000] + v\m\()pbf16 xmm30, xmm29, WORD PTR [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, YMMWORD PTR [rcx+4064] + vf\m\n\(\())nepbf16 ymm30{k7}{z}, ymm29, WORD PTR [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, XMMWORD PTR [rcx+2032] + vf\m\n\(\())nepbf16 xmm30{k7}{z}, xmm29, WORD PTR [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}, XMMWORD PTR [rbp+r14*8+0x10000000] + v\m\()pbf16 xmm30, WORD PTR [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, YMMWORD PTR [rcx+4064] + v\m\()pbf16 ymm30{k7}{z}, WORD PTR [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, XMMWORD PTR [rcx+2032], 123 + v\m\()pbf16 xmm30{k7}{z}, WORD PTR [rdx-256]{1to8}, 123 + v\m\()pbf16 ymm30{k7}, YMMWORD PTR [rbp+r14*8+0x10000000], 123 + v\m\()pbf16 ymm30, WORD PTR [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, XMMWORD PTR [rbp+r14*8+0x10000000], 123 + vcmppbf16 k5, xmm29, WORD PTR [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, YMMWORD PTR [rbp+r14*8+0x10000000], 123 + vcmppbf16 k5, ymm29, WORD PTR [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, WORD PTR [r9] + vcomsbf16 xmm30, WORD PTR [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}, WORD PTR [rdx-256]{1to8}, 123 + vfpclasspbf16 k5, WORD PTR [r9]{1to16}, 123 + vfpclasspbf16 k5, YMMWORD PTR [rcx+4064], 123 + vfpclasspbf16 k5{k7}, WORD PTR [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..b9454c9111c --- /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+vscalefpbf16 zmm30,zmm29,zmm28 +\s*[a-f0-9]+:\s*62 26 14 47 2c b4 f5 00 00 00 10\s+vscalefpbf16 zmm30\{k7\},zmm29,ZMMWORD PTR \[rbp\+r14\*8\+0x10000000\] +\s*[a-f0-9]+:\s*62 46 14 50 2c 31\s+vscalefpbf16 zmm30,zmm29,WORD BCST \[r9\] +\s*[a-f0-9]+:\s*62 66 14 40 2c 71 7f\s+vscalefpbf16 zmm30,zmm29,ZMMWORD PTR \[rcx\+0x1fc0\] +\s*[a-f0-9]+:\s*62 66 14 d7 2c 72 80\s+vscalefpbf16 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..c95b3b68494 --- /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+vscalefpbf16 %zmm28,%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 26 14 47 2c b4 f5 00 00 00 10\s+vscalefpbf16 0x10000000\(%rbp,%r14,8\),%zmm29,%zmm30\{%k7\} +\s*[a-f0-9]+:\s*62 46 14 50 2c 31\s+vscalefpbf16 \(%r9\)\{1to32\},%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 40 2c 71 7f\s+vscalefpbf16 0x1fc0\(%rcx\),%zmm29,%zmm30 +\s*[a-f0-9]+:\s*62 66 14 d7 2c 72 80\s+vscalefpbf16 -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..dd6d8c31fcb --- /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, scalef, 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, scalef, subne + v\m\()pbf16 zmm30, zmm29, zmm28 + v\m\()pbf16 zmm30{k7}, zmm29, ZMMWORD PTR [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, WORD PTR [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, WORD PTR [r9]{1to32} + vf\m\n\(\())nepbf16 zmm30, zmm29, ZMMWORD PTR [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}, ZMMWORD PTR [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}, WORD PTR [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, WORD PTR [r9]{1to32}, 123 + v\m\()pbf16 zmm30, ZMMWORD PTR [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, ZMMWORD PTR [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, WORD PTR [rdx-256]{1to32}, 123 + + vfpclasspbf16 k5, zmm29, 123 + vfpclasspbf16 k5{k7}, ZMMWORD PTR [rbp+r14*8+0x10000000], 123 + vfpclasspbf16 k5, WORD PTR [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 2ba211e1cc7..74462c13302 100644 --- a/gas/testsuite/gas/i386/x86-64.exp +++ b/gas/testsuite/gas/i386/x86-64.exp @@ -509,6 +509,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..11893818d73 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 */ + { + { "vscalefp%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 9cf7edbbc0e..73831534036 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -1242,8 +1242,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, }; @@ -1830,6 +1846,7 @@ struct dis386 { "LP" => print 'w' or 'l' ('d' in Intel mode) if instruction has an operand size prefix, or suffix_always is true. print 'q' if rex prefix is present. + "XB" => print 'bf16' if EVEX.W=0, EVEX.W=1 is not a valid encoding (for BF16) Many of the above letters print nothing in Intel mode. See "putop" for the details. @@ -10445,6 +10462,24 @@ putop (instr_info *ins, const char *in_template, int sizeflag) goto case_B; } + else if (l == 1 && last[0] == 'X') + { + if (ins->vex.w == 0) + { + *ins->obufp++ = 'b'; + *ins->obufp++ = 'f'; + *ins->obufp++ = '1'; + *ins->obufp++ = '6'; + } + else + { + *ins->obufp++ = '{'; + *ins->obufp++ = 'b'; + *ins->obufp++ = 'a'; + *ins->obufp++ = 'd'; + *ins->obufp++ = '}'; + } + } else abort (); break; diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl index 96719f9ba57..2eae1b3e299 100644 --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -3452,4 +3452,24 @@ vcvthf82ph, 0xf21e, AVX10_2, Modrm|EVexMap5|EVex128|VexW0|Masking|Disp8MemShift= vcvthf82ph, 0xf21e, AVX10_2, Modrm|EVexMap5|EVex256|VexW0|Masking|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } vcvthf82ph, 0xf21e, AVX10_2, Modrm|EVexMap5|EVex512|VexW0|Masking|Disp8MemShift=5|NoSuf, { RegYMM|Unspecified|BaseIndex, RegZMM } +vpbf16, 0x66, AVX10_2, Modrm|EVexMap5|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|EVexMap6|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|EVexMap6|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|EVexMap6|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|EVexMap6|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } +vscalefpbf16, 0x2c, AVX10_2, Modrm|EVexMap6|Src1VVVV|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +vsqrtnepbf16, 0x6651, AVX10_2, Modrm|EVexMap5|VexW0|Masking|Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf, { RegXMM|RegYMM|RegZMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } + +vcomsbf16, 0x662f, AVX10_2, Modrm|EVexMap5|EVexLIG|VexW0|Disp8MemShift=1|NoSuf, { RegXMM|Word|Unspecified|BaseIndex, RegXMM } + // AVX10.2 instructions end.