[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / MC / AMDGPU / vop3-errs.s
blobe3e12d05f220cba9a0bb46977237884a21d2614b
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:
6 v_add_f32_e64 v0, v1
7 // GCN: error: too few operands for instruction
9 v_div_scale_f32 v24, vcc, v22, 1.1, v22
10 // GCN: error: literal operands are not supported
12 v_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
16 v_mqsad_pk_u16_u8 v[0:1], v[1:2], v9, v[4:5]
17 // GCN: error: destination must be different than all sources
19 v_mqsad_pk_u16_u8 v[1:2], v[1:2], v9, v[4:5]
20 // GCN: error: destination must be different than all sources
22 v_mqsad_pk_u16_u8 v[2:3], v[1:2], v9, v[4:5]
23 // GCN: error: destination must be different than all sources
25 v_mqsad_pk_u16_u8 v[3:4], v[0:1], v9, v[4:5]
26 // GCN: error: destination must be different than all sources
28 v_mqsad_pk_u16_u8 v[4:5], v[1:2], v9, v[4:5]
29 // GCN: error: destination must be different than all sources
31 v_mqsad_pk_u16_u8 v[5:6], v[1:2], v9, v[4:5]
32 // GCN: error: destination must be different than all sources
34 v_mqsad_pk_u16_u8 v[8:9], v[1:2], v9, v[4:5]
35 // GCN: error: destination must be different than all sources
37 v_mqsad_pk_u16_u8 v[9:10], v[1:2], v9, v[4:5]
38 // GCN: error: destination must be different than all sources
40 v_cmp_eq_f32_e64 vcc, v0, v1 mul:2
41 // GCN: error: invalid operand for instruction
43 v_cmp_le_f64_e64 vcc, v0, v1 mul:4
44 // GCN: error: invalid operand for instruction
47 // mul
50 v_cvt_f64_i32 v[5:6], s1 mul:3
51 // GCN: error: invalid mul value.
54 // v_interp*
57 v_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
61 v_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
65 v_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
69 v_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
73 v_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
77 v_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
81 v_interp_p1ll_f16 v5, p0, attr31.x
82 // GFX67: error: instruction not supported on this GPU
83 // GFX89: error: invalid operand for instruction
85 v_interp_p1ll_f16 v5, v2, attr31.x v0
86 // GFX67: error: instruction not supported on this GPU
87 // GFX89: error: invalid operand for instruction
89 v_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
94 // v_div_scale_*
97 v_div_scale_f32 v24, vcc, v22, v22, |v20|
98 // GCN: error: ABS not allowed in VOP3B instructions
100 v_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