[llvm] r308740 - [AMDGPU][MC][GFX9] Added support of VOP3 'op_sel' modifier

Dmitry Preobrazhensky via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 21 06:54:11 PDT 2017


Modified: llvm/trunk/test/MC/AMDGPU/vop3-gfx9.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AMDGPU/vop3-gfx9.s?rev=308740&r1=308739&r2=308740&view=diff
==============================================================================
--- llvm/trunk/test/MC/AMDGPU/vop3-gfx9.s (original)
+++ llvm/trunk/test/MC/AMDGPU/vop3-gfx9.s Fri Jul 21 06:54:11 2017
@@ -31,6 +31,15 @@ v_pack_b32_f16 v1, v2, v3
 // GFX9: v_pack_b32_f16 v1, v2, v3 ; encoding: [0x01,0x00,0xa0,0xd2,0x02,0x07,0x02,0x00]
 // NOVI: :1: error: instruction not supported on this GPU
 
+v_pack_b32_f16 v5, v1, v2 op_sel:[1,0,0]
+// GFX9: v_pack_b32_f16 v5, v1, v2 op_sel:[1,0,0] ; encoding: [0x05,0x08,0xa0,0xd2,0x01,0x05,0x02,0x00]
+
+v_pack_b32_f16 v5, v1, v2 op_sel:[0,1,0]
+// GFX9: v_pack_b32_f16 v5, v1, v2 op_sel:[0,1,0] ; encoding: [0x05,0x10,0xa0,0xd2,0x01,0x05,0x02,0x00]
+
+v_pack_b32_f16 v5, v1, v2 op_sel:[0,0,1]
+// GFX9: v_pack_b32_f16 v5, v1, v2 op_sel:[0,0,1] ; encoding: [0x05,0x40,0xa0,0xd2,0x01,0x05,0x02,0x00]
+
 v_xad_u32 v1, v2, v3, v4
 // GFX9: v_xad_u32 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xf3,0xd1,0x02,0x07,0x12,0x04]
 // NOVI: :1: error: instruction not supported on this GPU
@@ -51,10 +60,46 @@ v_max3_f16 v1, v2, v3, v4
 // GFX9: v_max3_f16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xf7,0xd1,0x02,0x07,0x12,0x04]
 // NOVI: :1: error: instruction not supported on this GPU
 
+v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,0,0]
+// GFX9: v_max3_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_f16 v5, v1, v2, v3 op_sel:[1,0,0,0]
+// GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_f16 v5, v1, v2, v3 op_sel:[0,1,0,0]
+// GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[0,1,0,0] ; encoding: [0x05,0x10,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,1,0]
+// GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,1,0] ; encoding: [0x05,0x20,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,0,1]
+// GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_f16 v5, v1, v2, v3 op_sel:[1,1,1,1]
+// GFX9: v_max3_f16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+
 v_max3_i16 v1, v2, v3, v4
 // GFX9: v_max3_i16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xf8,0xd1,0x02,0x07,0x12,0x04]
 // NOVI: :1: error: instruction not supported on this GPU
 
+v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,0,0]
+// GFX9: v_max3_i16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_i16 v5, v1, v2, v3 op_sel:[1,0,0,0]
+// GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_i16 v5, v1, v2, v3 op_sel:[0,1,0,0]
+// GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[0,1,0,0] ; encoding: [0x05,0x10,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,1,0]
+// GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,1,0] ; encoding: [0x05,0x20,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,0,1]
+// GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_i16 v5, v1, v2, v3 op_sel:[1,1,1,1]
+// GFX9: v_max3_i16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+
 v_max3_u16 v1, v2, v3, v4
 // GFX9: v_max3_u16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xf9,0xd1,0x02,0x07,0x12,0x04]
 // NOVI: :1: error: instruction not supported on this GPU
@@ -70,3 +115,78 @@ v_med3_i16 v1, v2, v3, v4
 v_med3_u16 v1, v2, v3, v4
 // GFX9: v_med3_u16 v1, v2, v3, v4 ; encoding: [0x01,0x00,0xfc,0xd1,0x02,0x07,0x12,0x04]
 // NOVI: :1: error: instruction not supported on this GPU
