1// RUN: not llvm-mc -arch=amdgcn %s 2>&1 | FileCheck %s --check-prefix=GFX67 --check-prefix=GCN --implicit-check-not=error: 2// RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck %s --check-prefix=GFX67 --check-prefix=GCN --implicit-check-not=error: 3// RUN: not llvm-mc -arch=amdgcn -mcpu=fiji %s 2>&1 | FileCheck %s --check-prefix=GFX89 --check-prefix=GCN --implicit-check-not=error: 4// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck %s --check-prefix=GFX89 --check-prefix=GCN --implicit-check-not=error: 5 6v_add_f32_e64 v0, v1 7// GCN: error: too few operands for instruction 8 9v_div_scale_f32 v24, vcc, v22, 1.1, v22 10// GCN: error: literal operands are not supported 11 12v_mqsad_u32_u8 v[0:3], s[2:3], v4, v[0:3] 13// GFX67: error: instruction not supported on this GPU 14// GFX89: error: destination must be different than all sources 15 16v_mqsad_pk_u16_u8 v[0:1], v[1:2], v9, v[4:5] 17// GCN: error: destination must be different than all sources 18 19v_mqsad_pk_u16_u8 v[1:2], v[1:2], v9, v[4:5] 20// GCN: error: destination must be different than all sources 21 22v_mqsad_pk_u16_u8 v[2:3], v[1:2], v9, v[4:5] 23// GCN: error: destination must be different than all sources 24 25v_mqsad_pk_u16_u8 v[3:4], v[0:1], v9, v[4:5] 26// GCN: error: destination must be different than all sources 27 28v_mqsad_pk_u16_u8 v[4:5], v[1:2], v9, v[4:5] 29// GCN: error: destination must be different than all sources 30 31v_mqsad_pk_u16_u8 v[5:6], v[1:2], v9, v[4:5] 32// GCN: error: destination must be different than all sources 33 34v_mqsad_pk_u16_u8 v[8:9], v[1:2], v9, v[4:5] 35// GCN: error: destination must be different than all sources 36 37v_mqsad_pk_u16_u8 v[9:10], v[1:2], v9, v[4:5] 38// GCN: error: destination must be different than all sources 39 40v_cmp_eq_f32_e64 vcc, v0, v1 mul:2 41// GCN: error: invalid operand for instruction 42 43v_cmp_le_f64_e64 vcc, v0, v1 mul:4 44// GCN: error: invalid operand for instruction 45 46// 47// mul 48// 49 50v_cvt_f64_i32 v[5:6], s1 mul:3 51// GCN: error: invalid mul value. 52 53// 54// v_interp* 55// 56 57v_interp_mov_f32_e64 v5, p10, attr0.x high 58// GFX67: error: e64 variant of this instruction is not supported 59// GFX89: error: invalid operand for instruction 60 61v_interp_mov_f32_e64 v5, p10, attr0.x v0 62// GFX67: error: e64 variant of this instruction is not supported 63// GFX89: error: invalid operand for instruction 64 65v_interp_p1_f32_e64 v5, v2, attr0.x high 66// GFX67: error: e64 variant of this instruction is not supported 67// GFX89: error: invalid operand for instruction 68 69v_interp_p1_f32_e64 v5, v2, attr0.x v0 70// GFX67: error: e64 variant of this instruction is not supported 71// GFX89: error: invalid operand for instruction 72 73v_interp_p2_f32_e64 v255, v2, attr0.x high 74// GFX67: error: e64 variant of this instruction is not supported 75// GFX89: error: invalid operand for instruction 76 77v_interp_p2_f32_e64 v255, v2, attr0.x v0 78// GFX67: error: e64 variant of this instruction is not supported 79// GFX89: error: invalid operand for instruction 80 81v_interp_p1ll_f16 v5, p0, attr31.x 82// GFX67: error: instruction not supported on this GPU 83// GFX89: error: invalid operand for instruction 84 85v_interp_p1ll_f16 v5, v2, attr31.x v0 86// GFX67: error: instruction not supported on this GPU 87// GFX89: error: invalid operand for instruction 88 89v_interp_p2_f16 v5, v2, attr1.x, v3 mul:2 90// GFX67: error: instruction not supported on this GPU 91// GFX89: error: invalid operand for instruction 92 93// 94// v_div_scale_* 95// 96 97v_div_scale_f32 v24, vcc, v22, v22, |v20| 98// GCN: error: ABS not allowed in VOP3B instructions 99 100v_div_scale_f64 v[24:25], vcc, -|v[22:23]|, v[22:23], v[20:21] 101// GCN: error: ABS not allowed in VOP3B instructions 102