[llvm] r363946 - [AMDGPU] gfx10 tests. NFC.

Stanislav Mekhanoshin via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 20 09:29:40 PDT 2019


Added: llvm/trunk/test/MC/AMDGPU/gfx10_asm_dpp16.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AMDGPU/gfx10_asm_dpp16.s?rev=363946&view=auto
==============================================================================
--- llvm/trunk/test/MC/AMDGPU/gfx10_asm_dpp16.s (added)
+++ llvm/trunk/test/MC/AMDGPU/gfx10_asm_dpp16.s Thu Jun 20 09:29:40 2019
@@ -0,0 +1,682 @@
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=+WavefrontSize32,-WavefrontSize64 -show-encoding %s | FileCheck --check-prefixes=GFX10,W32 %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=-WavefrontSize32,+WavefrontSize64 -show-encoding %s | FileCheck --check-prefixes=GFX10,W64 %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=+WavefrontSize32,-WavefrontSize64 -show-encoding %s 2>&1 | FileCheck --check-prefixes=GFX10-ERR,W32-ERR %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=-WavefrontSize32,+WavefrontSize64 -show-encoding %s 2>&1 | FileCheck --check-prefixes=GFX10-ERR,W64-ERR %s
+
+v_mov_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_mov_b32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_share:0 row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x50,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_share:15 row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x5f,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_xmask:0 row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x60,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_xmask:15 row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x6f,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x1 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x00,0x10]
+
+v_mov_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x3 bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x00,0x30]
+
+v_mov_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x00,0xf0]
+
+v_mov_b32_dpp v5, v1 quad_perm:[3,2,1,0] bank_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x00,0xf0]
+
+v_mov_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x1
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x00,0x01]
+
+v_mov_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x3
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x00,0x03]
+
+v_mov_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0xf
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x00,0x0f]
+
+v_mov_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x00,0x0f]
+
+v_mov_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x08,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x0a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x0c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x0e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x10,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x14,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x16,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x18,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x1a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x1c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x22,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x24,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x26,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x28,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_fract_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x40,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_trunc_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x42,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_ceil_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x44,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_rndne_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x46,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_floor_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x48,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_exp_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x4a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_log_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x4e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_rcp_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x54,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x56,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_rsq_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x5c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_sqrt_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x66,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_sin_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x6a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cos_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x6c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_not_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x6e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_bfrev_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x70,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_ffbh_u32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x72,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_ffbl_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x74,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_ffbh_i32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x76,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x7e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x80,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xa0,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xa2,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xa4,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xa6,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_rcp_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xa8,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_sqrt_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xaa,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_rsq_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xac,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_log_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xae,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_exp_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xb0,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xb2,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xb4,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_floor_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xb6,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_ceil_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xb8,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_trunc_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xba,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_rndne_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xbc,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_fract_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xbe,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_sin_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xc0,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cos_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xc2,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_sat_pk_u8_i16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xc4,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_norm_i16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xc6,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_norm_u16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0xc8,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_add_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x06,0x01,0x1b,0x00,0x00]
+
+v_add_f32_dpp v5, -v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x06,0x01,0x1b,0x10,0x00]
+
+v_add_f32_dpp v5, |v1|, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x06,0x01,0x1b,0x20,0x00]
+
+v_add_f32_dpp v5, v1, -v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x06,0x01,0x1b,0x40,0x00]
+
+v_add_f32_dpp v5, v1, |v2| quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x06,0x01,0x1b,0x80,0x00]
+
+v_sub_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x08,0x01,0x1b,0x00,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x0a,0x01,0x1b,0x00,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x0e,0x01,0x1b,0x00,0x00]
+
+v_mul_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x10,0x01,0x1b,0x00,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x12,0x01,0x1b,0x00,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x14,0x01,0x1b,0x00,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x16,0x01,0x1b,0x00,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x18,0x01,0x1b,0x00,0x00]
+
+v_min_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x1e,0x01,0x1b,0x00,0x00]
+
+v_max_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x20,0x01,0x1b,0x00,0x00]
+
+v_min_i32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x22,0x01,0x1b,0x00,0x00]
+
+v_max_i32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x24,0x01,0x1b,0x00,0x00]
+
+v_min_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x26,0x01,0x1b,0x00,0x00]
+
+v_max_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x28,0x01,0x1b,0x00,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x2c,0x01,0x1b,0x00,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x30,0x01,0x1b,0x00,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x34,0x01,0x1b,0x00,0x00]
+
+v_and_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x36,0x01,0x1b,0x00,0x00]
+
+v_or_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x38,0x01,0x1b,0x00,0x00]
+
+v_xor_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x3a,0x01,0x1b,0x00,0x00]
+
+v_xnor_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x3c,0x01,0x1b,0x00,0x00]
+
+v_mac_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x3e,0x01,0x1b,0x00,0x00]
+
+v_add_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// W32: [0xfa,0x04,0x0a,0x50,0x01,0x1b,0x00,0x00]
+// W64-ERR: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// W32: [0xfa,0x04,0x0a,0x52,0x01,0x1b,0x00,0x00]
+// W64-ERR: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// W32: [0xfa,0x04,0x0a,0x54,0x01,0x1b,0x00,0x00]
+// W64-ERR: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// W64: [0xfa,0x04,0x0a,0x50,0x01,0x1b,0x00,0x00]
+// W32-ERR: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// W64: [0xfa,0x04,0x0a,0x52,0x01,0x1b,0x00,0x00]
+// W32-ERR: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// W64: [0xfa,0x04,0x0a,0x54,0x01,0x1b,0x00,0x00]
+// W32-ERR: error: instruction not supported on this GPU
+
+v_fmac_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x56,0x01,0x1b,0x00,0x00]
+
+v_add_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x64,0x01,0x1b,0x00,0x00]
+
+v_sub_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x66,0x01,0x1b,0x00,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x68,0x01,0x1b,0x00,0x00]
+
+v_mul_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x6a,0x01,0x1b,0x00,0x00]
+
+v_fmac_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x6c,0x01,0x1b,0x00,0x00]
+
+v_max_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x72,0x01,0x1b,0x00,0x00]
+
+v_min_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x74,0x01,0x1b,0x00,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x76,0x01,0x1b,0x00,0x00]
+
+v_mov_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:0
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_mov_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x0a,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x0c,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x0e,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x10,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x14,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x16,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x18,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x1a,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x1c,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x22,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x24,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x26,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x28,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_fract_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x40,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_trunc_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x42,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_ceil_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x44,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_rndne_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x46,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_floor_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x48,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_exp_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x4a,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_log_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x4e,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_rcp_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x54,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x56,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_rsq_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x5c,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_sqrt_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x66,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_sin_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x6a,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cos_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x6c,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_not_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x6e,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_bfrev_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x70,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_ffbh_u32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x72,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_ffbl_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x74,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_ffbh_i32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x76,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x7e,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x80,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xa0,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xa2,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xa4,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xa6,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_rcp_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xa8,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_sqrt_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xaa,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_rsq_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xac,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_log_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xae,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_exp_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xb0,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xb2,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xb4,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_floor_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xb6,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_ceil_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xb8,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_trunc_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xba,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_rndne_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xbc,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_fract_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xbe,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_sin_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xc0,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cos_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xc2,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_sat_pk_u8_i16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xc4,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_norm_i16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xc6,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_cvt_norm_u16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0xc8,0x0a,0x7e,0x01,0x1b,0x04,0x00]
+
+v_add_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x06,0x01,0x1b,0x04,0x00]
+
+v_sub_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x08,0x01,0x1b,0x04,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x0a,0x01,0x1b,0x04,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x0e,0x01,0x1b,0x04,0x00]
+
+v_mul_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x10,0x01,0x1b,0x04,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x12,0x01,0x1b,0x04,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x14,0x01,0x1b,0x04,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x16,0x01,0x1b,0x04,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x18,0x01,0x1b,0x04,0x00]
+
+v_min_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x1e,0x01,0x1b,0x04,0x00]
+
+v_max_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x20,0x01,0x1b,0x04,0x00]
+
+v_min_i32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x22,0x01,0x1b,0x04,0x00]
+
+v_max_i32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x24,0x01,0x1b,0x04,0x00]
+
+v_min_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x26,0x01,0x1b,0x04,0x00]
+
+v_max_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x28,0x01,0x1b,0x04,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x2c,0x01,0x1b,0x04,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x30,0x01,0x1b,0x04,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x34,0x01,0x1b,0x04,0x00]
+
+v_and_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x36,0x01,0x1b,0x04,0x00]
+
+v_or_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x38,0x01,0x1b,0x04,0x00]
+
+v_xor_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x3a,0x01,0x1b,0x04,0x00]
+
+v_xnor_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x3c,0x01,0x1b,0x04,0x00]
+
+v_mac_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x3e,0x01,0x1b,0x04,0x00]
+
+v_add_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// W32: [0xfa,0x04,0x0a,0x50,0x01,0x1b,0x04,0x00]
+// W64-ERR: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// W32: [0xfa,0x04,0x0a,0x52,0x01,0x1b,0x04,0x00]
+// W64-ERR: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// W32: [0xfa,0x04,0x0a,0x54,0x01,0x1b,0x04,0x00]
+// W64-ERR: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// W64: [0xfa,0x04,0x0a,0x50,0x01,0x1b,0x04,0x00]
+// W32-ERR: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// W64: [0xfa,0x04,0x0a,0x52,0x01,0x1b,0x04,0x00]
+// W32-ERR: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// W64: [0xfa,0x04,0x0a,0x54,0x01,0x1b,0x04,0x00]
+// W32-ERR: error: instruction not supported on this GPU
+
+v_fmac_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x56,0x01,0x1b,0x04,0x00]
+
+v_add_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x64,0x01,0x1b,0x04,0x00]
+
+v_sub_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x66,0x01,0x1b,0x04,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x68,0x01,0x1b,0x04,0x00]
+
+v_mul_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x6a,0x01,0x1b,0x04,0x00]
+
+v_fmac_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x6c,0x01,0x1b,0x04,0x00]
+
+v_max_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x72,0x01,0x1b,0x04,0x00]
+
+v_min_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x74,0x01,0x1b,0x04,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x76,0x01,0x1b,0x04,0x00]
+
+v_add_nc_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x4a,0x01,0xe4,0x00,0x00]
+
+v_add_nc_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// GFX10: [0xfa,0x04,0x0a,0x4a,0x01,0x1b,0x08,0x00]
+
+v_add_nc_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x4a,0x01,0x1b,0x04,0x00]
+
+v_sub_nc_u32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x4c,0x01,0x40,0x01,0x00]
+
+v_sub_nc_u32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x4c,0x01,0x41,0x01,0x00]
+
+v_sub_nc_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x4c,0x01,0x1b,0x04,0x00]
+
+v_subrev_nc_u32_dpp v5, v1, v2 row_xmask:15 row_mask:0x0 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x4e,0x01,0x6f,0x01,0x00]
+
+v_subrev_nc_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x1 bank_mask:0x0
+// GFX10: [0xfa,0x04,0x0a,0x4e,0x01,0x1b,0x00,0x10]
+
+v_subrev_nc_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
+// GFX10: [0xfa,0x04,0x0a,0x4e,0x01,0x1b,0x04,0x00]