+
+v_mad_u32_u16 v5, v1, v2, v3
+// GFX9: v_mad_u32_u16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u32_u16 v5, v1, v2, v3 op_sel:[1,0,0,0]
+// GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[1,0,0,0] ; encoding: [0x05,0x08,0xf1,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,1,0,0]
+// GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,1,0,0] ; encoding: [0x05,0x10,0xf1,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,0,1,0]
+// GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,0,1,0] ; encoding: [0x05,0x20,0xf1,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,0,0,1]
+// GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0xf1,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u32_u16 v5, v1, v2, v3 op_sel:[1,1,1,1]
+// GFX9: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[1,1,1,1] ; encoding: [0x05,0x78,0xf1,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i32_i16 v5, v1, v2, v3
+// GFX9: v_mad_i32_i16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i32_i16 v5, v1, v2, v3 op_sel:[0,0,0,1]
+// GFX9: v_mad_i32_i16 v5, v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x05,0x40,0xf2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_cvt_pknorm_i16_f16 v5, v1, v2
+// GFX9: v_cvt_pknorm_i16_f16 v5, v1, v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_i16_f16 v5, -v1, v2
+// GFX9: v_cvt_pknorm_i16_f16 v5, -v1, v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x20]
+
+v_cvt_pknorm_i16_f16 v5, v1, -v2
+// GFX9: v_cvt_pknorm_i16_f16 v5, v1, -v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x40]
+
+v_cvt_pknorm_i16_f16 v5, -v1, -v2
+// GFX9: v_cvt_pknorm_i16_f16 v5, -v1, -v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x60]
+
+v_cvt_pknorm_i16_f16 v5, |v1|, v2
+// GFX9: v_cvt_pknorm_i16_f16 v5, |v1|, v2 ; encoding: [0x05,0x01,0x99,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_i16_f16 v5, v1, |v2|
+// GFX9: v_cvt_pknorm_i16_f16 v5, v1, |v2| ; encoding: [0x05,0x02,0x99,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[0,0,0]
+// GFX9: v_cvt_pknorm_i16_f16 v5, v1, v2 ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[1,0,0]
+// GFX9: v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[1,0,0] ; encoding: [0x05,0x08,0x99,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[1,1,1]
+// GFX9: v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[1,1,1] ; encoding: [0x05,0x58,0x99,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_u16_f16 v5, -v1, -v2
+// GFX9: v_cvt_pknorm_u16_f16 v5, -v1, -v2 ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0x05,0x02,0x60]
+
+v_cvt_pknorm_u16_f16 v5, |v1|, |v2|
+// GFX9: v_cvt_pknorm_u16_f16 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x9a,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_u16_f16 v5, v1, v2 op_sel:[1,1,1]
+// GFX9: v_cvt_pknorm_u16_f16 v5, v1, v2 op_sel:[1,1,1] ; encoding: [0x05,0x58,0x9a,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_i16 v5, v1, v2
+// GFX9: v_add_i16 v5, v1, v2 ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_i16 v5, v1, v2 op_sel:[1,1,1]
+// GFX9: v_add_i16 v5, v1, v2 op_sel:[1,1,1] ; encoding: [0x05,0x58,0x9e,0xd2,0x01,0x05,0x02,0x00]
+
+v_sub_i16 v5, v1, v2
+// GFX9: v_sub_i16 v5, v1, v2 ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0x05,0x02,0x00]
+
+v_sub_i16 v5, v1, v2 op_sel:[1,1,1]
+// GFX9: v_sub_i16 v5, v1, v2 op_sel:[1,1,1] ; encoding: [0x05,0x58,0x9f,0xd2,0x01,0x05,0x02,0x00]
+
+v_sub_i16 v5, v1, v2 clamp
+// GFX9: v_sub_i16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x9f,0xd2,0x01,0x05,0x02,0x00]

