[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / MC / AMDGPU / reg-syntax-err.s
blob8f2c3e79310cec6bbb8716b08922399c6ea08902
1 // RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefix=NOVI --implicit-check-not=error: %s
3 s_mov_b32 s1, s 1
4 // NOVI: error: invalid operand for instruction
6 s_mov_b32 s1, s[0 1
7 // NOVI: error: expected a closing square bracket
9 s_mov_b32 s1, s[0:0 1
10 // NOVI: error: expected a closing square bracket
12 s_mov_b32 s1, [s[0 1
13 // NOVI: error: expected a closing square bracket
15 s_mov_b32 s1, [s[0:1] 1
16 // NOVI: error: expected a single 32-bit register
18 s_mov_b32 s1, [s0, 1
19 // NOVI: error: expected a register or a list of registers
21 s_mov_b32 s1, s999 1
22 // NOVI: error: register index is out of range
24 s_mov_b32 s1, s[1:2] 1
25 // NOVI: error: invalid register alignment
27 s_mov_b32 s1, s[0:2] 1
28 // NOVI: error: invalid operand for instruction
30 s_mov_b32 s1, xnack_mask_lo 1
31 // NOVI: error: register not available on this GPU
33 s_mov_b32 s1, s s0
34 // NOVI: error: invalid operand for instruction
36 s_mov_b32 s1, s[0 s0
37 // NOVI: error: expected a closing square bracket
39 s_mov_b32 s1, s[0:0 s0
40 // NOVI: error: expected a closing square bracket
42 s_mov_b32 s1, [s[0 s0
43 // NOVI: error: expected a closing square bracket
45 s_mov_b32 s1, [s[0:1] s0
46 // NOVI: error: expected a single 32-bit register
48 s_mov_b32 s1, [s0, s0
49 // NOVI: error: registers in a list must have consecutive indices
51 s_mov_b32 s1, s999 s0
52 // NOVI: error: register index is out of range
54 s_mov_b32 s1, s[1:2] s0
55 // NOVI: error: invalid register alignment
57 s_mov_b32 s1, s[0:2] vcc_lo
58 // NOVI: error: invalid operand for instruction
60 s_mov_b32 s1, xnack_mask_lo s1
61 // NOVI: error: register not available on this GPU
63 exp mrt0 v1, v2, v3, v4000 off
64 // NOVI: error: register index is out of range
66 v_add_f64 v[0:1], v[0:1], v[0xF00000001:0x2]
67 // NOVI: error: invalid register index
69 v_add_f64 v[0:1], v[0:1], v[0x1:0xF00000002]
70 // NOVI: error: invalid register index
72 s_mov_b32 s1, s[0:-1]
73 // NOVI: error: invalid register index
75 s_mov_b64 s[10:11], [exec_lo,vcc_hi]
76 // NOVI: error: register does not fit in the list
78 s_mov_b64 s[10:11], [exec_hi,exec_lo]
79 // NOVI: error: register does not fit in the list
81 s_mov_b64 s[10:11], [exec_lo,exec_lo]
82 // NOVI: error: register does not fit in the list
84 s_mov_b64 s[10:11], [exec,exec_lo]
85 // NOVI: error: register does not fit in the list
87 s_mov_b64 s[10:11], [exec_lo,exec]
88 // NOVI: error: register does not fit in the list
90 s_mov_b64 s[10:11], [exec_lo,s0]
91 // NOVI: error: registers in a list must be of the same kind
93 s_mov_b64 s[10:11], [s0,exec_lo]
94 // NOVI: error: registers in a list must be of the same kind
96 s_mov_b64 s[10:11], [s0,exec]
97 // NOVI: error: registers in a list must be of the same kind
99 s_mov_b64 s[10:11], [s0,v1]
100 // NOVI: error: registers in a list must be of the same kind
102 s_mov_b64 s[10:11], [v0,s1]
103 // NOVI: error: registers in a list must be of the same kind
105 s_mov_b64 s[10:11], [s0,s0]
106 // NOVI: error: registers in a list must have consecutive indices
108 s_mov_b64 s[10:11], [s0,s2]
109 // NOVI: error: registers in a list must have consecutive indices
111 s_mov_b64 s[10:11], [s2,s1]
112 // NOVI: error: registers in a list must have consecutive indices
114 s_mov_b64 s[10:11], [a0,a2]
115 // NOVI: error: registers in a list must have consecutive indices
117 s_mov_b64 s[10:11], [a0,v1]
118 // NOVI: error: registers in a list must be of the same kind
120 s_mov_b64 s[10:11], [s
121 // NOVI: error: missing register index
123 s_mov_b64 s[10:11], s[1:0]
124 // NOVI: error: first register index should not exceed second index
126 s_mov_b64 s[10:11], [x0,s1]
127 // NOVI: error: invalid register name
129 s_mov_b64 s[10:11], [s,s1]
130 // NOVI: error: missing register index
132 s_mov_b64 s[10:11], [s01,s1]
133 // NOVI: error: registers in a list must have consecutive indices
135 s_mov_b64 s[10:11], [s0x]
136 // NOVI: error: invalid register index
138 s_mov_b64 s[10:11], [s[0:1],s[2:3]]
139 // NOVI: error: expected a single 32-bit register
141 s_mov_b64 s[10:11], [s0,s[2:3]]
142 // NOVI: error: expected a single 32-bit register
144 s_mov_b64 s[10:11], [s0
145 // NOVI: error: expected a comma or a closing square bracket
147 s_mov_b64 s[10:11], [s0,s1
148 // NOVI: error: expected a comma or a closing square bracket
150 s_mov_b64 s[10:11], s[1:0]
151 // NOVI: error: first register index should not exceed second index