Added: llvm/trunk/test/MC/AMDGPU/gfx10_asm_dpp8.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AMDGPU/gfx10_asm_dpp8.s?rev=363946&view=auto
==============================================================================
--- llvm/trunk/test/MC/AMDGPU/gfx10_asm_dpp8.s (added)
+++ llvm/trunk/test/MC/AMDGPU/gfx10_asm_dpp8.s Thu Jun 20 09:29:40 2019
@@ -0,0 +1,559 @@
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=+WavefrontSize32,-WavefrontSize64 -show-encoding %s | FileCheck --check-prefixes=GFX10,W32 %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=-WavefrontSize32,+WavefrontSize64 -show-encoding %s | FileCheck --check-prefixes=GFX10,W64 %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=+WavefrontSize32,-WavefrontSize64 -show-encoding %s 2>&1 | FileCheck --check-prefixes=GFX10-ERR,W32-ERR %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=-WavefrontSize32,+WavefrontSize64 -show-encoding %s 2>&1 | FileCheck --check-prefixes=GFX10-ERR,W64-ERR %s
+
+v_mov_b32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x02,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f32_i32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x0a,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f32_u32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x0c,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_u32_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x0e,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_i32_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x10,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_mov_fed_b32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x12,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f16_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x14,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f32_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x16,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x18,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_flr_i32_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x1a,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_off_f32_i4_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x1c,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f32_ubyte0_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x22,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f32_ubyte1_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x24,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f32_ubyte2_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x26,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f32_ubyte3_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x28,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_fract_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x40,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_trunc_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x42,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_ceil_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x44,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_rndne_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x46,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_floor_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x48,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_exp_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x4a,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_log_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x4e,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_rcp_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x54,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_rcp_iflag_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x56,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_rsq_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x5c,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_sqrt_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x66,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_sin_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x6a,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cos_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x6c,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_not_b32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x6e,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_bfrev_b32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x70,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_ffbh_u32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x72,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_ffbl_b32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x74,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_ffbh_i32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x76,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_frexp_exp_i32_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x7e,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_frexp_mant_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x80,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f16_u16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xa0,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f16_i16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xa2,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_u16_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xa4,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_i16_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xa6,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_rcp_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xa8,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_sqrt_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xaa,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_rsq_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xac,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_log_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xae,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_exp_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xb0,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_frexp_mant_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xb2,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_frexp_exp_i16_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xb4,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_floor_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xb6,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_ceil_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xb8,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_trunc_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xba,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_rndne_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xbc,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_fract_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xbe,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_sin_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xc0,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cos_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xc2,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_norm_i16_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xc6,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_norm_u16_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0xc8,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_add_f32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x06,0x01,0x88,0xc6,0xfa]
+
+v_sub_f32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x08,0x01,0x88,0xc6,0xfa]
+
+v_subrev_f32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x0a,0x01,0x88,0xc6,0xfa]
+
+v_mul_legacy_f32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x0e,0x01,0x88,0xc6,0xfa]
+
+v_mul_f32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x10,0x01,0x88,0xc6,0xfa]
+
+v_mul_i32_i24_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x12,0x01,0x88,0xc6,0xfa]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x14,0x01,0x88,0xc6,0xfa]
+
+v_mul_u32_u24_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x16,0x01,0x88,0xc6,0xfa]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x18,0x01,0x88,0xc6,0xfa]
+
+v_min_f32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x1e,0x01,0x88,0xc6,0xfa]
+
+v_max_f32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x20,0x01,0x88,0xc6,0xfa]
+
+v_min_i32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x22,0x01,0x88,0xc6,0xfa]
+
+v_max_i32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x24,0x01,0x88,0xc6,0xfa]
+
+v_min_u32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x26,0x01,0x88,0xc6,0xfa]
+
+v_max_u32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x28,0x01,0x88,0xc6,0xfa]
+
+v_lshrrev_b32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x2c,0x01,0x88,0xc6,0xfa]
+
+v_ashrrev_i32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x30,0x01,0x88,0xc6,0xfa]
+
+v_lshlrev_b32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x34,0x01,0x88,0xc6,0xfa]
+
+v_and_b32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x36,0x01,0x88,0xc6,0xfa]
+
+v_or_b32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x38,0x01,0x88,0xc6,0xfa]
+
+v_xor_b32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x3a,0x01,0x88,0xc6,0xfa]
+
+v_xnor_b32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x3c,0x01,0x88,0xc6,0xfa]
+
+v_add_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x64,0x01,0x88,0xc6,0xfa]
+
+v_sub_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x66,0x01,0x88,0xc6,0xfa]
+
+v_subrev_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x68,0x01,0x88,0xc6,0xfa]
+
+v_mul_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x6a,0x01,0x88,0xc6,0xfa]
+
+v_max_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x72,0x01,0x88,0xc6,0xfa]
+
+v_min_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x74,0x01,0x88,0xc6,0xfa]
+
+v_ldexp_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7]
+// GFX10: encoding: [0xe9,0x04,0x0a,0x76,0x01,0x88,0xc6,0xfa]
+
+v_mov_b32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:0
+// GFX10: encoding: [0xe9,0x02,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_mov_b32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x02,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f32_i32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x0a,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f32_u32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x0c,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_u32_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x0e,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_i32_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x10,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_mov_fed_b32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x12,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f16_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x14,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f32_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x16,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x18,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_flr_i32_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x1a,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_off_f32_i4_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x1c,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f32_ubyte0_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x22,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f32_ubyte1_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x24,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f32_ubyte2_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x26,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f32_ubyte3_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x28,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_fract_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x40,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_trunc_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x42,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_ceil_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x44,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_rndne_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x46,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_floor_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x48,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_exp_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x4a,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_log_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x4e,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_rcp_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x54,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_rcp_iflag_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x56,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_rsq_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x5c,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_sqrt_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x66,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_sin_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x6a,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cos_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x6c,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_not_b32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x6e,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_bfrev_b32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x70,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_ffbh_u32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x72,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_ffbl_b32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x74,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_ffbh_i32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x76,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_frexp_exp_i32_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x7e,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_frexp_mant_f32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x80,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f16_u16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xa0,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_f16_i16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xa2,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_u16_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xa4,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_i16_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xa6,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_rcp_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xa8,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_sqrt_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xaa,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_rsq_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xac,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_log_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xae,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_exp_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xb0,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_frexp_mant_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xb2,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_frexp_exp_i16_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xb4,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_floor_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xb6,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_ceil_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xb8,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_trunc_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xba,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_rndne_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xbc,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_fract_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xbe,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_sin_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xc0,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cos_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xc2,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_norm_i16_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xc6,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_cvt_norm_u16_f16_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0xc8,0x0a,0x7e,0x01,0x88,0xc6,0xfa]
+
+v_add_f32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x06,0x01,0x88,0xc6,0xfa]
+
+v_sub_f32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x08,0x01,0x88,0xc6,0xfa]
+
+v_subrev_f32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x0a,0x01,0x88,0xc6,0xfa]
+
+v_mul_legacy_f32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x0e,0x01,0x88,0xc6,0xfa]
+
+v_mul_f32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x10,0x01,0x88,0xc6,0xfa]
+
+v_mul_i32_i24_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x12,0x01,0x88,0xc6,0xfa]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x14,0x01,0x88,0xc6,0xfa]
+
+v_mul_u32_u24_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x16,0x01,0x88,0xc6,0xfa]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x18,0x01,0x88,0xc6,0xfa]
+
+v_min_f32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x1e,0x01,0x88,0xc6,0xfa]
+
+v_max_f32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x20,0x01,0x88,0xc6,0xfa]
+
+v_min_i32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x22,0x01,0x88,0xc6,0xfa]
+
+v_max_i32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x24,0x01,0x88,0xc6,0xfa]
+
+v_min_u32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x26,0x01,0x88,0xc6,0xfa]
+
+v_max_u32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x28,0x01,0x88,0xc6,0xfa]
+
+v_lshrrev_b32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x2c,0x01,0x88,0xc6,0xfa]
+
+v_ashrrev_i32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x30,0x01,0x88,0xc6,0xfa]
+
+v_lshlrev_b32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x34,0x01,0x88,0xc6,0xfa]
+
+v_and_b32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x36,0x01,0x88,0xc6,0xfa]
+
+v_or_b32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x38,0x01,0x88,0xc6,0xfa]
+
+v_xor_b32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x3a,0x01,0x88,0xc6,0xfa]
+
+v_xnor_b32_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x3c,0x01,0x88,0xc6,0xfa]
+
+v_add_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x64,0x01,0x88,0xc6,0xfa]
+
+v_sub_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x66,0x01,0x88,0xc6,0xfa]
+
+v_subrev_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x68,0x01,0x88,0xc6,0xfa]
+
+v_mul_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x6a,0x01,0x88,0xc6,0xfa]
+
+v_max_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x72,0x01,0x88,0xc6,0xfa]
+
+v_min_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x74,0x01,0x88,0xc6,0xfa]
+
+v_ldexp_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
+// GFX10: encoding: [0xea,0x04,0x0a,0x76,0x01,0x88,0xc6,0xfa]
+
+v_add_co_ci_u32_dpp v0, vcc_lo, v0, v0, vcc_lo dpp8:[7,6,5,4,3,2,1,0]
+// W32: [0xe9,0x00,0x00,0x50,0x00,0x77,0x39,0x05]
+// W64-ERR: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_dpp v0, vcc_lo, v0, v0, vcc_lo dpp8:[7,6,5,4,3,2,1,0] fi:0
+// W32: [0xe9,0x00,0x00,0x52,0x00,0x77,0x39,0x05]
+// W64-ERR: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_dpp v0, vcc_lo, v0, v0, vcc_lo dpp8:[7,6,5,4,3,2,1,0] fi:1
+// W32: [0xea,0x00,0x00,0x54,0x00,0x77,0x39,0x05]
+// W64-ERR: error: instruction not supported on this GPU
+
+v_add_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0] fi:1
+// W64: [0xea,0x00,0x00,0x50,0x00,0x77,0x39,0x05]
+// W32-ERR: error: instruction not supported on this GPU
+
+v_sub_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0] fi:1
+// W64: [0xea,0x00,0x00,0x52,0x00,0x77,0x39,0x05]
+// W32-ERR: error: instruction not supported on this GPU
+
+v_subrev_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0]
+// W64: [0xe9,0x00,0x00,0x54,0x00,0x77,0x39,0x05]
+// W32-ERR: error: instruction not supported on this GPU
+
+v_add_nc_u32_dpp v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0]
+// GFX10: [0xe9,0xfe,0x0b,0x4a,0x01,0x77,0x39,0x05]
+
+v_add_nc_u32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
+// GFX10: [0xea,0x04,0x0a,0x4a,0x01,0x77,0x39,0x05]
+
+v_sub_nc_u32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
+// GFX10: [0xe9,0x04,0x0a,0x4c,0x01,0x77,0x39,0x05]
+
+v_sub_nc_u32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
+// GFX10: [0xea,0x04,0x0a,0x4c,0x01,0x77,0x39,0x05]
+
+v_subrev_nc_u32_dpp v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0]
+// GFX10: [0xe9,0xfe,0x0b,0x4e,0x01,0x77,0x39,0x05]
+
+v_subrev_nc_u32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
+// GFX10: [0xea,0x04,0x0a,0x4e,0x01,0x77,0x39,0x05]
+
+v_mac_f32 v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
+// GFX10: v_mac_f32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xe9,0x04,0x0a,0x3e,0x01,0x77,0x39,0x05]
+
+v_mac_f32 v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
+// GFX10: v_mac_f32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1 ; encoding: [0xea,0x04,0x0a,0x3e,0x01,0x77,0x39,0x05]