Modified: llvm/trunk/test/MC/AMDGPU/vop3p-err.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AMDGPU/vop3p-err.s?rev=308740&r1=308739&r2=308740&view=diff
==============================================================================
--- llvm/trunk/test/MC/AMDGPU/vop3p-err.s (original)
+++ llvm/trunk/test/MC/AMDGPU/vop3p-err.s Fri Jul 21 06:54:11 2017
@@ -36,8 +36,8 @@ v_pk_add_u16 v1, v2, v3 op_sel:[-1,0]
 // GFX9: 35: error: failed parsing operand.
 v_pk_add_u16 v1, v2, v3 op_sel:[0,-1]
 
-// GFX9: 40: error: not a valid operand.
-v_pk_add_u16 v1, v2, v3 op_sel:[0,0,0,0]
+// GFX9: 42: error: not a valid operand.
+v_pk_add_u16 v1, v2, v3 op_sel:[0,0,0,0,0]
 
 // XXGFX9: invalid operand for instruction
 v_pk_add_u16 v1, v2, v3 neg_lo:[0,0]

Modified: llvm/trunk/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt?rev=308740&r1=308739&r2=308740&view=diff
==============================================================================
--- llvm/trunk/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt (original)
+++ llvm/trunk/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt Fri Jul 21 06:54:11 2017
@@ -40074,93 +40074,6 @@
 # CHECK: v_cvt_pk_i16_i32 v5, v1, -4.0    ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xef,0x01,0x00]
 0x05,0x00,0x98,0xd2,0x01,0xef,0x01,0x00
 
