879 lines · plain
1// RUN: not llvm-mc -triple=amdgcn -mcpu=tahiti -show-encoding %s | FileCheck %s --check-prefix=SICI2// RUN: not llvm-mc -triple=amdgcn -mcpu=hawaii -show-encoding %s | FileCheck %s --check-prefix=CI --check-prefix=SICI3// RUN: not llvm-mc -triple=amdgcn -mcpu=tonga -show-encoding %s | FileCheck %s --check-prefix=VI4 5// Make sure interp instructions disassemble regardless of lds bank count6// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx810 -show-encoding %s | FileCheck %s --check-prefix=VI7 8// RUN: not llvm-mc -triple=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck %s --check-prefix=NOSI --check-prefix=NOSICI --implicit-check-not=error:9// RUN: not llvm-mc -triple=amdgcn -mcpu=hawaii %s 2>&1 | FileCheck %s -check-prefix=NOCI --check-prefix=NOSICI --implicit-check-not=error:10// RUN: not llvm-mc -triple=amdgcn -mcpu=tonga %s 2>&1 | FileCheck %s --check-prefix=NOVI --implicit-check-not=error:11// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx810 %s 2>&1 | FileCheck -check-prefix=NOVI --implicit-check-not=error: %s12 13//===----------------------------------------------------------------------===//14// VOPC Instructions15//===----------------------------------------------------------------------===//16 17// Test forced e64 encoding18 19v_cmp_lt_f32_e64 s[2:3], v4, -v620// SICI: v_cmp_lt_f32_e64 s[2:3], v4, -v6 ; encoding: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x40]21// VI: v_cmp_lt_f32_e64 s[2:3], v4, -v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x40]22 23// Test forcing e64 with vcc dst24 25v_cmp_lt_f32_e64 vcc, v4, v626// SICI: v_cmp_lt_f32_e64 vcc, v4, v6 ; encoding: [0x6a,0x00,0x02,0xd0,0x04,0x0d,0x02,0x00]27// VI: v_cmp_lt_f32_e64 vcc, v4, v6 ; encoding: [0x6a,0x00,0x41,0xd0,0x04,0x0d,0x02,0x00]28 29//30// Modifier tests:31//32 33v_cmp_lt_f32 s[2:3] -v4, v634// SICI: v_cmp_lt_f32_e64 s[2:3], -v4, v6 ; encoding: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x20]35// VI: v_cmp_lt_f32_e64 s[2:3], -v4, v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x20]36 37v_cmp_lt_f32 s[2:3] v4, -v638// SICI: v_cmp_lt_f32_e64 s[2:3], v4, -v6 ; encoding: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x40]39// VI: v_cmp_lt_f32_e64 s[2:3], v4, -v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x40]40 41v_cmp_lt_f32 s[2:3] -v4, -v642// SICI: v_cmp_lt_f32_e64 s[2:3], -v4, -v6 ; encoding: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x60]43// VI: v_cmp_lt_f32_e64 s[2:3], -v4, -v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x60]44 45v_cmp_lt_f32 s[2:3] |v4|, v646// SICI: v_cmp_lt_f32_e64 s[2:3], |v4|, v6 ; encoding: [0x02,0x01,0x02,0xd0,0x04,0x0d,0x02,0x00]47// VI: v_cmp_lt_f32_e64 s[2:3], |v4|, v6 ; encoding: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x00]48 49v_cmp_lt_f32 s[2:3] v4, |v6|50// SICI: v_cmp_lt_f32_e64 s[2:3], v4, |v6| ; encoding: [0x02,0x02,0x02,0xd0,0x04,0x0d,0x02,0x00]51// VI: v_cmp_lt_f32_e64 s[2:3], v4, |v6| ; encoding: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x00]52 53v_cmp_lt_f32 s[2:3] |v4|, |v6|54// SICI: v_cmp_lt_f32_e64 s[2:3], |v4|, |v6| ; encoding: [0x02,0x03,0x02,0xd0,0x04,0x0d,0x02,0x00]55// VI: v_cmp_lt_f32_e64 s[2:3], |v4|, |v6| ; encoding: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x00]56 57v_cmp_lt_f32 s[2:3] -|v4|, v658// SICI: v_cmp_lt_f32_e64 s[2:3], -|v4|, v6 ; encoding: [0x02,0x01,0x02,0xd0,0x04,0x0d,0x02,0x20]59// VI: v_cmp_lt_f32_e64 s[2:3], -|v4|, v6 ; encoding: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x20]60 61v_cmp_lt_f32 s[2:3] -abs(v4), v662// SICI: v_cmp_lt_f32_e64 s[2:3], -|v4|, v6 ; encoding: [0x02,0x01,0x02,0xd0,0x04,0x0d,0x02,0x20]63// VI: v_cmp_lt_f32_e64 s[2:3], -|v4|, v6 ; encoding: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x20]64 65v_cmp_lt_f32 s[2:3] v4, -|v6|66// SICI: v_cmp_lt_f32_e64 s[2:3], v4, -|v6| ; encoding: [0x02,0x02,0x02,0xd0,0x04,0x0d,0x02,0x40]67// VI: v_cmp_lt_f32_e64 s[2:3], v4, -|v6| ; encoding: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x40]68 69v_cmp_lt_f32 s[2:3] v4, -abs(v6)70// SICI: v_cmp_lt_f32_e64 s[2:3], v4, -|v6| ; encoding: [0x02,0x02,0x02,0xd0,0x04,0x0d,0x02,0x40]71// VI: v_cmp_lt_f32_e64 s[2:3], v4, -|v6| ; encoding: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x40]72 73v_cmp_lt_f32 s[2:3] -|v4|, -|v6|74// SICI: v_cmp_lt_f32_e64 s[2:3], -|v4|, -|v6| ; encoding: [0x02,0x03,0x02,0xd0,0x04,0x0d,0x02,0x60]75// VI: v_cmp_lt_f32_e64 s[2:3], -|v4|, -|v6| ; encoding: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x60]76 77v_cmp_lt_f32 s[2:3] -abs(v4), -abs(v6)78// SICI: v_cmp_lt_f32_e64 s[2:3], -|v4|, -|v6| ; encoding: [0x02,0x03,0x02,0xd0,0x04,0x0d,0x02,0x60]79// VI: v_cmp_lt_f32_e64 s[2:3], -|v4|, -|v6| ; encoding: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x60]80 81//82// Instruction tests:83//84 85v_cmp_f_f32 s[2:3], v4, v686// SICI: v_cmp_f_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x00,0xd0,0x04,0x0d,0x02,0x00]87// VI: v_cmp_f_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x40,0xd0,0x04,0x0d,0x02,0x00]88 89v_cmp_lt_f32 s[2:3], v4, v690// SICI: v_cmp_lt_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x00]91// VI: v_cmp_lt_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x00]92 93v_cmp_eq_f32 s[2:3], v4, v694// SICI: v_cmp_eq_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x04,0xd0,0x04,0x0d,0x02,0x00]95// VI: v_cmp_eq_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x42,0xd0,0x04,0x0d,0x02,0x00]96 97v_cmp_le_f32 s[2:3], v4, v698// SICI: v_cmp_le_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x06,0xd0,0x04,0x0d,0x02,0x00]99// VI: v_cmp_le_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x43,0xd0,0x04,0x0d,0x02,0x00]100 101v_cmp_gt_f32 s[2:3], v4, v6102// SICI: v_cmp_gt_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x08,0xd0,0x04,0x0d,0x02,0x00]103// VI: v_cmp_gt_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x44,0xd0,0x04,0x0d,0x02,0x00]104 105v_cmp_lg_f32 s[2:3], v4, v6106// SICI: v_cmp_lg_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x0a,0xd0,0x04,0x0d,0x02,0x00]107// VI: v_cmp_lg_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x45,0xd0,0x04,0x0d,0x02,0x00]108 109v_cmp_ge_f32 s[2:3], v4, v6110// SICI: v_cmp_ge_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x0c,0xd0,0x04,0x0d,0x02,0x00]111// VI: v_cmp_ge_f32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x46,0xd0,0x04,0x0d,0x02,0x00]112 113// TODO: Add tests for the rest of v_cmp_*_f32114// TODO: Add tests for v_cmpx_*_f32115 116v_cmp_f_f64 s[2:3], v[4:5], v[6:7]117// SICI: v_cmp_f_f64_e64 s[2:3], v[4:5], v[6:7] ; encoding: [0x02,0x00,0x40,0xd0,0x04,0x0d,0x02,0x00]118// VI: v_cmp_f_f64_e64 s[2:3], v[4:5], v[6:7] ; encoding: [0x02,0x00,0x60,0xd0,0x04,0x0d,0x02,0x00]119 120// TODO: Add tests for the rest of v_cmp_*_f64121// TODO: Add tests for the rest of the floating-point comparision instructions.122 123v_cmp_f_i32 s[2:3], v4, v6124// SICI: v_cmp_f_i32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0x00,0xd1,0x04,0x0d,0x02,0x00]125// VI: v_cmp_f_i32_e64 s[2:3], v4, v6 ; encoding: [0x02,0x00,0xc0,0xd0,0x04,0x0d,0x02,0x00]126 127// TODO: Add test for the rest of v_cmp_*_i32128 129v_cmp_f_i64 s[2:3], v[4:5], v[6:7]130// SICI: v_cmp_f_i64_e64 s[2:3], v[4:5], v[6:7] ; encoding: [0x02,0x00,0x40,0xd1,0x04,0x0d,0x02,0x00]131// VI: v_cmp_f_i64_e64 s[2:3], v[4:5], v[6:7] ; encoding: [0x02,0x00,0xe0,0xd0,0x04,0x0d,0x02,0x00]132 133// TODO: Add tests for the rest of the instructions.134 135//===----------------------------------------------------------------------===//136// VOP1 Instructions137//===----------------------------------------------------------------------===//138 139// Test forced e64 encoding with e32 operands140 141v_mov_b32_e64 v1, v2142// SICI: v_mov_b32_e64 v1, v2 ; encoding: [0x01,0x00,0x02,0xd3,0x02,0x01,0x00,0x00]143// VI: v_mov_b32_e64 v1, v2 ; encoding: [0x01,0x00,0x41,0xd1,0x02,0x01,0x00,0x00]144 145// Force e64 encoding for special instructions.146// FIXME, we should be printing the _e64 suffix for v_nop and v_clrexcp.147 148v_nop_e64149// SICI: v_nop ; encoding: [0x00,0x00,0x00,0xd3,0x00,0x00,0x00,0x00]150// VI: v_nop ; encoding: [0x00,0x00,0x40,0xd1,0x00,0x00,0x00,0x00]151 152v_clrexcp_e64153// SICI: v_clrexcp ; encoding: [0x00,0x00,0x82,0xd3,0x00,0x00,0x00,0x00]154// VI: v_clrexcp ; encoding: [0x00,0x00,0x75,0xd1,0x00,0x00,0x00,0x00]155 156//157// Modifier tests:158//159 160v_fract_f32 v1, -v2161// SICI: v_fract_f32_e64 v1, -v2 ; encoding: [0x01,0x00,0x40,0xd3,0x02,0x01,0x00,0x20]162// VI: v_fract_f32_e64 v1, -v2 ; encoding: [0x01,0x00,0x5b,0xd1,0x02,0x01,0x00,0x20]163 164v_fract_f32 v1, |v2|165// SICI: v_fract_f32_e64 v1, |v2| ; encoding: [0x01,0x01,0x40,0xd3,0x02,0x01,0x00,0x00]166// VI: v_fract_f32_e64 v1, |v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x00]167 168v_fract_f32 v1, abs(v2)169// SICI: v_fract_f32_e64 v1, |v2| ; encoding: [0x01,0x01,0x40,0xd3,0x02,0x01,0x00,0x00]170// VI: v_fract_f32_e64 v1, |v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x00]171 172v_fract_f32 v1, -|v2|173// SICI: v_fract_f32_e64 v1, -|v2| ; encoding: [0x01,0x01,0x40,0xd3,0x02,0x01,0x00,0x20]174// VI: v_fract_f32_e64 v1, -|v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x20]175 176v_fract_f32 v1, -abs(v2)177// SICI: v_fract_f32_e64 v1, -|v2| ; encoding: [0x01,0x01,0x40,0xd3,0x02,0x01,0x00,0x20]178// VI: v_fract_f32_e64 v1, -|v2| ; encoding: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x20]179 180v_fract_f32 v1, v2 clamp181// SICI: v_fract_f32_e64 v1, v2 clamp ; encoding: [0x01,0x08,0x40,0xd3,0x02,0x01,0x00,0x00]182// VI: v_fract_f32_e64 v1, v2 clamp ; encoding: [0x01,0x80,0x5b,0xd1,0x02,0x01,0x00,0x00]183 184v_fract_f32 v1, v2 mul:2185// SICI: v_fract_f32_e64 v1, v2 mul:2 ; encoding: [0x01,0x00,0x40,0xd3,0x02,0x01,0x00,0x08]186// VI: v_fract_f32_e64 v1, v2 mul:2 ; encoding: [0x01,0x00,0x5b,0xd1,0x02,0x01,0x00,0x08]187 188v_fract_f32 v1, v2, clamp div:2189// SICI: v_fract_f32_e64 v1, v2 clamp div:2 ; encoding: [0x01,0x08,0x40,0xd3,0x02,0x01,0x00,0x18]190// VI: v_fract_f32_e64 v1, v2 clamp div:2 ; encoding: [0x01,0x80,0x5b,0xd1,0x02,0x01,0x00,0x18]191 192// TODO: Finish VOP1193 194///===---------------------------------------------------------------------===//195// VOP2 Instructions196///===---------------------------------------------------------------------===//197 198// Test forced e64 encoding with e32 operands199 200v_add_f32_e64 v1, v3, v5201// SICI: v_add_f32_e64 v1, v3, v5 ; encoding: [0x01,0x00,0x06,0xd2,0x03,0x0b,0x02,0x00]202// VI: v_add_f32_e64 v1, v3, v5 ; encoding: [0x01,0x00,0x01,0xd1,0x03,0x0b,0x02,0x00]203 204 205// TODO: Modifier tests (v_cndmask done)206 207v_cndmask_b32 v1, v3, v5, s[4:5]208// SICI: v_cndmask_b32_e64 v1, v3, v5, s[4:5] ; encoding: [0x01,0x00,0x00,0xd2,0x03,0x0b,0x12,0x00]209// VI: v_cndmask_b32_e64 v1, v3, v5, s[4:5] ; encoding: [0x01,0x00,0x00,0xd1,0x03,0x0b,0x12,0x00]210 211v_cndmask_b32_e64 v1, v3, v5, s[4:5]212// SICI: v_cndmask_b32_e64 v1, v3, v5, s[4:5] ; encoding: [0x01,0x00,0x00,0xd2,0x03,0x0b,0x12,0x00]213// VI: v_cndmask_b32_e64 v1, v3, v5, s[4:5] ; encoding: [0x01,0x00,0x00,0xd1,0x03,0x0b,0x12,0x00]214 215v_cndmask_b32_e64 v1, v3, v5, vcc216// SICI: v_cndmask_b32_e64 v1, v3, v5, vcc ; encoding: [0x01,0x00,0x00,0xd2,0x03,0x0b,0xaa,0x01]217// VI: v_cndmask_b32_e64 v1, v3, v5, vcc ; encoding: [0x01,0x00,0x00,0xd1,0x03,0x0b,0xaa,0x01]218 219v_cndmask_b32 v1, -v3, v5, s[4:5]220// SICI: v_cndmask_b32_e64 v1, -v3, v5, s[4:5] ; encoding: [0x01,0x00,0x00,0xd2,0x03,0x0b,0x12,0x20]221// VI: v_cndmask_b32_e64 v1, -v3, v5, s[4:5] ; encoding: [0x01,0x00,0x00,0xd1,0x03,0x0b,0x12,0x20]222 223v_cndmask_b32_e64 v1, v3, |v5|, s[4:5]224// SICI: v_cndmask_b32_e64 v1, v3, |v5|, s[4:5] ; encoding: [0x01,0x02,0x00,0xd2,0x03,0x0b,0x12,0x00]225// VI: v_cndmask_b32_e64 v1, v3, |v5|, s[4:5] ; encoding: [0x01,0x02,0x00,0xd1,0x03,0x0b,0x12,0x00]226 227v_cndmask_b32_e64 v1, -abs(v3), v5, vcc228// SICI: v_cndmask_b32_e64 v1, -|v3|, v5, vcc ; encoding: [0x01,0x01,0x00,0xd2,0x03,0x0b,0xaa,0x21]229// VI: v_cndmask_b32_e64 v1, -|v3|, v5, vcc ; encoding: [0x01,0x01,0x00,0xd1,0x03,0x0b,0xaa,0x21]230 231//TODO: readlane, writelane232 233v_add_f32 v1, v3, s5234// SICI: v_add_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x06,0xd2,0x03,0x0b,0x00,0x00]235// VI: v_add_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x01,0xd1,0x03,0x0b,0x00,0x00]236 237v_sub_f32 v1, v3, s5238// SICI: v_sub_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x08,0xd2,0x03,0x0b,0x00,0x00]239// VI: v_sub_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x02,0xd1,0x03,0x0b,0x00,0x00]240 241v_subrev_f32 v1, v3, s5242// SICI: v_subrev_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x0a,0xd2,0x03,0x0b,0x00,0x00]243// VI: v_subrev_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x03,0xd1,0x03,0x0b,0x00,0x00]244 245v_mac_legacy_f32 v1, v3, s5246// SICI: v_mac_legacy_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x0c,0xd2,0x03,0x0b,0x00,0x00]247// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU248 249v_mul_legacy_f32 v1, v3, s5250// SICI: v_mul_legacy_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x0e,0xd2,0x03,0x0b,0x00,0x00]251// VI: v_mul_legacy_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x04,0xd1,0x03,0x0b,0x00,0x00]252 253v_mul_f32 v1, v3, s5254// SICI: v_mul_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x10,0xd2,0x03,0x0b,0x00,0x00]255// VI: v_mul_f32_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x05,0xd1,0x03,0x0b,0x00,0x00]256 257v_mul_i32_i24 v1, v3, s5258// SICI: v_mul_i32_i24_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x12,0xd2,0x03,0x0b,0x00,0x00]259// VI: v_mul_i32_i24_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x06,0xd1,0x03,0x0b,0x00,0x00]260 261v_mul_i32_i24 v1, v3, s5 clamp262// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU263// VI: v_mul_i32_i24_e64 v1, v3, s5 clamp ; encoding: [0x01,0x80,0x06,0xd1,0x03,0x0b,0x00,0x00]264 265v_mul_u32_u24 v1, v3, s5266// SICI: v_mul_u32_u24_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x16,0xd2,0x03,0x0b,0x00,0x00]267// VI: v_mul_u32_u24_e64 v1, v3, s5 ; encoding: [0x01,0x00,0x08,0xd1,0x03,0x0b,0x00,0x00]268 269v_mul_u32_u24 v1, v3, s5 clamp270// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU271// VI: v_mul_u32_u24_e64 v1, v3, s5 clamp ; encoding: [0x01,0x80,0x08,0xd1,0x03,0x0b,0x00,0x00]272 273v_mac_f32_e64 v0, v1, v2274// SICI: v_mac_f32_e64 v0, v1, v2 ; encoding: [0x00,0x00,0x3e,0xd2,0x01,0x05,0x02,0x00]275// VI: v_mac_f32_e64 v0, v1, v2 ; encoding: [0x00,0x00,0x16,0xd1,0x01,0x05,0x02,0x00]276 277v_mac_f32_e64 v0, v1, v2 clamp278// SICI: v_mac_f32_e64 v0, v1, v2 clamp ; encoding: [0x00,0x08,0x3e,0xd2,0x01,0x05,0x02,0x00]279// VI: v_mac_f32_e64 v0, v1, v2 clamp ; encoding: [0x00,0x80,0x16,0xd1,0x01,0x05,0x02,0x00]280 281v_mac_f32_e64 v0, v1, v2 mul:2282// SICI: v_mac_f32_e64 v0, v1, v2 mul:2 ; encoding: [0x00,0x00,0x3e,0xd2,0x01,0x05,0x02,0x08]283// VI: v_mac_f32_e64 v0, v1, v2 mul:2 ; encoding: [0x00,0x00,0x16,0xd1,0x01,0x05,0x02,0x08]284 285v_mac_f32_e64 v0, -v1, |v2|286// SICI: v_mac_f32_e64 v0, -v1, |v2| ; encoding: [0x00,0x02,0x3e,0xd2,0x01,0x05,0x02,0x20]287// VI: v_mac_f32_e64 v0, -v1, |v2| ; encoding: [0x00,0x02,0x16,0xd1,0x01,0x05,0x02,0x20]288 289v_mac_f16_e64 v0, 0.5, flat_scratch_lo290// VI: v_mac_f16_e64 v0, 0.5, flat_scratch_lo ; encoding: [0x00,0x00,0x23,0xd1,0xf0,0xcc,0x00,0x00]291// NOCI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU292// NOSI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU293 294v_mac_f16_e64 v0, -4.0, flat_scratch_lo295// VI: v_mac_f16_e64 v0, -4.0, flat_scratch_lo ; encoding: [0x00,0x00,0x23,0xd1,0xf7,0xcc,0x00,0x00]296// NOCI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU297// NOSI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU298 299v_mac_f16_e64 v0, flat_scratch_lo, -4.0300// VI: v_mac_f16_e64 v0, flat_scratch_lo, -4.0 ; encoding: [0x00,0x00,0x23,0xd1,0x66,0xee,0x01,0x00]301// NOCI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU302// NOSI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU303 304v_add_u32 v84, vcc, v13, s31 clamp305// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU306// VI: v_add_u32_e64 v84, vcc, v13, s31 clamp ; encoding: [0x54,0xea,0x19,0xd1,0x0d,0x3f,0x00,0x00]307 308v_sub_u32 v84, s[2:3], v13, s31 clamp309// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU310// VI: v_sub_u32_e64 v84, s[2:3], v13, s31 clamp ; encoding: [0x54,0x82,0x1a,0xd1,0x0d,0x3f,0x00,0x00]311 312v_subrev_u32 v84, vcc, v13, s31 clamp313// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU314// VI: v_subrev_u32_e64 v84, vcc, v13, s31 clamp ; encoding: [0x54,0xea,0x1b,0xd1,0x0d,0x3f,0x00,0x00]315 316v_addc_u32 v84, s[4:5], v13, v31, vcc clamp317// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU318// VI: v_addc_u32_e64 v84, s[4:5], v13, v31, vcc clamp ; encoding: [0x54,0x84,0x1c,0xd1,0x0d,0x3f,0xaa,0x01]319 320v_subb_u32 v84, s[2:3], v13, v31, vcc clamp321// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU322// VI: v_subb_u32_e64 v84, s[2:3], v13, v31, vcc clamp ; encoding: [0x54,0x82,0x1d,0xd1,0x0d,0x3f,0xaa,0x01]323 324v_subbrev_u32 v84, vcc, v13, v31, s[6:7] clamp325// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU326// VI: v_subbrev_u32_e64 v84, vcc, v13, v31, s[6:7] clamp ; encoding: [0x54,0xea,0x1e,0xd1,0x0d,0x3f,0x1a,0x00]327 328///===---------------------------------------------------------------------===//329// VOP3 Instructions330///===---------------------------------------------------------------------===//331 332// TODO: Modifier tests333 334v_mad_legacy_f32 v2, v4, v6, v8335// SICI: v_mad_legacy_f32 v2, v4, v6, v8 ; encoding: [0x02,0x00,0x80,0xd2,0x04,0x0d,0x22,0x04]336// VI: v_mad_legacy_f32 v2, v4, v6, v8 ; encoding: [0x02,0x00,0xc0,0xd1,0x04,0x0d,0x22,0x04]337 338v_add_f64 v[0:1], v[2:3], v[5:6]339// SICI: v_add_f64 v[0:1], v[2:3], v[5:6] ; encoding: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x00]340// VI: v_add_f64 v[0:1], v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x00]341 342v_add_f64_e64 v[0:1], v[2:3], v[5:6]343// SICI: v_add_f64 v[0:1], v[2:3], v[5:6] ; encoding: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x00]344// VI: v_add_f64 v[0:1], v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x00]345 346v_add_f64 v[0:1], -v[2:3], v[5:6]347// SICI: v_add_f64 v[0:1], -v[2:3], v[5:6] ; encoding: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x20]348// VI: v_add_f64 v[0:1], -v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x20]349 350v_add_f64_e64 v[0:1], -v[2:3], v[5:6]351// SICI: v_add_f64 v[0:1], -v[2:3], v[5:6] ; encoding: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x20]352// VI: v_add_f64 v[0:1], -v[2:3], v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x20]353 354v_add_f64 v[0:1], v[2:3], -v[5:6]355// SICI: v_add_f64 v[0:1], v[2:3], -v[5:6] ; encoding: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x40]356// VI: v_add_f64 v[0:1], v[2:3], -v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x40]357 358v_add_f64_e64 v[0:1], v[2:3], -v[5:6]359// SICI: v_add_f64 v[0:1], v[2:3], -v[5:6] ; encoding: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x40]360// VI: v_add_f64 v[0:1], v[2:3], -v[5:6] ; encoding: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x40]361 362v_add_f64 v[0:1], |v[2:3]|, v[5:6]363// SICI: v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0xc8,0xd2,0x02,0x0b,0x02,0x00]364// VI: v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]365 366v_add_f64 v[0:1], abs(v[2:3]), v[5:6]367// SICI: v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0xc8,0xd2,0x02,0x0b,0x02,0x00]368// VI: v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]369 370v_add_f64_e64 v[0:1], |v[2:3]|, v[5:6]371// SICI: v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0xc8,0xd2,0x02,0x0b,0x02,0x00]372// VI: v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]373 374v_add_f64_e64 v[0:1], abs(v[2:3]), v[5:6]375// SICI: v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0xc8,0xd2,0x02,0x0b,0x02,0x00]376// VI: v_add_f64 v[0:1], |v[2:3]|, v[5:6] ; encoding: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]377 378v_add_f64 v[0:1], v[2:3], |v[5:6]|379// SICI: v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0xc8,0xd2,0x02,0x0b,0x02,0x00]380// VI: v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]381 382v_add_f64 v[0:1], v[2:3], abs(v[5:6])383// SICI: v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0xc8,0xd2,0x02,0x0b,0x02,0x00]384// VI: v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]385 386v_add_f64_e64 v[0:1], v[2:3], |v[5:6]|387// SICI: v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0xc8,0xd2,0x02,0x0b,0x02,0x00]388// VI: v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]389 390v_add_f64_e64 v[0:1], v[2:3], abs(v[5:6])391// SICI: v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0xc8,0xd2,0x02,0x0b,0x02,0x00]392// VI: v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]393 394v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4395// SICI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]396// VI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]397 398v_add_f64 v[0:1], -v[2:3], abs(v[5:6]) clamp mul:4399// SICI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]400// VI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]401 402v_add_f64_e64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4403// SICI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]404// VI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]405 406v_add_f64_e64 v[0:1], -v[2:3], abs(v[5:6]) clamp mul:4407// SICI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]408// VI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]409 410v_div_scale_f64 v[24:25], vcc, v[22:23], v[22:23], v[20:21]411// SICI: v_div_scale_f64 v[24:25], vcc, v[22:23], v[22:23], v[20:21] ; encoding: [0x18,0x6a,0xdc,0xd2,0x16,0x2d,0x52,0x04]412// VI: v_div_scale_f64 v[24:25], vcc, v[22:23], v[22:23], v[20:21] ; encoding: [0x18,0x6a,0xe1,0xd1,0x16,0x2d,0x52,0x04]413 414v_div_scale_f64 v[24:25], s[10:11], -v[22:23], v[20:21], v[20:21] clamp415// SICI: v_div_scale_f64 v[24:25], s[10:11], -v[22:23], v[20:21], v[20:21] clamp ; encoding: [0x18,0x0a,0xdc,0xd2,0x16,0x29,0x52,0x24]416// VI: v_div_scale_f64 v[24:25], s[10:11], -v[22:23], v[20:21], v[20:21] clamp ; encoding: [0x18,0x8a,0xe1,0xd1,0x16,0x29,0x52,0x24]417 418v_div_scale_f64 v[24:25], s[10:11], v[22:23], -v[20:21], v[20:21] clamp mul:2419// SICI: v_div_scale_f64 v[24:25], s[10:11], v[22:23], -v[20:21], v[20:21] clamp mul:2 ; encoding: [0x18,0x0a,0xdc,0xd2,0x16,0x29,0x52,0x4c]420// VI: v_div_scale_f64 v[24:25], s[10:11], v[22:23], -v[20:21], v[20:21] clamp mul:2 ; encoding: [0x18,0x8a,0xe1,0xd1,0x16,0x29,0x52,0x4c]421 422v_div_scale_f64 v[24:25], s[10:11], v[22:23], v[20:21], -v[20:21]423// SICI: v_div_scale_f64 v[24:25], s[10:11], v[22:23], v[20:21], -v[20:21] ; encoding: [0x18,0x0a,0xdc,0xd2,0x16,0x29,0x52,0x84]424// VI: v_div_scale_f64 v[24:25], s[10:11], v[22:23], v[20:21], -v[20:21] ; encoding: [0x18,0x0a,0xe1,0xd1,0x16,0x29,0x52,0x84]425 426v_div_scale_f32 v24, vcc, v22, v22, v20427// SICI: v_div_scale_f32 v24, vcc, v22, v22, v20 ; encoding: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0x52,0x04]428// VI: v_div_scale_f32 v24, vcc, v22, v22, v20 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0x52,0x04]429 430v_div_scale_f32 v24, vcc, -v22, v22, v20431// SICI: v_div_scale_f32 v24, vcc, -v22, v22, v20 ; encoding: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0x52,0x24]432// VI: v_div_scale_f32 v24, vcc, -v22, v22, v20 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0x52,0x24]433 434v_div_scale_f32 v24, vcc, v22, -v22, v20 clamp435// SICI: v_div_scale_f32 v24, vcc, v22, -v22, v20 clamp ; encoding: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0x52,0x44]436// VI: v_div_scale_f32 v24, vcc, v22, -v22, v20 clamp ; encoding: [0x18,0xea,0xe0,0xd1,0x16,0x2d,0x52,0x44]437 438v_div_scale_f32 v24, vcc, v22, v22, -v20 clamp div:2439// SICI: v_div_scale_f32 v24, vcc, v22, v22, -v20 clamp div:2 ; encoding: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0x52,0x9c]440// VI: v_div_scale_f32 v24, vcc, v22, v22, -v20 clamp div:2 ; encoding: [0x18,0xea,0xe0,0xd1,0x16,0x2d,0x52,0x9c]441 442v_div_scale_f32 v24, s[10:11], v22, v22, v20443// SICI: v_div_scale_f32 v24, s[10:11], v22, v22, v20 ; encoding: [0x18,0x0a,0xda,0xd2,0x16,0x2d,0x52,0x04]444// VI: v_div_scale_f32 v24, s[10:11], v22, v22, v20 ; encoding: [0x18,0x0a,0xe0,0xd1,0x16,0x2d,0x52,0x04]445 446v_div_scale_f32 v24, vcc, v22, 1.0, v22447// SICI: v_div_scale_f32 v24, vcc, v22, 1.0, v22 ; encoding: [0x18,0x6a,0xda,0xd2,0x16,0xe5,0x59,0x04]448// VI: v_div_scale_f32 v24, vcc, v22, 1.0, v22 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0xe5,0x59,0x04]449 450v_div_scale_f32 v24, vcc, v22, v22, -2.0451// SICI: v_div_scale_f32 v24, vcc, v22, v22, -2.0 ; encoding: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0xd6,0x03]452// VI: v_div_scale_f32 v24, vcc, v22, v22, -2.0 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0xd6,0x03]453 454v_div_scale_f32 v24, vcc, v22, v22, 0xc0000000455// SICI: v_div_scale_f32 v24, vcc, v22, v22, -2.0 ; encoding: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0xd6,0x03]456// VI: v_div_scale_f32 v24, vcc, v22, v22, -2.0 ; encoding: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0xd6,0x03]457 458v_mad_f32 v9, 0.5, v5, -v8459// SICI: v_mad_f32 v9, 0.5, v5, -v8 ; encoding: [0x09,0x00,0x82,0xd2,0xf0,0x0a,0x22,0x84]460// VI: v_mad_f32 v9, 0.5, v5, -v8 ; encoding: [0x09,0x00,0xc1,0xd1,0xf0,0x0a,0x22,0x84]461 462v_mqsad_u32_u8 v[5:8], s[2:3], v4, v[0:3]463// CI: v_mqsad_u32_u8 v[5:8], s[2:3], v4, v[0:3] ; encoding: [0x05,0x00,0xea,0xd2,0x02,0x08,0x02,0x04]464// VI: v_mqsad_u32_u8 v[5:8], s[2:3], v4, v[0:3] ; encoding: [0x05,0x00,0xe7,0xd1,0x02,0x08,0x02,0x04]465// NOSI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU466 467v_mad_u64_u32 v[5:6], s[12:13], s1, 0, 0468// CI: v_mad_u64_u32 v[5:6], s[12:13], s1, 0, 0 ; encoding: [0x05,0x0c,0xec,0xd2,0x01,0x00,0x01,0x02]469// VI: v_mad_u64_u32 v[5:6], s[12:13], s1, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0x01,0x02]470// NOSI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU471 472v_mad_i64_i32 v[5:6], s[12:13], s1, 0, v[254:255]473// CI: v_mad_i64_i32 v[5:6], s[12:13], s1, 0, v[254:255] ; encoding: [0x05,0x0c,0xee,0xd2,0x01,0x00,0xf9,0x07]474// VI: v_mad_i64_i32 v[5:6], s[12:13], s1, 0, v[254:255] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0xf9,0x07]475// NOSI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU476 477v_cmp_class_f16_e64 s[10:11], v1, s2478// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU479// VI: v_cmp_class_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x00,0x00]480 481v_cmp_class_f32_e64 s[10:11], -v1, s2482// SICI: v_cmp_class_f32_e64 s[10:11], -v1, s2 ; encoding: [0x0a,0x00,0x10,0xd1,0x01,0x05,0x00,0x20]483// VI: v_cmp_class_f32_e64 s[10:11], -v1, s2 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x00,0x20]484 485v_cmp_class_f64_e64 s[10:11], -v[254:255], s2486// SICI: v_cmp_class_f64_e64 s[10:11], -v[254:255], s2 ; encoding: [0x0a,0x00,0x50,0xd1,0xfe,0x05,0x00,0x20]487// VI: v_cmp_class_f64_e64 s[10:11], -v[254:255], s2 ; encoding: [0x0a,0x00,0x12,0xd0,0xfe,0x05,0x00,0x20]488 489v_cmpx_class_f16_e64 s[10:11], v255, s2490// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU491// VI: v_cmpx_class_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x15,0xd0,0xff,0x05,0x00,0x00]492 493v_cmpx_class_f32_e64 s[10:11], 0, s101494// SICI: v_cmpx_class_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x30,0xd1,0x80,0xca,0x00,0x00]495// VI: v_cmpx_class_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xca,0x00,0x00]496 497v_cmpx_class_f64_e64 s[10:11], -v[1:2], s2498// SICI: v_cmpx_class_f64_e64 s[10:11], -v[1:2], s2 ; encoding: [0x0a,0x00,0x70,0xd1,0x01,0x05,0x00,0x20]499// VI: v_cmpx_class_f64_e64 s[10:11], -v[1:2], s2 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0x05,0x00,0x20]500 501//502// Modifier tests:503//504 505v_mul_f64 v[0:1], |0|, |0|506// SICI: v_mul_f64 v[0:1], |0|, |0| ; encoding: [0x00,0x03,0xca,0xd2,0x80,0x00,0x01,0x00]507// VI: v_mul_f64 v[0:1], |0|, |0| ; encoding: [0x00,0x03,0x81,0xd2,0x80,0x00,0x01,0x00]508 509v_cubeid_f32 v0, |-1|, |-1.0|, |1.0|510// SICI: v_cubeid_f32 v0, |-1|, |-1.0|, |1.0| ; encoding: [0x00,0x07,0x88,0xd2,0xc1,0xe6,0xc9,0x03]511// VI: v_cubeid_f32 v0, |-1|, |-1.0|, |1.0| ; encoding: [0x00,0x07,0xc4,0xd1,0xc1,0xe6,0xc9,0x03]512 513///===---------------------------------------------------------------------===//514// VOP3 Legacy515///===---------------------------------------------------------------------===//516 517v_fma_f16_e64 v5, v1, v2, v3518// VI: v_fma_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x04]519// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU520 521v_fma_f16 v5, v1, v2, 0.5522// VI: v_fma_f16 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0xc2,0x03]523// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU524 525v_fma_f16 v5, -v1, -v2, -v3526// VI: v_fma_f16 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0xe4]527// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU528 529v_fma_f16 v5, |v1|, |v2|, |v3|530// VI: v_fma_f16 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xee,0xd1,0x01,0x05,0x0e,0x04]531// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU532 533v_fma_f16 v5, v1, v2, v3 clamp534// VI: v_fma_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xee,0xd1,0x01,0x05,0x0e,0x04]535// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU536 537v_div_fixup_f16_e64 v5, v1, v2, v3538// VI: v_div_fixup_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x04]539// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU540 541v_div_fixup_f16 v5, 0.5, v2, v3542// VI: v_div_fixup_f16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0xf0,0x04,0x0e,0x04]543// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU544 545v_div_fixup_f16 v5, v1, 0.5, v3546// VI: v_div_fixup_f16 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xe1,0x0d,0x04]547// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU548 549v_div_fixup_f16 v5, v1, v2, 0.5550// VI: v_div_fixup_f16 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xc2,0x03]551// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU552 553v_div_fixup_f16 v5, v1, v2, -4.0554// VI: v_div_fixup_f16 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xde,0x03]555// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU556 557v_div_fixup_f16 v5, -v1, v2, v3558// VI: v_div_fixup_f16 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x24]559// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU560 561v_div_fixup_f16 v5, v1, |v2|, v3562// VI: v_div_fixup_f16 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xef,0xd1,0x01,0x05,0x0e,0x04]563// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU564 565v_div_fixup_f16 v5, v1, v2, v3 clamp566// VI: v_div_fixup_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xef,0xd1,0x01,0x05,0x0e,0x04]567// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU568 569v_mad_f16_e64 v5, v1, v2, v3570// VI: v_mad_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x04]571// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU572 573v_mad_f16 v5, 0.5, v2, v3574// VI: v_mad_f16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0xf0,0x04,0x0e,0x04]575// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU576 577v_mad_f16 v5, v1, 0.5, v3578// VI: v_mad_f16 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xe1,0x0d,0x04]579// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU580 581v_mad_f16 v5, v1, v2, 0.5582// VI: v_mad_f16 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xc2,0x03]583// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU584 585v_mad_f16 v5, v1, -v2, v3586// VI: v_mad_f16 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x44]587// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU588 589v_mad_f16 v5, v1, v2, |v3|590// VI: v_mad_f16 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xea,0xd1,0x01,0x05,0x0e,0x04]591// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU592 593v_mad_f16 v5, v1, v2, v3 clamp594// VI: v_mad_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xea,0xd1,0x01,0x05,0x0e,0x04]595// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU596 597v_mad_i16_e64 v5, -1, v2, v3598// VI: v_mad_i16 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0xc1,0x04,0x0e,0x04]599// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU600 601v_mad_i16 v5, v1, -4.0, v3602// VI: v_mad_i16 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xef,0x0d,0x04]603// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU604 605v_mad_i16 v5, v1, v2, 0606// VI: v_mad_i16 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0x02,0x02]607// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU608 609v_mad_u16_e64 v5, -1, v2, v3610// VI: v_mad_u16 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0xc1,0x04,0x0e,0x04]611// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU612 613v_mad_u16 v5, v1, 0, v3614// VI: v_mad_u16 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x01,0x0d,0x04]615// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU616 617v_mad_u16 v5, v1, v2, -4.0618// VI: v_mad_u16 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xde,0x03]619// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU620 621///===---------------------------------------------------------------------===//622// VOP3 with Integer Clamp623///===---------------------------------------------------------------------===//624 625v_mad_i32_i24 v5, v1, v2, v3 clamp626// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU627// VI: v_mad_i32_i24 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc2,0xd1,0x01,0x05,0x0e,0x04]628 629v_mad_u32_u24 v5, v1, v2, v3 clamp630// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU631// VI: v_mad_u32_u24 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc3,0xd1,0x01,0x05,0x0e,0x04]632 633v_sad_u8 v5, v1, v2, v3 clamp634// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU635// VI: v_sad_u8 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xd9,0xd1,0x01,0x05,0x0e,0x04]636 637v_sad_hi_u8 v5, v1, v2, v3 clamp638// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU639// VI: v_sad_hi_u8 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xda,0xd1,0x01,0x05,0x0e,0x04]640 641v_sad_u16 v5, v1, v2, v3 clamp642// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU643// VI: v_sad_u16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xdb,0xd1,0x01,0x05,0x0e,0x04]644 645v_sad_u32 v5, v1, v2, v3 clamp646// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU647// VI: v_sad_u32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xdc,0xd1,0x01,0x05,0x0e,0x04]648 649v_msad_u8 v5, v1, v2, v3 clamp650// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU651// VI: v_msad_u8 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xe4,0xd1,0x01,0x05,0x0e,0x04]652 653v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4] clamp654// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU655// VI: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4] clamp ; encoding: [0x05,0x80,0xe6,0xd1,0x01,0x05,0x0e,0x04]656 657v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4] clamp658// VI: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4] clamp ; encoding: [0x05,0x80,0xe5,0xd1,0x01,0x05,0x0e,0x04]659// NOCI: :[[@LINE-2]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU660// NOSI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU661 662v_mqsad_u32_u8 v[252:255], v[1:2], v2, v[3:6] clamp663// VI: v_mqsad_u32_u8 v[252:255], v[1:2], v2, v[3:6] clamp ; encoding: [0xfc,0x80,0xe7,0xd1,0x01,0x05,0x0e,0x04]664// NOCI: :[[@LINE-2]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU665// NOSI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU666 667v_mad_u16 v5, v1, v2, v3 clamp668// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU669// VI: v_mad_u16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xeb,0xd1,0x01,0x05,0x0e,0x04]670 671v_mad_i16 v5, v1, v2, v3 clamp672// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU673// VI: v_mad_i16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xec,0xd1,0x01,0x05,0x0e,0x04]674 675//676// v_interp*677//678 679v_interp_mov_f32_e64 v5, p10, attr0.x680// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported681// VI: v_interp_mov_f32_e64 v5, p10, attr0.x ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x00]682 683v_interp_mov_f32_e64 v5, p10, attr32.x684// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported685// VI: v_interp_mov_f32_e64 v5, p10, attr32.x ; encoding: [0x05,0x00,0x72,0xd2,0x20,0x00,0x00,0x00]686 687v_interp_mov_f32_e64 v5, p20, attr0.x688// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported689// VI: v_interp_mov_f32_e64 v5, p20, attr0.x ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x02,0x00,0x00]690 691v_interp_mov_f32_e64 v5, p10, attr0.w692// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported693// VI: v_interp_mov_f32_e64 v5, p10, attr0.w ; encoding: [0x05,0x00,0x72,0xd2,0xc0,0x00,0x00,0x00]694 695v_interp_mov_f32_e64 v5, p10, attr0.x clamp696// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported697// VI: v_interp_mov_f32_e64 v5, p10, attr0.x clamp ; encoding: [0x05,0x80,0x72,0xd2,0x00,0x00,0x00,0x00]698 699v_interp_mov_f32 v5, p10, attr0.x clamp700// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction701// VI: v_interp_mov_f32_e64 v5, p10, attr0.x clamp ; encoding: [0x05,0x80,0x72,0xd2,0x00,0x00,0x00,0x00]702 703v_interp_mov_f32_e64 v5, p10, attr0.x mul:2704// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported705// VI: v_interp_mov_f32_e64 v5, p10, attr0.x mul:2 ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x08]706 707v_interp_mov_f32_e64 v5, p10, attr0.x mul:4708// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported709// VI: v_interp_mov_f32_e64 v5, p10, attr0.x mul:4 ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x10]710 711v_interp_mov_f32_e64 v5, p10, attr0.x div:2712// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported713// VI: v_interp_mov_f32_e64 v5, p10, attr0.x div:2 ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x18]714 715v_interp_mov_f32 v5, p10, attr0.x div:2716// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand717// VI: v_interp_mov_f32_e64 v5, p10, attr0.x div:2 ; encoding: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x18]718 719 720v_interp_p1_f32_e64 v5, v2, attr0.x721// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported722// VI: v_interp_p1_f32_e64 v5, v2, attr0.x ; encoding: [0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x00]723 724v_interp_p1_f32_e64 v5, v2, attr0.y725// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported726// VI: v_interp_p1_f32_e64 v5, v2, attr0.y ; encoding: [0x05,0x00,0x70,0xd2,0x40,0x04,0x02,0x00]727 728v_interp_p1_f32_e64 v5, -v2, attr0.x729// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported730// VI: v_interp_p1_f32_e64 v5, -v2, attr0.x ; encoding: [0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x40]731 732v_interp_p1_f32_e64 v5, |v2|, attr0.x733// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported734// VI: v_interp_p1_f32_e64 v5, |v2|, attr0.x ; encoding: [0x05,0x02,0x70,0xd2,0x00,0x04,0x02,0x00]735 736v_interp_p1_f32_e64 v5, v2, attr0.x clamp737// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported738// VI: v_interp_p1_f32_e64 v5, v2, attr0.x clamp ; encoding: [0x05,0x80,0x70,0xd2,0x00,0x04,0x02,0x00]739 740v_interp_p1_f32 v5, v2, attr0.x clamp741// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction742// VI: v_interp_p1_f32_e64 v5, v2, attr0.x clamp ; encoding: [0x05,0x80,0x70,0xd2,0x00,0x04,0x02,0x00]743 744v_interp_p1_f32_e64 v5, v2, attr0.x mul:2745// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported746// VI: v_interp_p1_f32_e64 v5, v2, attr0.x mul:2 ; encoding: [0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x08]747 748 749v_interp_p2_f32_e64 v255, v2, attr0.x750// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported751// VI: v_interp_p2_f32_e64 v255, v2, attr0.x ; encoding: [0xff,0x00,0x71,0xd2,0x00,0x04,0x02,0x00]752 753v_interp_p2_f32_e64 v5, v2, attr31.x754// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported755// VI: v_interp_p2_f32_e64 v5, v2, attr31.x ; encoding: [0x05,0x00,0x71,0xd2,0x1f,0x04,0x02,0x00]756 757v_interp_p2_f32_e64 v5, -v2, attr0.x758// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported759// VI: v_interp_p2_f32_e64 v5, -v2, attr0.x ; encoding: [0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x40]760 761v_interp_p2_f32_e64 v5, |v2|, attr0.x762// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported763// VI: v_interp_p2_f32_e64 v5, |v2|, attr0.x ; encoding: [0x05,0x02,0x71,0xd2,0x00,0x04,0x02,0x00]764 765v_interp_p2_f32_e64 v5, v2, attr0.x clamp766// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported767// VI: v_interp_p2_f32_e64 v5, v2, attr0.x clamp ; encoding: [0x05,0x80,0x71,0xd2,0x00,0x04,0x02,0x00]768 769v_interp_p2_f32_e64 v5, v2, attr0.x div:2770// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: e64 variant of this instruction is not supported771// VI: v_interp_p2_f32_e64 v5, v2, attr0.x div:2 ; encoding: [0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x18]772 773 774v_interp_p1ll_f16 v5, v2, attr31.x775// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU776// VI: v_interp_p1ll_f16 v5, v2, attr31.x ; encoding: [0x05,0x00,0x74,0xd2,0x1f,0x04,0x02,0x00]777 778v_interp_p1ll_f16 v5, v2, attr0.w779// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU780// VI: v_interp_p1ll_f16 v5, v2, attr0.w ; encoding: [0x05,0x00,0x74,0xd2,0xc0,0x04,0x02,0x00]781 782v_interp_p1ll_f16 v5, -v2, attr0.x783// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU784// VI: v_interp_p1ll_f16 v5, -v2, attr0.x ; encoding: [0x05,0x00,0x74,0xd2,0x00,0x04,0x02,0x40]785 786v_interp_p1ll_f16 v5, |v2|, attr0.x787// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU788// VI: v_interp_p1ll_f16 v5, |v2|, attr0.x ; encoding: [0x05,0x02,0x74,0xd2,0x00,0x04,0x02,0x00]789 790v_interp_p1ll_f16 v5, v2, attr0.x high791// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU792// VI: v_interp_p1ll_f16 v5, v2, attr0.x high ; encoding: [0x05,0x00,0x74,0xd2,0x00,0x05,0x02,0x00]793 794v_interp_p1ll_f16 v5, v2, attr0.x clamp795// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU796// VI: v_interp_p1ll_f16 v5, v2, attr0.x clamp ; encoding: [0x05,0x80,0x74,0xd2,0x00,0x04,0x02,0x00]797 798v_interp_p1ll_f16 v5, v2, attr0.x mul:4799// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU800// VI: v_interp_p1ll_f16 v5, v2, attr0.x mul:4 ; encoding: [0x05,0x00,0x74,0xd2,0x00,0x04,0x02,0x10]801 802 803v_interp_p1lv_f16 v5, v2, attr1.x, v3804// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU805// VI: v_interp_p1lv_f16 v5, v2, attr1.x, v3 ; encoding: [0x05,0x00,0x75,0xd2,0x01,0x04,0x0e,0x04]806 807v_interp_p1lv_f16 v5, v2, attr0.z, v3808// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU809// VI: v_interp_p1lv_f16 v5, v2, attr0.z, v3 ; encoding: [0x05,0x00,0x75,0xd2,0x80,0x04,0x0e,0x04]810 811v_interp_p1lv_f16 v5, -v2, attr0.x, v3812// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU813// VI: v_interp_p1lv_f16 v5, -v2, attr0.x, v3 ; encoding: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x44]814 815v_interp_p1lv_f16 v5, v2, attr0.x, -v3816// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU817// VI: v_interp_p1lv_f16 v5, v2, attr0.x, -v3 ; encoding: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x84]818 819v_interp_p1lv_f16 v5, |v2|, attr0.x, v3820// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU821// VI: v_interp_p1lv_f16 v5, |v2|, attr0.x, v3 ; encoding: [0x05,0x02,0x75,0xd2,0x00,0x04,0x0e,0x04]822 823v_interp_p1lv_f16 v5, v2, attr0.x, |v3|824// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU825// VI: v_interp_p1lv_f16 v5, v2, attr0.x, |v3| ; encoding: [0x05,0x04,0x75,0xd2,0x00,0x04,0x0e,0x04]826 827v_interp_p1lv_f16 v5, v2, attr0.x, v3 high828// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU829// VI: v_interp_p1lv_f16 v5, v2, attr0.x, v3 high ; encoding: [0x05,0x00,0x75,0xd2,0x00,0x05,0x0e,0x04]830 831v_interp_p1lv_f16 v5, v2, attr0.x, v3 clamp832// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU833// VI: v_interp_p1lv_f16 v5, v2, attr0.x, v3 clamp ; encoding: [0x05,0x80,0x75,0xd2,0x00,0x04,0x0e,0x04]834 835v_interp_p1lv_f16 v5, v2, attr0.x, v3 mul:2836// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU837// VI: v_interp_p1lv_f16 v5, v2, attr0.x, v3 mul:2 ; encoding: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x0c]838 839v_interp_p1lv_f16 v5, v2, attr0.x, v3 div:2840// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU841// VI: v_interp_p1lv_f16 v5, v2, attr0.x, v3 div:2 ; encoding: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x1c]842 843 844v_interp_p2_f16 v5, v2, attr1.x, v3845// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU846// VI: v_interp_p2_f16 v5, v2, attr1.x, v3 ; encoding: [0x05,0x00,0x76,0xd2,0x01,0x04,0x0e,0x04]847 848v_interp_p2_f16 v5, v2, attr32.x, v3849// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU850// VI: v_interp_p2_f16 v5, v2, attr32.x, v3 ; encoding: [0x05,0x00,0x76,0xd2,0x20,0x04,0x0e,0x04]851 852v_interp_p2_f16 v5, v2, attr0.w, v3853// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU854// VI: v_interp_p2_f16 v5, v2, attr0.w, v3 ; encoding: [0x05,0x00,0x76,0xd2,0xc0,0x04,0x0e,0x04]855 856v_interp_p2_f16 v5, -v2, attr0.x, v3857// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU858// VI: v_interp_p2_f16 v5, -v2, attr0.x, v3 ; encoding: [0x05,0x00,0x76,0xd2,0x00,0x04,0x0e,0x44]859 860v_interp_p2_f16 v5, v2, attr0.x, -v3861// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU862// VI: v_interp_p2_f16 v5, v2, attr0.x, -v3 ; encoding: [0x05,0x00,0x76,0xd2,0x00,0x04,0x0e,0x84]863 864v_interp_p2_f16 v5, |v2|, attr0.x, v3865// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU866// VI: v_interp_p2_f16 v5, |v2|, attr0.x, v3 ; encoding: [0x05,0x02,0x76,0xd2,0x00,0x04,0x0e,0x04]867 868v_interp_p2_f16 v5, v2, attr0.x, |v3|869// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU870// VI: v_interp_p2_f16 v5, v2, attr0.x, |v3| ; encoding: [0x05,0x04,0x76,0xd2,0x00,0x04,0x0e,0x04]871 872v_interp_p2_f16 v5, v2, attr0.x, v3 high873// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU874// VI: v_interp_p2_f16 v5, v2, attr0.x, v3 high ; encoding: [0x05,0x00,0x76,0xd2,0x00,0x05,0x0e,0x04]875 876v_interp_p2_f16 v5, v2, attr0.x, v3 clamp877// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU878// VI: v_interp_p2_f16 v5, v2, attr0.x, v3 clamp ; encoding: [0x05,0x80,0x76,0xd2,0x00,0x04,0x0e,0x04]879