[llvm-readobj] - Simplify stack-sizes.test test case.
[llvm-complete.git] / test / MC / AMDGPU / dl-insts-err.s
blob3f6d4fd861102156d630004106d1914392982dfa
1 // RUN: not llvm-mc -arch=amdgcn -mcpu=gfx800 -show-encoding %s 2>&1 | FileCheck %s
2 // RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 -show-encoding %s 2>&1 | FileCheck %s
3 // RUN: not llvm-mc -arch=amdgcn -mcpu=gfx906 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=GFX906-GFX908
4 // RUN: not llvm-mc -arch=amdgcn -mcpu=gfx908 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=GFX906-GFX908
6 //
7 // Test unsupported GPUs.
8 //
10 // CHECK: error: instruction not supported on this GPU
11 v_fmac_f32 v0, v1, v2
12 // CHECK: error: instruction not supported on this GPU
13 v_xnor_b32 v0, v1, v2
14 // CHECK: error: instruction not supported on this GPU
15 v_dot2_f32_f16 v0, v1, v2, v3
16 // CHECK: error: instruction not supported on this GPU
17 v_dot2_i32_i16 v0, v1, v2, v3
18 // CHECK: error: instruction not supported on this GPU
19 v_dot2_u32_u16 v0, v1, v2, v3
20 // CHECK: error: instruction not supported on this GPU
21 v_dot4_i32_i8 v0, v1, v2, v3
22 // CHECK: error: instruction not supported on this GPU
23 v_dot4_u32_u8 v0, v1, v2, v3
24 // CHECK: error: instruction not supported on this GPU
25 v_dot8_i32_i4 v0, v1, v2, v3
26 // CHECK: error: instruction not supported on this GPU
27 v_dot8_u32_u4 v0, v1, v2, v3
30 // Test invalid operands.
33 // GFX906-GFX908: error: invalid operand for instruction
34 v_dot2_f32_f16 v0, v1, v2, v3 op_sel
35 // GFX906-GFX908: error: expected a left square bracket
36 v_dot2_f32_f16 v0, v1, v2, v3 op_sel:
37 // GFX906-GFX908: error: unknown token in expression
38 v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[
39 // GFX906-GFX908: error: expected a left square bracket
40 v_dot2_f32_f16 v0, v1, v2, v3 op_sel:]
41 // GFX906-GFX908: error: unknown token in expression
42 v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[]
43 // GFX906-GFX908: error: unknown token in expression
44 v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[,]
45 // GFX906-GFX908: error: unknown token in expression
46 v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[,0]
47 // GFX906-GFX908: error: failed parsing operand
48 v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[0,2]
49 // GFX906-GFX908: error: failed parsing operand
50 v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[2,0]
51 // GFX906-GFX908: error: failed parsing operand
52 v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[2,2]
53 // GFX906-GFX908: error: failed parsing operand
54 v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[0,-1]
55 // GFX906-GFX908: error: failed parsing operand
56 v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[-1,0]
57 // GFX906-GFX908: error: failed parsing operand
58 v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[-1,-1]
59 // GFX906-GFX908: error: expected a closing square bracket
60 v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[0,0,0,0,0]
61 // GFX906-GFX908: error: invalid operand for instruction
62 v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi
63 // GFX906-GFX908: error: expected a left square bracket
64 v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:
65 // GFX906-GFX908: error: unknown token in expression
66 v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[
67 // GFX906-GFX908: error: expected a left square bracket
68 v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:]
69 // GFX906-GFX908: error: unknown token in expression
70 v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[]
71 // GFX906-GFX908: error: unknown token in expression
72 v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[,]
73 // GFX906-GFX908: error: unknown token in expression
74 v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[,0]
75 // GFX906-GFX908: error: failed parsing operand
76 v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[0,2]
77 // GFX906-GFX908: error: failed parsing operand
78 v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[2,0]
79 // GFX906-GFX908: error: failed parsing operand
80 v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[2,2]
81 // GFX906-GFX908: error: failed parsing operand
82 v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[0,-1]
83 // GFX906-GFX908: error: failed parsing operand
84 v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[-1,0]
85 // GFX906-GFX908: error: failed parsing operand
86 v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[-1,-1]
87 // GFX906-GFX908: error: expected a closing square bracket
88 v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[0,0,0,0,0]
89 // GFX906-GFX908: error: invalid operand for instruction
90 v_dot2_f32_f16 v0, v1, v2, v3 neg_lo
91 // GFX906-GFX908: error: expected a left square bracket
92 v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:
93 // GFX906-GFX908: error: unknown token in expression
94 v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[
95 // GFX906-GFX908: error: expected a left square bracket
96 v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:]
97 // GFX906-GFX908: error: unknown token in expression
98 v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[]
99 // GFX906-GFX908: error: unknown token in expression
100 v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[,]
101 // GFX906-GFX908: error: unknown token in expression
102 v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[,0]
103 // GFX906-GFX908: error: failed parsing operand
104 v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[0,2]
105 // GFX906-GFX908: error: failed parsing operand
106 v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[2,0]
107 // GFX906-GFX908: error: failed parsing operand
108 v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[2,2]
109 // GFX906-GFX908: error: failed parsing operand
110 v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[0,-1]
111 // GFX906-GFX908: error: failed parsing operand
112 v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[-1,0]
113 // GFX906-GFX908: error: failed parsing operand
114 v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[-1,-1]
115 // GFX906-GFX908: error: expected a closing square bracket
116 v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[0,0,0,0,0]
117 // GFX906-GFX908: error: invalid operand for instruction
118 v_dot2_f32_f16 v0, v1, v2, v3 neg_hi
119 // GFX906-GFX908: error: expected a left square bracket
120 v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:
121 // GFX906-GFX908: error: unknown token in expression
122 v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[
123 // GFX906-GFX908: error: expected a left square bracket
124 v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:]
125 // GFX906-GFX908: error: unknown token in expression
126 v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[]
127 // GFX906-GFX908: error: unknown token in expression
128 v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[,]
129 // GFX906-GFX908: error: unknown token in expression
130 v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[,0]
131 // GFX906-GFX908: error: failed parsing operand
132 v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[0,2]
133 // GFX906-GFX908: error: failed parsing operand
134 v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[2,0]
135 // GFX906-GFX908: error: failed parsing operand
136 v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[2,2]
137 // GFX906-GFX908: error: failed parsing operand
138 v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[0,-1]
139 // GFX906-GFX908: error: failed parsing operand
140 v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[-1,0]
141 // GFX906-GFX908: error: failed parsing operand
142 v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[-1,-1]
143 // GFX906-GFX908: error: expected a closing square bracket
144 v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[0,0,0,0,0]
145 // GFX906-GFX908: error: invalid operand for instruction
146 v_dot2_i32_i16 v0, v1, v2, v3 op_sel
147 // GFX906-GFX908: error: expected a left square bracket
148 v_dot2_i32_i16 v0, v1, v2, v3 op_sel:
149 // GFX906-GFX908: error: unknown token in expression
150 v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[
151 // GFX906-GFX908: error: expected a left square bracket
152 v_dot2_i32_i16 v0, v1, v2, v3 op_sel:]
153 // GFX906-GFX908: error: unknown token in expression
154 v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[]
155 // GFX906-GFX908: error: unknown token in expression
156 v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[,]
157 // GFX906-GFX908: error: unknown token in expression
158 v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[,0]
159 // GFX906-GFX908: error: failed parsing operand
160 v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[0,2]
161 // GFX906-GFX908: error: failed parsing operand
162 v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[2,0]
163 // GFX906-GFX908: error: failed parsing operand
164 v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[2,2]
165 // GFX906-GFX908: error: failed parsing operand
166 v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[0,-1]
167 // GFX906-GFX908: error: failed parsing operand
168 v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[-1,0]
169 // GFX906-GFX908: error: failed parsing operand
170 v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[-1,-1]
171 // GFX906-GFX908: error: expected a closing square bracket
172 v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[0,0,0,0,0]
173 // GFX906-GFX908: error: invalid operand for instruction
174 v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi
175 // GFX906-GFX908: error: expected a left square bracket
176 v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:
177 // GFX906-GFX908: error: unknown token in expression
178 v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[
179 // GFX906-GFX908: error: expected a left square bracket
180 v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:]
181 // GFX906-GFX908: error: unknown token in expression
182 v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[]
183 // GFX906-GFX908: error: unknown token in expression
184 v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[,]
185 // GFX906-GFX908: error: unknown token in expression
186 v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[,0]
187 // GFX906-GFX908: error: failed parsing operand
188 v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[0,2]
189 // GFX906-GFX908: error: failed parsing operand
190 v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[2,0]
191 // GFX906-GFX908: error: failed parsing operand
192 v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[2,2]
193 // GFX906-GFX908: error: failed parsing operand
194 v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[0,-1]
195 // GFX906-GFX908: error: failed parsing operand
196 v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[-1,0]
197 // GFX906-GFX908: error: failed parsing operand
198 v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[-1,-1]
199 // GFX906-GFX908: error: expected a closing square bracket
200 v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[0,0,0,0,0]
201 // FIXME-GFX906: error: invalid operand for instruction
202 v_dot2_i32_i16 v0, v1, v2, v3 neg_lo:[0,0]
203 // FIXME-GFX906: error: invalid operand for instruction
204 v_dot2_i32_i16 v0, v1, v2, v3 neg_hi:[0,0]
205 // GFX906-GFX908: error: invalid operand for instruction
206 v_dot2_u32_u16 v0, v1, v2, v3 op_sel
207 // GFX906-GFX908: error: expected a left square bracket
208 v_dot2_u32_u16 v0, v1, v2, v3 op_sel:
209 // GFX906-GFX908: error: unknown token in expression
210 v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[
211 // GFX906-GFX908: error: expected a left square bracket
212 v_dot2_u32_u16 v0, v1, v2, v3 op_sel:]
213 // GFX906-GFX908: error: unknown token in expression
214 v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[]
215 // GFX906-GFX908: error: unknown token in expression
216 v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[,]
217 // GFX906-GFX908: error: unknown token in expression
218 v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[,0]
219 // GFX906-GFX908: error: failed parsing operand
220 v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[0,2]
221 // GFX906-GFX908: error: failed parsing operand
222 v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[2,0]
223 // GFX906-GFX908: error: failed parsing operand
224 v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[2,2]
225 // GFX906-GFX908: error: failed parsing operand
226 v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[0,-1]
227 // GFX906-GFX908: error: failed parsing operand
228 v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[-1,0]
229 // GFX906-GFX908: error: failed parsing operand
230 v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[-1,-1]
231 // GFX906-GFX908: error: expected a closing square bracket
232 v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[0,0,0,0,0]
233 // GFX906-GFX908: error: invalid operand for instruction
234 v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi
235 // GFX906-GFX908: error: expected a left square bracket
236 v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:
237 // GFX906-GFX908: error: unknown token in expression
238 v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[
239 // GFX906-GFX908: error: expected a left square bracket
240 v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:]
241 // GFX906-GFX908: error: unknown token in expression
242 v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[]
243 // GFX906-GFX908: error: unknown token in expression
244 v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[,]
245 // GFX906-GFX908: error: unknown token in expression
246 v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[,0]
247 // GFX906-GFX908: error: invalid op_sel_hi value
248 v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[0,2]
249 // GFX906-GFX908: error: failed parsing operand
250 v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[2,0]
251 // GFX906-GFX908: error: failed parsing operand
252 v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[2,2]
253 // GFX906-GFX908: error: failed parsing operand
254 v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[0,-1]
255 // GFX906-GFX908: error: failed parsing operand
256 v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[-1,0]
257 // GFX906-GFX908: error: failed parsing operand
258 v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[-1,-1]
259 // GFX906-GFX908: error: expected a closing square bracket
260 v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[0,0,0,0,0]
261 // FIXME-GFX906: error: invalid operand for instruction
262 v_dot2_u32_u16 v0, v1, v2, v3 neg_lo:[0,0]
263 // FIXME-GFX906: error: invalid operand for instruction
264 v_dot2_u32_u16 v0, v1, v2, v3 neg_hi:[0,0]
267 // Test regular modifiers.
270 // GFX906-GFX908: error: not a valid operand
271 v_dot2_f32_f16 v0, |v1|, v2, v3
272 // GFX906-GFX908: error: not a valid operand
273 v_dot2_f32_f16 v0, v1, |v2|, v3
274 // GFX906-GFX908: error: not a valid operand
275 v_dot2_f32_f16 v0, v1, v2, |v3|
276 // GFX906-GFX908: error: not a valid operand
277 v_dot2_f32_f16 v0, |v1|, |v2|, v3
278 // GFX906-GFX908: error: not a valid operand
279 v_dot2_f32_f16 v0, |v1|, v2, |v3|
280 // GFX906-GFX908: error: not a valid operand
281 v_dot2_f32_f16 v0, |v1|, |v2|, |v3|
282 // GFX906-GFX908: error: not a valid operand
283 v_dot2_f32_f16 v0, abs(v1), v2, v3
284 // GFX906-GFX908: error: not a valid operand
285 v_dot2_f32_f16 v0, v1, abs(v2), v3
286 // GFX906-GFX908: error: not a valid operand
287 v_dot2_f32_f16 v0, v1, v2, abs(v3)
288 // GFX906-GFX908: error: not a valid operand
289 v_dot2_f32_f16 v0, abs(v1), abs(v2), v3
290 // GFX906-GFX908: error: not a valid operand
291 v_dot2_f32_f16 v0, abs(v1), v2, abs(v3)
292 // GFX906-GFX908: error: not a valid operand
293 v_dot2_f32_f16 v0, abs(v1), abs(v2), abs(v3)
294 // GFX906-GFX908: error: not a valid operand
295 v_dot2_f32_f16 v0, -v1, v2, v3
296 // GFX906-GFX908: error: not a valid operand
297 v_dot2_f32_f16 v0, v1, -v2, v3
298 // GFX906-GFX908: error: not a valid operand
299 v_dot2_f32_f16 v0, v1, v2, -v3
300 // GFX906-GFX908: error: not a valid operand
301 v_dot2_f32_f16 v0, -v1, -v2, v3
302 // GFX906-GFX908: error: not a valid operand
303 v_dot2_f32_f16 v0, -v1, v2, -v3
304 // GFX906-GFX908: error: not a valid operand
305 v_dot2_f32_f16 v0, -v1, -v2, -v3
306 // GFX906-GFX908: error: not a valid operand
307 v_dot2_i32_i16 v0, |v1|, v2, v3
308 // GFX906-GFX908: error: not a valid operand
309 v_dot2_i32_i16 v0, v1, |v2|, v3
310 // GFX906-GFX908: error: not a valid operand
311 v_dot2_i32_i16 v0, v1, v2, |v3|
312 // GFX906-GFX908: error: not a valid operand
313 v_dot2_i32_i16 v0, |v1|, |v2|, v3
314 // GFX906-GFX908: error: not a valid operand
315 v_dot2_i32_i16 v0, |v1|, v2, |v3|
316 // GFX906-GFX908: error: not a valid operand
317 v_dot2_i32_i16 v0, |v1|, |v2|, |v3|
318 // GFX906-GFX908: error: not a valid operand
319 v_dot2_i32_i16 v0, abs(v1), v2, v3
320 // GFX906-GFX908: error: not a valid operand
321 v_dot2_i32_i16 v0, v1, abs(v2), v3
322 // GFX906-GFX908: error: not a valid operand
323 v_dot2_i32_i16 v0, v1, v2, abs(v3)
324 // GFX906-GFX908: error: not a valid operand
325 v_dot2_i32_i16 v0, abs(v1), abs(v2), v3
326 // GFX906-GFX908: error: not a valid operand
327 v_dot2_i32_i16 v0, abs(v1), v2, abs(v3)
328 // GFX906-GFX908: error: not a valid operand
329 v_dot2_i32_i16 v0, abs(v1), abs(v2), abs(v3)
330 // GFX906-GFX908: error: not a valid operand
331 v_dot2_i32_i16 v0, -v1, v2, v3
332 // GFX906-GFX908: error: not a valid operand
333 v_dot2_i32_i16 v0, v1, -v2, v3
334 // GFX906-GFX908: error: not a valid operand
335 v_dot2_i32_i16 v0, v1, v2, -v3
336 // GFX906-GFX908: error: not a valid operand
337 v_dot2_i32_i16 v0, -v1, -v2, v3
338 // GFX906-GFX908: error: not a valid operand
339 v_dot2_i32_i16 v0, -v1, v2, -v3
340 // GFX906-GFX908: error: not a valid operand
341 v_dot2_i32_i16 v0, -v1, -v2, -v3
342 // GFX906-GFX908: error: not a valid operand
343 v_dot2_u32_u16 v0, |v1|, v2, v3
344 // GFX906-GFX908: error: not a valid operand
345 v_dot2_u32_u16 v0, v1, |v2|, v3
346 // GFX906-GFX908: error: not a valid operand
347 v_dot2_u32_u16 v0, v1, v2, |v3|
348 // GFX906-GFX908: error: not a valid operand
349 v_dot2_u32_u16 v0, |v1|, |v2|, v3
350 // GFX906-GFX908: error: not a valid operand
351 v_dot2_u32_u16 v0, |v1|, v2, |v3|
352 // GFX906-GFX908: error: not a valid operand
353 v_dot2_u32_u16 v0, |v1|, |v2|, |v3|
354 // GFX906-GFX908: error: not a valid operand
355 v_dot2_u32_u16 v0, abs(v1), v2, v3
356 // GFX906-GFX908: error: not a valid operand
357 v_dot2_u32_u16 v0, v1, abs(v2), v3
358 // GFX906-GFX908: error: not a valid operand
359 v_dot2_u32_u16 v0, v1, v2, abs(v3)
360 // GFX906-GFX908: error: not a valid operand
361 v_dot2_u32_u16 v0, abs(v1), abs(v2), v3
362 // GFX906-GFX908: error: not a valid operand
363 v_dot2_u32_u16 v0, abs(v1), v2, abs(v3)
364 // GFX906-GFX908: error: not a valid operand
365 v_dot2_u32_u16 v0, abs(v1), abs(v2), abs(v3)
366 // GFX906-GFX908: error: not a valid operand
367 v_dot2_u32_u16 v0, -v1, v2, v3
368 // GFX906-GFX908: error: not a valid operand
369 v_dot2_u32_u16 v0, v1, -v2, v3
370 // GFX906-GFX908: error: not a valid operand
371 v_dot2_u32_u16 v0, v1, v2, -v3
372 // GFX906-GFX908: error: not a valid operand
373 v_dot2_u32_u16 v0, -v1, -v2, v3
374 // GFX906-GFX908: error: not a valid operand
375 v_dot2_u32_u16 v0, -v1, v2, -v3
376 // GFX906-GFX908: error: not a valid operand
377 v_dot2_u32_u16 v0, -v1, -v2, -v3
380 // Test constant bus restrictions.
383 // GFX906-GFX908: error: invalid operand (violates constant bus restrictions)
384 v_dot2_f32_f16 v255, s1, s2, s3
385 // GFX906-GFX908: error: invalid operand (violates constant bus restrictions)
386 v_dot2_i32_i16 v255, s1, s2, s3
387 // GFX906-GFX908: error: invalid operand (violates constant bus restrictions)
388 v_dot2_u32_u16 v255, s1, s2, s3