-# CHECK: v_pack_b32_f16 v5, v1, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x00]
-0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v255, v1, v2    ; encoding: [0xff,0x00,0xa0,0xd2,0x01,0x05,0x02,0x00]
-0xff,0x00,0xa0,0xd2,0x01,0x05,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v5, v255, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0xff,0x05,0x02,0x00]
-0x05,0x00,0xa0,0xd2,0xff,0x05,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v5, s1, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x04,0x02,0x00]
-0x05,0x00,0xa0,0xd2,0x01,0x04,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v5, s101, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x65,0x04,0x02,0x00]
-0x05,0x00,0xa0,0xd2,0x65,0x04,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v5, flat_scratch_lo, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x66,0x04,0x02,0x00]
-0x05,0x00,0xa0,0xd2,0x66,0x04,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v5, flat_scratch_hi, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x67,0x04,0x02,0x00]
-0x05,0x00,0xa0,0xd2,0x67,0x04,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v5, vcc_lo, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x6a,0x04,0x02,0x00]
-0x05,0x00,0xa0,0xd2,0x6a,0x04,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v5, vcc_hi, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x6b,0x04,0x02,0x00]
-0x05,0x00,0xa0,0xd2,0x6b,0x04,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v5, m0, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x7c,0x04,0x02,0x00]
-0x05,0x00,0xa0,0xd2,0x7c,0x04,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v5, exec_lo, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x7e,0x04,0x02,0x00]
-0x05,0x00,0xa0,0xd2,0x7e,0x04,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v5, exec_hi, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x7f,0x04,0x02,0x00]
-0x05,0x00,0xa0,0xd2,0x7f,0x04,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v5, v1, v255    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xff,0x03,0x00]
-0x05,0x00,0xa0,0xd2,0x01,0xff,0x03,0x00
-
-# CHECK: v_pack_b32_f16 v5, v1, s2    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x00,0x00]
-0x05,0x00,0xa0,0xd2,0x01,0x05,0x00,0x00
-
-# CHECK: v_pack_b32_f16 v5, v1, s101    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xcb,0x00,0x00]
-0x05,0x00,0xa0,0xd2,0x01,0xcb,0x00,0x00
-
-# CHECK: v_pack_b32_f16 v5, v1, flat_scratch_lo    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xcd,0x00,0x00]
-0x05,0x00,0xa0,0xd2,0x01,0xcd,0x00,0x00
-
-# CHECK: v_pack_b32_f16 v5, v1, flat_scratch_hi    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xcf,0x00,0x00]
-0x05,0x00,0xa0,0xd2,0x01,0xcf,0x00,0x00
-
-# CHECK: v_pack_b32_f16 v5, v1, vcc_lo    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xd5,0x00,0x00]
-0x05,0x00,0xa0,0xd2,0x01,0xd5,0x00,0x00
-
-# CHECK: v_pack_b32_f16 v5, v1, vcc_hi    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xd7,0x00,0x00]
-0x05,0x00,0xa0,0xd2,0x01,0xd7,0x00,0x00
-
-# CHECK: v_pack_b32_f16 v5, v1, m0    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xf9,0x00,0x00]
-0x05,0x00,0xa0,0xd2,0x01,0xf9,0x00,0x00
-
-# CHECK: v_pack_b32_f16 v5, v1, exec_lo    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xfd,0x00,0x00]
-0x05,0x00,0xa0,0xd2,0x01,0xfd,0x00,0x00
-
-# CHECK: v_pack_b32_f16 v5, v1, exec_hi    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xff,0x00,0x00]
-0x05,0x00,0xa0,0xd2,0x01,0xff,0x00,0x00
-
-# CHECK: v_pack_b32_f16 v5, -v1, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x20]
-0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x20
-
-# CHECK: v_pack_b32_f16 v5, v1, -v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x40]
-0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x40
-
-# CHECK: v_pack_b32_f16 v5, -v1, -v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x60]
-0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x60
-
-# CHECK: v_pack_b32_f16 v5, |v1|, v2    ; encoding: [0x05,0x01,0xa0,0xd2,0x01,0x05,0x02,0x00]
-0x05,0x01,0xa0,0xd2,0x01,0x05,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v5, v1, |v2|    ; encoding: [0x05,0x02,0xa0,0xd2,0x01,0x05,0x02,0x00]
-0x05,0x02,0xa0,0xd2,0x01,0x05,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v5, |v1|, |v2|    ; encoding: [0x05,0x03,0xa0,0xd2,0x01,0x05,0x02,0x00]
-0x05,0x03,0xa0,0xd2,0x01,0x05,0x02,0x00
-
-# CHECK: v_pack_b32_f16 v5, v1, v2 clamp    ; encoding: [0x05,0x80,0xa0,0xd2,0x01,0x05,0x02,0x00]
-0x05,0x80,0xa0,0xd2,0x01,0x05,0x02,0x00
-
 # CHECK: v_cmp_class_f32_e32 vcc, v1, v2    ; encoding: [0x01,0x05,0x20,0x7c]
 0x01,0x05,0x20,0x7c
 