Added: llvm/trunk/test/MC/AMDGPU/gfx10_asm_err.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AMDGPU/gfx10_asm_err.s?rev=363946&view=auto
==============================================================================
--- llvm/trunk/test/MC/AMDGPU/gfx10_asm_err.s (added)
+++ llvm/trunk/test/MC/AMDGPU/gfx10_asm_err.s Thu Jun 20 09:29:40 2019
@@ -0,0 +1,275 @@
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx601 -show-encoding %s 2>&1 | FileCheck --check-prefixes=GFX6-7,GFX6-8,GFX6-9 %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx701 -show-encoding %s 2>&1 | FileCheck --check-prefixes=GFX6-7,GFX6-8,GFX6-9 %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx801 -show-encoding %s 2>&1 | FileCheck --check-prefixes=GFX6-8,GFX6-9 %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 -show-encoding %s 2>&1 | FileCheck --check-prefixes=GFX6-9 %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=+WavefrontSize32,-WavefrontSize64 -show-encoding %s 2>&1 | FileCheck --check-prefixes=GFX10 %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=-WavefrontSize32,+WavefrontSize64 -show-encoding %s 2>&1 | FileCheck --check-prefixes=GFX10 %s
+
+//===----------------------------------------------------------------------===//
+// ENC_DS.
+//===----------------------------------------------------------------------===//
+
+// GFX9+.
+
+ds_write_b8_d16_hi v1, v2
+// GFX6-8: error: instruction not supported on this GPU
+
+ds_write_b16_d16_hi v1, v2
+// GFX6-8: error: instruction not supported on this GPU
+
+ds_read_u8_d16 v5, v1
+// GFX6-8: error: instruction not supported on this GPU
+
+ds_read_u8_d16_hi v5, v1
+// GFX6-8: error: instruction not supported on this GPU
+
+ds_read_i8_d16 v5, v1
+// GFX6-8: error: instruction not supported on this GPU
+
+ds_read_i8_d16_hi v5, v1
+// GFX6-8: error: instruction not supported on this GPU
+
+ds_read_u16_d16 v5, v1
+// GFX6-8: error: instruction not supported on this GPU
+
+ds_read_u16_d16_hi v5, v1
+// GFX6-8: error: instruction not supported on this GPU
+
+ds_write_addtid_b32 v5, v1
+// GFX6-8: error: instruction not supported on this GPU
+
+ds_read_addtid_b32 v5, v1
+// GFX6-8: error: instruction not supported on this GPU
+
+// GFX8+.
+
+ds_add_src2_f32 v1
+// GFX6-7: error: instruction not supported on this GPU
+
+ds_add_f32 v0, v1
+// GFX6-7: error: instruction not supported on this GPU
+
+ds_add_rtn_f32 v0, v1, v2
+// GFX6-7: error: instruction not supported on this GPU
+
+ds_permute_b32 v0, v1, v2
+// GFX6-7: error: instruction not supported on this GPU
+
+ds_bpermute_b32 v0, v1, v2
+// GFX6-7: error: instruction not supported on this GPU
+
+//===----------------------------------------------------------------------===//
+// ENC_SOP1.
+//===----------------------------------------------------------------------===//
+
+// GFX10+.
+
+s_and_saveexec_b32 s0, s1
+// GFX6-9: error: instruction not supported on this GPU
+
+s_or_saveexec_b32 s0, s1
+// GFX6-9: error: instruction not supported on this GPU
+
+s_xor_saveexec_b32 s0, s1
+// GFX6-9: error: instruction not supported on this GPU
+
+s_andn2_saveexec_b32 s0, s1
+// GFX6-9: error: instruction not supported on this GPU
+
+s_orn2_saveexec_b32 s0, s1
+// GFX6-9: error: instruction not supported on this GPU
+
+s_nand_saveexec_b32 s0, s1
+// GFX6-9: error: instruction not supported on this GPU
+
+s_nor_saveexec_b32 s0, s1
+// GFX6-9: error: instruction not supported on this GPU
+
+s_xnor_saveexec_b32 s0, s1
+// GFX6-9: error: instruction not supported on this GPU
+
+s_andn1_saveexec_b32 s0, s1
+// GFX6-9: error: instruction not supported on this GPU
+
+s_orn1_saveexec_b32 s0, s1
+// GFX6-9: error: instruction not supported on this GPU
+
+s_andn1_wrexec_b32 s0, s1
+// GFX6-9: error: instruction not supported on this GPU
+
+s_andn2_wrexec_b32 s0, s1
+// GFX6-9: error: instruction not supported on this GPU
+
+s_movrelsd_2_b32 s0, s1
+// GFX6-9: error: instruction not supported on this GPU
+
+// GFX9+.
+
+s_andn1_saveexec_b64 s[0:1], s[2:3]
+// GFX6-8: error: instruction not supported on this GPU
+
+s_orn1_saveexec_b64 s[0:1], s[2:3]
+// GFX6-8: error: instruction not supported on this GPU
+
+s_andn1_wrexec_b64 s[0:1], s[2:3]
+// GFX6-8: error: instruction not supported on this GPU
+
+s_andn2_wrexec_b64 s[0:1], s[2:3]
+// GFX6-8: error: instruction not supported on this GPU
+
+s_bitreplicate_b64_b32 s[0:1], s2
+// GFX6-8: error: instruction not supported on this GPU
+
+// GFX8, GFX9.
+
+s_set_gpr_idx_idx s0
+// GFX10: error: instruction not supported on this GPU
+
+// GFX6, GFX7, GFX8, GFX9.
+
+s_cbranch_join s0
+// GFX10: error: instruction not supported on this GPU
+
+s_mov_regrd_b32 s0, s1
+// GFX10: error: instruction not supported on this GPU
+
+//===----------------------------------------------------------------------===//
+// ENC_SOP2.
+//===----------------------------------------------------------------------===//
+
+// GFX9+.
+
+s_lshl1_add_u32 s0, s1, s2
+// GFX6-8: error: instruction not supported on this GPU
+
+s_lshl2_add_u32 s0, s1, s2
+// GFX6-8: error: instruction not supported on this GPU
+
+s_lshl3_add_u32 s0, s1, s2
+// GFX6-8: error: instruction not supported on this GPU
+
+s_lshl4_add_u32 s0, s1, s2
+// GFX6-8: error: instruction not supported on this GPU
+
+s_mul_hi_u32 s0, s1, s2
+// GFX6-8: error: instruction not supported on this GPU
+
+s_mul_hi_i32 s0, s1, s2
+// GFX6-8: error: instruction not supported on this GPU
+
+s_pack_ll_b32_b16 s0, s1, s2
+// GFX6-8: error: instruction not supported on this GPU
+
+s_pack_lh_b32_b16 s0, s1, s2
+// GFX6-8: error: instruction not supported on this GPU
+
+s_pack_hh_b32_b16 s0, s1, s2
+// GFX6-8: error: instruction not supported on this GPU
+
+// GFX8, GFX9.
+
+s_rfe_restore_b64 s[0:1], s2
+// GFX10: error: instruction not supported on this GPU
+
+// GFX6, GFX7, GFX8, GFX9.
+
+s_cbranch_g_fork s[0:1], s[2:3]
+// GFX10: error: instruction not supported on this GPU
+
+//===----------------------------------------------------------------------===//
+// ENC_SOPC.
+//===----------------------------------------------------------------------===//
+
+// GFX8+.
+
+s_cmp_eq_u64 s[0:1], s[2:3]
+// GFX6-7: error: instruction not supported on this GPU
+
+s_cmp_lg_u64 s[0:1], s[2:3]
+// GFX6-7: error: instruction not supported on this GPU
+
+// GFX6, GFX7, GFX8, GFX9.
+
+s_setvskip s0, s1
+// GFX10: error: instruction not supported on this GPU
+
+//===----------------------------------------------------------------------===//
+// ENC_SOPK.
+//===----------------------------------------------------------------------===//
+
+// GFX10+.
+
+s_version 0x1234
+// GFX6-9: error: instruction not supported on this GPU
+
+s_waitcnt_vscnt s0, 0x1234
+// GFX6-9: error: instruction not supported on this GPU
+
+s_waitcnt_vmcnt s0, 0x1234
+// GFX6-9: error: instruction not supported on this GPU
+
+s_waitcnt_expcnt s0, 0x1234
+// GFX6-9: error: instruction not supported on this GPU
+
+s_waitcnt_lgkmcnt s0, 0x1234
+// GFX6-9: error: instruction not supported on this GPU
+
+s_subvector_loop_begin s0, 0x1234
+// GFX6-9: error: instruction not supported on this GPU
+
+s_subvector_loop_end s0, 0x1234
+// GFX6-9: error: instruction not supported on this GPU
+
+// GFX9+.
+
+s_call_b64 s[0:1], 0x1234
+// GFX6-8: error: instruction not supported on this GPU
+
+// GFX6, GFX7, GFX8, GFX9.
+
+s_cbranch_i_fork s[0:1], 0x1234
+// GFX10: error: instruction not supported on this GPU
+
+//===----------------------------------------------------------------------===//
+// ENC_SOPP.
+//===----------------------------------------------------------------------===//
+
+// GFX10+.
+
+s_code_end
+// GFX6-9: error: instruction not supported on this GPU
+
+s_inst_prefetch 0x0
+// GFX6-9: error: instruction not supported on this GPU
+
+s_clause 0x0
+// GFX6-9: error: instruction not supported on this GPU
+
+s_round_mode 0x0
+// GFX6-9: error: instruction not supported on this GPU
+
+s_denorm_mode 0x0
+// GFX6-9: error: instruction not supported on this GPU
+
+s_ttracedata_imm 0x0
+// GFX6-9: error: instruction not supported on this GPU
+
+// GFX9+.
+
+s_endpgm_ordered_ps_done
+// GFX6-8: error: instruction not supported on this GPU
+
+// GFX8+.
+
+s_wakeup
+// GFX6-7: error: instruction not supported on this GPU
+
+s_endpgm_saved
+// GFX6-7: error: instruction not supported on this GPU
+
+//===----------------------------------------------------------------------===//
+// DPP8.
+//===----------------------------------------------------------------------===//
+
+v_mov_b32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
+// GFX6-9: error: not a valid operand

