[llvm] [AMDGPU] Add VOP3P encoding to gfx13 (PR #196252)

Mariusz Sikora via llvm-commits llvm-commits at lists.llvm.org
Thu May 7 00:23:52 PDT 2026


https://github.com/mariusz-sikora-at-amd created https://github.com/llvm/llvm-project/pull/196252

None

>From 259235a801b111200b71e8be13154a5383395b0d Mon Sep 17 00:00:00 2001
From: Ivan Kosarev <ivan.kosarev at amd.com>
Date: Tue, 28 Apr 2026 13:32:24 -0400
Subject: [PATCH] [AMDGPU] Add VOP3P encoding to gfx13

---
 llvm/lib/Target/AMDGPU/VOP3PInstructions.td   |  102 +-
 llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s |    1 +
 llvm/test/MC/AMDGPU/gfx13_asm_vop3p.s         | 1608 +++++++++++++++++
 llvm/test/MC/AMDGPU/gfx13_asm_vop3p_dpp16.s   |   18 +
 llvm/test/MC/AMDGPU/gfx13_asm_vop3p_dpp8.s    |   34 +
 .../test/MC/AMDGPU/gfx13_asm_vop3p_features.s |  125 ++
 6 files changed, 1846 insertions(+), 42 deletions(-)
 create mode 100644 llvm/test/MC/AMDGPU/gfx13_asm_vop3p.s
 create mode 100644 llvm/test/MC/AMDGPU/gfx13_asm_vop3p_dpp16.s
 create mode 100644 llvm/test/MC/AMDGPU/gfx13_asm_vop3p_dpp8.s
 create mode 100644 llvm/test/MC/AMDGPU/gfx13_asm_vop3p_features.s

diff --git a/llvm/lib/Target/AMDGPU/VOP3PInstructions.td b/llvm/lib/Target/AMDGPU/VOP3PInstructions.td
index 7ae93b30e7f03..c7835010032ea 100644
--- a/llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+++ b/llvm/lib/Target/AMDGPU/VOP3PInstructions.td
@@ -2568,20 +2568,27 @@ defm V_DOT4_F32_FP8_FP8 : VOP3P_Realtriple_gfx11_gfx12<0x26>;
 defm V_DOT4_F32_BF8_BF8 : VOP3P_Realtriple_gfx11_gfx12<0x27>;
 
 //===----------------------------------------------------------------------===//
-// GFX12
+// GFX12, GFX13.
 //===----------------------------------------------------------------------===//
 
 multiclass VOP3P_Real_gfx12<bits<8> op> : VOP3P_Real_Base<GFX12Gen, op>;
 
 multiclass VOP3P_Real_gfx1250<bits<8> op> : VOP3P_Real_Base<GFX1250Gen, op>;
 
-multiclass VOP3P_Real_with_name_gfx12<bits<8> op,
+multiclass VOP3P_Real_gfx1250_gfx13<bits<8> op> :
+  VOP3P_Real_gfx1250<op>, VOP3P_Real_Base<GFX13Gen, op>;
+
+multiclass VOP3P_Real_with_name_gfx12_gfx13<bits<8> op,
                           string backing_ps_name = NAME,
                           string asmName = !cast<VOP3P_Pseudo>(NAME).Mnemonic> :
-  VOP3P_Real_with_name<GFX12Gen, op, backing_ps_name, asmName>;
+  VOP3P_Real_with_name<GFX12Gen, op, backing_ps_name, asmName>,
+  VOP3P_Real_with_name<GFX13Gen, op, backing_ps_name, asmName>;
+
+multiclass VOP3P_Realtriple_gfx1250_gfx13<bits<8> op> :
+  VOP3P_Realtriple<GFX1250Gen, op>, VOP3P_Realtriple<GFX13Gen, op>;
 
-defm V_PK_MIN_NUM_F16 : VOP3P_Real_with_name_gfx12<0x1b, "V_PK_MIN_F16", "v_pk_min_num_f16">;
-defm V_PK_MAX_NUM_F16 : VOP3P_Real_with_name_gfx12<0x1c, "V_PK_MAX_F16", "v_pk_max_num_f16">;
+defm V_PK_MIN_NUM_F16 : VOP3P_Real_with_name_gfx12_gfx13<0x1b, "V_PK_MIN_F16", "v_pk_min_num_f16">;
+defm V_PK_MAX_NUM_F16 : VOP3P_Real_with_name_gfx12_gfx13<0x1c, "V_PK_MAX_F16", "v_pk_max_num_f16">;
 
 defm V_PK_FMA_F32 : VOP3P_Real_gfx12<0x1f>;
 defm V_PK_MUL_F32 : VOP3P_Real_gfx12<0x28>;
@@ -2595,19 +2602,19 @@ defm V_PK_MAX3_I16     : VOP3P_Real_gfx1250<0x2f>;
 defm V_PK_MAX3_U16     : VOP3P_Real_gfx1250<0x30>;
 defm V_PK_MIN3_I16     : VOP3P_Real_gfx1250<0x31>;
 defm V_PK_MIN3_U16     : VOP3P_Real_gfx1250<0x32>;
-defm V_PK_FMA_BF16     : VOP3P_Real_gfx1250<0x11>;
-defm V_PK_ADD_BF16     : VOP3P_Real_gfx1250<0x23>;
-defm V_PK_MUL_BF16     : VOP3P_Real_gfx1250<0x2a>;
-defm V_PK_MIN_NUM_BF16 : VOP3P_Real_gfx1250<0x2b>;
-defm V_PK_MAX_NUM_BF16 : VOP3P_Real_gfx1250<0x2c>;
+defm V_PK_FMA_BF16     : VOP3P_Real_gfx1250_gfx13<0x11>;
+defm V_PK_ADD_BF16     : VOP3P_Real_gfx1250_gfx13<0x23>;
+defm V_PK_MUL_BF16     : VOP3P_Real_gfx1250_gfx13<0x2a>;
+defm V_PK_MIN_NUM_BF16 : VOP3P_Real_gfx1250_gfx13<0x2b>;
+defm V_PK_MAX_NUM_BF16 : VOP3P_Real_gfx1250_gfx13<0x2c>;
 defm V_PK_MINIMUM3_F16 : VOP3P_Real_gfx1250<0x36>;
 defm V_PK_MAXIMUM3_F16 : VOP3P_Real_gfx1250<0x37>;
 defm V_PK_MIN3_NUM_F16 : VOP3P_Real_gfx1250<0x38>;
 defm V_PK_MAX3_NUM_F16 : VOP3P_Real_gfx1250<0x39>;
 
-defm V_FMA_MIX_F32_BF16 : VOP3P_Realtriple<GFX1250Gen, 0x3d>;
-defm V_FMA_MIXLO_BF16   : VOP3P_Realtriple<GFX1250Gen, 0x3e>;
-defm V_FMA_MIXHI_BF16   : VOP3P_Realtriple<GFX1250Gen, 0x3f>;
+defm V_FMA_MIX_F32_BF16 : VOP3P_Realtriple_gfx1250_gfx13<0x3d>;
+defm V_FMA_MIXLO_BF16   : VOP3P_Realtriple_gfx1250_gfx13<0x3e>;
+defm V_FMA_MIXHI_BF16   : VOP3P_Realtriple_gfx1250_gfx13<0x3f>;
 
 let PostEncoderMethod = "postEncodeVOP3<true, true, false>" in {
   defm V_WMMA_LD_SCALE_PAIRED_B32   : VOP3P_Real_gfx1250<0x35>;
@@ -2632,15 +2639,18 @@ multiclass VOP3P_Real_with_name_gfx1170<bits<8> op,
 defm V_PK_MIN_NUM_F16 : VOP3P_Real_with_name_gfx1170<0x11, "V_PK_MIN_F16", "v_pk_min_num_f16">;
 defm V_PK_MAX_NUM_F16 : VOP3P_Real_with_name_gfx1170<0x12, "V_PK_MAX_F16", "v_pk_max_num_f16">;
 
-defm V_PK_MINIMUM_F16 : VOP3P_Real_gfx11_gfx12<0x1d>;
-defm V_PK_MAXIMUM_F16 : VOP3P_Real_gfx11_gfx12<0x1e>;
-
 //===----------------------------------------------------------------------===//
-// GFX11
+// GFX11, GFX12, GFX13.
 //===----------------------------------------------------------------------===//
+multiclass VOP3P_Real_gfx11_gfx12_gfx13<bits<8> op> :
+  VOP3P_Real_gfx11_gfx12<op>, VOP3P_Real_Base<GFX13Gen, op>;
+
+defm V_PK_MINIMUM_F16 : VOP3P_Real_gfx11_gfx12_gfx13<0x1d>;
+defm V_PK_MAXIMUM_F16 : VOP3P_Real_gfx11_gfx12_gfx13<0x1e>;
+
+defm V_DOT4_I32_IU8  : VOP3P_Real_gfx11_gfx12_gfx13<0x16>;
+defm V_DOT8_I32_IU4  : VOP3P_Real_gfx11_gfx12_gfx13<0x18>;
 
-defm V_DOT4_I32_IU8  : VOP3P_Real_gfx11_gfx12<0x16>;
-defm V_DOT8_I32_IU4  : VOP3P_Real_gfx11_gfx12<0x18>;
 defm V_DOT2_F32_BF16 : VOP3P_Realtriple_gfx11_gfx12<0x1a>;
 
 let AssemblerPredicate = isGFX11Plus in {
@@ -3006,7 +3016,7 @@ defm V_PK_ADD_F32 : VOP3P_Real_vi <0x32>;
 defm V_PK_MOV_B32 : VOP3P_Real_vi <0x33>;
 
 //===----------------------------------------------------------------------===//
-// GFX10.
+// GFX10, GFX11, GFX12, GFX13.
 //===----------------------------------------------------------------------===//
 
 let AssemblerPredicate = isGFX10Only, DecoderNamespace = "GFX10", VOP3P = 1 in {
@@ -3019,6 +3029,10 @@ let AssemblerPredicate = isGFX10Only, DecoderNamespace = "GFX10", VOP3P = 1 in {
 multiclass VOP3P_Real_gfx10_gfx11<bits<8> op> :
   VOP3P_Real_gfx10<op>, VOP3P_Real_Base<GFX11Gen, op>;
 
+multiclass VOP3P_Real_gfx10_gfx11_gfx12_gfx13<bits<8> op> :
+  VOP3P_Real_gfx10_gfx11<op>, VOP3P_Real_Base<GFX12Gen, op>,
+  VOP3P_Real_Base<GFX13Gen, op>;
+
 multiclass VOP3P_Real_gfx10_gfx11_not_gfx1170<bits<8> op> :
   VOP3P_Real_gfx10<op>, VOP3P_Real_Base<GFX11Not11_70Gen, op>;
 
@@ -3029,35 +3043,39 @@ multiclass VOP3P_Real_gfx10_gfx11_gfx12_Triple<bits<8> op> :
   VOP3P_Real_gfx10<op>, VOP3P_Realtriple<GFX11Gen, op>,
   VOP3P_Realtriple<GFX12Gen, op>;
 
-defm V_PK_MAD_I16     : VOP3P_Real_gfx10_gfx11_gfx12<0x00>;
-defm V_PK_MUL_LO_U16  : VOP3P_Real_gfx10_gfx11_gfx12<0x01>;
-defm V_PK_ADD_I16     : VOP3P_Real_gfx10_gfx11_gfx12<0x02>;
-defm V_PK_SUB_I16     : VOP3P_Real_gfx10_gfx11_gfx12<0x03>;
-defm V_PK_LSHLREV_B16 : VOP3P_Real_gfx10_gfx11_gfx12<0x04>;
-defm V_PK_LSHRREV_B16 : VOP3P_Real_gfx10_gfx11_gfx12<0x05>;
-defm V_PK_ASHRREV_I16 : VOP3P_Real_gfx10_gfx11_gfx12<0x06>;
-defm V_PK_MAX_I16     : VOP3P_Real_gfx10_gfx11_gfx12<0x07>;
-defm V_PK_MIN_I16     : VOP3P_Real_gfx10_gfx11_gfx12<0x08>;
-defm V_PK_MAD_U16     : VOP3P_Real_gfx10_gfx11_gfx12<0x09>;
-defm V_PK_ADD_U16     : VOP3P_Real_gfx10_gfx11_gfx12<0x0a>;
-defm V_PK_SUB_U16     : VOP3P_Real_gfx10_gfx11_gfx12<0x0b>;
-defm V_PK_MAX_U16     : VOP3P_Real_gfx10_gfx11_gfx12<0x0c>;
-defm V_PK_MIN_U16     : VOP3P_Real_gfx10_gfx11_gfx12<0x0d>;
-defm V_PK_FMA_F16     : VOP3P_Real_gfx10_gfx11_gfx12<0x0e>;
-defm V_PK_ADD_F16     : VOP3P_Real_gfx10_gfx11_gfx12<0x0f>;
-defm V_PK_MUL_F16     : VOP3P_Real_gfx10_gfx11_gfx12<0x10>;
+multiclass VOP3P_Real_gfx10_gfx11_gfx12_gfx13_Triple<bits<8> op> :
+  VOP3P_Real_gfx10_gfx11_gfx12_Triple<op>,
+  VOP3P_Realtriple<GFX13Gen, op>;
+
+defm V_PK_MAD_I16     : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x00>;
+defm V_PK_MUL_LO_U16  : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x01>;
+defm V_PK_ADD_I16     : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x02>;
+defm V_PK_SUB_I16     : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x03>;
+defm V_PK_LSHLREV_B16 : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x04>;
+defm V_PK_LSHRREV_B16 : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x05>;
+defm V_PK_ASHRREV_I16 : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x06>;
+defm V_PK_MAX_I16     : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x07>;
+defm V_PK_MIN_I16     : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x08>;
+defm V_PK_MAD_U16     : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x09>;
+defm V_PK_ADD_U16     : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x0a>;
+defm V_PK_SUB_U16     : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x0b>;
+defm V_PK_MAX_U16     : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x0c>;
+defm V_PK_MIN_U16     : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x0d>;
+defm V_PK_FMA_F16     : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x0e>;
+defm V_PK_ADD_F16     : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x0f>;
+defm V_PK_MUL_F16     : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x10>;
 defm V_PK_MIN_F16     : VOP3P_Real_gfx10_gfx11_not_gfx1170<0x11>;
 defm V_PK_MAX_F16     : VOP3P_Real_gfx10_gfx11_not_gfx1170<0x12>;
-defm V_FMA_MIX_F32    : VOP3P_Real_gfx10_gfx11_gfx12_Triple<0x20>;
-defm V_FMA_MIXLO_F16  : VOP3P_Real_gfx10_gfx11_gfx12_Triple<0x21>;
-defm V_FMA_MIXHI_F16  : VOP3P_Real_gfx10_gfx11_gfx12_Triple<0x22>;
+defm V_FMA_MIX_F32    : VOP3P_Real_gfx10_gfx11_gfx12_gfx13_Triple<0x20>;
+defm V_FMA_MIXLO_F16  : VOP3P_Real_gfx10_gfx11_gfx12_gfx13_Triple<0x21>;
+defm V_FMA_MIXHI_F16  : VOP3P_Real_gfx10_gfx11_gfx12_gfx13_Triple<0x22>;
 
 defm V_DOT2_I32_I16 : VOP3P_Real_gfx10 <0x14>;
 defm V_DOT2_U32_U16 : VOP3P_Real_gfx10 <0x15>;
 
 defm V_DOT2_F32_F16 : VOP3P_Real_gfx10_gfx11_gfx12_Triple<0x13>;
-defm V_DOT4_U32_U8  : VOP3P_Real_gfx10_gfx11_gfx12<0x17>;
-defm V_DOT8_U32_U4  : VOP3P_Real_gfx10_gfx11_gfx12<0x19>;
+defm V_DOT4_U32_U8  : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x17>;
+defm V_DOT8_U32_U4  : VOP3P_Real_gfx10_gfx11_gfx12_gfx13<0x19>;
 
 defm V_DOT4_I32_I8  : VOP3P_Real_gfx10 <0x16>;
 defm V_DOT8_I32_I4  : VOP3P_Real_gfx10 <0x18>;
diff --git a/llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s b/llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s
index f7ee690c79211..566978544c596 100644
--- a/llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s
+++ b/llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s
@@ -1,5 +1,6 @@
 // NOTE: Assertions have been autogenerated by utils/update_mc_test_checks.py UTC_ARGS: --unique --sort --version 6
 // RUN: llvm-mc -triple=amdgcn -mcpu=gfx1200 -mattr=+wavefrontsize32 -show-encoding %s | FileCheck --check-prefixes=GFX12 %s
+// RUN: llvm-mc -triple=amdgcn -mcpu=gfx1310 -mattr=+wavefrontsize32 -show-encoding %s | FileCheck --check-prefixes=GFX12 %s
 
 v_dot4_i32_i8 v5, v1, v2, s3
 // GFX12: v_dot4_i32_iu8 v5, v1, v2, s3           ; encoding: [0x05,0x40,0x16,0xcc,0x01,0x05,0x0e,0x18]
diff --git a/llvm/test/MC/AMDGPU/gfx13_asm_vop3p.s b/llvm/test/MC/AMDGPU/gfx13_asm_vop3p.s
new file mode 100644
index 0000000000000..3055a0fe43206
--- /dev/null
+++ b/llvm/test/MC/AMDGPU/gfx13_asm_vop3p.s
@@ -0,0 +1,1608 @@
+// NOTE: Assertions have been autogenerated by utils/update_mc_test_checks.py UTC_ARGS: --version 6
+// RUN: llvm-mc -triple=amdgcn -show-encoding -mcpu=gfx1310 %s | FileCheck --check-prefix=GFX13 %s
+// RUN: llvm-mc -triple=amdgcn -show-encoding -mcpu=gfx1310 %s | %extract-encodings | llvm-mc -triple=amdgcn -show-encoding -mcpu=gfx1310 -disassemble | FileCheck --check-prefix=GFX13 %s
+
+v_dot4_i32_iu8 v255, 0xaf123456, vcc_hi, null neg_lo:[0,0,0]
+// GFX13: v_dot4_i32_iu8 v255, 0xaf123456, vcc_hi, null ; encoding: [0xff,0x40,0x16,0xcc,0xff,0xd6,0xf0,0x19,0x56,0x34,0x12,0xaf]
+
+v_dot4_i32_iu8 v5, -1, exec_hi, src_scc
+// GFX13: v_dot4_i32_iu8 v5, -1, exec_hi, src_scc ; encoding: [0x05,0x40,0x16,0xcc,0xc1,0xfe,0xf4,0x1b]
+
+v_dot4_i32_iu8 v5, 0.5, m0, 0.5 neg_lo:[1,0,0]
+// GFX13: v_dot4_i32_iu8 v5, 0.5, m0, 0.5 neg_lo:[1,0,0] ; encoding: [0x05,0x40,0x16,0xcc,0xf0,0xfa,0xc0,0x3b]
+
+v_dot4_i32_iu8 v5, exec_hi, null, vcc_lo
+// GFX13: v_dot4_i32_iu8 v5, exec_hi, null, vcc_lo ; encoding: [0x05,0x40,0x16,0xcc,0x7f,0xf8,0xa8,0x19]
+
+v_dot4_i32_iu8 v5, exec_lo, -1, vcc_hi
+// GFX13: v_dot4_i32_iu8 v5, exec_lo, -1, vcc_hi  ; encoding: [0x05,0x40,0x16,0xcc,0x7e,0x82,0xad,0x19]
+
+v_dot4_i32_iu8 v5, m0, 0.5, m0
+// GFX13: v_dot4_i32_iu8 v5, m0, 0.5, m0          ; encoding: [0x05,0x40,0x16,0xcc,0x7d,0xe0,0xf5,0x19]
+
+v_dot4_i32_iu8 v5, null, exec_lo, 0xaf123456
+// GFX13: v_dot4_i32_iu8 v5, null, exec_lo, 0xaf123456 ; encoding: [0x05,0x40,0x16,0xcc,0x7c,0xfc,0xfc,0x1b,0x56,0x34,0x12,0xaf]
+
+v_dot4_i32_iu8 v5, s1, v255, exec_hi
+// GFX13: v_dot4_i32_iu8 v5, s1, v255, exec_hi    ; encoding: [0x05,0x40,0x16,0xcc,0x01,0xfe,0xff,0x19]
+
+v_dot4_i32_iu8 v5, s105, s105, exec_lo
+// GFX13: v_dot4_i32_iu8 v5, s105, s105, exec_lo  ; encoding: [0x05,0x40,0x16,0xcc,0x69,0xd2,0xf8,0x19]
+
+v_dot4_i32_iu8 v5, src_scc, vcc_lo, -1 neg_lo:[0,1,0]
+// GFX13: v_dot4_i32_iu8 v5, src_scc, vcc_lo, -1 neg_lo:[0,1,0] ; encoding: [0x05,0x40,0x16,0xcc,0xfd,0xd4,0x04,0x5b]
+
+v_dot4_i32_iu8 v5, ttmp15, src_scc, ttmp15
+// GFX13: v_dot4_i32_iu8 v5, ttmp15, src_scc, ttmp15 ; encoding: [0x05,0x40,0x16,0xcc,0x7b,0xfa,0xed,0x19]
+
+v_dot4_i32_iu8 v5, v1, v2, s3
+// GFX13: v_dot4_i32_iu8 v5, v1, v2, s3           ; encoding: [0x05,0x40,0x16,0xcc,0x01,0x05,0x0e,0x18]
+
+v_dot4_i32_iu8 v5, v255, s2, s105
+// GFX13: v_dot4_i32_iu8 v5, v255, s2, s105       ; encoding: [0x05,0x40,0x16,0xcc,0xff,0x05,0xa4,0x19]
+
+v_dot4_i32_iu8 v5, vcc_hi, 0xaf123456, v255
+// GFX13: v_dot4_i32_iu8 v5, vcc_hi, 0xaf123456, v255 ; encoding: [0x05,0x40,0x16,0xcc,0x6b,0xfe,0xfd,0x1f,0x56,0x34,0x12,0xaf]
+
+v_dot4_i32_iu8 v5, vcc_lo, ttmp15, v3
+// GFX13: v_dot4_i32_iu8 v5, vcc_lo, ttmp15, v3   ; encoding: [0x05,0x40,0x16,0xcc,0x6a,0xf6,0x0c,0x1c]
+
+v_dot4_u32_u8 v255, 0xaf123456, vcc_hi, null
+// GFX13: v_dot4_u32_u8 v255, 0xaf123456, vcc_hi, null ; encoding: [0xff,0x40,0x17,0xcc,0xff,0xd6,0xf0,0x19,0x56,0x34,0x12,0xaf]
+
+v_dot4_u32_u8 v5, -1, exec_hi, src_scc
+// GFX13: v_dot4_u32_u8 v5, -1, exec_hi, src_scc  ; encoding: [0x05,0x40,0x17,0xcc,0xc1,0xfe,0xf4,0x1b]
+
+v_dot4_u32_u8 v5, 0.5, m0, 0.5
+// GFX13: v_dot4_u32_u8 v5, 0.5, m0, 0.5          ; encoding: [0x05,0x40,0x17,0xcc,0xf0,0xfa,0xc0,0x1b]
+
+v_dot4_u32_u8 v5, exec_hi, null, vcc_lo
+// GFX13: v_dot4_u32_u8 v5, exec_hi, null, vcc_lo ; encoding: [0x05,0x40,0x17,0xcc,0x7f,0xf8,0xa8,0x19]
+
+v_dot4_u32_u8 v5, exec_lo, -1, vcc_hi
+// GFX13: v_dot4_u32_u8 v5, exec_lo, -1, vcc_hi   ; encoding: [0x05,0x40,0x17,0xcc,0x7e,0x82,0xad,0x19]
+
+v_dot4_u32_u8 v5, m0, 0.5, m0
+// GFX13: v_dot4_u32_u8 v5, m0, 0.5, m0           ; encoding: [0x05,0x40,0x17,0xcc,0x7d,0xe0,0xf5,0x19]
+
+v_dot4_u32_u8 v5, null, exec_lo, 0xaf123456
+// GFX13: v_dot4_u32_u8 v5, null, exec_lo, 0xaf123456 ; encoding: [0x05,0x40,0x17,0xcc,0x7c,0xfc,0xfc,0x1b,0x56,0x34,0x12,0xaf]
+
+v_dot4_u32_u8 v5, s1, v255, exec_hi
+// GFX13: v_dot4_u32_u8 v5, s1, v255, exec_hi     ; encoding: [0x05,0x40,0x17,0xcc,0x01,0xfe,0xff,0x19]
+
+v_dot4_u32_u8 v5, s105, s105, exec_lo
+// GFX13: v_dot4_u32_u8 v5, s105, s105, exec_lo   ; encoding: [0x05,0x40,0x17,0xcc,0x69,0xd2,0xf8,0x19]
+
+v_dot4_u32_u8 v5, src_scc, vcc_lo, -1
+// GFX13: v_dot4_u32_u8 v5, src_scc, vcc_lo, -1   ; encoding: [0x05,0x40,0x17,0xcc,0xfd,0xd4,0x04,0x1b]
+
+v_dot4_u32_u8 v5, ttmp15, src_scc, ttmp15
+// GFX13: v_dot4_u32_u8 v5, ttmp15, src_scc, ttmp15 ; encoding: [0x05,0x40,0x17,0xcc,0x7b,0xfa,0xed,0x19]
+
+v_dot4_u32_u8 v5, v1, v2, s3
+// GFX13: v_dot4_u32_u8 v5, v1, v2, s3            ; encoding: [0x05,0x40,0x17,0xcc,0x01,0x05,0x0e,0x18]
+
+v_dot4_u32_u8 v5, v255, s2, s105
+// GFX13: v_dot4_u32_u8 v5, v255, s2, s105        ; encoding: [0x05,0x40,0x17,0xcc,0xff,0x05,0xa4,0x19]
+
+v_dot4_u32_u8 v5, vcc_hi, 0xaf123456, v255
+// GFX13: v_dot4_u32_u8 v5, vcc_hi, 0xaf123456, v255 ; encoding: [0x05,0x40,0x17,0xcc,0x6b,0xfe,0xfd,0x1f,0x56,0x34,0x12,0xaf]
+
+v_dot4_u32_u8 v5, vcc_lo, ttmp15, v3
+// GFX13: v_dot4_u32_u8 v5, vcc_lo, ttmp15, v3    ; encoding: [0x05,0x40,0x17,0xcc,0x6a,0xf6,0x0c,0x1c]
+
+v_dot8_i32_iu4 v255, 0xaf123456, vcc_hi, null neg_lo:[0,0,0] clamp
+// GFX13: v_dot8_i32_iu4 v255, 0xaf123456, vcc_hi, null clamp ; encoding: [0xff,0xc0,0x18,0xcc,0xff,0xd6,0xf0,0x19,0x56,0x34,0x12,0xaf]
+
+v_dot8_i32_iu4 v5, -1, exec_hi, src_scc
+// GFX13: v_dot8_i32_iu4 v5, -1, exec_hi, src_scc ; encoding: [0x05,0x40,0x18,0xcc,0xc1,0xfe,0xf4,0x1b]
+
+v_dot8_i32_iu4 v5, 0.5, m0, 0.5 neg_lo:[1,0,0]
+// GFX13: v_dot8_i32_iu4 v5, 0.5, m0, 0.5 neg_lo:[1,0,0] ; encoding: [0x05,0x40,0x18,0xcc,0xf0,0xfa,0xc0,0x3b]
+
+v_dot8_i32_iu4 v5, exec_hi, null, vcc_lo
+// GFX13: v_dot8_i32_iu4 v5, exec_hi, null, vcc_lo ; encoding: [0x05,0x40,0x18,0xcc,0x7f,0xf8,0xa8,0x19]
+
+v_dot8_i32_iu4 v5, exec_lo, -1, vcc_hi
+// GFX13: v_dot8_i32_iu4 v5, exec_lo, -1, vcc_hi  ; encoding: [0x05,0x40,0x18,0xcc,0x7e,0x82,0xad,0x19]
+
+v_dot8_i32_iu4 v5, m0, 0.5, m0
+// GFX13: v_dot8_i32_iu4 v5, m0, 0.5, m0          ; encoding: [0x05,0x40,0x18,0xcc,0x7d,0xe0,0xf5,0x19]
+
+v_dot8_i32_iu4 v5, null, exec_lo, 0xaf123456
+// GFX13: v_dot8_i32_iu4 v5, null, exec_lo, 0xaf123456 ; encoding: [0x05,0x40,0x18,0xcc,0x7c,0xfc,0xfc,0x1b,0x56,0x34,0x12,0xaf]
+
+v_dot8_i32_iu4 v5, s1, v255, exec_hi
+// GFX13: v_dot8_i32_iu4 v5, s1, v255, exec_hi    ; encoding: [0x05,0x40,0x18,0xcc,0x01,0xfe,0xff,0x19]
+
+v_dot8_i32_iu4 v5, s105, s105, exec_lo
+// GFX13: v_dot8_i32_iu4 v5, s105, s105, exec_lo  ; encoding: [0x05,0x40,0x18,0xcc,0x69,0xd2,0xf8,0x19]
+
+v_dot8_i32_iu4 v5, src_scc, vcc_lo, -1 neg_lo:[0,1,0]
+// GFX13: v_dot8_i32_iu4 v5, src_scc, vcc_lo, -1 neg_lo:[0,1,0] ; encoding: [0x05,0x40,0x18,0xcc,0xfd,0xd4,0x04,0x5b]
+
+v_dot8_i32_iu4 v5, ttmp15, src_scc, ttmp15
+// GFX13: v_dot8_i32_iu4 v5, ttmp15, src_scc, ttmp15 ; encoding: [0x05,0x40,0x18,0xcc,0x7b,0xfa,0xed,0x19]
+
+v_dot8_i32_iu4 v5, v1, v2, s3
+// GFX13: v_dot8_i32_iu4 v5, v1, v2, s3           ; encoding: [0x05,0x40,0x18,0xcc,0x01,0x05,0x0e,0x18]
+
+v_dot8_i32_iu4 v5, v255, s2, s105
+// GFX13: v_dot8_i32_iu4 v5, v255, s2, s105       ; encoding: [0x05,0x40,0x18,0xcc,0xff,0x05,0xa4,0x19]
+
+v_dot8_i32_iu4 v5, vcc_hi, 0xaf123456, v255
+// GFX13: v_dot8_i32_iu4 v5, vcc_hi, 0xaf123456, v255 ; encoding: [0x05,0x40,0x18,0xcc,0x6b,0xfe,0xfd,0x1f,0x56,0x34,0x12,0xaf]
+
+v_dot8_i32_iu4 v5, vcc_lo, ttmp15, v3
+// GFX13: v_dot8_i32_iu4 v5, vcc_lo, ttmp15, v3   ; encoding: [0x05,0x40,0x18,0xcc,0x6a,0xf6,0x0c,0x1c]
+
+v_dot8_u32_u4 v255, 0xaf123456, vcc_hi, null clamp
+// GFX13: v_dot8_u32_u4 v255, 0xaf123456, vcc_hi, null clamp ; encoding: [0xff,0xc0,0x19,0xcc,0xff,0xd6,0xf0,0x19,0x56,0x34,0x12,0xaf]
+
+v_dot8_u32_u4 v5, -1, exec_hi, src_scc
+// GFX13: v_dot8_u32_u4 v5, -1, exec_hi, src_scc  ; encoding: [0x05,0x40,0x19,0xcc,0xc1,0xfe,0xf4,0x1b]
+
+v_dot8_u32_u4 v5, 0.5, m0, 0.5
+// GFX13: v_dot8_u32_u4 v5, 0.5, m0, 0.5          ; encoding: [0x05,0x40,0x19,0xcc,0xf0,0xfa,0xc0,0x1b]
+
+v_dot8_u32_u4 v5, exec_hi, null, vcc_lo
+// GFX13: v_dot8_u32_u4 v5, exec_hi, null, vcc_lo ; encoding: [0x05,0x40,0x19,0xcc,0x7f,0xf8,0xa8,0x19]
+
+v_dot8_u32_u4 v5, exec_lo, -1, vcc_hi
+// GFX13: v_dot8_u32_u4 v5, exec_lo, -1, vcc_hi   ; encoding: [0x05,0x40,0x19,0xcc,0x7e,0x82,0xad,0x19]
+
+v_dot8_u32_u4 v5, m0, 0.5, m0
+// GFX13: v_dot8_u32_u4 v5, m0, 0.5, m0           ; encoding: [0x05,0x40,0x19,0xcc,0x7d,0xe0,0xf5,0x19]
+
+v_dot8_u32_u4 v5, null, exec_lo, 0xaf123456
+// GFX13: v_dot8_u32_u4 v5, null, exec_lo, 0xaf123456 ; encoding: [0x05,0x40,0x19,0xcc,0x7c,0xfc,0xfc,0x1b,0x56,0x34,0x12,0xaf]
+
+v_dot8_u32_u4 v5, s1, v255, exec_hi
+// GFX13: v_dot8_u32_u4 v5, s1, v255, exec_hi     ; encoding: [0x05,0x40,0x19,0xcc,0x01,0xfe,0xff,0x19]
+
+v_dot8_u32_u4 v5, s105, s105, exec_lo
+// GFX13: v_dot8_u32_u4 v5, s105, s105, exec_lo   ; encoding: [0x05,0x40,0x19,0xcc,0x69,0xd2,0xf8,0x19]
+
+v_dot8_u32_u4 v5, src_scc, vcc_lo, -1
+// GFX13: v_dot8_u32_u4 v5, src_scc, vcc_lo, -1   ; encoding: [0x05,0x40,0x19,0xcc,0xfd,0xd4,0x04,0x1b]
+
+v_dot8_u32_u4 v5, ttmp15, src_scc, ttmp15
+// GFX13: v_dot8_u32_u4 v5, ttmp15, src_scc, ttmp15 ; encoding: [0x05,0x40,0x19,0xcc,0x7b,0xfa,0xed,0x19]
+
+v_dot8_u32_u4 v5, v1, v2, s3
+// GFX13: v_dot8_u32_u4 v5, v1, v2, s3            ; encoding: [0x05,0x40,0x19,0xcc,0x01,0x05,0x0e,0x18]
+
+v_dot8_u32_u4 v5, v255, s2, s105
+// GFX13: v_dot8_u32_u4 v5, v255, s2, s105        ; encoding: [0x05,0x40,0x19,0xcc,0xff,0x05,0xa4,0x19]
+
+v_dot8_u32_u4 v5, vcc_hi, 0xaf123456, v255
+// GFX13: v_dot8_u32_u4 v5, vcc_hi, 0xaf123456, v255 ; encoding: [0x05,0x40,0x19,0xcc,0x6b,0xfe,0xfd,0x1f,0x56,0x34,0x12,0xaf]
+
+v_dot8_u32_u4 v5, vcc_lo, ttmp15, v3
+// GFX13: v_dot8_u32_u4 v5, vcc_lo, ttmp15, v3    ; encoding: [0x05,0x40,0x19,0xcc,0x6a,0xf6,0x0c,0x1c]
+
+v_fma_mix_f32 v255, -|src_scc|, -|vcc_hi|, null op_sel:[0,0,1] op_sel_hi:[0,0,0] clamp
+// GFX13: v_fma_mix_f32 v255, -|src_scc|, -|vcc_hi|, null op_sel:[0,0,1] clamp ; encoding: [0xff,0xa3,0x20,0xcc,0xfd,0xd6,0xf0,0x61]
+
+v_fma_mix_f32 v5, -1, -|m0|, -1 op_sel:[1,0,0] op_sel_hi:[0,1,0]
+// GFX13: v_fma_mix_f32 v5, -1, -|m0|, -1 op_sel:[1,0,0] op_sel_hi:[0,1,0] ; encoding: [0x05,0x0a,0x20,0xcc,0xc1,0xfa,0x04,0x53]
+
+v_fma_mix_f32 v5, -m0, -1, |vcc_lo|
+// GFX13: v_fma_mix_f32 v5, -m0, -1, |vcc_lo|     ; encoding: [0x05,0x04,0x20,0xcc,0x7d,0x82,0xa9,0x21]
+
+v_fma_mix_f32 v5, -|exec_hi|, -|exec_lo|, -|exec_lo| op_sel:[1,1,1] op_sel_hi:[1,1,1]
+// GFX13: v_fma_mix_f32 v5, -|exec_hi|, -|exec_lo|, -|exec_lo| op_sel:[1,1,1] op_sel_hi:[1,1,1] ; encoding: [0x05,0x7f,0x20,0xcc,0x7f,0xfc,0xf8,0xf9]
+
+v_fma_mix_f32 v5, -|exec_lo|, null, -|src_scc|
+// GFX13: v_fma_mix_f32 v5, -|exec_lo|, null, -|src_scc| ; encoding: [0x05,0x05,0x20,0xcc,0x7e,0xf8,0xf4,0xa3]
+
+v_fma_mix_f32 v5, 0.5, -|vcc_lo|, -|exec_hi| op_sel:[0,1,0] op_sel_hi:[1,0,0]
+// GFX13: v_fma_mix_f32 v5, 0.5, -|vcc_lo|, -|exec_hi| op_sel:[0,1,0] op_sel_hi:[1,0,0] ; encoding: [0x05,0x16,0x20,0xcc,0xf0,0xd4,0xfc,0xc9]
+
+v_fma_mix_f32 v5, null, exec_hi, 0.5 op_sel:[0,0,0] op_sel_hi:[0,0,1]
+// GFX13: v_fma_mix_f32 v5, null, exec_hi, 0.5 op_sel_hi:[0,0,1] ; encoding: [0x05,0x40,0x20,0xcc,0x7c,0xfe,0xc0,0x03]
+
+v_fma_mix_f32 v5, s1, s2, v3
+// GFX13: v_fma_mix_f32 v5, s1, s2, v3            ; encoding: [0x05,0x00,0x20,0xcc,0x01,0x04,0x0c,0x04]
+
+v_fma_mix_f32 v5, s105, s105, m0
+// GFX13: v_fma_mix_f32 v5, s105, s105, m0        ; encoding: [0x05,0x00,0x20,0xcc,0x69,0xd2,0xf4,0x01]
+
+v_fma_mix_f32 v5, v1, v2, s3
+// GFX13: v_fma_mix_f32 v5, v1, v2, s3            ; encoding: [0x05,0x00,0x20,0xcc,0x01,0x05,0x0e,0x00]
+
+v_fma_mix_f32 v5, v255, v255, s105
+// GFX13: v_fma_mix_f32 v5, v255, v255, s105      ; encoding: [0x05,0x00,0x20,0xcc,0xff,0xff,0xa7,0x01]
+
+v_fma_mix_f32 v5, vcc_hi, src_scc, v255
+// GFX13: v_fma_mix_f32 v5, vcc_hi, src_scc, v255 ; encoding: [0x05,0x00,0x20,0xcc,0x6b,0xfa,0xfd,0x07]
+
+v_fma_mix_f32 v5, vcc_lo, ttmp15, ttmp15
+// GFX13: v_fma_mix_f32 v5, vcc_lo, ttmp15, ttmp15 ; encoding: [0x05,0x00,0x20,0xcc,0x6a,0xf6,0xec,0x01]
+
+v_fma_mix_f32 v5, |ttmp15|, 0.5, -vcc_hi
+// GFX13: v_fma_mix_f32 v5, |ttmp15|, 0.5, -vcc_hi ; encoding: [0x05,0x01,0x20,0xcc,0x7b,0xe0,0xad,0x81]
+
+v_fma_mix_f32_bf16 v255, -|src_scc|, -|vcc_hi|, null op_sel:[0,0,1] op_sel_hi:[0,0,0] clamp
+// GFX13: v_fma_mix_f32_bf16 v255, -|src_scc|, -|vcc_hi|, null op_sel:[0,0,1] clamp ; encoding: [0xff,0xa3,0x3d,0xcc,0xfd,0xd6,0xf0,0x61]
+
+v_fma_mix_f32_bf16 v5, -1, -|m0|, -1 op_sel:[1,0,0] op_sel_hi:[0,1,0]
+// GFX13: v_fma_mix_f32_bf16 v5, -1, -|m0|, -1 op_sel:[1,0,0] op_sel_hi:[0,1,0] ; encoding: [0x05,0x0a,0x3d,0xcc,0xc1,0xfa,0x04,0x53]
+
+v_fma_mix_f32_bf16 v5, -m0, -1, |vcc_lo|
+// GFX13: v_fma_mix_f32_bf16 v5, -m0, -1, |vcc_lo| ; encoding: [0x05,0x04,0x3d,0xcc,0x7d,0x82,0xa9,0x21]
+
+v_fma_mix_f32_bf16 v5, -|exec_hi|, -|exec_lo|, -|exec_lo| op_sel:[1,1,1] op_sel_hi:[1,1,1]
+// GFX13: v_fma_mix_f32_bf16 v5, -|exec_hi|, -|exec_lo|, -|exec_lo| op_sel:[1,1,1] op_sel_hi:[1,1,1] ; encoding: [0x05,0x7f,0x3d,0xcc,0x7f,0xfc,0xf8,0xf9]
+
+v_fma_mix_f32_bf16 v5, -|exec_lo|, null, -|src_scc|
+// GFX13: v_fma_mix_f32_bf16 v5, -|exec_lo|, null, -|src_scc| ; encoding: [0x05,0x05,0x3d,0xcc,0x7e,0xf8,0xf4,0xa3]
+
+v_fma_mix_f32_bf16 v5, 0.5, -|vcc_lo|, -|exec_hi| op_sel:[0,1,0] op_sel_hi:[1,0,0]
+// GFX13: v_fma_mix_f32_bf16 v5, 0.5, -|vcc_lo|, -|exec_hi| op_sel:[0,1,0] op_sel_hi:[1,0,0] ; encoding: [0x05,0x16,0x3d,0xcc,0xf0,0xd4,0xfc,0xc9]
+
+v_fma_mix_f32_bf16 v5, null, exec_hi, 0.5 op_sel:[0,0,0] op_sel_hi:[0,0,1]
+// GFX13: v_fma_mix_f32_bf16 v5, null, exec_hi, 0.5 op_sel_hi:[0,0,1] ; encoding: [0x05,0x40,0x3d,0xcc,0x7c,0xfe,0xc0,0x03]
+
+v_fma_mix_f32_bf16 v5, s1, s2, v3
+// GFX13: v_fma_mix_f32_bf16 v5, s1, s2, v3       ; encoding: [0x05,0x00,0x3d,0xcc,0x01,0x04,0x0c,0x04]
+
+v_fma_mix_f32_bf16 v5, s105, s105, m0
+// GFX13: v_fma_mix_f32_bf16 v5, s105, s105, m0   ; encoding: [0x05,0x00,0x3d,0xcc,0x69,0xd2,0xf4,0x01]
+
+v_fma_mix_f32_bf16 v5, v1, v2, s3
+// GFX13: v_fma_mix_f32_bf16 v5, v1, v2, s3       ; encoding: [0x05,0x00,0x3d,0xcc,0x01,0x05,0x0e,0x00]
+
+v_fma_mix_f32_bf16 v5, v255, v255, s105
+// GFX13: v_fma_mix_f32_bf16 v5, v255, v255, s105 ; encoding: [0x05,0x00,0x3d,0xcc,0xff,0xff,0xa7,0x01]
+
+v_fma_mix_f32_bf16 v5, vcc_hi, src_scc, v255
+// GFX13: v_fma_mix_f32_bf16 v5, vcc_hi, src_scc, v255 ; encoding: [0x05,0x00,0x3d,0xcc,0x6b,0xfa,0xfd,0x07]
+
+v_fma_mix_f32_bf16 v5, vcc_lo, ttmp15, ttmp15
+// GFX13: v_fma_mix_f32_bf16 v5, vcc_lo, ttmp15, ttmp15 ; encoding: [0x05,0x00,0x3d,0xcc,0x6a,0xf6,0xec,0x01]
+
+v_fma_mix_f32_bf16 v5, |ttmp15|, 0.5, -vcc_hi
+// GFX13: v_fma_mix_f32_bf16 v5, |ttmp15|, 0.5, -vcc_hi ; encoding: [0x05,0x01,0x3d,0xcc,0x7b,0xe0,0xad,0x81]
+
+v_fma_mixhi_bf16 v255, -|src_scc|, -|vcc_hi|, null op_sel:[0,0,1] op_sel_hi:[0,0,0] clamp
+// GFX13: v_fma_mixhi_bf16 v255, -|src_scc|, -|vcc_hi|, null op_sel:[0,0,1] clamp ; encoding: [0xff,0xa3,0x3f,0xcc,0xfd,0xd6,0xf0,0x61]
+
+v_fma_mixhi_bf16 v5, -1, -|m0|, -1 op_sel:[1,0,0] op_sel_hi:[0,1,0]
+// GFX13: v_fma_mixhi_bf16 v5, -1, -|m0|, -1 op_sel:[1,0,0] op_sel_hi:[0,1,0] ; encoding: [0x05,0x0a,0x3f,0xcc,0xc1,0xfa,0x04,0x53]
+
+v_fma_mixhi_bf16 v5, -m0, -1, |vcc_lo|
+// GFX13: v_fma_mixhi_bf16 v5, -m0, -1, |vcc_lo|  ; encoding: [0x05,0x04,0x3f,0xcc,0x7d,0x82,0xa9,0x21]
+
+v_fma_mixhi_bf16 v5, -|exec_hi|, -|exec_lo|, -|exec_lo| op_sel:[1,1,1] op_sel_hi:[1,1,1]
+// GFX13: v_fma_mixhi_bf16 v5, -|exec_hi|, -|exec_lo|, -|exec_lo| op_sel:[1,1,1] op_sel_hi:[1,1,1] ; encoding: [0x05,0x7f,0x3f,0xcc,0x7f,0xfc,0xf8,0xf9]
+
+v_fma_mixhi_bf16 v5, -|exec_lo|, null, -|src_scc|
+// GFX13: v_fma_mixhi_bf16 v5, -|exec_lo|, null, -|src_scc| ; encoding: [0x05,0x05,0x3f,0xcc,0x7e,0xf8,0xf4,0xa3]
+
+v_fma_mixhi_bf16 v5, 0.5, -|vcc_lo|, -|exec_hi| op_sel:[0,1,0] op_sel_hi:[1,0,0]
+// GFX13: v_fma_mixhi_bf16 v5, 0.5, -|vcc_lo|, -|exec_hi| op_sel:[0,1,0] op_sel_hi:[1,0,0] ; encoding: [0x05,0x16,0x3f,0xcc,0xf0,0xd4,0xfc,0xc9]
+
+v_fma_mixhi_bf16 v5, null, exec_hi, 0.5 op_sel:[0,0,0] op_sel_hi:[0,0,1]
+// GFX13: v_fma_mixhi_bf16 v5, null, exec_hi, 0.5 op_sel_hi:[0,0,1] ; encoding: [0x05,0x40,0x3f,0xcc,0x7c,0xfe,0xc0,0x03]
+
+v_fma_mixhi_bf16 v5, s1, s2, v3
+// GFX13: v_fma_mixhi_bf16 v5, s1, s2, v3         ; encoding: [0x05,0x00,0x3f,0xcc,0x01,0x04,0x0c,0x04]
+
+v_fma_mixhi_bf16 v5, s105, s105, m0
+// GFX13: v_fma_mixhi_bf16 v5, s105, s105, m0     ; encoding: [0x05,0x00,0x3f,0xcc,0x69,0xd2,0xf4,0x01]
+
+v_fma_mixhi_bf16 v5, v1, v2, s3
+// GFX13: v_fma_mixhi_bf16 v5, v1, v2, s3         ; encoding: [0x05,0x00,0x3f,0xcc,0x01,0x05,0x0e,0x00]
+
+v_fma_mixhi_bf16 v5, v255, v255, s105
+// GFX13: v_fma_mixhi_bf16 v5, v255, v255, s105   ; encoding: [0x05,0x00,0x3f,0xcc,0xff,0xff,0xa7,0x01]
+
+v_fma_mixhi_bf16 v5, vcc_hi, src_scc, v255
+// GFX13: v_fma_mixhi_bf16 v5, vcc_hi, src_scc, v255 ; encoding: [0x05,0x00,0x3f,0xcc,0x6b,0xfa,0xfd,0x07]
+
+v_fma_mixhi_bf16 v5, vcc_lo, ttmp15, ttmp15
+// GFX13: v_fma_mixhi_bf16 v5, vcc_lo, ttmp15, ttmp15 ; encoding: [0x05,0x00,0x3f,0xcc,0x6a,0xf6,0xec,0x01]
+
+v_fma_mixhi_bf16 v5, |ttmp15|, 0.5, -vcc_hi
+// GFX13: v_fma_mixhi_bf16 v5, |ttmp15|, 0.5, -vcc_hi ; encoding: [0x05,0x01,0x3f,0xcc,0x7b,0xe0,0xad,0x81]
+
+v_fma_mixhi_f16 v255, -|src_scc|, -|vcc_hi|, null op_sel:[0,0,1] op_sel_hi:[0,0,0] clamp
+// GFX13: v_fma_mixhi_f16 v255, -|src_scc|, -|vcc_hi|, null op_sel:[0,0,1] clamp ; encoding: [0xff,0xa3,0x22,0xcc,0xfd,0xd6,0xf0,0x61]
+
+v_fma_mixhi_f16 v5, -1, -|m0|, -1 op_sel:[1,0,0] op_sel_hi:[0,1,0]
+// GFX13: v_fma_mixhi_f16 v5, -1, -|m0|, -1 op_sel:[1,0,0] op_sel_hi:[0,1,0] ; encoding: [0x05,0x0a,0x22,0xcc,0xc1,0xfa,0x04,0x53]
+
+v_fma_mixhi_f16 v5, -m0, -1, |vcc_lo|
+// GFX13: v_fma_mixhi_f16 v5, -m0, -1, |vcc_lo|   ; encoding: [0x05,0x04,0x22,0xcc,0x7d,0x82,0xa9,0x21]
+
+v_fma_mixhi_f16 v5, -|exec_hi|, -|exec_lo|, -|exec_lo| op_sel:[1,1,1] op_sel_hi:[1,1,1]
+// GFX13: v_fma_mixhi_f16 v5, -|exec_hi|, -|exec_lo|, -|exec_lo| op_sel:[1,1,1] op_sel_hi:[1,1,1] ; encoding: [0x05,0x7f,0x22,0xcc,0x7f,0xfc,0xf8,0xf9]
+
+v_fma_mixhi_f16 v5, -|exec_lo|, null, -|src_scc|
+// GFX13: v_fma_mixhi_f16 v5, -|exec_lo|, null, -|src_scc| ; encoding: [0x05,0x05,0x22,0xcc,0x7e,0xf8,0xf4,0xa3]
+
+v_fma_mixhi_f16 v5, 0.5, -|vcc_lo|, -|exec_hi| op_sel:[0,1,0] op_sel_hi:[1,0,0]
+// GFX13: v_fma_mixhi_f16 v5, 0.5, -|vcc_lo|, -|exec_hi| op_sel:[0,1,0] op_sel_hi:[1,0,0] ; encoding: [0x05,0x16,0x22,0xcc,0xf0,0xd4,0xfc,0xc9]
+
+v_fma_mixhi_f16 v5, null, exec_hi, 0.5 op_sel:[0,0,0] op_sel_hi:[0,0,1]
+// GFX13: v_fma_mixhi_f16 v5, null, exec_hi, 0.5 op_sel_hi:[0,0,1] ; encoding: [0x05,0x40,0x22,0xcc,0x7c,0xfe,0xc0,0x03]
+
+v_fma_mixhi_f16 v5, s1, s2, v3
+// GFX13: v_fma_mixhi_f16 v5, s1, s2, v3          ; encoding: [0x05,0x00,0x22,0xcc,0x01,0x04,0x0c,0x04]
+
+v_fma_mixhi_f16 v5, s105, s105, m0
+// GFX13: v_fma_mixhi_f16 v5, s105, s105, m0      ; encoding: [0x05,0x00,0x22,0xcc,0x69,0xd2,0xf4,0x01]
+
+v_fma_mixhi_f16 v5, v1, v2, s3
+// GFX13: v_fma_mixhi_f16 v5, v1, v2, s3          ; encoding: [0x05,0x00,0x22,0xcc,0x01,0x05,0x0e,0x00]
+
+v_fma_mixhi_f16 v5, v255, v255, s105
+// GFX13: v_fma_mixhi_f16 v5, v255, v255, s105    ; encoding: [0x05,0x00,0x22,0xcc,0xff,0xff,0xa7,0x01]
+
+v_fma_mixhi_f16 v5, vcc_hi, src_scc, v255
+// GFX13: v_fma_mixhi_f16 v5, vcc_hi, src_scc, v255 ; encoding: [0x05,0x00,0x22,0xcc,0x6b,0xfa,0xfd,0x07]
+
+v_fma_mixhi_f16 v5, vcc_lo, ttmp15, ttmp15
+// GFX13: v_fma_mixhi_f16 v5, vcc_lo, ttmp15, ttmp15 ; encoding: [0x05,0x00,0x22,0xcc,0x6a,0xf6,0xec,0x01]
+
+v_fma_mixhi_f16 v5, |ttmp15|, 0.5, -vcc_hi
+// GFX13: v_fma_mixhi_f16 v5, |ttmp15|, 0.5, -vcc_hi ; encoding: [0x05,0x01,0x22,0xcc,0x7b,0xe0,0xad,0x81]
+
+v_fma_mixlo_bf16 v255, -|src_scc|, -|vcc_hi|, null op_sel:[0,0,1] op_sel_hi:[0,0,0] clamp
+// GFX13: v_fma_mixlo_bf16 v255, -|src_scc|, -|vcc_hi|, null op_sel:[0,0,1] clamp ; encoding: [0xff,0xa3,0x3e,0xcc,0xfd,0xd6,0xf0,0x61]
+
+v_fma_mixlo_bf16 v5, -1, -|m0|, -1 op_sel:[1,0,0] op_sel_hi:[0,1,0]
+// GFX13: v_fma_mixlo_bf16 v5, -1, -|m0|, -1 op_sel:[1,0,0] op_sel_hi:[0,1,0] ; encoding: [0x05,0x0a,0x3e,0xcc,0xc1,0xfa,0x04,0x53]
+
+v_fma_mixlo_bf16 v5, -m0, -1, |vcc_lo|
+// GFX13: v_fma_mixlo_bf16 v5, -m0, -1, |vcc_lo|  ; encoding: [0x05,0x04,0x3e,0xcc,0x7d,0x82,0xa9,0x21]
+
+v_fma_mixlo_bf16 v5, -|exec_hi|, -|exec_lo|, -|exec_lo| op_sel:[1,1,1] op_sel_hi:[1,1,1]
+// GFX13: v_fma_mixlo_bf16 v5, -|exec_hi|, -|exec_lo|, -|exec_lo| op_sel:[1,1,1] op_sel_hi:[1,1,1] ; encoding: [0x05,0x7f,0x3e,0xcc,0x7f,0xfc,0xf8,0xf9]
+
+v_fma_mixlo_bf16 v5, -|exec_lo|, null, -|src_scc|
+// GFX13: v_fma_mixlo_bf16 v5, -|exec_lo|, null, -|src_scc| ; encoding: [0x05,0x05,0x3e,0xcc,0x7e,0xf8,0xf4,0xa3]
+
+v_fma_mixlo_bf16 v5, 0.5, -|vcc_lo|, -|exec_hi| op_sel:[0,1,0] op_sel_hi:[1,0,0]
+// GFX13: v_fma_mixlo_bf16 v5, 0.5, -|vcc_lo|, -|exec_hi| op_sel:[0,1,0] op_sel_hi:[1,0,0] ; encoding: [0x05,0x16,0x3e,0xcc,0xf0,0xd4,0xfc,0xc9]
+
+v_fma_mixlo_bf16 v5, null, exec_hi, 0.5 op_sel:[0,0,0] op_sel_hi:[0,0,1]
+// GFX13: v_fma_mixlo_bf16 v5, null, exec_hi, 0.5 op_sel_hi:[0,0,1] ; encoding: [0x05,0x40,0x3e,0xcc,0x7c,0xfe,0xc0,0x03]
+
+v_fma_mixlo_bf16 v5, s1, s2, v3
+// GFX13: v_fma_mixlo_bf16 v5, s1, s2, v3         ; encoding: [0x05,0x00,0x3e,0xcc,0x01,0x04,0x0c,0x04]
+
+v_fma_mixlo_bf16 v5, s105, s105, m0
+// GFX13: v_fma_mixlo_bf16 v5, s105, s105, m0     ; encoding: [0x05,0x00,0x3e,0xcc,0x69,0xd2,0xf4,0x01]
+
+v_fma_mixlo_bf16 v5, v1, v2, s3
+// GFX13: v_fma_mixlo_bf16 v5, v1, v2, s3         ; encoding: [0x05,0x00,0x3e,0xcc,0x01,0x05,0x0e,0x00]
+
+v_fma_mixlo_bf16 v5, v255, v255, s105
+// GFX13: v_fma_mixlo_bf16 v5, v255, v255, s105   ; encoding: [0x05,0x00,0x3e,0xcc,0xff,0xff,0xa7,0x01]
+
+v_fma_mixlo_bf16 v5, vcc_hi, src_scc, v255
+// GFX13: v_fma_mixlo_bf16 v5, vcc_hi, src_scc, v255 ; encoding: [0x05,0x00,0x3e,0xcc,0x6b,0xfa,0xfd,0x07]
+
+v_fma_mixlo_bf16 v5, vcc_lo, ttmp15, ttmp15
+// GFX13: v_fma_mixlo_bf16 v5, vcc_lo, ttmp15, ttmp15 ; encoding: [0x05,0x00,0x3e,0xcc,0x6a,0xf6,0xec,0x01]
+
+v_fma_mixlo_bf16 v5, |ttmp15|, 0.5, -vcc_hi
+// GFX13: v_fma_mixlo_bf16 v5, |ttmp15|, 0.5, -vcc_hi ; encoding: [0x05,0x01,0x3e,0xcc,0x7b,0xe0,0xad,0x81]
+
+v_fma_mixlo_f16 v255, -|src_scc|, -|vcc_hi|, null op_sel:[0,0,1] op_sel_hi:[0,0,0] clamp
+// GFX13: v_fma_mixlo_f16 v255, -|src_scc|, -|vcc_hi|, null op_sel:[0,0,1] clamp ; encoding: [0xff,0xa3,0x21,0xcc,0xfd,0xd6,0xf0,0x61]
+
+v_fma_mixlo_f16 v5, -1, -|m0|, -1 op_sel:[1,0,0] op_sel_hi:[0,1,0]
+// GFX13: v_fma_mixlo_f16 v5, -1, -|m0|, -1 op_sel:[1,0,0] op_sel_hi:[0,1,0] ; encoding: [0x05,0x0a,0x21,0xcc,0xc1,0xfa,0x04,0x53]
+
+v_fma_mixlo_f16 v5, -m0, -1, |vcc_lo|
+// GFX13: v_fma_mixlo_f16 v5, -m0, -1, |vcc_lo|   ; encoding: [0x05,0x04,0x21,0xcc,0x7d,0x82,0xa9,0x21]
+
+v_fma_mixlo_f16 v5, -|exec_hi|, -|exec_lo|, -|exec_lo| op_sel:[1,1,1] op_sel_hi:[1,1,1]
+// GFX13: v_fma_mixlo_f16 v5, -|exec_hi|, -|exec_lo|, -|exec_lo| op_sel:[1,1,1] op_sel_hi:[1,1,1] ; encoding: [0x05,0x7f,0x21,0xcc,0x7f,0xfc,0xf8,0xf9]
+
+v_fma_mixlo_f16 v5, -|exec_lo|, null, -|src_scc|
+// GFX13: v_fma_mixlo_f16 v5, -|exec_lo|, null, -|src_scc| ; encoding: [0x05,0x05,0x21,0xcc,0x7e,0xf8,0xf4,0xa3]
+
+v_fma_mixlo_f16 v5, 0.5, -|vcc_lo|, -|exec_hi| op_sel:[0,1,0] op_sel_hi:[1,0,0]
+// GFX13: v_fma_mixlo_f16 v5, 0.5, -|vcc_lo|, -|exec_hi| op_sel:[0,1,0] op_sel_hi:[1,0,0] ; encoding: [0x05,0x16,0x21,0xcc,0xf0,0xd4,0xfc,0xc9]
+
+v_fma_mixlo_f16 v5, null, exec_hi, 0.5 op_sel:[0,0,0] op_sel_hi:[0,0,1]
+// GFX13: v_fma_mixlo_f16 v5, null, exec_hi, 0.5 op_sel_hi:[0,0,1] ; encoding: [0x05,0x40,0x21,0xcc,0x7c,0xfe,0xc0,0x03]
+
+v_fma_mixlo_f16 v5, s1, s2, v3
+// GFX13: v_fma_mixlo_f16 v5, s1, s2, v3          ; encoding: [0x05,0x00,0x21,0xcc,0x01,0x04,0x0c,0x04]
+
+v_fma_mixlo_f16 v5, s105, s105, m0
+// GFX13: v_fma_mixlo_f16 v5, s105, s105, m0      ; encoding: [0x05,0x00,0x21,0xcc,0x69,0xd2,0xf4,0x01]
+
+v_fma_mixlo_f16 v5, v1, v2, s3
+// GFX13: v_fma_mixlo_f16 v5, v1, v2, s3          ; encoding: [0x05,0x00,0x21,0xcc,0x01,0x05,0x0e,0x00]
+
+v_fma_mixlo_f16 v5, v255, v255, s105
+// GFX13: v_fma_mixlo_f16 v5, v255, v255, s105    ; encoding: [0x05,0x00,0x21,0xcc,0xff,0xff,0xa7,0x01]
+
+v_fma_mixlo_f16 v5, vcc_hi, src_scc, v255
+// GFX13: v_fma_mixlo_f16 v5, vcc_hi, src_scc, v255 ; encoding: [0x05,0x00,0x21,0xcc,0x6b,0xfa,0xfd,0x07]
+
+v_fma_mixlo_f16 v5, vcc_lo, ttmp15, ttmp15
+// GFX13: v_fma_mixlo_f16 v5, vcc_lo, ttmp15, ttmp15 ; encoding: [0x05,0x00,0x21,0xcc,0x6a,0xf6,0xec,0x01]
+
+v_fma_mixlo_f16 v5, |ttmp15|, 0.5, -vcc_hi
+// GFX13: v_fma_mixlo_f16 v5, |ttmp15|, 0.5, -vcc_hi ; encoding: [0x05,0x01,0x21,0xcc,0x7b,0xe0,0xad,0x81]
+
+v_pk_add_bf16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp
+// GFX13: v_pk_add_bf16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp ; encoding: [0xff,0xd3,0x23,0xcc,0xff,0xd6,0x00,0x6a,0x0b,0xfe,0x00,0x00]
+
+v_pk_add_bf16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0]
+// GFX13: v_pk_add_bf16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0] ; encoding: [0x05,0x59,0x23,0xcc,0xc1,0xfe,0x00,0x22]
+
+v_pk_add_bf16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1] neg_lo:[0,1] neg_hi:[0,1]
+// GFX13: v_pk_add_bf16 v5, 0.5, m0 neg_lo:[0,1] neg_hi:[0,1] ; encoding: [0x05,0x42,0x23,0xcc,0xf0,0xfa,0x00,0x5a]
+
+v_pk_add_bf16 v5, exec_hi, null
+// GFX13: v_pk_add_bf16 v5, exec_hi, null         ; encoding: [0x05,0x40,0x23,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_add_bf16 v5, exec_lo, -1
+// GFX13: v_pk_add_bf16 v5, exec_lo, -1           ; encoding: [0x05,0x40,0x23,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_add_bf16 v5, m0, 0.5
+// GFX13: v_pk_add_bf16 v5, m0, 0.5               ; encoding: [0x05,0x40,0x23,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_add_bf16 v5, null, exec_lo
+// GFX13: v_pk_add_bf16 v5, null, exec_lo         ; encoding: [0x05,0x40,0x23,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_add_bf16 v5, s1, s2
+// GFX13: v_pk_add_bf16 v5, s1, s2                ; encoding: [0x05,0x40,0x23,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_add_bf16 v5, s105, s105
+// GFX13: v_pk_add_bf16 v5, s105, s105            ; encoding: [0x05,0x40,0x23,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_add_bf16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] neg_lo:[0,0] neg_hi:[0,0]
+// GFX13: v_pk_add_bf16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x23,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_add_bf16 v5, ttmp15, src_scc
+// GFX13: v_pk_add_bf16 v5, ttmp15, src_scc       ; encoding: [0x05,0x40,0x23,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_add_bf16 v5, v1, v2
+// GFX13: v_pk_add_bf16 v5, v1, v2                ; encoding: [0x05,0x40,0x23,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_add_bf16 v5, v255, v255
+// GFX13: v_pk_add_bf16 v5, v255, v255            ; encoding: [0x05,0x40,0x23,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_add_bf16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_add_bf16 v5, vcc_hi, 0xfe0b        ; encoding: [0x05,0x40,0x23,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_add_bf16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_add_bf16 v5, vcc_lo, ttmp15        ; encoding: [0x05,0x40,0x23,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_add_f16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp
+// GFX13: v_pk_add_f16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp ; encoding: [0xff,0xd3,0x0f,0xcc,0xff,0xd6,0x00,0x6a,0x0b,0xfe,0x00,0x00]
+
+v_pk_add_f16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0]
+// GFX13: v_pk_add_f16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0] ; encoding: [0x05,0x59,0x0f,0xcc,0xc1,0xfe,0x00,0x22]
+
+v_pk_add_f16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1] neg_lo:[0,1] neg_hi:[0,1]
+// GFX13: v_pk_add_f16 v5, 0.5, m0 neg_lo:[0,1] neg_hi:[0,1] ; encoding: [0x05,0x42,0x0f,0xcc,0xf0,0xfa,0x00,0x5a]
+
+v_pk_add_f16 v5, exec_hi, null
+// GFX13: v_pk_add_f16 v5, exec_hi, null          ; encoding: [0x05,0x40,0x0f,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_add_f16 v5, exec_lo, -1
+// GFX13: v_pk_add_f16 v5, exec_lo, -1            ; encoding: [0x05,0x40,0x0f,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_add_f16 v5, m0, 0.5
+// GFX13: v_pk_add_f16 v5, m0, 0.5                ; encoding: [0x05,0x40,0x0f,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_add_f16 v5, null, exec_lo
+// GFX13: v_pk_add_f16 v5, null, exec_lo          ; encoding: [0x05,0x40,0x0f,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_add_f16 v5, s1, s2
+// GFX13: v_pk_add_f16 v5, s1, s2                 ; encoding: [0x05,0x40,0x0f,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_add_f16 v5, s105, s105
+// GFX13: v_pk_add_f16 v5, s105, s105             ; encoding: [0x05,0x40,0x0f,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_add_f16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] neg_lo:[0,0] neg_hi:[0,0]
+// GFX13: v_pk_add_f16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x0f,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_add_f16 v5, ttmp15, src_scc
+// GFX13: v_pk_add_f16 v5, ttmp15, src_scc        ; encoding: [0x05,0x40,0x0f,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_add_f16 v5, v1, v2
+// GFX13: v_pk_add_f16 v5, v1, v2                 ; encoding: [0x05,0x40,0x0f,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_add_f16 v5, v255, v255
+// GFX13: v_pk_add_f16 v5, v255, v255             ; encoding: [0x05,0x40,0x0f,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_add_f16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_add_f16 v5, vcc_hi, 0xfe0b         ; encoding: [0x05,0x40,0x0f,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_add_f16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_add_f16 v5, vcc_lo, ttmp15         ; encoding: [0x05,0x40,0x0f,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_add_i16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] clamp
+// GFX13: v_pk_add_i16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] clamp ; encoding: [0xff,0xd0,0x02,0xcc,0xff,0xd6,0x00,0x0a,0x0b,0xfe,0x00,0x00]
+
+v_pk_add_i16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0]
+// GFX13: v_pk_add_i16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] ; encoding: [0x05,0x58,0x02,0xcc,0xc1,0xfe,0x00,0x02]
+
+v_pk_add_i16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1]
+// GFX13: v_pk_add_i16 v5, 0.5, m0                ; encoding: [0x05,0x40,0x02,0xcc,0xf0,0xfa,0x00,0x1a]
+
+v_pk_add_i16 v5, exec_hi, null
+// GFX13: v_pk_add_i16 v5, exec_hi, null          ; encoding: [0x05,0x40,0x02,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_add_i16 v5, exec_lo, -1
+// GFX13: v_pk_add_i16 v5, exec_lo, -1            ; encoding: [0x05,0x40,0x02,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_add_i16 v5, m0, 0.5
+// GFX13: v_pk_add_i16 v5, m0, 0.5                ; encoding: [0x05,0x40,0x02,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_add_i16 v5, null, exec_lo
+// GFX13: v_pk_add_i16 v5, null, exec_lo          ; encoding: [0x05,0x40,0x02,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_add_i16 v5, s1, s2
+// GFX13: v_pk_add_i16 v5, s1, s2                 ; encoding: [0x05,0x40,0x02,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_add_i16 v5, s105, s105
+// GFX13: v_pk_add_i16 v5, s105, s105             ; encoding: [0x05,0x40,0x02,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_add_i16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1]
+// GFX13: v_pk_add_i16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x02,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_add_i16 v5, ttmp15, src_scc
+// GFX13: v_pk_add_i16 v5, ttmp15, src_scc        ; encoding: [0x05,0x40,0x02,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_add_i16 v5, v1, v2
+// GFX13: v_pk_add_i16 v5, v1, v2                 ; encoding: [0x05,0x40,0x02,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_add_i16 v5, v255, v255
+// GFX13: v_pk_add_i16 v5, v255, v255             ; encoding: [0x05,0x40,0x02,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_add_i16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_add_i16 v5, vcc_hi, 0xfe0b         ; encoding: [0x05,0x40,0x02,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_add_i16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_add_i16 v5, vcc_lo, ttmp15         ; encoding: [0x05,0x40,0x02,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_add_u16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] clamp
+// GFX13: v_pk_add_u16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] clamp ; encoding: [0xff,0xd0,0x0a,0xcc,0xff,0xd6,0x00,0x0a,0x0b,0xfe,0x00,0x00]
+
+v_pk_add_u16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0]
+// GFX13: v_pk_add_u16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] ; encoding: [0x05,0x58,0x0a,0xcc,0xc1,0xfe,0x00,0x02]
+
+v_pk_add_u16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1]
+// GFX13: v_pk_add_u16 v5, 0.5, m0                ; encoding: [0x05,0x40,0x0a,0xcc,0xf0,0xfa,0x00,0x1a]
+
+v_pk_add_u16 v5, exec_hi, null
+// GFX13: v_pk_add_u16 v5, exec_hi, null          ; encoding: [0x05,0x40,0x0a,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_add_u16 v5, exec_lo, -1
+// GFX13: v_pk_add_u16 v5, exec_lo, -1            ; encoding: [0x05,0x40,0x0a,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_add_u16 v5, m0, 0.5
+// GFX13: v_pk_add_u16 v5, m0, 0.5                ; encoding: [0x05,0x40,0x0a,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_add_u16 v5, null, exec_lo
+// GFX13: v_pk_add_u16 v5, null, exec_lo          ; encoding: [0x05,0x40,0x0a,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_add_u16 v5, s1, s2
+// GFX13: v_pk_add_u16 v5, s1, s2                 ; encoding: [0x05,0x40,0x0a,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_add_u16 v5, s105, s105
+// GFX13: v_pk_add_u16 v5, s105, s105             ; encoding: [0x05,0x40,0x0a,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_add_u16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1]
+// GFX13: v_pk_add_u16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x0a,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_add_u16 v5, ttmp15, src_scc
+// GFX13: v_pk_add_u16 v5, ttmp15, src_scc        ; encoding: [0x05,0x40,0x0a,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_add_u16 v5, v1, v2
+// GFX13: v_pk_add_u16 v5, v1, v2                 ; encoding: [0x05,0x40,0x0a,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_add_u16 v5, v255, v255
+// GFX13: v_pk_add_u16 v5, v255, v255             ; encoding: [0x05,0x40,0x0a,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_add_u16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_add_u16 v5, vcc_hi, 0xfe0b         ; encoding: [0x05,0x40,0x0a,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_add_u16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_add_u16 v5, vcc_lo, ttmp15         ; encoding: [0x05,0x40,0x0a,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_ashrrev_i16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0]
+// GFX13: v_pk_ashrrev_i16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] ; encoding: [0xff,0x50,0x06,0xcc,0xff,0xd6,0x00,0x0a,0x0b,0xfe,0x00,0x00]
+
+v_pk_ashrrev_i16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0]
+// GFX13: v_pk_ashrrev_i16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] ; encoding: [0x05,0x58,0x06,0xcc,0xc1,0xfe,0x00,0x02]
+
+v_pk_ashrrev_i16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1]
+// GFX13: v_pk_ashrrev_i16 v5, 0.5, m0            ; encoding: [0x05,0x40,0x06,0xcc,0xf0,0xfa,0x00,0x1a]
+
+v_pk_ashrrev_i16 v5, exec_hi, null
+// GFX13: v_pk_ashrrev_i16 v5, exec_hi, null      ; encoding: [0x05,0x40,0x06,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_ashrrev_i16 v5, exec_lo, -1
+// GFX13: v_pk_ashrrev_i16 v5, exec_lo, -1        ; encoding: [0x05,0x40,0x06,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_ashrrev_i16 v5, m0, 0.5
+// GFX13: v_pk_ashrrev_i16 v5, m0, 0.5            ; encoding: [0x05,0x40,0x06,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_ashrrev_i16 v5, null, exec_lo
+// GFX13: v_pk_ashrrev_i16 v5, null, exec_lo      ; encoding: [0x05,0x40,0x06,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_ashrrev_i16 v5, s1, s2
+// GFX13: v_pk_ashrrev_i16 v5, s1, s2             ; encoding: [0x05,0x40,0x06,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_ashrrev_i16 v5, s105, s105
+// GFX13: v_pk_ashrrev_i16 v5, s105, s105         ; encoding: [0x05,0x40,0x06,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_ashrrev_i16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1]
+// GFX13: v_pk_ashrrev_i16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x06,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_ashrrev_i16 v5, ttmp15, src_scc
+// GFX13: v_pk_ashrrev_i16 v5, ttmp15, src_scc    ; encoding: [0x05,0x40,0x06,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_ashrrev_i16 v5, v1, v2
+// GFX13: v_pk_ashrrev_i16 v5, v1, v2             ; encoding: [0x05,0x40,0x06,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_ashrrev_i16 v5, v255, v255
+// GFX13: v_pk_ashrrev_i16 v5, v255, v255         ; encoding: [0x05,0x40,0x06,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_ashrrev_i16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_ashrrev_i16 v5, vcc_hi, 0xfe0b     ; encoding: [0x05,0x40,0x06,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_ashrrev_i16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_ashrrev_i16 v5, vcc_lo, ttmp15     ; encoding: [0x05,0x40,0x06,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_fma_bf16 v255, 0xfe0b, vcc_hi, null op_sel:[0,0,1] op_sel_hi:[1,1,0] neg_lo:[1,1,1] neg_hi:[1,1,1] clamp
+// GFX13: v_pk_fma_bf16 v255, 0xfe0b, vcc_hi, null op_sel:[0,0,1] op_sel_hi:[1,1,0] neg_lo:[1,1,1] neg_hi:[1,1,1] clamp ; encoding: [0xff,0xa7,0x11,0xcc,0xff,0xd6,0xf0,0xf9,0x0b,0xfe,0x00,0x00]
+
+v_pk_fma_bf16 v5, -1, exec_hi, src_scc op_sel:[0,0,0] op_sel_hi:[1,1,1] neg_lo:[0,1,0] neg_hi:[0,1,0]
+// GFX13: v_pk_fma_bf16 v5, -1, exec_hi, src_scc neg_lo:[0,1,0] neg_hi:[0,1,0] ; encoding: [0x05,0x42,0x11,0xcc,0xc1,0xfe,0xf4,0x5b]
+
+v_pk_fma_bf16 v5, 0.5, m0, 0.5 op_sel:[1,0,0] op_sel_hi:[0,1,1] neg_lo:[0,0,1] neg_hi:[0,0,1]
+// GFX13: v_pk_fma_bf16 v5, 0.5, m0, 0.5 op_sel:[1,0,0] op_sel_hi:[0,1,1] neg_lo:[0,0,1] neg_hi:[0,0,1] ; encoding: [0x05,0x4c,0x11,0xcc,0xf0,0xfa,0xc0,0x93]
+
+v_pk_fma_bf16 v5, exec_hi, null, vcc_lo op_sel_hi:[0,1,0]
+// GFX13: v_pk_fma_bf16 v5, exec_hi, null, vcc_lo op_sel_hi:[0,1,0] ; encoding: [0x05,0x00,0x11,0xcc,0x7f,0xf8,0xa8,0x11]
+
+v_pk_fma_bf16 v5, exec_lo, -1, vcc_hi op_sel_hi:[0,0,1]
+// GFX13: v_pk_fma_bf16 v5, exec_lo, -1, vcc_hi op_sel_hi:[0,0,1] ; encoding: [0x05,0x40,0x11,0xcc,0x7e,0x82,0xad,0x01]
+
+v_pk_fma_bf16 v5, m0, 0.5, m0 op_sel_hi:[0,0,0]
+// GFX13: v_pk_fma_bf16 v5, m0, 0.5, m0 op_sel_hi:[0,0,0] ; encoding: [0x05,0x00,0x11,0xcc,0x7d,0xe0,0xf5,0x01]
+
+v_pk_fma_bf16 v5, null, exec_lo, 0xfe0b op_sel:[1,1,1] op_sel_hi:[1,0,0] neg_lo:[1,0,0] neg_hi:[1,0,0]
+// GFX13: v_pk_fma_bf16 v5, null, exec_lo, 0xfe0b op_sel:[1,1,1] op_sel_hi:[1,0,0] neg_lo:[1,0,0] neg_hi:[1,0,0] ; encoding: [0x05,0x39,0x11,0xcc,0x7c,0xfc,0xfc,0x2b,0x0b,0xfe,0x00,0x00]
+
+v_pk_fma_bf16 v5, s1, v255, exec_hi
+// GFX13: v_pk_fma_bf16 v5, s1, v255, exec_hi     ; encoding: [0x05,0x40,0x11,0xcc,0x01,0xfe,0xff,0x19]
+
+v_pk_fma_bf16 v5, s105, s105, exec_lo
+// GFX13: v_pk_fma_bf16 v5, s105, s105, exec_lo   ; encoding: [0x05,0x40,0x11,0xcc,0x69,0xd2,0xf8,0x19]
+
+v_pk_fma_bf16 v5, src_scc, vcc_lo, -1 op_sel:[0,1,0] op_sel_hi:[1,0,1] neg_lo:[0,0,0] neg_hi:[0,0,0]
+// GFX13: v_pk_fma_bf16 v5, src_scc, vcc_lo, -1 op_sel:[0,1,0] op_sel_hi:[1,0,1] ; encoding: [0x05,0x50,0x11,0xcc,0xfd,0xd4,0x04,0x0b]
+
+v_pk_fma_bf16 v5, ttmp15, src_scc, ttmp15
+// GFX13: v_pk_fma_bf16 v5, ttmp15, src_scc, ttmp15 ; encoding: [0x05,0x40,0x11,0xcc,0x7b,0xfa,0xed,0x19]
+
+v_pk_fma_bf16 v5, v1, v2, s3
+// GFX13: v_pk_fma_bf16 v5, v1, v2, s3            ; encoding: [0x05,0x40,0x11,0xcc,0x01,0x05,0x0e,0x18]
+
+v_pk_fma_bf16 v5, v255, s2, s105
+// GFX13: v_pk_fma_bf16 v5, v255, s2, s105        ; encoding: [0x05,0x40,0x11,0xcc,0xff,0x05,0xa4,0x19]
+
+v_pk_fma_bf16 v5, vcc_hi, 0xfe0b, v255
+// GFX13: v_pk_fma_bf16 v5, vcc_hi, 0xfe0b, v255  ; encoding: [0x05,0x40,0x11,0xcc,0x6b,0xfe,0xfd,0x1f,0x0b,0xfe,0x00,0x00]
+
+v_pk_fma_bf16 v5, vcc_lo, ttmp15, v3
+// GFX13: v_pk_fma_bf16 v5, vcc_lo, ttmp15, v3    ; encoding: [0x05,0x40,0x11,0xcc,0x6a,0xf6,0x0c,0x1c]
+
+v_pk_fma_f16 v255, 0xfe0b, vcc_hi, null op_sel:[0,0,1] op_sel_hi:[1,1,0] neg_lo:[1,1,1] neg_hi:[1,1,1] clamp
+// GFX13: v_pk_fma_f16 v255, 0xfe0b, vcc_hi, null op_sel:[0,0,1] op_sel_hi:[1,1,0] neg_lo:[1,1,1] neg_hi:[1,1,1] clamp ; encoding: [0xff,0xa7,0x0e,0xcc,0xff,0xd6,0xf0,0xf9,0x0b,0xfe,0x00,0x00]
+
+v_pk_fma_f16 v5, -1, exec_hi, src_scc op_sel:[0,0,0] op_sel_hi:[1,1,1] neg_lo:[0,1,0] neg_hi:[0,1,0]
+// GFX13: v_pk_fma_f16 v5, -1, exec_hi, src_scc neg_lo:[0,1,0] neg_hi:[0,1,0] ; encoding: [0x05,0x42,0x0e,0xcc,0xc1,0xfe,0xf4,0x5b]
+
+v_pk_fma_f16 v5, 0.5, m0, 0.5 op_sel:[1,0,0] op_sel_hi:[0,1,1] neg_lo:[0,0,1] neg_hi:[0,0,1]
+// GFX13: v_pk_fma_f16 v5, 0.5, m0, 0.5 op_sel:[1,0,0] op_sel_hi:[0,1,1] neg_lo:[0,0,1] neg_hi:[0,0,1] ; encoding: [0x05,0x4c,0x0e,0xcc,0xf0,0xfa,0xc0,0x93]
+
+v_pk_fma_f16 v5, exec_hi, null, vcc_lo op_sel_hi:[0,1,0]
+// GFX13: v_pk_fma_f16 v5, exec_hi, null, vcc_lo op_sel_hi:[0,1,0] ; encoding: [0x05,0x00,0x0e,0xcc,0x7f,0xf8,0xa8,0x11]
+
+v_pk_fma_f16 v5, exec_lo, -1, vcc_hi op_sel_hi:[0,0,1]
+// GFX13: v_pk_fma_f16 v5, exec_lo, -1, vcc_hi op_sel_hi:[0,0,1] ; encoding: [0x05,0x40,0x0e,0xcc,0x7e,0x82,0xad,0x01]
+
+v_pk_fma_f16 v5, m0, 0.5, m0 op_sel_hi:[0,0,0]
+// GFX13: v_pk_fma_f16 v5, m0, 0.5, m0 op_sel_hi:[0,0,0] ; encoding: [0x05,0x00,0x0e,0xcc,0x7d,0xe0,0xf5,0x01]
+
+v_pk_fma_f16 v5, null, exec_lo, 0xfe0b op_sel:[1,1,1] op_sel_hi:[1,0,0] neg_lo:[1,0,0] neg_hi:[1,0,0]
+// GFX13: v_pk_fma_f16 v5, null, exec_lo, 0xfe0b op_sel:[1,1,1] op_sel_hi:[1,0,0] neg_lo:[1,0,0] neg_hi:[1,0,0] ; encoding: [0x05,0x39,0x0e,0xcc,0x7c,0xfc,0xfc,0x2b,0x0b,0xfe,0x00,0x00]
+
+v_pk_fma_f16 v5, s1, v255, exec_hi
+// GFX13: v_pk_fma_f16 v5, s1, v255, exec_hi      ; encoding: [0x05,0x40,0x0e,0xcc,0x01,0xfe,0xff,0x19]
+
+v_pk_fma_f16 v5, s105, s105, exec_lo
+// GFX13: v_pk_fma_f16 v5, s105, s105, exec_lo    ; encoding: [0x05,0x40,0x0e,0xcc,0x69,0xd2,0xf8,0x19]
+
+v_pk_fma_f16 v5, src_scc, vcc_lo, -1 op_sel:[0,1,0] op_sel_hi:[1,0,1] neg_lo:[0,0,0] neg_hi:[0,0,0]
+// GFX13: v_pk_fma_f16 v5, src_scc, vcc_lo, -1 op_sel:[0,1,0] op_sel_hi:[1,0,1] ; encoding: [0x05,0x50,0x0e,0xcc,0xfd,0xd4,0x04,0x0b]
+
+v_pk_fma_f16 v5, ttmp15, src_scc, ttmp15
+// GFX13: v_pk_fma_f16 v5, ttmp15, src_scc, ttmp15 ; encoding: [0x05,0x40,0x0e,0xcc,0x7b,0xfa,0xed,0x19]
+
+v_pk_fma_f16 v5, v1, v2, s3
+// GFX13: v_pk_fma_f16 v5, v1, v2, s3             ; encoding: [0x05,0x40,0x0e,0xcc,0x01,0x05,0x0e,0x18]
+
+v_pk_fma_f16 v5, v255, s2, s105
+// GFX13: v_pk_fma_f16 v5, v255, s2, s105         ; encoding: [0x05,0x40,0x0e,0xcc,0xff,0x05,0xa4,0x19]
+
+v_pk_fma_f16 v5, vcc_hi, 0xfe0b, v255
+// GFX13: v_pk_fma_f16 v5, vcc_hi, 0xfe0b, v255   ; encoding: [0x05,0x40,0x0e,0xcc,0x6b,0xfe,0xfd,0x1f,0x0b,0xfe,0x00,0x00]
+
+v_pk_fma_f16 v5, vcc_lo, ttmp15, v3
+// GFX13: v_pk_fma_f16 v5, vcc_lo, ttmp15, v3     ; encoding: [0x05,0x40,0x0e,0xcc,0x6a,0xf6,0x0c,0x1c]
+
+v_pk_lshlrev_b16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0]
+// GFX13: v_pk_lshlrev_b16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] ; encoding: [0xff,0x50,0x04,0xcc,0xff,0xd6,0x00,0x0a,0x0b,0xfe,0x00,0x00]
+
+v_pk_lshlrev_b16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0]
+// GFX13: v_pk_lshlrev_b16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] ; encoding: [0x05,0x58,0x04,0xcc,0xc1,0xfe,0x00,0x02]
+
+v_pk_lshlrev_b16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1]
+// GFX13: v_pk_lshlrev_b16 v5, 0.5, m0            ; encoding: [0x05,0x40,0x04,0xcc,0xf0,0xfa,0x00,0x1a]
+
+v_pk_lshlrev_b16 v5, 0x3800, m0 op_sel:[0,0] op_sel_hi:[1,1]
+// GFX13: v_pk_lshlrev_b16 v5, 0x3800, m0         ; encoding: [0x05,0x40,0x04,0xcc,0xff,0xfa,0x00,0x1a,0x00,0x38,0x00,0x00]
+
+v_pk_lshlrev_b16 v5, exec_hi, null
+// GFX13: v_pk_lshlrev_b16 v5, exec_hi, null      ; encoding: [0x05,0x40,0x04,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_lshlrev_b16 v5, exec_lo, -1
+// GFX13: v_pk_lshlrev_b16 v5, exec_lo, -1        ; encoding: [0x05,0x40,0x04,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_lshlrev_b16 v5, m0, 0.5
+// GFX13: v_pk_lshlrev_b16 v5, m0, 0.5            ; encoding: [0x05,0x40,0x04,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_lshlrev_b16 v5, null, exec_lo
+// GFX13: v_pk_lshlrev_b16 v5, null, exec_lo      ; encoding: [0x05,0x40,0x04,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_lshlrev_b16 v5, s1, s2
+// GFX13: v_pk_lshlrev_b16 v5, s1, s2             ; encoding: [0x05,0x40,0x04,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_lshlrev_b16 v5, s105, s105
+// GFX13: v_pk_lshlrev_b16 v5, s105, s105         ; encoding: [0x05,0x40,0x04,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_lshlrev_b16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1]
+// GFX13: v_pk_lshlrev_b16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x04,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_lshlrev_b16 v5, ttmp15, src_scc
+// GFX13: v_pk_lshlrev_b16 v5, ttmp15, src_scc    ; encoding: [0x05,0x40,0x04,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_lshlrev_b16 v5, v1, v2
+// GFX13: v_pk_lshlrev_b16 v5, v1, v2             ; encoding: [0x05,0x40,0x04,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_lshlrev_b16 v5, v255, v255
+// GFX13: v_pk_lshlrev_b16 v5, v255, v255         ; encoding: [0x05,0x40,0x04,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_lshlrev_b16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_lshlrev_b16 v5, vcc_hi, 0xfe0b     ; encoding: [0x05,0x40,0x04,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_lshlrev_b16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_lshlrev_b16 v5, vcc_lo, ttmp15     ; encoding: [0x05,0x40,0x04,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_lshrrev_b16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0]
+// GFX13: v_pk_lshrrev_b16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] ; encoding: [0xff,0x50,0x05,0xcc,0xff,0xd6,0x00,0x0a,0x0b,0xfe,0x00,0x00]
+
+v_pk_lshrrev_b16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0]
+// GFX13: v_pk_lshrrev_b16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] ; encoding: [0x05,0x58,0x05,0xcc,0xc1,0xfe,0x00,0x02]
+
+v_pk_lshrrev_b16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1]
+// GFX13: v_pk_lshrrev_b16 v5, 0.5, m0            ; encoding: [0x05,0x40,0x05,0xcc,0xf0,0xfa,0x00,0x1a]
+
+v_pk_lshrrev_b16 v5, exec_hi, null
+// GFX13: v_pk_lshrrev_b16 v5, exec_hi, null      ; encoding: [0x05,0x40,0x05,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_lshrrev_b16 v5, exec_lo, -1
+// GFX13: v_pk_lshrrev_b16 v5, exec_lo, -1        ; encoding: [0x05,0x40,0x05,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_lshrrev_b16 v5, m0, 0.5
+// GFX13: v_pk_lshrrev_b16 v5, m0, 0.5            ; encoding: [0x05,0x40,0x05,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_lshrrev_b16 v5, null, exec_lo
+// GFX13: v_pk_lshrrev_b16 v5, null, exec_lo      ; encoding: [0x05,0x40,0x05,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_lshrrev_b16 v5, s1, s2
+// GFX13: v_pk_lshrrev_b16 v5, s1, s2             ; encoding: [0x05,0x40,0x05,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_lshrrev_b16 v5, s105, s105
+// GFX13: v_pk_lshrrev_b16 v5, s105, s105         ; encoding: [0x05,0x40,0x05,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_lshrrev_b16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1]
+// GFX13: v_pk_lshrrev_b16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x05,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_lshrrev_b16 v5, ttmp15, src_scc
+// GFX13: v_pk_lshrrev_b16 v5, ttmp15, src_scc    ; encoding: [0x05,0x40,0x05,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_lshrrev_b16 v5, v1, v2
+// GFX13: v_pk_lshrrev_b16 v5, v1, v2             ; encoding: [0x05,0x40,0x05,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_lshrrev_b16 v5, v255, v255
+// GFX13: v_pk_lshrrev_b16 v5, v255, v255         ; encoding: [0x05,0x40,0x05,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_lshrrev_b16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_lshrrev_b16 v5, vcc_hi, 0xfe0b     ; encoding: [0x05,0x40,0x05,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_lshrrev_b16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_lshrrev_b16 v5, vcc_lo, ttmp15     ; encoding: [0x05,0x40,0x05,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_mad_i16 v255, 0xfe0b, vcc_hi, null op_sel:[0,0,1] op_sel_hi:[1,1,0] clamp
+// GFX13: v_pk_mad_i16 v255, 0xfe0b, vcc_hi, null op_sel:[0,0,1] op_sel_hi:[1,1,0] clamp ; encoding: [0xff,0xa0,0x00,0xcc,0xff,0xd6,0xf0,0x19,0x0b,0xfe,0x00,0x00]
+
+v_pk_mad_i16 v5, -1, exec_hi, src_scc op_sel:[0,0,0] op_sel_hi:[1,1,1]
+// GFX13: v_pk_mad_i16 v5, -1, exec_hi, src_scc   ; encoding: [0x05,0x40,0x00,0xcc,0xc1,0xfe,0xf4,0x1b]
+
+v_pk_mad_i16 v5, 0.5, m0, 0.5 op_sel:[1,0,0] op_sel_hi:[0,1,1]
+// GFX13: v_pk_mad_i16 v5, 0.5, m0, 0.5 op_sel:[1,0,0] op_sel_hi:[0,1,1] ; encoding: [0x05,0x48,0x00,0xcc,0xf0,0xfa,0xc0,0x13]
+
+v_pk_mad_i16 v5, exec_hi, null, vcc_lo op_sel_hi:[0,1,0]
+// GFX13: v_pk_mad_i16 v5, exec_hi, null, vcc_lo op_sel_hi:[0,1,0] ; encoding: [0x05,0x00,0x00,0xcc,0x7f,0xf8,0xa8,0x11]
+
+v_pk_mad_i16 v5, exec_lo, -1, vcc_hi op_sel_hi:[0,0,1]
+// GFX13: v_pk_mad_i16 v5, exec_lo, -1, vcc_hi op_sel_hi:[0,0,1] ; encoding: [0x05,0x40,0x00,0xcc,0x7e,0x82,0xad,0x01]
+
+v_pk_mad_i16 v5, m0, 0.5, m0 op_sel_hi:[0,0,0]
+// GFX13: v_pk_mad_i16 v5, m0, 0.5, m0 op_sel_hi:[0,0,0] ; encoding: [0x05,0x00,0x00,0xcc,0x7d,0xe0,0xf5,0x01]
+
+v_pk_mad_i16 v5, null, exec_lo, 0xfe0b op_sel:[1,1,1] op_sel_hi:[1,0,0]
+// GFX13: v_pk_mad_i16 v5, null, exec_lo, 0xfe0b op_sel:[1,1,1] op_sel_hi:[1,0,0] ; encoding: [0x05,0x38,0x00,0xcc,0x7c,0xfc,0xfc,0x0b,0x0b,0xfe,0x00,0x00]
+
+v_pk_mad_i16 v5, s1, v255, exec_hi
+// GFX13: v_pk_mad_i16 v5, s1, v255, exec_hi      ; encoding: [0x05,0x40,0x00,0xcc,0x01,0xfe,0xff,0x19]
+
+v_pk_mad_i16 v5, s105, s105, exec_lo
+// GFX13: v_pk_mad_i16 v5, s105, s105, exec_lo    ; encoding: [0x05,0x40,0x00,0xcc,0x69,0xd2,0xf8,0x19]
+
+v_pk_mad_i16 v5, src_scc, vcc_lo, -1 op_sel:[0,1,0] op_sel_hi:[1,0,1]
+// GFX13: v_pk_mad_i16 v5, src_scc, vcc_lo, -1 op_sel:[0,1,0] op_sel_hi:[1,0,1] ; encoding: [0x05,0x50,0x00,0xcc,0xfd,0xd4,0x04,0x0b]
+
+v_pk_mad_i16 v5, ttmp15, src_scc, ttmp15
+// GFX13: v_pk_mad_i16 v5, ttmp15, src_scc, ttmp15 ; encoding: [0x05,0x40,0x00,0xcc,0x7b,0xfa,0xed,0x19]
+
+v_pk_mad_i16 v5, v1, v2, s3
+// GFX13: v_pk_mad_i16 v5, v1, v2, s3             ; encoding: [0x05,0x40,0x00,0xcc,0x01,0x05,0x0e,0x18]
+
+v_pk_mad_i16 v5, v255, s2, s105
+// GFX13: v_pk_mad_i16 v5, v255, s2, s105         ; encoding: [0x05,0x40,0x00,0xcc,0xff,0x05,0xa4,0x19]
+
+v_pk_mad_i16 v5, vcc_hi, 0xfe0b, v255
+// GFX13: v_pk_mad_i16 v5, vcc_hi, 0xfe0b, v255   ; encoding: [0x05,0x40,0x00,0xcc,0x6b,0xfe,0xfd,0x1f,0x0b,0xfe,0x00,0x00]
+
+v_pk_mad_i16 v5, vcc_lo, ttmp15, v3
+// GFX13: v_pk_mad_i16 v5, vcc_lo, ttmp15, v3     ; encoding: [0x05,0x40,0x00,0xcc,0x6a,0xf6,0x0c,0x1c]
+
+v_pk_mad_u16 v255, 0xfe0b, vcc_hi, null op_sel:[0,0,1] op_sel_hi:[1,1,0] clamp
+// GFX13: v_pk_mad_u16 v255, 0xfe0b, vcc_hi, null op_sel:[0,0,1] op_sel_hi:[1,1,0] clamp ; encoding: [0xff,0xa0,0x09,0xcc,0xff,0xd6,0xf0,0x19,0x0b,0xfe,0x00,0x00]
+
+v_pk_mad_u16 v5, -1, exec_hi, src_scc op_sel:[0,0,0] op_sel_hi:[1,1,1]
+// GFX13: v_pk_mad_u16 v5, -1, exec_hi, src_scc   ; encoding: [0x05,0x40,0x09,0xcc,0xc1,0xfe,0xf4,0x1b]
+
+v_pk_mad_u16 v5, 0.5, m0, 0.5 op_sel:[1,0,0] op_sel_hi:[0,1,1]
+// GFX13: v_pk_mad_u16 v5, 0.5, m0, 0.5 op_sel:[1,0,0] op_sel_hi:[0,1,1] ; encoding: [0x05,0x48,0x09,0xcc,0xf0,0xfa,0xc0,0x13]
+
+v_pk_mad_u16 v5, exec_hi, null, vcc_lo op_sel_hi:[0,1,0]
+// GFX13: v_pk_mad_u16 v5, exec_hi, null, vcc_lo op_sel_hi:[0,1,0] ; encoding: [0x05,0x00,0x09,0xcc,0x7f,0xf8,0xa8,0x11]
+
+v_pk_mad_u16 v5, exec_lo, -1, vcc_hi op_sel_hi:[0,0,1]
+// GFX13: v_pk_mad_u16 v5, exec_lo, -1, vcc_hi op_sel_hi:[0,0,1] ; encoding: [0x05,0x40,0x09,0xcc,0x7e,0x82,0xad,0x01]
+
+v_pk_mad_u16 v5, m0, 0.5, m0 op_sel_hi:[0,0,0]
+// GFX13: v_pk_mad_u16 v5, m0, 0.5, m0 op_sel_hi:[0,0,0] ; encoding: [0x05,0x00,0x09,0xcc,0x7d,0xe0,0xf5,0x01]
+
+v_pk_mad_u16 v5, null, exec_lo, 0xfe0b op_sel:[1,1,1] op_sel_hi:[1,0,0]
+// GFX13: v_pk_mad_u16 v5, null, exec_lo, 0xfe0b op_sel:[1,1,1] op_sel_hi:[1,0,0] ; encoding: [0x05,0x38,0x09,0xcc,0x7c,0xfc,0xfc,0x0b,0x0b,0xfe,0x00,0x00]
+
+v_pk_mad_u16 v5, s1, v255, exec_hi
+// GFX13: v_pk_mad_u16 v5, s1, v255, exec_hi      ; encoding: [0x05,0x40,0x09,0xcc,0x01,0xfe,0xff,0x19]
+
+v_pk_mad_u16 v5, s105, s105, exec_lo
+// GFX13: v_pk_mad_u16 v5, s105, s105, exec_lo    ; encoding: [0x05,0x40,0x09,0xcc,0x69,0xd2,0xf8,0x19]
+
+v_pk_mad_u16 v5, src_scc, vcc_lo, -1 op_sel:[0,1,0] op_sel_hi:[1,0,1]
+// GFX13: v_pk_mad_u16 v5, src_scc, vcc_lo, -1 op_sel:[0,1,0] op_sel_hi:[1,0,1] ; encoding: [0x05,0x50,0x09,0xcc,0xfd,0xd4,0x04,0x0b]
+
+v_pk_mad_u16 v5, ttmp15, src_scc, ttmp15
+// GFX13: v_pk_mad_u16 v5, ttmp15, src_scc, ttmp15 ; encoding: [0x05,0x40,0x09,0xcc,0x7b,0xfa,0xed,0x19]
+
+v_pk_mad_u16 v5, v1, v2, s3
+// GFX13: v_pk_mad_u16 v5, v1, v2, s3             ; encoding: [0x05,0x40,0x09,0xcc,0x01,0x05,0x0e,0x18]
+
+v_pk_mad_u16 v5, v255, s2, s105
+// GFX13: v_pk_mad_u16 v5, v255, s2, s105         ; encoding: [0x05,0x40,0x09,0xcc,0xff,0x05,0xa4,0x19]
+
+v_pk_mad_u16 v5, vcc_hi, 0xfe0b, v255
+// GFX13: v_pk_mad_u16 v5, vcc_hi, 0xfe0b, v255   ; encoding: [0x05,0x40,0x09,0xcc,0x6b,0xfe,0xfd,0x1f,0x0b,0xfe,0x00,0x00]
+
+v_pk_mad_u16 v5, vcc_lo, ttmp15, v3
+// GFX13: v_pk_mad_u16 v5, vcc_lo, ttmp15, v3     ; encoding: [0x05,0x40,0x09,0xcc,0x6a,0xf6,0x0c,0x1c]
+
+v_pk_max_i16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0]
+// GFX13: v_pk_max_i16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] ; encoding: [0xff,0x50,0x07,0xcc,0xff,0xd6,0x00,0x0a,0x0b,0xfe,0x00,0x00]
+
+v_pk_max_i16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0]
+// GFX13: v_pk_max_i16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] ; encoding: [0x05,0x58,0x07,0xcc,0xc1,0xfe,0x00,0x02]
+
+v_pk_max_i16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1]
+// GFX13: v_pk_max_i16 v5, 0.5, m0                ; encoding: [0x05,0x40,0x07,0xcc,0xf0,0xfa,0x00,0x1a]
+
+v_pk_max_i16 v5, exec_hi, null
+// GFX13: v_pk_max_i16 v5, exec_hi, null          ; encoding: [0x05,0x40,0x07,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_max_i16 v5, exec_lo, -1
+// GFX13: v_pk_max_i16 v5, exec_lo, -1            ; encoding: [0x05,0x40,0x07,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_max_i16 v5, m0, 0.5
+// GFX13: v_pk_max_i16 v5, m0, 0.5                ; encoding: [0x05,0x40,0x07,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_max_i16 v5, null, exec_lo
+// GFX13: v_pk_max_i16 v5, null, exec_lo          ; encoding: [0x05,0x40,0x07,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_max_i16 v5, s1, s2
+// GFX13: v_pk_max_i16 v5, s1, s2                 ; encoding: [0x05,0x40,0x07,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_max_i16 v5, s105, s105
+// GFX13: v_pk_max_i16 v5, s105, s105             ; encoding: [0x05,0x40,0x07,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_max_i16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1]
+// GFX13: v_pk_max_i16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x07,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_max_i16 v5, ttmp15, src_scc
+// GFX13: v_pk_max_i16 v5, ttmp15, src_scc        ; encoding: [0x05,0x40,0x07,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_max_i16 v5, v1, v2
+// GFX13: v_pk_max_i16 v5, v1, v2                 ; encoding: [0x05,0x40,0x07,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_max_i16 v5, v255, v255
+// GFX13: v_pk_max_i16 v5, v255, v255             ; encoding: [0x05,0x40,0x07,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_max_i16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_max_i16 v5, vcc_hi, 0xfe0b         ; encoding: [0x05,0x40,0x07,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_max_i16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_max_i16 v5, vcc_lo, ttmp15         ; encoding: [0x05,0x40,0x07,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_max_num_bf16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp
+// GFX13: v_pk_max_num_bf16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp ; encoding: [0xff,0xd3,0x2c,0xcc,0xff,0xd6,0x00,0x6a,0x0b,0xfe,0x00,0x00]
+
+v_pk_max_num_bf16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0]
+// GFX13: v_pk_max_num_bf16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0] ; encoding: [0x05,0x59,0x2c,0xcc,0xc1,0xfe,0x00,0x22]
+
+v_pk_max_num_bf16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1] neg_lo:[0,1] neg_hi:[0,1]
+// GFX13: v_pk_max_num_bf16 v5, 0.5, m0 neg_lo:[0,1] neg_hi:[0,1] ; encoding: [0x05,0x42,0x2c,0xcc,0xf0,0xfa,0x00,0x5a]
+
+v_pk_max_num_bf16 v5, exec_hi, null
+// GFX13: v_pk_max_num_bf16 v5, exec_hi, null     ; encoding: [0x05,0x40,0x2c,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_max_num_bf16 v5, exec_lo, -1
+// GFX13: v_pk_max_num_bf16 v5, exec_lo, -1       ; encoding: [0x05,0x40,0x2c,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_max_num_bf16 v5, m0, 0.5
+// GFX13: v_pk_max_num_bf16 v5, m0, 0.5           ; encoding: [0x05,0x40,0x2c,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_max_num_bf16 v5, null, exec_lo
+// GFX13: v_pk_max_num_bf16 v5, null, exec_lo     ; encoding: [0x05,0x40,0x2c,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_max_num_bf16 v5, s1, s2
+// GFX13: v_pk_max_num_bf16 v5, s1, s2            ; encoding: [0x05,0x40,0x2c,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_max_num_bf16 v5, s105, s105
+// GFX13: v_pk_max_num_bf16 v5, s105, s105        ; encoding: [0x05,0x40,0x2c,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_max_num_bf16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] neg_lo:[0,0] neg_hi:[0,0]
+// GFX13: v_pk_max_num_bf16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x2c,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_max_num_bf16 v5, ttmp15, src_scc
+// GFX13: v_pk_max_num_bf16 v5, ttmp15, src_scc   ; encoding: [0x05,0x40,0x2c,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_max_num_bf16 v5, v1, v2
+// GFX13: v_pk_max_num_bf16 v5, v1, v2            ; encoding: [0x05,0x40,0x2c,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_max_num_bf16 v5, v255, v255
+// GFX13: v_pk_max_num_bf16 v5, v255, v255        ; encoding: [0x05,0x40,0x2c,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_max_num_bf16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_max_num_bf16 v5, vcc_hi, 0xfe0b    ; encoding: [0x05,0x40,0x2c,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_max_num_bf16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_max_num_bf16 v5, vcc_lo, ttmp15    ; encoding: [0x05,0x40,0x2c,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_max_num_f16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp
+// GFX13: v_pk_max_num_f16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp ; encoding: [0xff,0xd3,0x1c,0xcc,0xff,0xd6,0x00,0x6a,0x0b,0xfe,0x00,0x00]
+
+v_pk_max_num_f16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0]
+// GFX13: v_pk_max_num_f16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0] ; encoding: [0x05,0x59,0x1c,0xcc,0xc1,0xfe,0x00,0x22]
+
+v_pk_max_num_f16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1] neg_lo:[0,1] neg_hi:[0,1]
+// GFX13: v_pk_max_num_f16 v5, 0.5, m0 neg_lo:[0,1] neg_hi:[0,1] ; encoding: [0x05,0x42,0x1c,0xcc,0xf0,0xfa,0x00,0x5a]
+
+v_pk_max_num_f16 v5, exec_hi, null
+// GFX13: v_pk_max_num_f16 v5, exec_hi, null      ; encoding: [0x05,0x40,0x1c,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_max_num_f16 v5, exec_lo, -1
+// GFX13: v_pk_max_num_f16 v5, exec_lo, -1        ; encoding: [0x05,0x40,0x1c,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_max_num_f16 v5, m0, 0.5
+// GFX13: v_pk_max_num_f16 v5, m0, 0.5            ; encoding: [0x05,0x40,0x1c,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_max_num_f16 v5, null, exec_lo
+// GFX13: v_pk_max_num_f16 v5, null, exec_lo      ; encoding: [0x05,0x40,0x1c,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_max_num_f16 v5, s1, s2
+// GFX13: v_pk_max_num_f16 v5, s1, s2             ; encoding: [0x05,0x40,0x1c,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_max_num_f16 v5, s105, s105
+// GFX13: v_pk_max_num_f16 v5, s105, s105         ; encoding: [0x05,0x40,0x1c,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_max_num_f16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] neg_lo:[0,0] neg_hi:[0,0]
+// GFX13: v_pk_max_num_f16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x1c,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_max_num_f16 v5, ttmp15, src_scc
+// GFX13: v_pk_max_num_f16 v5, ttmp15, src_scc    ; encoding: [0x05,0x40,0x1c,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_max_num_f16 v5, v1, v2
+// GFX13: v_pk_max_num_f16 v5, v1, v2             ; encoding: [0x05,0x40,0x1c,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_max_num_f16 v5, v255, v255
+// GFX13: v_pk_max_num_f16 v5, v255, v255         ; encoding: [0x05,0x40,0x1c,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_max_num_f16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_max_num_f16 v5, vcc_hi, 0xfe0b     ; encoding: [0x05,0x40,0x1c,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_max_num_f16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_max_num_f16 v5, vcc_lo, ttmp15     ; encoding: [0x05,0x40,0x1c,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_max_u16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0]
+// GFX13: v_pk_max_u16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] ; encoding: [0xff,0x50,0x0c,0xcc,0xff,0xd6,0x00,0x0a,0x0b,0xfe,0x00,0x00]
+
+v_pk_max_u16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0]
+// GFX13: v_pk_max_u16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] ; encoding: [0x05,0x58,0x0c,0xcc,0xc1,0xfe,0x00,0x02]
+
+v_pk_max_u16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1]
+// GFX13: v_pk_max_u16 v5, 0.5, m0                ; encoding: [0x05,0x40,0x0c,0xcc,0xf0,0xfa,0x00,0x1a]
+
+v_pk_max_u16 v5, exec_hi, null
+// GFX13: v_pk_max_u16 v5, exec_hi, null          ; encoding: [0x05,0x40,0x0c,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_max_u16 v5, exec_lo, -1
+// GFX13: v_pk_max_u16 v5, exec_lo, -1            ; encoding: [0x05,0x40,0x0c,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_max_u16 v5, m0, 0.5
+// GFX13: v_pk_max_u16 v5, m0, 0.5                ; encoding: [0x05,0x40,0x0c,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_max_u16 v5, null, exec_lo
+// GFX13: v_pk_max_u16 v5, null, exec_lo          ; encoding: [0x05,0x40,0x0c,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_max_u16 v5, s1, s2
+// GFX13: v_pk_max_u16 v5, s1, s2                 ; encoding: [0x05,0x40,0x0c,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_max_u16 v5, s105, s105
+// GFX13: v_pk_max_u16 v5, s105, s105             ; encoding: [0x05,0x40,0x0c,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_max_u16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1]
+// GFX13: v_pk_max_u16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x0c,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_max_u16 v5, ttmp15, src_scc
+// GFX13: v_pk_max_u16 v5, ttmp15, src_scc        ; encoding: [0x05,0x40,0x0c,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_max_u16 v5, v1, v2
+// GFX13: v_pk_max_u16 v5, v1, v2                 ; encoding: [0x05,0x40,0x0c,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_max_u16 v5, v255, v255
+// GFX13: v_pk_max_u16 v5, v255, v255             ; encoding: [0x05,0x40,0x0c,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_max_u16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_max_u16 v5, vcc_hi, 0xfe0b         ; encoding: [0x05,0x40,0x0c,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_max_u16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_max_u16 v5, vcc_lo, ttmp15         ; encoding: [0x05,0x40,0x0c,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_maximum_f16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp
+// GFX13: v_pk_maximum_f16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp ; encoding: [0xff,0xd3,0x1e,0xcc,0xff,0xd6,0x00,0x6a,0x0b,0xfe,0x00,0x00]
+
+v_pk_maximum_f16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0]
+// GFX13: v_pk_maximum_f16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0] ; encoding: [0x05,0x59,0x1e,0xcc,0xc1,0xfe,0x00,0x22]
+
+v_pk_maximum_f16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1] neg_lo:[0,1] neg_hi:[0,1]
+// GFX13: v_pk_maximum_f16 v5, 0.5, m0 neg_lo:[0,1] neg_hi:[0,1] ; encoding: [0x05,0x42,0x1e,0xcc,0xf0,0xfa,0x00,0x5a]
+
+v_pk_maximum_f16 v5, exec_hi, null
+// GFX13: v_pk_maximum_f16 v5, exec_hi, null      ; encoding: [0x05,0x40,0x1e,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_maximum_f16 v5, exec_lo, -1
+// GFX13: v_pk_maximum_f16 v5, exec_lo, -1        ; encoding: [0x05,0x40,0x1e,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_maximum_f16 v5, m0, 0.5
+// GFX13: v_pk_maximum_f16 v5, m0, 0.5            ; encoding: [0x05,0x40,0x1e,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_maximum_f16 v5, null, exec_lo
+// GFX13: v_pk_maximum_f16 v5, null, exec_lo      ; encoding: [0x05,0x40,0x1e,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_maximum_f16 v5, s1, s2
+// GFX13: v_pk_maximum_f16 v5, s1, s2             ; encoding: [0x05,0x40,0x1e,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_maximum_f16 v5, s105, s105
+// GFX13: v_pk_maximum_f16 v5, s105, s105         ; encoding: [0x05,0x40,0x1e,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_maximum_f16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] neg_lo:[0,0] neg_hi:[0,0]
+// GFX13: v_pk_maximum_f16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x1e,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_maximum_f16 v5, ttmp15, src_scc
+// GFX13: v_pk_maximum_f16 v5, ttmp15, src_scc    ; encoding: [0x05,0x40,0x1e,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_maximum_f16 v5, v1, v2
+// GFX13: v_pk_maximum_f16 v5, v1, v2             ; encoding: [0x05,0x40,0x1e,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_maximum_f16 v5, v255, v255
+// GFX13: v_pk_maximum_f16 v5, v255, v255         ; encoding: [0x05,0x40,0x1e,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_maximum_f16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_maximum_f16 v5, vcc_hi, 0xfe0b     ; encoding: [0x05,0x40,0x1e,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_maximum_f16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_maximum_f16 v5, vcc_lo, ttmp15     ; encoding: [0x05,0x40,0x1e,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_min_i16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0]
+// GFX13: v_pk_min_i16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] ; encoding: [0xff,0x50,0x08,0xcc,0xff,0xd6,0x00,0x0a,0x0b,0xfe,0x00,0x00]
+
+v_pk_min_i16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0]
+// GFX13: v_pk_min_i16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] ; encoding: [0x05,0x58,0x08,0xcc,0xc1,0xfe,0x00,0x02]
+
+v_pk_min_i16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1]
+// GFX13: v_pk_min_i16 v5, 0.5, m0                ; encoding: [0x05,0x40,0x08,0xcc,0xf0,0xfa,0x00,0x1a]
+
+v_pk_min_i16 v5, exec_hi, null
+// GFX13: v_pk_min_i16 v5, exec_hi, null          ; encoding: [0x05,0x40,0x08,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_min_i16 v5, exec_lo, -1
+// GFX13: v_pk_min_i16 v5, exec_lo, -1            ; encoding: [0x05,0x40,0x08,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_min_i16 v5, m0, 0.5
+// GFX13: v_pk_min_i16 v5, m0, 0.5                ; encoding: [0x05,0x40,0x08,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_min_i16 v5, null, exec_lo
+// GFX13: v_pk_min_i16 v5, null, exec_lo          ; encoding: [0x05,0x40,0x08,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_min_i16 v5, s1, s2
+// GFX13: v_pk_min_i16 v5, s1, s2                 ; encoding: [0x05,0x40,0x08,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_min_i16 v5, s105, s105
+// GFX13: v_pk_min_i16 v5, s105, s105             ; encoding: [0x05,0x40,0x08,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_min_i16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1]
+// GFX13: v_pk_min_i16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x08,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_min_i16 v5, ttmp15, src_scc
+// GFX13: v_pk_min_i16 v5, ttmp15, src_scc        ; encoding: [0x05,0x40,0x08,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_min_i16 v5, v1, v2
+// GFX13: v_pk_min_i16 v5, v1, v2                 ; encoding: [0x05,0x40,0x08,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_min_i16 v5, v255, v255
+// GFX13: v_pk_min_i16 v5, v255, v255             ; encoding: [0x05,0x40,0x08,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_min_i16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_min_i16 v5, vcc_hi, 0xfe0b         ; encoding: [0x05,0x40,0x08,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_min_i16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_min_i16 v5, vcc_lo, ttmp15         ; encoding: [0x05,0x40,0x08,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_min_num_bf16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp
+// GFX13: v_pk_min_num_bf16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp ; encoding: [0xff,0xd3,0x2b,0xcc,0xff,0xd6,0x00,0x6a,0x0b,0xfe,0x00,0x00]
+
+v_pk_min_num_bf16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0]
+// GFX13: v_pk_min_num_bf16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0] ; encoding: [0x05,0x59,0x2b,0xcc,0xc1,0xfe,0x00,0x22]
+
+v_pk_min_num_bf16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1] neg_lo:[0,1] neg_hi:[0,1]
+// GFX13: v_pk_min_num_bf16 v5, 0.5, m0 neg_lo:[0,1] neg_hi:[0,1] ; encoding: [0x05,0x42,0x2b,0xcc,0xf0,0xfa,0x00,0x5a]
+
+v_pk_min_num_bf16 v5, exec_hi, null
+// GFX13: v_pk_min_num_bf16 v5, exec_hi, null     ; encoding: [0x05,0x40,0x2b,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_min_num_bf16 v5, exec_lo, -1
+// GFX13: v_pk_min_num_bf16 v5, exec_lo, -1       ; encoding: [0x05,0x40,0x2b,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_min_num_bf16 v5, m0, 0.5
+// GFX13: v_pk_min_num_bf16 v5, m0, 0.5           ; encoding: [0x05,0x40,0x2b,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_min_num_bf16 v5, null, exec_lo
+// GFX13: v_pk_min_num_bf16 v5, null, exec_lo     ; encoding: [0x05,0x40,0x2b,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_min_num_bf16 v5, s1, s2
+// GFX13: v_pk_min_num_bf16 v5, s1, s2            ; encoding: [0x05,0x40,0x2b,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_min_num_bf16 v5, s105, s105
+// GFX13: v_pk_min_num_bf16 v5, s105, s105        ; encoding: [0x05,0x40,0x2b,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_min_num_bf16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] neg_lo:[0,0] neg_hi:[0,0]
+// GFX13: v_pk_min_num_bf16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x2b,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_min_num_bf16 v5, ttmp15, src_scc
+// GFX13: v_pk_min_num_bf16 v5, ttmp15, src_scc   ; encoding: [0x05,0x40,0x2b,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_min_num_bf16 v5, v1, v2
+// GFX13: v_pk_min_num_bf16 v5, v1, v2            ; encoding: [0x05,0x40,0x2b,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_min_num_bf16 v5, v255, v255
+// GFX13: v_pk_min_num_bf16 v5, v255, v255        ; encoding: [0x05,0x40,0x2b,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_min_num_bf16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_min_num_bf16 v5, vcc_hi, 0xfe0b    ; encoding: [0x05,0x40,0x2b,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_min_num_bf16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_min_num_bf16 v5, vcc_lo, ttmp15    ; encoding: [0x05,0x40,0x2b,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_min_num_f16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp
+// GFX13: v_pk_min_num_f16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp ; encoding: [0xff,0xd3,0x1b,0xcc,0xff,0xd6,0x00,0x6a,0x0b,0xfe,0x00,0x00]
+
+v_pk_min_num_f16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0]
+// GFX13: v_pk_min_num_f16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0] ; encoding: [0x05,0x59,0x1b,0xcc,0xc1,0xfe,0x00,0x22]
+
+v_pk_min_num_f16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1] neg_lo:[0,1] neg_hi:[0,1]
+// GFX13: v_pk_min_num_f16 v5, 0.5, m0 neg_lo:[0,1] neg_hi:[0,1] ; encoding: [0x05,0x42,0x1b,0xcc,0xf0,0xfa,0x00,0x5a]
+
+v_pk_min_num_f16 v5, exec_hi, null
+// GFX13: v_pk_min_num_f16 v5, exec_hi, null      ; encoding: [0x05,0x40,0x1b,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_min_num_f16 v5, exec_lo, -1
+// GFX13: v_pk_min_num_f16 v5, exec_lo, -1        ; encoding: [0x05,0x40,0x1b,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_min_num_f16 v5, m0, 0.5
+// GFX13: v_pk_min_num_f16 v5, m0, 0.5            ; encoding: [0x05,0x40,0x1b,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_min_num_f16 v5, null, exec_lo
+// GFX13: v_pk_min_num_f16 v5, null, exec_lo      ; encoding: [0x05,0x40,0x1b,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_min_num_f16 v5, s1, s2
+// GFX13: v_pk_min_num_f16 v5, s1, s2             ; encoding: [0x05,0x40,0x1b,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_min_num_f16 v5, s105, s105
+// GFX13: v_pk_min_num_f16 v5, s105, s105         ; encoding: [0x05,0x40,0x1b,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_min_num_f16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] neg_lo:[0,0] neg_hi:[0,0]
+// GFX13: v_pk_min_num_f16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x1b,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_min_num_f16 v5, ttmp15, src_scc
+// GFX13: v_pk_min_num_f16 v5, ttmp15, src_scc    ; encoding: [0x05,0x40,0x1b,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_min_num_f16 v5, v1, v2
+// GFX13: v_pk_min_num_f16 v5, v1, v2             ; encoding: [0x05,0x40,0x1b,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_min_num_f16 v5, v255, v255
+// GFX13: v_pk_min_num_f16 v5, v255, v255         ; encoding: [0x05,0x40,0x1b,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_min_num_f16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_min_num_f16 v5, vcc_hi, 0xfe0b     ; encoding: [0x05,0x40,0x1b,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_min_num_f16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_min_num_f16 v5, vcc_lo, ttmp15     ; encoding: [0x05,0x40,0x1b,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_min_u16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0]
+// GFX13: v_pk_min_u16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] ; encoding: [0xff,0x50,0x0d,0xcc,0xff,0xd6,0x00,0x0a,0x0b,0xfe,0x00,0x00]
+
+v_pk_min_u16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0]
+// GFX13: v_pk_min_u16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] ; encoding: [0x05,0x58,0x0d,0xcc,0xc1,0xfe,0x00,0x02]
+
+v_pk_min_u16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1]
+// GFX13: v_pk_min_u16 v5, 0.5, m0                ; encoding: [0x05,0x40,0x0d,0xcc,0xf0,0xfa,0x00,0x1a]
+
+v_pk_min_u16 v5, exec_hi, null
+// GFX13: v_pk_min_u16 v5, exec_hi, null          ; encoding: [0x05,0x40,0x0d,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_min_u16 v5, exec_lo, -1
+// GFX13: v_pk_min_u16 v5, exec_lo, -1            ; encoding: [0x05,0x40,0x0d,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_min_u16 v5, m0, 0.5
+// GFX13: v_pk_min_u16 v5, m0, 0.5                ; encoding: [0x05,0x40,0x0d,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_min_u16 v5, null, exec_lo
+// GFX13: v_pk_min_u16 v5, null, exec_lo          ; encoding: [0x05,0x40,0x0d,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_min_u16 v5, s1, s2
+// GFX13: v_pk_min_u16 v5, s1, s2                 ; encoding: [0x05,0x40,0x0d,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_min_u16 v5, s105, s105
+// GFX13: v_pk_min_u16 v5, s105, s105             ; encoding: [0x05,0x40,0x0d,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_min_u16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1]
+// GFX13: v_pk_min_u16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x0d,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_min_u16 v5, ttmp15, src_scc
+// GFX13: v_pk_min_u16 v5, ttmp15, src_scc        ; encoding: [0x05,0x40,0x0d,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_min_u16 v5, v1, v2
+// GFX13: v_pk_min_u16 v5, v1, v2                 ; encoding: [0x05,0x40,0x0d,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_min_u16 v5, v255, v255
+// GFX13: v_pk_min_u16 v5, v255, v255             ; encoding: [0x05,0x40,0x0d,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_min_u16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_min_u16 v5, vcc_hi, 0xfe0b         ; encoding: [0x05,0x40,0x0d,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_min_u16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_min_u16 v5, vcc_lo, ttmp15         ; encoding: [0x05,0x40,0x0d,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_minimum_f16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp
+// GFX13: v_pk_minimum_f16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp ; encoding: [0xff,0xd3,0x1d,0xcc,0xff,0xd6,0x00,0x6a,0x0b,0xfe,0x00,0x00]
+
+v_pk_minimum_f16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0]
+// GFX13: v_pk_minimum_f16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0] ; encoding: [0x05,0x59,0x1d,0xcc,0xc1,0xfe,0x00,0x22]
+
+v_pk_minimum_f16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1] neg_lo:[0,1] neg_hi:[0,1]
+// GFX13: v_pk_minimum_f16 v5, 0.5, m0 neg_lo:[0,1] neg_hi:[0,1] ; encoding: [0x05,0x42,0x1d,0xcc,0xf0,0xfa,0x00,0x5a]
+
+v_pk_minimum_f16 v5, exec_hi, null
+// GFX13: v_pk_minimum_f16 v5, exec_hi, null      ; encoding: [0x05,0x40,0x1d,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_minimum_f16 v5, exec_lo, -1
+// GFX13: v_pk_minimum_f16 v5, exec_lo, -1        ; encoding: [0x05,0x40,0x1d,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_minimum_f16 v5, m0, 0.5
+// GFX13: v_pk_minimum_f16 v5, m0, 0.5            ; encoding: [0x05,0x40,0x1d,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_minimum_f16 v5, null, exec_lo
+// GFX13: v_pk_minimum_f16 v5, null, exec_lo      ; encoding: [0x05,0x40,0x1d,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_minimum_f16 v5, s1, s2
+// GFX13: v_pk_minimum_f16 v5, s1, s2             ; encoding: [0x05,0x40,0x1d,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_minimum_f16 v5, s105, s105
+// GFX13: v_pk_minimum_f16 v5, s105, s105         ; encoding: [0x05,0x40,0x1d,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_minimum_f16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] neg_lo:[0,0] neg_hi:[0,0]
+// GFX13: v_pk_minimum_f16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x1d,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_minimum_f16 v5, ttmp15, src_scc
+// GFX13: v_pk_minimum_f16 v5, ttmp15, src_scc    ; encoding: [0x05,0x40,0x1d,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_minimum_f16 v5, v1, v2
+// GFX13: v_pk_minimum_f16 v5, v1, v2             ; encoding: [0x05,0x40,0x1d,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_minimum_f16 v5, v255, v255
+// GFX13: v_pk_minimum_f16 v5, v255, v255         ; encoding: [0x05,0x40,0x1d,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_minimum_f16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_minimum_f16 v5, vcc_hi, 0xfe0b     ; encoding: [0x05,0x40,0x1d,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_minimum_f16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_minimum_f16 v5, vcc_lo, ttmp15     ; encoding: [0x05,0x40,0x1d,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_mul_bf16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp
+// GFX13: v_pk_mul_bf16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp ; encoding: [0xff,0xd3,0x2a,0xcc,0xff,0xd6,0x00,0x6a,0x0b,0xfe,0x00,0x00]
+
+v_pk_mul_bf16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0]
+// GFX13: v_pk_mul_bf16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0] ; encoding: [0x05,0x59,0x2a,0xcc,0xc1,0xfe,0x00,0x22]
+
+v_pk_mul_bf16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1] neg_lo:[0,1] neg_hi:[0,1]
+// GFX13: v_pk_mul_bf16 v5, 0.5, m0 neg_lo:[0,1] neg_hi:[0,1] ; encoding: [0x05,0x42,0x2a,0xcc,0xf0,0xfa,0x00,0x5a]
+
+v_pk_mul_bf16 v5, exec_hi, null
+// GFX13: v_pk_mul_bf16 v5, exec_hi, null         ; encoding: [0x05,0x40,0x2a,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_mul_bf16 v5, exec_lo, -1
+// GFX13: v_pk_mul_bf16 v5, exec_lo, -1           ; encoding: [0x05,0x40,0x2a,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_mul_bf16 v5, m0, 0.5
+// GFX13: v_pk_mul_bf16 v5, m0, 0.5               ; encoding: [0x05,0x40,0x2a,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_mul_bf16 v5, null, exec_lo
+// GFX13: v_pk_mul_bf16 v5, null, exec_lo         ; encoding: [0x05,0x40,0x2a,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_mul_bf16 v5, s1, s2
+// GFX13: v_pk_mul_bf16 v5, s1, s2                ; encoding: [0x05,0x40,0x2a,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_mul_bf16 v5, s105, s105
+// GFX13: v_pk_mul_bf16 v5, s105, s105            ; encoding: [0x05,0x40,0x2a,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_mul_bf16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] neg_lo:[0,0] neg_hi:[0,0]
+// GFX13: v_pk_mul_bf16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x2a,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_mul_bf16 v5, ttmp15, src_scc
+// GFX13: v_pk_mul_bf16 v5, ttmp15, src_scc       ; encoding: [0x05,0x40,0x2a,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_mul_bf16 v5, v1, v2
+// GFX13: v_pk_mul_bf16 v5, v1, v2                ; encoding: [0x05,0x40,0x2a,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_mul_bf16 v5, v255, v255
+// GFX13: v_pk_mul_bf16 v5, v255, v255            ; encoding: [0x05,0x40,0x2a,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_mul_bf16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_mul_bf16 v5, vcc_hi, 0xfe0b        ; encoding: [0x05,0x40,0x2a,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_mul_bf16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_mul_bf16 v5, vcc_lo, ttmp15        ; encoding: [0x05,0x40,0x2a,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_mul_f16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp
+// GFX13: v_pk_mul_f16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] neg_lo:[1,1] neg_hi:[1,1] clamp ; encoding: [0xff,0xd3,0x10,0xcc,0xff,0xd6,0x00,0x6a,0x0b,0xfe,0x00,0x00]
+
+v_pk_mul_f16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0]
+// GFX13: v_pk_mul_f16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] neg_lo:[1,0] neg_hi:[1,0] ; encoding: [0x05,0x59,0x10,0xcc,0xc1,0xfe,0x00,0x22]
+
+v_pk_mul_f16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1] neg_lo:[0,1] neg_hi:[0,1]
+// GFX13: v_pk_mul_f16 v5, 0.5, m0 neg_lo:[0,1] neg_hi:[0,1] ; encoding: [0x05,0x42,0x10,0xcc,0xf0,0xfa,0x00,0x5a]
+
+v_pk_mul_f16 v5, exec_hi, null
+// GFX13: v_pk_mul_f16 v5, exec_hi, null          ; encoding: [0x05,0x40,0x10,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_mul_f16 v5, exec_lo, -1
+// GFX13: v_pk_mul_f16 v5, exec_lo, -1            ; encoding: [0x05,0x40,0x10,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_mul_f16 v5, m0, 0.5
+// GFX13: v_pk_mul_f16 v5, m0, 0.5                ; encoding: [0x05,0x40,0x10,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_mul_f16 v5, null, exec_lo
+// GFX13: v_pk_mul_f16 v5, null, exec_lo          ; encoding: [0x05,0x40,0x10,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_mul_f16 v5, s1, s2
+// GFX13: v_pk_mul_f16 v5, s1, s2                 ; encoding: [0x05,0x40,0x10,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_mul_f16 v5, s105, s105
+// GFX13: v_pk_mul_f16 v5, s105, s105             ; encoding: [0x05,0x40,0x10,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_mul_f16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] neg_lo:[0,0] neg_hi:[0,0]
+// GFX13: v_pk_mul_f16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x10,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_mul_f16 v5, ttmp15, src_scc
+// GFX13: v_pk_mul_f16 v5, ttmp15, src_scc        ; encoding: [0x05,0x40,0x10,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_mul_f16 v5, v1, v2
+// GFX13: v_pk_mul_f16 v5, v1, v2                 ; encoding: [0x05,0x40,0x10,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_mul_f16 v5, v255, v255
+// GFX13: v_pk_mul_f16 v5, v255, v255             ; encoding: [0x05,0x40,0x10,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_mul_f16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_mul_f16 v5, vcc_hi, 0xfe0b         ; encoding: [0x05,0x40,0x10,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_mul_f16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_mul_f16 v5, vcc_lo, ttmp15         ; encoding: [0x05,0x40,0x10,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_mul_lo_u16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0]
+// GFX13: v_pk_mul_lo_u16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] ; encoding: [0xff,0x50,0x01,0xcc,0xff,0xd6,0x00,0x0a,0x0b,0xfe,0x00,0x00]
+
+v_pk_mul_lo_u16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0]
+// GFX13: v_pk_mul_lo_u16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] ; encoding: [0x05,0x58,0x01,0xcc,0xc1,0xfe,0x00,0x02]
+
+v_pk_mul_lo_u16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1]
+// GFX13: v_pk_mul_lo_u16 v5, 0.5, m0             ; encoding: [0x05,0x40,0x01,0xcc,0xf0,0xfa,0x00,0x1a]
+
+v_pk_mul_lo_u16 v5, exec_hi, null
+// GFX13: v_pk_mul_lo_u16 v5, exec_hi, null       ; encoding: [0x05,0x40,0x01,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_mul_lo_u16 v5, exec_lo, -1
+// GFX13: v_pk_mul_lo_u16 v5, exec_lo, -1         ; encoding: [0x05,0x40,0x01,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_mul_lo_u16 v5, m0, 0.5
+// GFX13: v_pk_mul_lo_u16 v5, m0, 0.5             ; encoding: [0x05,0x40,0x01,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_mul_lo_u16 v5, null, exec_lo
+// GFX13: v_pk_mul_lo_u16 v5, null, exec_lo       ; encoding: [0x05,0x40,0x01,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_mul_lo_u16 v5, s1, s2
+// GFX13: v_pk_mul_lo_u16 v5, s1, s2              ; encoding: [0x05,0x40,0x01,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_mul_lo_u16 v5, s105, s105
+// GFX13: v_pk_mul_lo_u16 v5, s105, s105          ; encoding: [0x05,0x40,0x01,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_mul_lo_u16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1]
+// GFX13: v_pk_mul_lo_u16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x01,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_mul_lo_u16 v5, ttmp15, src_scc
+// GFX13: v_pk_mul_lo_u16 v5, ttmp15, src_scc     ; encoding: [0x05,0x40,0x01,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_mul_lo_u16 v5, v1, v2
+// GFX13: v_pk_mul_lo_u16 v5, v1, v2              ; encoding: [0x05,0x40,0x01,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_mul_lo_u16 v5, v255, v255
+// GFX13: v_pk_mul_lo_u16 v5, v255, v255          ; encoding: [0x05,0x40,0x01,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_mul_lo_u16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_mul_lo_u16 v5, vcc_hi, 0xfe0b      ; encoding: [0x05,0x40,0x01,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_mul_lo_u16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_mul_lo_u16 v5, vcc_lo, ttmp15      ; encoding: [0x05,0x40,0x01,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_sub_i16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] clamp
+// GFX13: v_pk_sub_i16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] clamp ; encoding: [0xff,0xd0,0x03,0xcc,0xff,0xd6,0x00,0x0a,0x0b,0xfe,0x00,0x00]
+
+v_pk_sub_i16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0]
+// GFX13: v_pk_sub_i16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] ; encoding: [0x05,0x58,0x03,0xcc,0xc1,0xfe,0x00,0x02]
+
+v_pk_sub_i16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1]
+// GFX13: v_pk_sub_i16 v5, 0.5, m0                ; encoding: [0x05,0x40,0x03,0xcc,0xf0,0xfa,0x00,0x1a]
+
+v_pk_sub_i16 v5, exec_hi, null
+// GFX13: v_pk_sub_i16 v5, exec_hi, null          ; encoding: [0x05,0x40,0x03,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_sub_i16 v5, exec_lo, -1
+// GFX13: v_pk_sub_i16 v5, exec_lo, -1            ; encoding: [0x05,0x40,0x03,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_sub_i16 v5, m0, 0.5
+// GFX13: v_pk_sub_i16 v5, m0, 0.5                ; encoding: [0x05,0x40,0x03,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_sub_i16 v5, null, exec_lo
+// GFX13: v_pk_sub_i16 v5, null, exec_lo          ; encoding: [0x05,0x40,0x03,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_sub_i16 v5, s1, s2
+// GFX13: v_pk_sub_i16 v5, s1, s2                 ; encoding: [0x05,0x40,0x03,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_sub_i16 v5, s105, s105
+// GFX13: v_pk_sub_i16 v5, s105, s105             ; encoding: [0x05,0x40,0x03,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_sub_i16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1]
+// GFX13: v_pk_sub_i16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x03,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_sub_i16 v5, ttmp15, src_scc
+// GFX13: v_pk_sub_i16 v5, ttmp15, src_scc        ; encoding: [0x05,0x40,0x03,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_sub_i16 v5, v1, v2
+// GFX13: v_pk_sub_i16 v5, v1, v2                 ; encoding: [0x05,0x40,0x03,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_sub_i16 v5, v255, v255
+// GFX13: v_pk_sub_i16 v5, v255, v255             ; encoding: [0x05,0x40,0x03,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_sub_i16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_sub_i16 v5, vcc_hi, 0xfe0b         ; encoding: [0x05,0x40,0x03,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_sub_i16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_sub_i16 v5, vcc_lo, ttmp15         ; encoding: [0x05,0x40,0x03,0xcc,0x6a,0xf6,0x00,0x1a]
+
+v_pk_sub_u16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] clamp
+// GFX13: v_pk_sub_u16 v255, 0xfe0b, vcc_hi op_sel:[0,1] op_sel_hi:[1,0] clamp ; encoding: [0xff,0xd0,0x0b,0xcc,0xff,0xd6,0x00,0x0a,0x0b,0xfe,0x00,0x00]
+
+v_pk_sub_u16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0]
+// GFX13: v_pk_sub_u16 v5, -1, exec_hi op_sel:[1,1] op_sel_hi:[0,0] ; encoding: [0x05,0x58,0x0b,0xcc,0xc1,0xfe,0x00,0x02]
+
+v_pk_sub_u16 v5, 0.5, m0 op_sel:[0,0] op_sel_hi:[1,1]
+// GFX13: v_pk_sub_u16 v5, 0.5, m0                ; encoding: [0x05,0x40,0x0b,0xcc,0xf0,0xfa,0x00,0x1a]
+
+v_pk_sub_u16 v5, exec_hi, null
+// GFX13: v_pk_sub_u16 v5, exec_hi, null          ; encoding: [0x05,0x40,0x0b,0xcc,0x7f,0xf8,0x00,0x1a]
+
+v_pk_sub_u16 v5, exec_lo, -1
+// GFX13: v_pk_sub_u16 v5, exec_lo, -1            ; encoding: [0x05,0x40,0x0b,0xcc,0x7e,0x82,0x01,0x1a]
+
+v_pk_sub_u16 v5, m0, 0.5
+// GFX13: v_pk_sub_u16 v5, m0, 0.5                ; encoding: [0x05,0x40,0x0b,0xcc,0x7d,0xe0,0x01,0x1a]
+
+v_pk_sub_u16 v5, null, exec_lo
+// GFX13: v_pk_sub_u16 v5, null, exec_lo          ; encoding: [0x05,0x40,0x0b,0xcc,0x7c,0xfc,0x00,0x1a]
+
+v_pk_sub_u16 v5, s1, s2
+// GFX13: v_pk_sub_u16 v5, s1, s2                 ; encoding: [0x05,0x40,0x0b,0xcc,0x01,0x04,0x00,0x1a]
+
+v_pk_sub_u16 v5, s105, s105
+// GFX13: v_pk_sub_u16 v5, s105, s105             ; encoding: [0x05,0x40,0x0b,0xcc,0x69,0xd2,0x00,0x1a]
+
+v_pk_sub_u16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1]
+// GFX13: v_pk_sub_u16 v5, src_scc, vcc_lo op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x05,0x48,0x0b,0xcc,0xfd,0xd4,0x00,0x12]
+
+v_pk_sub_u16 v5, ttmp15, src_scc
+// GFX13: v_pk_sub_u16 v5, ttmp15, src_scc        ; encoding: [0x05,0x40,0x0b,0xcc,0x7b,0xfa,0x01,0x1a]
+
+v_pk_sub_u16 v5, v1, v2
+// GFX13: v_pk_sub_u16 v5, v1, v2                 ; encoding: [0x05,0x40,0x0b,0xcc,0x01,0x05,0x02,0x1a]
+
+v_pk_sub_u16 v5, v255, v255
+// GFX13: v_pk_sub_u16 v5, v255, v255             ; encoding: [0x05,0x40,0x0b,0xcc,0xff,0xff,0x03,0x1a]
+
+v_pk_sub_u16 v5, vcc_hi, 0xfe0b
+// GFX13: v_pk_sub_u16 v5, vcc_hi, 0xfe0b         ; encoding: [0x05,0x40,0x0b,0xcc,0x6b,0xfe,0x01,0x1a,0x0b,0xfe,0x00,0x00]
+
+v_pk_sub_u16 v5, vcc_lo, ttmp15
+// GFX13: v_pk_sub_u16 v5, vcc_lo, ttmp15         ; encoding: [0x05,0x40,0x0b,0xcc,0x6a,0xf6,0x00,0x1a]
diff --git a/llvm/test/MC/AMDGPU/gfx13_asm_vop3p_dpp16.s b/llvm/test/MC/AMDGPU/gfx13_asm_vop3p_dpp16.s
new file mode 100644
index 0000000000000..cd3929ed33a08
--- /dev/null
+++ b/llvm/test/MC/AMDGPU/gfx13_asm_vop3p_dpp16.s
@@ -0,0 +1,18 @@
+// NOTE: Assertions have been autogenerated by utils/update_mc_test_checks.py UTC_ARGS: --version 6
+// RUN: llvm-mc -triple=amdgcn -mcpu=gfx1310 -show-encoding %s | FileCheck --check-prefixes=GFX13 %s
+// RUN: llvm-mc -triple=amdgcn -mcpu=gfx1310 -show-encoding %s | %extract-encodings | llvm-mc -triple=amdgcn -mcpu=gfx1310 -show-encoding -disassemble | FileCheck --check-prefixes=GFX13 %s
+
+v_fma_mix_f32 v0, v1, v2, v3 op_sel:[0,0,0] row_ror:7 bank_mask:0x1 bound_ctrl:0
+// GFX13: v_fma_mix_f32_e64_dpp v0, v1, v2, v3 row_ror:7 row_mask:0xf bank_mask:0x1 ; encoding: [0x00,0x00,0x20,0xcc,0xfa,0x04,0x0e,0x04,0x01,0x27,0x01,0xf1]
+
+v_fma_mix_f32_bf16 v0, v1, v2, v3 op_sel:[0,0,0] row_ror:7 bank_mask:0x1 bound_ctrl:0
+// GFX13: v_fma_mix_f32_bf16_e64_dpp v0, v1, v2, v3 row_ror:7 row_mask:0xf bank_mask:0x1 ; encoding: [0x00,0x00,0x3d,0xcc,0xfa,0x04,0x0e,0x04,0x01,0x27,0x01,0xf1]
+
+v_fma_mixhi_bf16 v0, v1, v2, v3 op_sel_hi:[1,1,1] clamp quad_perm:[0,2,3,1] row_mask:0x0
+// GFX13: v_fma_mixhi_bf16_e64_dpp v0, v1, v2, v3 op_sel_hi:[1,1,1] clamp quad_perm:[0,2,3,1] row_mask:0x0 bank_mask:0xf ; encoding: [0x00,0xc0,0x3f,0xcc,0xfa,0x04,0x0e,0x1c,0x01,0x78,0x00,0x0f]
+
+v_fma_mixhi_f16 v0, v1, v2, v3 op_sel_hi:[1,1,1] clamp quad_perm:[0,2,3,1] row_mask:0x0
+// GFX13: v_fma_mixhi_f16_e64_dpp v0, v1, v2, v3 op_sel_hi:[1,1,1] clamp quad_perm:[0,2,3,1] row_mask:0x0 bank_mask:0xf ; encoding: [0x00,0xc0,0x22,0xcc,0xfa,0x04,0x0e,0x1c,0x01,0x78,0x00,0x0f]
+
+v_fma_mixlo_bf16 v0, v1, v2, v3 op_sel_hi:[1,1,1] clamp quad_perm:[0,2,3,1] row_mask:0x0
+// GFX13: v_fma_mixlo_bf16_e64_dpp v0, v1, v2, v3 op_sel_hi:[1,1,1] clamp quad_perm:[0,2,3,1] row_mask:0x0 bank_mask:0xf ; encoding: [0x00,0xc0,0x3e,0xcc,0xfa,0x04,0x0e,0x1c,0x01,0x78,0x00,0x0f]
diff --git a/llvm/test/MC/AMDGPU/gfx13_asm_vop3p_dpp8.s b/llvm/test/MC/AMDGPU/gfx13_asm_vop3p_dpp8.s
new file mode 100644
index 0000000000000..2919c72042866
--- /dev/null
+++ b/llvm/test/MC/AMDGPU/gfx13_asm_vop3p_dpp8.s
@@ -0,0 +1,34 @@
+// NOTE: Assertions have been autogenerated by utils/update_mc_test_checks.py UTC_ARGS: --version 6
+// RUN: llvm-mc -triple=amdgcn -mcpu=gfx1310 -show-encoding %s | FileCheck --check-prefixes=GFX13 %s
+// RUN: llvm-mc -triple=amdgcn -mcpu=gfx1310 -show-encoding %s | %extract-encodings | llvm-mc -triple=amdgcn -mcpu=gfx1310 -show-encoding -disassemble | FileCheck --check-prefixes=GFX13 %s
+
+v_fma_mix_f32 v0, v1, v2, v3 clamp dpp8:[2,2,2,2,4,4,4,4] fi:1
+// GFX13: v_fma_mix_f32_e64_dpp v0, v1, v2, v3 clamp dpp8:[2,2,2,2,4,4,4,4] fi:1 ; encoding: [0x00,0x80,0x20,0xcc,0xea,0x04,0x0e,0x04,0x01,0x92,0x44,0x92]
+
+v_fma_mix_f32 v0, v1, v2, v3 dpp8:[2,2,2,2,4,4,4,4]
+// GFX13: v_fma_mix_f32_e64_dpp v0, v1, v2, v3 dpp8:[2,2,2,2,4,4,4,4] ; encoding: [0x00,0x00,0x20,0xcc,0xe9,0x04,0x0e,0x04,0x01,0x92,0x44,0x92]
+
+v_fma_mix_f32_bf16 v0, v1, v2, v3 clamp dpp8:[2,2,2,2,4,4,4,4] fi:1
+// GFX13: v_fma_mix_f32_bf16_e64_dpp v0, v1, v2, v3 clamp dpp8:[2,2,2,2,4,4,4,4] fi:1 ; encoding: [0x00,0x80,0x3d,0xcc,0xea,0x04,0x0e,0x04,0x01,0x92,0x44,0x92]
+
+v_fma_mix_f32_bf16 v0, v1, v2, v3 dpp8:[2,2,2,2,4,4,4,4]
+// GFX13: v_fma_mix_f32_bf16_e64_dpp v0, v1, v2, v3 dpp8:[2,2,2,2,4,4,4,4] ; encoding: [0x00,0x00,0x3d,0xcc,0xe9,0x04,0x0e,0x04,0x01,0x92,0x44,0x92]
+
+v_fma_mixhi_bf16 v0, abs(v1), -v2, abs(v3) dpp8:[2,2,2,2,4,4,4,4]
+// GFX13: v_fma_mixhi_bf16_e64_dpp v0, |v1|, -v2, |v3| dpp8:[2,2,2,2,4,4,4,4] ; encoding: [0x00,0x05,0x3f,0xcc,0xe9,0x04,0x0e,0x44,0x01,0x92,0x44,0x92]
+
+v_fma_mixhi_bf16 v0, abs(v1), -v2, abs(v3) op_sel:[1,0,0] op_sel_hi:[1,0,0] dpp8:[2,2,2,2,4,4,4,4]
+// GFX13: v_fma_mixhi_bf16_e64_dpp v0, |v1|, -v2, |v3| op_sel:[1,0,0] op_sel_hi:[1,0,0] dpp8:[2,2,2,2,4,4,4,4] ; encoding: [0x00,0x0d,0x3f,0xcc,0xe9,0x04,0x0e,0x4c,0x01,0x92,0x44,0x92]
+
+v_fma_mixlo_bf16 v0, abs(v1), -v2, abs(v3) dpp8:[2,2,2,2,4,4,4,4]
+// GFX13: v_fma_mixlo_bf16_e64_dpp v0, |v1|, -v2, |v3| dpp8:[2,2,2,2,4,4,4,4] ; encoding: [0x00,0x05,0x3e,0xcc,0xe9,0x04,0x0e,0x44,0x01,0x92,0x44,0x92]
+
+v_fma_mixlo_bf16 v0, abs(v1), -v2, abs(v3) op_sel:[1,0,0] op_sel_hi:[1,0,0] dpp8:[2,2,2,2,4,4,4,4]
+// GFX13: v_fma_mixlo_bf16_e64_dpp v0, |v1|, -v2, |v3| op_sel:[1,0,0] op_sel_hi:[1,0,0] dpp8:[2,2,2,2,4,4,4,4] ; encoding: [0x00,0x0d,0x3e,0xcc,0xe9,0x04,0x0e,0x4c,0x01,0x92,0x44,0x92]
+
+v_fma_mixlo_f16 v0, abs(v1), -v2, abs(v3) dpp8:[2,2,2,2,4,4,4,4]
+// GFX13: v_fma_mixlo_f16_e64_dpp v0, |v1|, -v2, |v3| dpp8:[2,2,2,2,4,4,4,4] ; encoding: [0x00,0x05,0x21,0xcc,0xe9,0x04,0x0e,0x44,0x01,0x92,0x44,0x92]
+
+// For test purpose only. OP_SEL has to be set to all 0 and OP_SEL_HI has to be set to all 1
+v_fma_mixlo_f16 v0, abs(v1), -v2, abs(v3) op_sel:[1,0,0] op_sel_hi:[1,0,0] dpp8:[2,2,2,2,4,4,4,4]
+// GFX13: v_fma_mixlo_f16_e64_dpp v0, |v1|, -v2, |v3| op_sel:[1,0,0] op_sel_hi:[1,0,0] dpp8:[2,2,2,2,4,4,4,4] ; encoding: [0x00,0x0d,0x21,0xcc,0xe9,0x04,0x0e,0x4c,0x01,0x92,0x44,0x92]
diff --git a/llvm/test/MC/AMDGPU/gfx13_asm_vop3p_features.s b/llvm/test/MC/AMDGPU/gfx13_asm_vop3p_features.s
new file mode 100644
index 0000000000000..31f4332689c7e
--- /dev/null
+++ b/llvm/test/MC/AMDGPU/gfx13_asm_vop3p_features.s
@@ -0,0 +1,125 @@
+// NOTE: Assertions have been autogenerated by utils/update_mc_test_checks.py UTC_ARGS: --version 6
+// RUN: llvm-mc -triple=amdgcn -show-encoding -mcpu=gfx1310 %s | FileCheck --check-prefix=GFX13 %s
+// RUN: llvm-mc -triple=amdgcn -show-encoding -mcpu=gfx1310 %s | %extract-encodings | llvm-mc -triple=amdgcn -show-encoding -mcpu=gfx1310 -disassemble | FileCheck --check-prefix=GFX13 %s
+
+// Test op_sel/op_sel_hi
+
+v_pk_add_u16 v1, v2, v3
+// GFX13: v_pk_add_u16 v1, v2, v3                 ; encoding: [0x01,0x40,0x0a,0xcc,0x02,0x07,0x02,0x1a]
+
+v_pk_add_u16 v1, v2, v3 op_sel:[0,0]
+// GFX13: v_pk_add_u16 v1, v2, v3                 ; encoding: [0x01,0x40,0x0a,0xcc,0x02,0x07,0x02,0x1a]
+
+v_pk_add_u16 v1, v2, v3 op_sel_hi:[1,1]
+// GFX13: v_pk_add_u16 v1, v2, v3                 ; encoding: [0x01,0x40,0x0a,0xcc,0x02,0x07,0x02,0x1a]
+
+v_pk_add_u16 v1, v2, v3 op_sel:[0,0] op_sel_hi:[1,1]
+// GFX13: v_pk_add_u16 v1, v2, v3                 ; encoding: [0x01,0x40,0x0a,0xcc,0x02,0x07,0x02,0x1a]
+
+v_pk_add_u16 v1, v2, v3 op_sel_hi:[0,0]
+// GFX13: v_pk_add_u16 v1, v2, v3 op_sel_hi:[0,0] ; encoding: [0x01,0x40,0x0a,0xcc,0x02,0x07,0x02,0x02]
+
+v_pk_add_u16 v1, v2, v3 op_sel:[0,0] op_sel_hi:[0,0]
+// GFX13: v_pk_add_u16 v1, v2, v3 op_sel_hi:[0,0] ; encoding: [0x01,0x40,0x0a,0xcc,0x02,0x07,0x02,0x02]
+
+v_pk_add_u16 v1, v2, v3 op_sel:[1,0]
+// GFX13: v_pk_add_u16 v1, v2, v3 op_sel:[1,0]    ; encoding: [0x01,0x48,0x0a,0xcc,0x02,0x07,0x02,0x1a]
+
+v_pk_add_u16 v1, v2, v3 op_sel:[0,1]
+// GFX13: v_pk_add_u16 v1, v2, v3 op_sel:[0,1]    ; encoding: [0x01,0x50,0x0a,0xcc,0x02,0x07,0x02,0x1a]
+
+v_pk_add_u16 v1, v2, v3 op_sel:[1,1]
+// GFX13: v_pk_add_u16 v1, v2, v3 op_sel:[1,1]    ; encoding: [0x01,0x58,0x0a,0xcc,0x02,0x07,0x02,0x1a]
+
+v_pk_add_u16 v1, v2, v3 op_sel_hi:[0,1]
+// GFX13: v_pk_add_u16 v1, v2, v3 op_sel_hi:[0,1] ; encoding: [0x01,0x40,0x0a,0xcc,0x02,0x07,0x02,0x12]
+
+v_pk_add_u16 v1, v2, v3 op_sel_hi:[1,0]
+// GFX13: v_pk_add_u16 v1, v2, v3 op_sel_hi:[1,0] ; encoding: [0x01,0x40,0x0a,0xcc,0x02,0x07,0x02,0x0a]
+
+v_pk_add_u16 v1, v2, v3 op_sel:[1,1] op_sel_hi:[1,1]
+// GFX13: v_pk_add_u16 v1, v2, v3 op_sel:[1,1]    ; encoding: [0x01,0x58,0x0a,0xcc,0x02,0x07,0x02,0x1a]
+
+v_pk_add_u16 v1, v2, v3 op_sel:[1,0] op_sel_hi:[1,0]
+// GFX13: v_pk_add_u16 v1, v2, v3 op_sel:[1,0] op_sel_hi:[1,0] ; encoding: [0x01,0x48,0x0a,0xcc,0x02,0x07,0x02,0x0a]
+
+v_pk_add_u16 v1, v2, v3 op_sel:[0,1] op_sel_hi:[0,1]
+// GFX13: v_pk_add_u16 v1, v2, v3 op_sel:[0,1] op_sel_hi:[0,1] ; encoding: [0x01,0x50,0x0a,0xcc,0x02,0x07,0x02,0x12]
+
+v_pk_add_u16 v1, v2, v3 op_sel:[1,0] op_sel_hi:[0,1]
+// GFX13: v_pk_add_u16 v1, v2, v3 op_sel:[1,0] op_sel_hi:[0,1] ; encoding: [0x01,0x48,0x0a,0xcc,0x02,0x07,0x02,0x12]
+
+v_pk_add_u16 v1, v2, v3 op_sel:[0,1] op_sel_hi:[1,0]
+// GFX13: v_pk_add_u16 v1, v2, v3 op_sel:[0,1] op_sel_hi:[1,0] ; encoding: [0x01,0x50,0x0a,0xcc,0x02,0x07,0x02,0x0a]
+
+// Test src2 op_sel/op_sel_hi
+
+v_pk_fma_f16 v8, v0, s0, v1
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1             ; encoding: [0x08,0x40,0x0e,0xcc,0x00,0x01,0x04,0x1c]
+
+v_pk_fma_f16 v8, v0, s0, v1 neg_lo:[0,0,0] neg_hi:[0,0,0]
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1             ; encoding: [0x08,0x40,0x0e,0xcc,0x00,0x01,0x04,0x1c]
+
+v_pk_fma_f16 v8, v0, s0, v1 op_sel:[0,0,0] op_sel_hi:[1,1,1] neg_lo:[0,0,0] neg_hi:[0,0,0]
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1             ; encoding: [0x08,0x40,0x0e,0xcc,0x00,0x01,0x04,0x1c]
+
+v_pk_fma_f16 v8, v0, s0, v1 op_sel:[0,0,0] op_sel_hi:[1,1,1]
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1             ; encoding: [0x08,0x40,0x0e,0xcc,0x00,0x01,0x04,0x1c]
+
+v_pk_fma_f16 v8, v0, s0, v1 op_sel:[0,0,0] op_sel_hi:[0,0,0]
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1 op_sel_hi:[0,0,0] ; encoding: [0x08,0x00,0x0e,0xcc,0x00,0x01,0x04,0x04]
+
+v_pk_fma_f16 v8, v0, s0, v1 op_sel:[0,0,1] op_sel_hi:[0,0,1]
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1 op_sel:[0,0,1] op_sel_hi:[0,0,1] ; encoding: [0x08,0x60,0x0e,0xcc,0x00,0x01,0x04,0x04]
+
+// Test neg_lo/neg_hi
+
+v_pk_fma_f16 v8, v0, s0, v1 neg_lo:[1,1,1]
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1 neg_lo:[1,1,1] ; encoding: [0x08,0x40,0x0e,0xcc,0x00,0x01,0x04,0xfc]
+
+v_pk_fma_f16 v8, v0, s0, v1 neg_hi:[1,1,1]
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1 neg_hi:[1,1,1] ; encoding: [0x08,0x47,0x0e,0xcc,0x00,0x01,0x04,0x1c]
+
+v_pk_fma_f16 v8, v0, s0, v1 neg_lo:[1,1,1] neg_hi:[1,1,1]
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1 neg_lo:[1,1,1] neg_hi:[1,1,1] ; encoding: [0x08,0x47,0x0e,0xcc,0x00,0x01,0x04,0xfc]
+
+v_pk_fma_f16 v8, v0, s0, v1 neg_lo:[1,0,0]
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1 neg_lo:[1,0,0] ; encoding: [0x08,0x40,0x0e,0xcc,0x00,0x01,0x04,0x3c]
+
+v_pk_fma_f16 v8, v0, s0, v1 neg_lo:[0,1,0]
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1 neg_lo:[0,1,0] ; encoding: [0x08,0x40,0x0e,0xcc,0x00,0x01,0x04,0x5c]
+
+v_pk_fma_f16 v8, v0, s0, v1 neg_lo:[0,0,1]
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1 neg_lo:[0,0,1] ; encoding: [0x08,0x40,0x0e,0xcc,0x00,0x01,0x04,0x9c]
+
+v_pk_fma_f16 v8, v0, s0, v1 neg_hi:[1,0,0]
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1 neg_hi:[1,0,0] ; encoding: [0x08,0x41,0x0e,0xcc,0x00,0x01,0x04,0x1c]
+
+v_pk_fma_f16 v8, v0, s0, v1 neg_hi:[0,1,0]
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1 neg_hi:[0,1,0] ; encoding: [0x08,0x42,0x0e,0xcc,0x00,0x01,0x04,0x1c]
+
+v_pk_fma_f16 v8, v0, s0, v1 neg_hi:[0,0,1]
+// GFX13: v_pk_fma_f16 v8, v0, s0, v1 neg_hi:[0,0,1] ; encoding: [0x08,0x44,0x0e,0xcc,0x00,0x01,0x04,0x1c]
+
+// DOT
+
+v_dot4_i32_iu8 v3, v4, v5, v6
+// GFX13: v_dot4_i32_iu8 v3, v4, v5, v6           ; encoding: [0x03,0x40,0x16,0xcc,0x04,0x0b,0x1a,0x1c]
+
+v_dot4_i32_iu8 v3, v4, v5, 0xf neg_lo:[1,1]
+// GFX13: v_dot4_i32_iu8 v3, v4, v5, 15 neg_lo:[1,1,0] ; encoding: [0x03,0x40,0x16,0xcc,0x04,0x0b,0x3e,0x7a]
+
+v_dot4_u32_u8 v3, v4, v5, v6
+// GFX13: v_dot4_u32_u8 v3, v4, v5, v6            ; encoding: [0x03,0x40,0x17,0xcc,0x04,0x0b,0x1a,0x1c]
+
+v_dot4_i32_iu8 v3, v4, v5, 0xf
+// GFX13: v_dot4_i32_iu8 v3, v4, v5, 15           ; encoding: [0x03,0x40,0x16,0xcc,0x04,0x0b,0x3e,0x1a]
+
+v_dot8_i32_iu4 v3, v4, v5, 0xf neg_lo:[1,0]
+// GFX13: v_dot8_i32_iu4 v3, v4, v5, 15 neg_lo:[1,0,0] ; encoding: [0x03,0x40,0x18,0xcc,0x04,0x0b,0x3e,0x3a]
+
+v_dot8_i32_iu4 v3, v4, v5, v0 neg_lo:[0,0]
+// GFX13: v_dot8_i32_iu4 v3, v4, v5, v0           ; encoding: [0x03,0x40,0x18,0xcc,0x04,0x0b,0x02,0x1c]
+
+v_dot8_u32_u4 v0, v1, v2, v3
+// GFX13: v_dot8_u32_u4 v0, v1, v2, v3            ; encoding: [0x00,0x40,0x19,0xcc,0x01,0x05,0x0e,0x1c]



More information about the llvm-commits mailing list