@@ -89339,3 +89252,1197 @@
 
 # CHECK: v_mqsad_u32_u8 v[252:255], v[1:2], -4.0, v[3:6]    ; encoding: [0xfc,0x00,0xe7,0xd1,0x01,0xef,0x0d,0x04]
 0xfc,0x00,0xe7,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_max3_i16 v5, v1, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_i16 v255, v1, v2, v3    ; encoding: [0xff,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, v255, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, s1, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, s101, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, flat_scratch_lo, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, flat_scratch_hi, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, vcc_lo, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, vcc_hi, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, m0, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, exec_lo, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, exec_hi, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, 0, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, -1, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, 0.5, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, -4.0, v2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, v1, v255, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_max3_i16 v5, v1, s2, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, s101, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, flat_scratch_lo, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, flat_scratch_hi, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, vcc_lo, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, vcc_hi, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, m0, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, exec_lo, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, exec_hi, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, 0, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_max3_i16 v5, v1, -1, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_max3_i16 v5, v1, 0.5, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_max3_i16 v5, v1, -4.0, v3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_max3_i16 v5, v1, v2, v255    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_max3_i16 v5, v1, v2, s3    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_max3_i16 v5, v1, v2, s101    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, flat_scratch_lo    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, flat_scratch_hi    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, vcc_lo    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, vcc_hi    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, m0    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, exec_lo    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, exec_hi    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, 0    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_max3_i16 v5, v1, v2, -1    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_max3_i16 v5, v1, v2, 0.5    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_max3_i16 v5, v1, v2, -4.0    ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_max3_i16 v5, v1, v2, v3 op_sel:[1,0,0,0]    ; encoding: [0x05,0x08,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x08,0xf8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, v1, v2, v3 op_sel:[0,1,0,0]    ; encoding: [0x05,0x10,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x10,0xf8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,1,0]    ; encoding: [0x05,0x20,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x20,0xf8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, v1, v2, v3 op_sel:[0,0,0,1]    ; encoding: [0x05,0x40,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x40,0xf8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, v1, v2, v3 op_sel:[1,1,1,1]    ; encoding: [0x05,0x78,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x78,0xf8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, v1, v2, v3 clamp    ; encoding: [0x05,0x80,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xf8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v1, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v255, v1, v2, v3    ; encoding: [0xff,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v255, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, s1, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, s101, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, flat_scratch_lo, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, flat_scratch_hi, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, vcc_lo, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, vcc_hi, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, m0, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, exec_lo, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, exec_hi, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, 0, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, -1, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, 0.5, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, -4.0, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v1, v255, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_max3_f16 v5, v1, s2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, s101, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, flat_scratch_lo, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, flat_scratch_hi, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, vcc_lo, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, vcc_hi, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, m0, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, exec_lo, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, exec_hi, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, 0, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_max3_f16 v5, v1, -1, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_max3_f16 v5, v1, 0.5, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_max3_f16 v5, v1, -4.0, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_max3_f16 v5, v1, v2, v255    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_max3_f16 v5, v1, v2, s3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_max3_f16 v5, v1, v2, s101    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, flat_scratch_lo    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, flat_scratch_hi    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, vcc_lo    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, vcc_hi    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, m0    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, exec_lo    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, exec_hi    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, 0    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_max3_f16 v5, v1, v2, -1    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_max3_f16 v5, v1, v2, 0.5    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_max3_f16 v5, v1, v2, -4.0    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_max3_f16 v5, -v1, v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_max3_f16 v5, v1, -v2, v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_max3_f16 v5, v1, v2, -v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_max3_f16 v5, -v1, -v2, -v3    ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_max3_f16 v5, |v1|, v2, v3    ; encoding: [0x05,0x01,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v1, |v2|, v3    ; encoding: [0x05,0x02,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v1, v2, |v3|    ; encoding: [0x05,0x04,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, |v1|, |v2|, |v3|    ; encoding: [0x05,0x07,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v1, v2, v3 op_sel:[1,0,0,0]    ; encoding: [0x05,0x08,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x08,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v1, v2, v3 op_sel:[0,1,0,0]    ; encoding: [0x05,0x10,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x10,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,1,0]    ; encoding: [0x05,0x20,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x20,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v1, v2, v3 op_sel:[0,0,0,1]    ; encoding: [0x05,0x40,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x40,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v1, v2, v3 op_sel:[1,1,1,1]    ; encoding: [0x05,0x78,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x78,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v1, v2, v3 clamp    ; encoding: [0x05,0x80,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_add_i16 v5, v1, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_i16 v255, v1, v2    ; encoding: [0xff,0x00,0x9e,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x9e,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_i16 v5, v255, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_add_i16 v5, s1, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_add_i16 v5, s101, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_add_i16 v5, flat_scratch_lo, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_add_i16 v5, flat_scratch_hi, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_add_i16 v5, vcc_lo, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_add_i16 v5, vcc_hi, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_add_i16 v5, m0, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_add_i16 v5, exec_lo, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_add_i16 v5, exec_hi, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_add_i16 v5, 0, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_add_i16 v5, -1, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_add_i16 v5, 0.5, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_add_i16 v5, -4.0, v2    ; encoding: [0x05,0x00,0x9e,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x9e,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_add_i16 v5, v1, v255    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_add_i16 v5, v1, s2    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_add_i16 v5, v1, s101    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_add_i16 v5, v1, flat_scratch_lo    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_add_i16 v5, v1, flat_scratch_hi    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_add_i16 v5, v1, vcc_lo    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_add_i16 v5, v1, vcc_hi    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_add_i16 v5, v1, m0    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_add_i16 v5, v1, exec_lo    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_add_i16 v5, v1, exec_hi    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_add_i16 v5, v1, 0    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_add_i16 v5, v1, -1    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_add_i16 v5, v1, 0.5    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_add_i16 v5, v1, -4.0    ; encoding: [0x05,0x00,0x9e,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x9e,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_add_i16 v5, v1, v2 op_sel:[1,0,0]    ; encoding: [0x05,0x08,0x9e,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x08,0x9e,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_i16 v5, v1, v2 op_sel:[0,1,0]    ; encoding: [0x05,0x10,0x9e,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x10,0x9e,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_i16 v5, v1, v2 op_sel:[0,0,1]    ; encoding: [0x05,0x40,0x9e,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x40,0x9e,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_i16 v5, v1, v2 op_sel:[1,1,1]    ; encoding: [0x05,0x58,0x9e,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x58,0x9e,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_i16 v5, v1, v2 clamp    ; encoding: [0x05,0x80,0x9e,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x9e,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_i16 v5, v1, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_i16 v255, v1, v2    ; encoding: [0xff,0x00,0x9f,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x9f,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_i16 v5, v255, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_sub_i16 v5, s1, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_sub_i16 v5, s101, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_sub_i16 v5, flat_scratch_lo, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_sub_i16 v5, flat_scratch_hi, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_sub_i16 v5, vcc_lo, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_sub_i16 v5, vcc_hi, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_sub_i16 v5, m0, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_sub_i16 v5, exec_lo, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_sub_i16 v5, exec_hi, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_sub_i16 v5, 0, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_sub_i16 v5, -1, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_sub_i16 v5, 0.5, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_sub_i16 v5, -4.0, v2    ; encoding: [0x05,0x00,0x9f,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x9f,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_sub_i16 v5, v1, v255    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_sub_i16 v5, v1, s2    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_sub_i16 v5, v1, s101    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_sub_i16 v5, v1, flat_scratch_lo    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_sub_i16 v5, v1, flat_scratch_hi    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_sub_i16 v5, v1, vcc_lo    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_sub_i16 v5, v1, vcc_hi    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_sub_i16 v5, v1, m0    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_sub_i16 v5, v1, exec_lo    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_sub_i16 v5, v1, exec_hi    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_sub_i16 v5, v1, 0    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_sub_i16 v5, v1, -1    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_sub_i16 v5, v1, 0.5    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_sub_i16 v5, v1, -4.0    ; encoding: [0x05,0x00,0x9f,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x9f,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_sub_i16 v5, v1, v2 op_sel:[1,0,0]    ; encoding: [0x05,0x08,0x9f,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x08,0x9f,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_i16 v5, v1, v2 op_sel:[0,1,0]    ; encoding: [0x05,0x10,0x9f,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x10,0x9f,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_i16 v5, v1, v2 op_sel:[0,0,1]    ; encoding: [0x05,0x40,0x9f,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x40,0x9f,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_i16 v5, v1, v2 op_sel:[1,1,1]    ; encoding: [0x05,0x58,0x9f,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x58,0x9f,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_i16 v5, v1, v2 clamp    ; encoding: [0x05,0x80,0x9f,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x9f,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v255, v1, v2, v3    ; encoding: [0xff,0x00,0xf1,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xf1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, v255, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, s1, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, s101, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, flat_scratch_lo, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, flat_scratch_hi, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, vcc_lo, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, vcc_hi, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, m0, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, exec_lo, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, exec_hi, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, 0, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, -1, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, 0.5, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, -4.0, v2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xf1,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, v255, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, s2, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, s101, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, flat_scratch_lo, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, flat_scratch_hi, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, vcc_lo, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, vcc_hi, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, m0, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, exec_lo, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, exec_hi, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, 0, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, -1, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, 0.5, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, -4.0, v3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xf1,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, v255    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, s3    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, s101    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, flat_scratch_lo    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, flat_scratch_hi    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, vcc_lo    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, vcc_hi    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, m0    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, exec_lo    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, exec_hi    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, 0    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, -1    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, 0.5    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, -4.0    ; encoding: [0x05,0x00,0xf1,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xf1,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[1,0,0,0]    ; encoding: [0x05,0x08,0xf1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x08,0xf1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,1,0,0]    ; encoding: [0x05,0x10,0xf1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x10,0xf1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,0,1,0]    ; encoding: [0x05,0x20,0xf1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x20,0xf1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[0,0,0,1]    ; encoding: [0x05,0x40,0xf1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x40,0xf1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, v3 op_sel:[1,1,1,1]    ; encoding: [0x05,0x78,0xf1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x78,0xf1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u32_u16 v5, v1, v2, v3 clamp    ; encoding: [0x05,0x80,0xf1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xf1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v255, v1, v2, v3    ; encoding: [0xff,0x00,0xf2,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xf2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, v255, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, s1, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, s101, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, flat_scratch_lo, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, flat_scratch_hi, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, vcc_lo, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, vcc_hi, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, m0, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, exec_lo, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, exec_hi, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, 0, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, -1, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, 0.5, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, -4.0, v2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xf2,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, v255, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, s2, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, s101, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, flat_scratch_lo, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, flat_scratch_hi, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, vcc_lo, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, vcc_hi, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, m0, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, exec_lo, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, exec_hi, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, 0, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, -1, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, 0.5, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, -4.0, v3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xf2,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, v255    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, s3    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, s101    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, flat_scratch_lo    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, flat_scratch_hi    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, vcc_lo    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, vcc_hi    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, m0    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, exec_lo    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, exec_hi    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, 0    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, -1    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, 0.5    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, -4.0    ; encoding: [0x05,0x00,0xf2,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xf2,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, v3 op_sel:[1,0,0,0]    ; encoding: [0x05,0x08,0xf2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x08,0xf2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, v3 op_sel:[0,1,0,0]    ; encoding: [0x05,0x10,0xf2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x10,0xf2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, v3 op_sel:[0,0,1,0]    ; encoding: [0x05,0x20,0xf2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x20,0xf2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, v3 op_sel:[0,0,0,1]    ; encoding: [0x05,0x40,0xf2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x40,0xf2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, v3 op_sel:[1,1,1,1]    ; encoding: [0x05,0x78,0xf2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x78,0xf2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i32_i16 v5, v1, v2, v3 clamp    ; encoding: [0x05,0x80,0xf2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xf2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_pack_b32_f16 v5, v1, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v255, v1, v2    ; encoding: [0xff,0x00,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, v255, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, s1, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, s101, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, flat_scratch_lo, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, flat_scratch_hi, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, vcc_lo, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, vcc_hi, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, m0, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, exec_lo, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, exec_hi, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, 0, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, -1, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, 0.5, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, -4.0, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, v255    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, s2    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, s101    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, flat_scratch_lo    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, flat_scratch_hi    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, vcc_lo    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, vcc_hi    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, m0    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, exec_lo    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, exec_hi    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, 0    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, -1    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, 0.5    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, -4.0    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_pack_b32_f16 v5, -v1, v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_pack_b32_f16 v5, v1, -v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_pack_b32_f16 v5, -v1, -v2    ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_pack_b32_f16 v5, |v1|, v2    ; encoding: [0x05,0x01,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, |v2|    ; encoding: [0x05,0x02,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, |v1|, |v2|    ; encoding: [0x05,0x03,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, v2 op_sel:[1,0,0]    ; encoding: [0x05,0x08,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x08,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, v2 op_sel:[0,1,0]    ; encoding: [0x05,0x10,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x10,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, v2 op_sel:[0,0,1]    ; encoding: [0x05,0x40,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x40,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, v2 op_sel:[1,1,1]    ; encoding: [0x05,0x58,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x58,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, v2    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v255, v1, v2    ; encoding: [0xff,0x00,0x99,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x99,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v255, v2    ; encoding: [0x05,0x00,0x99,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x99,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, s1, v2    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x99,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, s101, v2    ; encoding: [0x05,0x00,0x99,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x99,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, flat_scratch_lo, v2    ; encoding: [0x05,0x00,0x99,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x99,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, flat_scratch_hi, v2    ; encoding: [0x05,0x00,0x99,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x99,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, vcc_lo, v2    ; encoding: [0x05,0x00,0x99,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x99,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, vcc_hi, v2    ; encoding: [0x05,0x00,0x99,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x99,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, m0, v2    ; encoding: [0x05,0x00,0x99,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x99,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, exec_lo, v2    ; encoding: [0x05,0x00,0x99,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x99,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, exec_hi, v2    ; encoding: [0x05,0x00,0x99,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x99,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, 0, v2    ; encoding: [0x05,0x00,0x99,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x99,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, -1, v2    ; encoding: [0x05,0x00,0x99,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x99,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, 0.5, v2    ; encoding: [0x05,0x00,0x99,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x99,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, -4.0, v2    ; encoding: [0x05,0x00,0x99,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x99,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, v255    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x99,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, s2    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x99,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, s101    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x99,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, flat_scratch_lo    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x99,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, flat_scratch_hi    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x99,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, vcc_lo    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x99,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, vcc_hi    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x99,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, m0    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x99,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, exec_lo    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x99,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, exec_hi    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x99,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, 0    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x99,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, -1    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x99,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, 0.5    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x99,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, -4.0    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x99,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, -v1, v2    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, -v2    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, -v1, -v2    ; encoding: [0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x99,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, |v1|, v2    ; encoding: [0x05,0x01,0x99,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x99,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, |v2|    ; encoding: [0x05,0x02,0x99,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x99,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, |v1|, |v2|    ; encoding: [0x05,0x03,0x99,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x99,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[1,0,0]    ; encoding: [0x05,0x08,0x99,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x08,0x99,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[0,1,0]    ; encoding: [0x05,0x10,0x99,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x10,0x99,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[0,0,1]    ; encoding: [0x05,0x40,0x99,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x40,0x99,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f16 v5, v1, v2 op_sel:[1,1,1]    ; encoding: [0x05,0x58,0x99,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x58,0x99,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v255, v1, v2    ; encoding: [0xff,0x00,0x9a,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x9a,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v255, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, s1, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, s101, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, flat_scratch_lo, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, flat_scratch_hi, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, vcc_lo, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, vcc_hi, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, m0, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, exec_lo, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, exec_hi, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, 0, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, -1, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, 0.5, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, -4.0, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x9a,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, v255    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, s2    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, s101    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, flat_scratch_lo    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, flat_scratch_hi    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, vcc_lo    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, vcc_hi    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, m0    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, exec_lo    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, exec_hi    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, 0    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, -1    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, 0.5    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, -4.0    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x9a,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, -v1, v2    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x9a,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, -v2    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x9a,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, -v1, -v2    ; encoding: [0x05,0x00,0x9a,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x9a,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, |v1|, v2    ; encoding: [0x05,0x01,0x9a,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x9a,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, |v2|    ; encoding: [0x05,0x02,0x9a,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x9a,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, |v1|, |v2|    ; encoding: [0x05,0x03,0x9a,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x9a,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, v2 op_sel:[1,0,0]    ; encoding: [0x05,0x08,0x9a,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x08,0x9a,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, v2 op_sel:[0,1,0]    ; encoding: [0x05,0x10,0x9a,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x10,0x9a,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, v2 op_sel:[0,0,1]    ; encoding: [0x05,0x40,0x9a,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x40,0x9a,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f16 v5, v1, v2 op_sel:[1,1,1]    ; encoding: [0x05,0x58,0x9a,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x58,0x9a,0xd2,0x01,0x05,0x02,0x00




More information about the llvm-commits mailing list