Added: llvm/trunk/test/MC/AMDGPU/lds_direct-gfx10.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AMDGPU/lds_direct-gfx10.s?rev=363946&view=auto
==============================================================================
--- llvm/trunk/test/MC/AMDGPU/lds_direct-gfx10.s (added)
+++ llvm/trunk/test/MC/AMDGPU/lds_direct-gfx10.s Thu Jun 20 09:29:40 2019
@@ -0,0 +1,59 @@
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -show-encoding %s | FileCheck %s --check-prefix=GFX10
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOGFX10
+
+v_readfirstlane_b32 s0, lds_direct
+// GFX10: v_readfirstlane_b32 s0, src_lds_direct ; encoding: [0xfe,0x04,0x00,0x7e]
+
+v_readlane_b32 s0, lds_direct, s0
+// GFX10: v_readlane_b32 s0, src_lds_direct, s0 ; encoding: [0x00,0x00,0x60,0xd7,0xfe,0x00,0x00,0x00]
+
+v_writelane_b32 v0, lds_direct, s0
+// GFX10: v_writelane_b32 v0, src_lds_direct, s0 ; encoding: [0x00,0x00,0x61,0xd7,0xfe,0x00,0x00,0x00]
+
+v_permlane16_b32 v0, lds_direct, s0, s0
+// NOGFX10: error: invalid operand for instruction
+
+v_permlanex16_b32 v0, lds_direct, s0, s0
+// NOGFX10: error: invalid operand for instruction
+
+v_ashrrev_i16 v0, src_lds_direct, v0
+// NOGFX10: error: invalid use of lds_direct
+
+v_ashrrev_i32 v0, src_lds_direct, v0
+// NOGFX10: error: invalid use of lds_direct
+
+v_lshlrev_b16 v0, src_lds_direct, v0
+// NOGFX10: error: invalid use of lds_direct
+
+v_lshlrev_b32 v0, src_lds_direct, v0
+// NOGFX10: error: invalid use of lds_direct
+
+v_lshrrev_b16 v0, src_lds_direct, v0
+// NOGFX10: error: invalid use of lds_direct
+
+v_lshrrev_b32 v0, src_lds_direct, v0
+// NOGFX10: error: invalid use of lds_direct
+
+v_pk_ashrrev_i16 v0, src_lds_direct, v0
+// NOGFX10: error: invalid use of lds_direct
+
+v_pk_lshlrev_b16 v0, src_lds_direct, v0
+// NOGFX10: error: invalid use of lds_direct
+
+v_pk_lshrrev_b16 v0, src_lds_direct, v0
+// NOGFX10: error: invalid use of lds_direct
+
+v_subrev_co_ci_u32 v0, vcc_lo, src_lds_direct, v0, vcc_lo
+// NOGFX10: error: invalid use of lds_direct
+
+v_subrev_co_u32 v0, s0, src_lds_direct, v0
+// NOGFX10: error: invalid use of lds_direct
+
+v_subrev_f16 v0, src_lds_direct, v0
+// NOGFX10: error: invalid use of lds_direct
+
+v_subrev_f32 v0, src_lds_direct, v0
+// NOGFX10: error: invalid use of lds_direct
+
+v_subrev_nc_u32 v0, src_lds_direct, v0
+// NOGFX10: error: invalid use of lds_direct

