brintos

brintos / llvm-project-archived public Read only

0
0
Text · 45.2 KiB · c7cfb7a Raw
687 lines · plain
1// RUN: not llvm-mc -triple=amdgcn -mcpu=tonga -show-encoding %s | FileCheck %s --check-prefixes=VI,VI92// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx900 -show-encoding %s | FileCheck %s --check-prefixes=GFX9,VI93 4// RUN: not llvm-mc -triple=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck %s --check-prefixes=NOSI,NOSICI --implicit-check-not=error:5// RUN: not llvm-mc -triple=amdgcn -mcpu=bonaire %s 2>&1 | FileCheck %s --check-prefixes=NOSICI,NOCI --implicit-check-not=error:6// RUN: not llvm-mc -triple=amdgcn -mcpu=tonga %s 2>&1 | FileCheck %s --check-prefix=NOVI --implicit-check-not=error:7// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck %s --check-prefix=NOGFX9 --implicit-check-not=error:8 9//===----------------------------------------------------------------------===//10// Check dpp_ctrl values11//===----------------------------------------------------------------------===//12 13// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.14// VI9: v_mov_b32_dpp v0, v0 quad_perm:[0,2,1,1] row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x58,0x00,0xff]15v_mov_b32 v0, v0 quad_perm:[0,2,1,1]16 17// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.18// VI9: v_mov_b32_dpp v0, v0 row_shl:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x01,0x01,0xff]19v_mov_b32 v0, v0 row_shl:120 21// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.22// VI9: v_mov_b32_dpp v0, v0 row_shr:15 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x1f,0x01,0xff]23v_mov_b32 v0, v0 row_shr:0xf24 25// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.26// VI9: v_mov_b32_dpp v0, v0 row_ror:12 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x2c,0x01,0xff]27v_mov_b32 v0, v0 row_ror:0xc28 29// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.30// VI9: v_mov_b32_dpp v0, v0 wave_shl:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x30,0x01,0xff]31v_mov_b32 v0, v0 wave_shl:132 33// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.34// VI9: v_mov_b32_dpp v0, v0 wave_rol:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x34,0x01,0xff]35v_mov_b32 v0, v0 wave_rol:136 37// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.38// VI9: v_mov_b32_dpp v0, v0 wave_shr:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x38,0x01,0xff]39v_mov_b32 v0, v0 wave_shr:140 41// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.42// VI9: v_mov_b32_dpp v0, v0 wave_ror:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x3c,0x01,0xff]43v_mov_b32 v0, v0 wave_ror:144 45// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction46// VI9: v_mov_b32_dpp v0, v0 row_mirror row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x40,0x01,0xff]47v_mov_b32 v0, v0 row_mirror48 49// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction50// VI9: v_mov_b32_dpp v0, v0 row_half_mirror row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x41,0x01,0xff]51v_mov_b32 v0, v0 row_half_mirror52 53// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.54// VI9: v_mov_b32_dpp v0, v0 row_bcast:15 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x42,0x01,0xff]55v_mov_b32 v0, v0 row_bcast:1556 57// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.58// VI9: v_mov_b32_dpp v0, v0 row_bcast:31 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x43,0x01,0xff]59v_mov_b32 v0, v0 row_bcast:3160 61//===----------------------------------------------------------------------===//62// Check bound_control modifier.63// Both bound_ctrl:0 and bound_ctrl:1 are legal and encoded as 1.64// See bug 35397 for details.65//===----------------------------------------------------------------------===//66 67// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.68// VI9: v_mov_b32_dpp v0, v0 quad_perm:[1,3,0,1] row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x4d,0x08,0xa1]69v_mov_b32 v0, v0 quad_perm:[1,3,0,1] row_mask:0xa bank_mask:0x1 bound_ctrl:070 71// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.72// VI9: v_mov_b32_dpp v0, v0 quad_perm:[1,3,0,1] row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x4d,0x08,0xa1]73v_mov_b32 v0, v0 quad_perm:[1,3,0,1] row_mask:0xa bank_mask:0x1 bound_ctrl:174 75// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: not a valid operand.76// NOGFX9: :[[@LINE+2]]:{{[0-9]+}}: error: invalid bound_ctrl value.77// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: invalid bound_ctrl value.78v_mov_b32 v0, v0 quad_perm:[1,3,0,1] row_mask:0xa bank_mask:0x1 bound_ctrl:-179 80// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: not a valid operand.81// NOGFX9: :[[@LINE+2]]:{{[0-9]+}}: error: invalid bound_ctrl value.82// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: invalid bound_ctrl value.83v_mov_b32 v0, v0 quad_perm:[1,3,0,1] row_mask:0xa bank_mask:0x1 bound_ctrl:284 85//===----------------------------------------------------------------------===//86// Check optional fields87//===----------------------------------------------------------------------===//88 89// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.90// VI9: v_mov_b32_dpp v0, v0 quad_perm:[1,3,0,1] row_mask:0xa bank_mask:0xf ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x4d,0x00,0xaf]91v_mov_b32 v0, v0 quad_perm:[1,3,0,1] row_mask:0xa92 93// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.94// VI9: v_mov_b32_dpp v0, v0 quad_perm:[1,3,0,1] row_mask:0xf bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x4d,0x00,0xf1]95v_mov_b32 v0, v0 quad_perm:[1,3,0,1] bank_mask:0x196 97// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.98// VI9: v_mov_b32_dpp v0, v0 quad_perm:[1,3,0,1] row_mask:0xf bank_mask:0xf bound_ctrl:1 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x4d,0x08,0xff]99v_mov_b32 v0, v0 quad_perm:[1,3,0,1] bound_ctrl:0100 101// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.102// VI9: v_mov_b32_dpp v0, v0 quad_perm:[1,3,0,1] row_mask:0xa bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x4d,0x00,0xa1]103v_mov_b32 v0, v0 quad_perm:[1,3,0,1] row_mask:0xa bank_mask:0x1104 105// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.106// VI9: v_mov_b32_dpp v0, v0 quad_perm:[1,3,0,1] row_mask:0xa bank_mask:0xf bound_ctrl:1 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x4d,0x08,0xaf]107v_mov_b32 v0, v0 quad_perm:[1,3,0,1] row_mask:0xa bound_ctrl:0108 109// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.110// VI9: v_mov_b32_dpp v0, v0 quad_perm:[1,3,0,1] row_mask:0xf bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x4d,0x08,0xf1]111v_mov_b32 v0, v0 quad_perm:[1,3,0,1] bank_mask:0x1 bound_ctrl:0112 113//===----------------------------------------------------------------------===//114// Check modifiers115//===----------------------------------------------------------------------===//116 117// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.118// VI9: v_add_f32_dpp v0, -v0, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x01,0x19,0xa1]119v_add_f32 v0, -v0, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0120 121// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.122// VI9: v_add_f32_dpp v0, v0, |v0| row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x01,0x89,0xa1]123v_add_f32 v0, v0, |v0| row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0124 125// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.126// VI9: v_add_f32_dpp v0, -v0, |v0| row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x01,0x99,0xa1]127v_add_f32 v0, -v0, |v0| row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0128 129// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.130// VI9: v_add_f32_dpp v0, |v0|, -v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x01,0x69,0xa1]131v_add_f32 v0, |v0|, -v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0132 133//===----------------------------------------------------------------------===//134// Check VOP1 opcodes135//===----------------------------------------------------------------------===//136 137// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.138// GCN: v_nop row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x00,0x00,0x7e,0x00,0x01,0x09,0xa1]139v_nop row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0140 141// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.142// VI9: v_cvt_u32_f32_dpp v0, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x01,0x09,0xa1]143v_cvt_u32_f32 v0, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0144 145// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.146// VI9: v_fract_f32_dpp v0, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x01,0x09,0xa1]147v_fract_f32 v0, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0148 149// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.150// VI9: v_sin_f32_dpp v0, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x01,0x09,0xa1]151v_sin_f32 v0, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0152 153// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.154// VI9: v_mov_b32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x02,0x02,0x7e,0x00,0x01,0x09,0xa1]155v_mov_b32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0156 157// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.158// VI9: v_cvt_f32_i32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x0a,0x02,0x7e,0x00,0x01,0x09,0xa1]159v_cvt_f32_i32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0160 161// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.162// VI9: v_cvt_f32_u32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x0c,0x02,0x7e,0x00,0x01,0x09,0xa1]163v_cvt_f32_u32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0164 165// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.166// VI9: v_cvt_i32_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x10,0x02,0x7e,0x00,0x01,0x09,0xa1]167v_cvt_i32_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0168 169// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.170// VI9: v_cvt_f16_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x14,0x02,0x7e,0x00,0x01,0x09,0xa1]171v_cvt_f16_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0172 173// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.174// VI9: v_cvt_f32_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x16,0x02,0x7e,0x00,0x01,0x09,0xa1]175v_cvt_f32_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0176 177// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.178// VI9: v_cvt_rpi_i32_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x18,0x02,0x7e,0x00,0x01,0x09,0xa1]179v_cvt_rpi_i32_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0180 181// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.182// VI9: v_cvt_flr_i32_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x1a,0x02,0x7e,0x00,0x01,0x09,0xa1]183v_cvt_flr_i32_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0184 185// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.186// VI9: v_cvt_off_f32_i4_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x1c,0x02,0x7e,0x00,0x01,0x09,0xa1]187v_cvt_off_f32_i4 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0188 189// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.190// VI9: v_cvt_f32_ubyte0_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x22,0x02,0x7e,0x00,0x01,0x09,0xa1]191v_cvt_f32_ubyte0 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0192 193// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.194// VI9: v_cvt_f32_ubyte1_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x24,0x02,0x7e,0x00,0x01,0x09,0xa1]195v_cvt_f32_ubyte1 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0196 197// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.198// VI9: v_cvt_f32_ubyte2_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x26,0x02,0x7e,0x00,0x01,0x09,0xa1]199v_cvt_f32_ubyte2 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0200 201// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.202// VI9: v_cvt_f32_ubyte3_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x28,0x02,0x7e,0x00,0x01,0x09,0xa1]203v_cvt_f32_ubyte3 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0204 205// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.206// VI9: v_trunc_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x38,0x02,0x7e,0x00,0x01,0x09,0xa1]207v_trunc_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0208 209// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.210// VI9: v_ceil_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x3a,0x02,0x7e,0x00,0x01,0x09,0xa1]211v_ceil_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0212 213// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.214// VI9: v_rndne_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x3c,0x02,0x7e,0x00,0x01,0x09,0xa1]215v_rndne_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0216 217// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.218// VI9: v_floor_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x3e,0x02,0x7e,0x00,0x01,0x09,0xa1]219v_floor_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0220 221// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.222// VI9: v_exp_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x40,0x02,0x7e,0x00,0x01,0x09,0xa1]223v_exp_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0224 225// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.226// VI9: v_log_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x42,0x02,0x7e,0x00,0x01,0x09,0xa1]227v_log_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0228 229// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.230// VI9: v_rcp_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x44,0x02,0x7e,0x00,0x01,0x09,0xa1]231v_rcp_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0232 233// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.234// VI9: v_rcp_iflag_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x46,0x02,0x7e,0x00,0x01,0x09,0xa1]235v_rcp_iflag_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0236 237// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.238// VI9: v_rsq_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x48,0x02,0x7e,0x00,0x01,0x09,0xa1]239v_rsq_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0240 241// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.242// VI9: v_sqrt_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x4e,0x02,0x7e,0x00,0x01,0x09,0xa1]243v_sqrt_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0244 245// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.246// VI9: v_cos_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x54,0x02,0x7e,0x00,0x01,0x09,0xa1]247v_cos_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0248 249// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.250// VI9: v_not_b32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x56,0x02,0x7e,0x00,0x01,0x09,0xa1]251v_not_b32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0252 253// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.254// VI9: v_bfrev_b32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x58,0x02,0x7e,0x00,0x01,0x09,0xa1]255v_bfrev_b32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0256 257// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.258// VI9: v_ffbh_u32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x5a,0x02,0x7e,0x00,0x01,0x09,0xa1]259v_ffbh_u32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0260 261// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.262// VI9: v_ffbl_b32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x5c,0x02,0x7e,0x00,0x01,0x09,0xa1]263v_ffbl_b32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0264 265// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.266// VI9: v_ffbh_i32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x5e,0x02,0x7e,0x00,0x01,0x09,0xa1]267v_ffbh_i32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0268 269// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.270// VI9: v_frexp_exp_i32_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x66,0x02,0x7e,0x00,0x01,0x09,0xa1]271v_frexp_exp_i32_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0272 273// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.274// VI9: v_frexp_mant_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x68,0x02,0x7e,0x00,0x01,0x09,0xa1]275v_frexp_mant_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0276 277// VI9: v_log_legacy_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x98,0x02,0x7e,0x00,0x01,0x09,0xa1]278// NOSI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU279// NOCI: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.280v_log_legacy_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0281 282// VI9: v_exp_legacy_f32_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x96,0x02,0x7e,0x00,0x01,0x09,0xa1]283// NOSI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU284// NOCI: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.285v_exp_legacy_f32 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0286 287// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU288// VI9: v_cvt_f16_u16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x72,0x02,0x7e,0x00,0x01,0x09,0xa1]289v_cvt_f16_u16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0290 291// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU292// VI9: v_cvt_f16_i16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x74,0x02,0x7e,0x00,0x01,0x09,0xa1]293v_cvt_f16_i16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0294 295// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU296// VI9: v_cvt_u16_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x76,0x02,0x7e,0x00,0x01,0x09,0xa1]297v_cvt_u16_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0298 299// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU300// VI9: v_cvt_i16_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x78,0x02,0x7e,0x00,0x01,0x09,0xa1]301v_cvt_i16_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0302 303// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU304// VI9: v_rcp_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x7a,0x02,0x7e,0x00,0x01,0x09,0xa1]305v_rcp_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0306 307// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU308// VI9: v_sqrt_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x7c,0x02,0x7e,0x00,0x01,0x09,0xa1]309v_sqrt_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0310 311// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU312// VI9: v_rsq_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x7e,0x02,0x7e,0x00,0x01,0x09,0xa1]313v_rsq_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0314 315// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU316// VI9: v_log_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x80,0x02,0x7e,0x00,0x01,0x09,0xa1]317v_log_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0318 319// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU320// VI9: v_exp_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x82,0x02,0x7e,0x00,0x01,0x09,0xa1]321v_exp_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0322 323// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU324// VI9: v_frexp_mant_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x84,0x02,0x7e,0x00,0x01,0x09,0xa1]325v_frexp_mant_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0326 327// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU328// VI9: v_frexp_exp_i16_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x86,0x02,0x7e,0x00,0x01,0x09,0xa1]329v_frexp_exp_i16_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0330 331// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU332// VI9: v_floor_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x88,0x02,0x7e,0x00,0x01,0x09,0xa1]333v_floor_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0334 335// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU336// VI9: v_ceil_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x8a,0x02,0x7e,0x00,0x01,0x09,0xa1]337v_ceil_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0338 339// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU340// VI9: v_trunc_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x8c,0x02,0x7e,0x00,0x01,0x09,0xa1]341v_trunc_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0342 343// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU344// VI9: v_rndne_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x8e,0x02,0x7e,0x00,0x01,0x09,0xa1]345v_rndne_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0346 347// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU348// VI9: v_fract_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x90,0x02,0x7e,0x00,0x01,0x09,0xa1]349v_fract_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0350 351// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU352// VI9: v_sin_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x92,0x02,0x7e,0x00,0x01,0x09,0xa1]353v_sin_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0354 355// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU356// VI9: v_cos_f16_dpp v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x94,0x02,0x7e,0x00,0x01,0x09,0xa1]357v_cos_f16 v1, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0358 359// GFX9:   v_cvt_norm_i16_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x9a,0x0a,0x7e,0x01,0xe4,0x20,0x00]360// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU361// NOVI:   error: instruction not supported on this GPU362v_cvt_norm_i16_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0363 364// GFX9:   v_cvt_norm_u16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x9c,0x0a,0x7e,0x01,0x1b,0x00,0x00]365// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU366// NOVI:   error: instruction not supported on this GPU367v_cvt_norm_u16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0368 369// GFX9:   v_sat_pk_u8_i16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x9e,0x0a,0x7e,0x01,0x2f,0x01,0x00]370// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU371// NOVI:   error: instruction not supported on this GPU372v_sat_pk_u8_i16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0373 374// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU375// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU376// GFX9: v_screen_partition_4se_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:1 ; encoding: [0xfa,0x6e,0x0a,0x7e,0x01,0xe4,0x08,0x00]377v_screen_partition_4se_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0378 379//===----------------------------------------------------------------------===//380// Check VOP2 opcodes381//===----------------------------------------------------------------------===//382// ToDo: VOP2bInst instructions: v_add_u32, v_sub_u32 ... (vcc and ApplyMnemonic in AsmMatcherEmitter.cpp)383 384// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.385// VI9: v_mac_f32_dpp v0, v0, v0  row_shl:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x01,0x01,0xff]386v_mac_f32 v0, v0, v0 row_shl:1387 388// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.389// VI9: v_mac_f32_dpp v0, v0, v0  row_shr:15 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x1f,0x01,0xff]390v_mac_f32 v0, v0, v0 row_shr:0xf391 392// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.393// VI9: v_mac_f32_dpp v0, v0, v0  quad_perm:[1,3,0,1] row_mask:0xa bank_mask:0xf bound_ctrl:1 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x4d,0x08,0xaf]394v_mac_f32 v0, v0, v0 quad_perm:[1,3,0,1] row_mask:0xa bound_ctrl:0395 396// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.397// VI9: v_add_f32_dpp v0, v0, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x01,0x09,0xa1]398v_add_f32 v0, v0, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0399 400// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.401// VI9: v_min_f32_dpp v0, v0, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x01,0x09,0xa1]402v_min_f32 v0, v0, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0403 404// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.405// VI9: v_and_b32_dpp v0, v0, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x01,0x09,0xa1]406v_and_b32 v0, v0, v0 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0407 408// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.409// VI9: v_mul_i32_i24_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x0c,0x02,0x01,0x09,0xa1]410v_mul_i32_i24 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0411 412// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.413// VI9: v_sub_f32_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x04,0x02,0x01,0x09,0xa1]414v_sub_f32 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0415 416// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.417// VI9: v_subrev_f32_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x06,0x02,0x01,0x09,0xa1]418v_subrev_f32 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0419 420// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.421// VI9: v_mul_f32_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x0a,0x02,0x01,0x09,0xa1]422v_mul_f32 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0423 424// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.425// VI9: v_mul_hi_i32_i24_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x0e,0x02,0x01,0x09,0xa1]426v_mul_hi_i32_i24 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0427 428// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.429// VI9: v_mul_u32_u24_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x10,0x02,0x01,0x09,0xa1]430v_mul_u32_u24 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0431 432// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.433// VI9: v_mul_hi_u32_u24_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x12,0x02,0x01,0x09,0xa1]434v_mul_hi_u32_u24 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0435 436// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.437// VI9: v_max_f32_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x16,0x02,0x01,0x09,0xa1]438v_max_f32 v1, v2 v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0439 440// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.441// VI9: v_min_i32_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x18,0x02,0x01,0x09,0xa1]442v_min_i32 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0443 444// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.445// VI9: v_max_i32_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x1a,0x02,0x01,0x09,0xa1]446v_max_i32 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0447 448// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.449// VI9: v_min_u32_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x1c,0x02,0x01,0x09,0xa1]450v_min_u32 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0451 452// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.453// VI9: v_max_u32_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x1e,0x02,0x01,0x09,0xa1]454v_max_u32 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0455 456// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.457// VI9: v_lshrrev_b32_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x20,0x02,0x01,0x09,0xa1]458v_lshrrev_b32 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0459 460// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.461// VI9: v_ashrrev_i32_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x22,0x02,0x01,0x09,0xa1]462v_ashrrev_i32 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0463 464// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.465// VI9: v_lshlrev_b32_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x24,0x02,0x01,0x09,0xa1]466v_lshlrev_b32 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0467 468// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.469// VI9: v_or_b32_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x28,0x02,0x01,0x09,0xa1]470v_or_b32 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0471 472// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.473// VI9: v_xor_b32_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x2a,0x02,0x01,0x09,0xa1]474v_xor_b32 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0475 476// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU477// VI9: v_add_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x3e,0x02,0x01,0x09,0xa1]478v_add_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0479 480// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU481// VI9: v_sub_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x40,0x02,0x01,0x09,0xa1]482v_sub_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0483 484// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU485// VI9: v_subrev_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x42,0x02,0x01,0x09,0xa1]486v_subrev_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0487 488// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU489// VI9: v_mul_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x44,0x02,0x01,0x09,0xa1]490v_mul_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0491 492// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU493// VI9: v_mac_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x46,0x02,0x01,0x09,0xa1]494v_mac_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0495 496// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU497// VI9: v_add_u16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x4c,0x02,0x01,0x09,0xa1]498v_add_u16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0499 500// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU501// VI9: v_sub_u16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x4e,0x02,0x01,0x09,0xa1]502v_sub_u16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0503 504// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU505// VI9: v_subrev_u16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x50,0x02,0x01,0x09,0xa1]506v_subrev_u16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0507 508// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU509// VI9: v_mul_lo_u16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x52,0x02,0x01,0x09,0xa1]510v_mul_lo_u16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0511 512// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU513// VI9: v_lshlrev_b16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x54,0x02,0x01,0x09,0xa1]514v_lshlrev_b16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0515 516// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU517// VI9: v_lshrrev_b16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x56,0x02,0x01,0x09,0xa1]518v_lshrrev_b16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0519 520// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU521// VI9: v_ashrrev_i16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x58,0x02,0x01,0x09,0xa1]522v_ashrrev_i16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0523 524// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU525// VI9: v_max_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x5a,0x02,0x01,0x09,0xa1]526v_max_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0527 528// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU529// VI9: v_min_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x5c,0x02,0x01,0x09,0xa1]530v_min_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0531 532// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU533// VI9: v_max_u16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x5e,0x02,0x01,0x09,0xa1]534v_max_u16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0535 536// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU537// VI9: v_max_i16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x60,0x02,0x01,0x09,0xa1]538v_max_i16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0539 540// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU541// VI9: v_min_u16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x62,0x02,0x01,0x09,0xa1]542v_min_u16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0543 544// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU545// VI9: v_min_i16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x64,0x02,0x01,0x09,0xa1]546v_min_i16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0547 548// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU549// VI9: v_ldexp_f16_dpp v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x66,0x02,0x01,0x09,0xa1]550v_ldexp_f16 v1, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0551 552// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU553// NOGFX9: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.554// VI: v_add_u32_dpp v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x32,0x02,0x01,0x09,0xa1]555v_add_u32 v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0556 557// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU558// NOGFX9: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.559// VI: v_sub_u32_dpp v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x34,0x02,0x01,0x09,0xa1]560v_sub_u32 v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0561 562// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU563// NOGFX9: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.564// VI: v_subrev_u32_dpp v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x36,0x02,0x01,0x09,0xa1]565v_subrev_u32 v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0566 567// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: not a valid operand.568// NOGFX9: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU569// VI: v_addc_u32_dpp v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x38,0x02,0x01,0x09,0xa1]570v_addc_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0571 572// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: not a valid operand.573// NOGFX9: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU574// VI: v_subb_u32_dpp v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x3a,0x02,0x01,0x09,0xa1]575v_subb_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0576 577// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: not a valid operand.578// NOGFX9: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU579// VI: v_subbrev_u32_dpp v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x3c,0x02,0x01,0x09,0xa1]580v_subbrev_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0581 582// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: not a valid operand.583// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU584// GFX9: v_add_co_u32_dpp v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x32,0x02,0x01,0x09,0xa1]585v_add_co_u32 v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0586 587// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: not a valid operand.588// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU589// GFX9: v_sub_co_u32_dpp v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x34,0x02,0x01,0x09,0xa1]590v_sub_co_u32 v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0591 592// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: not a valid operand.593// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU594// GFX9: v_subrev_co_u32_dpp v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x36,0x02,0x01,0x09,0xa1]595v_subrev_co_u32 v1, vcc, v2, v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0596 597// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU598// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU599// GFX9: v_addc_co_u32_dpp v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x38,0x02,0x01,0x09,0xa1]600v_addc_co_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0601 602// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU603// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU604// GFX9: v_subb_co_u32_dpp v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x3a,0x02,0x01,0x09,0xa1]605v_subb_co_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0606 607// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU608// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU609// GFX9: v_subbrev_co_u32_dpp v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:1 ; encoding: [0xfa,0x06,0x02,0x3c,0x02,0x01,0x09,0xa1]610v_subbrev_co_u32 v1, vcc, v2, v3, vcc row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0611 612// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: dpp variant of this instruction is not supported613// VI9:    v_cndmask_b32_dpp v5, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x00,0x01,0xe4,0x00,0x00]614v_cndmask_b32_dpp v5, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0615 616// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: dpp variant of this instruction is not supported617// VI9:    v_cndmask_b32_dpp v5, v1, v2, vcc row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x00,0x01,0x0f,0x01,0x00]618v_cndmask_b32_dpp v5, v1, v2, vcc row_shl:15 row_mask:0x0 bank_mask:0x0619 620//===----------------------------------------------------------------------===//621// Check that immediates and scalar regs are not supported622//===----------------------------------------------------------------------===//623 624// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: not a valid operand625// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction626// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction627v_mov_b32 v0, 1 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0628 629// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: not a valid operand630// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction631// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction632v_and_b32 v0, 42, v1 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0633 634// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: not a valid operand.635// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction636// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction637v_add_f32 v0, v1, 345 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0638 639// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: not a valid operand640// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction641// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction642v_mov_b32 v0, s1 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0643 644// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: not a valid operand645// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction646// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction647v_and_b32 v0, s42, v1 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0648 649// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: not a valid operand.650// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode651// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode652v_add_f32 v0, v1, s45 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0653 654//===----------------------------------------------------------------------===//655// Validate register size checks (bug 37943)656//===----------------------------------------------------------------------===//657 658// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: dpp variant of this instruction is not supported659// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction660// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction661v_add_f32_dpp v5, v[1:2], v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0662 663// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: dpp variant of this instruction is not supported664// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction665// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction666v_add_f32_dpp v5, v[1:3], v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0667 668// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: dpp variant of this instruction is not supported669// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction670// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction671v_add_f32_dpp v5, v1, v[1:2] quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0672 673// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: dpp variant of this instruction is not supported674// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction675// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction676v_add_f32_dpp v5, v1, v[1:4] quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0677 678// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU679// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction680// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction681v_add_f16 v1, v[2:3], v3 row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0682 683// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU684// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction685// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction686v_add_f16 v1, v3, v[2:3] row_shl:1 row_mask:0xa bank_mask:0x1 bound_ctrl:0687