Added: llvm/trunk/test/MC/Disassembler/AMDGPU/gfx10-vop2be-literal.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/AMDGPU/gfx10-vop2be-literal.txt?rev=363946&view=auto
==============================================================================
--- llvm/trunk/test/MC/Disassembler/AMDGPU/gfx10-vop2be-literal.txt (added)
+++ llvm/trunk/test/MC/Disassembler/AMDGPU/gfx10-vop2be-literal.txt Thu Jun 20 09:29:40 2019
@@ -0,0 +1,7 @@
+# RUN: llvm-mc -arch=amdgcn -mcpu=gfx1010 -disassemble -show-encoding < %s | FileCheck -check-prefix=GFX10 %s
+
+# GFX10: v_add_co_ci_u32_e32 v3, vcc_lo, 0x3039, v3, vcc_lo ; encoding: [0xff,0x06,0x06,0x50,0x39,0x30,0x00,0x00]
+0xff,0x06,0x06,0x50,0x39,0x30,0x00,0x00
+
+# GFX10: v_cndmask_b32_e32 v0, 0x3039, v1, vcc_lo ; encoding: [0xff,0x02,0x00,0x02,0x39,0x30,0x00,0x00]
+0xff,0x02,0x00,0x02,0x39,0x30,0x00,0x00




More information about the llvm-commits mailing list