2 # RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z196 < %s 2> %t
3 # RUN: FileCheck < %t %s
5 #CHECK: error: invalid operand
6 #CHECK: aghik %r0, %r1, -32769
7 #CHECK: error: invalid operand
8 #CHECK: aghik %r0, %r1, 32768
9 #CHECK: error: invalid operand
10 #CHECK: aghik %r0, %r1, foo
12 aghik %r0, %r1, -32769
16 #CHECK: error: invalid operand
17 #CHECK: ahik %r0, %r1, -32769
18 #CHECK: error: invalid operand
19 #CHECK: ahik %r0, %r1, 32768
20 #CHECK: error: invalid operand
21 #CHECK: ahik %r0, %r1, foo
27 #CHECK: error: invalid operand
28 #CHECK: aih %r0, (-1 << 31) - 1
29 #CHECK: error: invalid operand
30 #CHECK: aih %r0, (1 << 31)
32 aih %r0, (-1 << 31) - 1
35 #CHECK: error: invalid operand
36 #CHECK: chf %r0, -524289
37 #CHECK: error: invalid operand
38 #CHECK: chf %r0, 524288
43 #CHECK: error: invalid operand
44 #CHECK: cih %r0, (-1 << 31) - 1
45 #CHECK: error: invalid operand
46 #CHECK: cih %r0, (1 << 31)
48 cih %r0, (-1 << 31) - 1
51 #CHECK: error: invalid operand
52 #CHECK: clhf %r0, -524289
53 #CHECK: error: invalid operand
54 #CHECK: clhf %r0, 524288
59 #CHECK: error: invalid operand
61 #CHECK: error: invalid operand
62 #CHECK: clih %r0, (1 << 32)
67 #CHECK: error: invalid operand
68 #CHECK: fidbra %f0, 0, %f0, -1
69 #CHECK: error: invalid operand
70 #CHECK: fidbra %f0, 0, %f0, 16
71 #CHECK: error: invalid operand
72 #CHECK: fidbra %f0, -1, %f0, 0
73 #CHECK: error: invalid operand
74 #CHECK: fidbra %f0, 16, %f0, 0
76 fidbra %f0, 0, %f0, -1
77 fidbra %f0, 0, %f0, 16
78 fidbra %f0, -1, %f0, 0
79 fidbra %f0, 16, %f0, 0
81 #CHECK: error: invalid operand
82 #CHECK: fiebra %f0, 0, %f0, -1
83 #CHECK: error: invalid operand
84 #CHECK: fiebra %f0, 0, %f0, 16
85 #CHECK: error: invalid operand
86 #CHECK: fiebra %f0, -1, %f0, 0
87 #CHECK: error: invalid operand
88 #CHECK: fiebra %f0, 16, %f0, 0
90 fiebra %f0, 0, %f0, -1
91 fiebra %f0, 0, %f0, 16
92 fiebra %f0, -1, %f0, 0
93 fiebra %f0, 16, %f0, 0
95 #CHECK: error: invalid operand
96 #CHECK: fixbra %f0, 0, %f0, -1
97 #CHECK: error: invalid operand
98 #CHECK: fixbra %f0, 0, %f0, 16
99 #CHECK: error: invalid operand
100 #CHECK: fixbra %f0, -1, %f0, 0
101 #CHECK: error: invalid operand
102 #CHECK: fixbra %f0, 16, %f0, 0
103 #CHECK: error: invalid register pair
104 #CHECK: fixbra %f0, 0, %f2, 0
105 #CHECK: error: invalid register pair
106 #CHECK: fixbra %f2, 0, %f0, 0
108 fixbra %f0, 0, %f0, -1
109 fixbra %f0, 0, %f0, 16
110 fixbra %f0, -1, %f0, 0
111 fixbra %f0, 16, %f0, 0
112 fixbra %f0, 0, %f2, 0
113 fixbra %f2, 0, %f0, 0
115 #CHECK: error: invalid operand
116 #CHECK: laa %r0, %r0, -524289
117 #CHECK: error: invalid operand
118 #CHECK: laa %r0, %r0, 524288
119 #CHECK: error: invalid use of indexed addressing
120 #CHECK: laa %r0, %r0, 0(%r1,%r2)
122 laa %r0, %r0, -524289
124 laa %r0, %r0, 0(%r1,%r2)
126 #CHECK: error: invalid operand
127 #CHECK: laag %r0, %r0, -524289
128 #CHECK: error: invalid operand
129 #CHECK: laag %r0, %r0, 524288
130 #CHECK: error: invalid use of indexed addressing
131 #CHECK: laag %r0, %r0, 0(%r1,%r2)
133 laag %r0, %r0, -524289
134 laag %r0, %r0, 524288
135 laag %r0, %r0, 0(%r1,%r2)
137 #CHECK: error: invalid operand
138 #CHECK: laal %r0, %r0, -524289
139 #CHECK: error: invalid operand
140 #CHECK: laal %r0, %r0, 524288
141 #CHECK: error: invalid use of indexed addressing
142 #CHECK: laal %r0, %r0, 0(%r1,%r2)
144 laal %r0, %r0, -524289
145 laal %r0, %r0, 524288
146 laal %r0, %r0, 0(%r1,%r2)
148 #CHECK: error: invalid operand
149 #CHECK: laalg %r0, %r0, -524289
150 #CHECK: error: invalid operand
151 #CHECK: laalg %r0, %r0, 524288
152 #CHECK: error: invalid use of indexed addressing
153 #CHECK: laalg %r0, %r0, 0(%r1,%r2)
155 laalg %r0, %r0, -524289
156 laalg %r0, %r0, 524288
157 laalg %r0, %r0, 0(%r1,%r2)
159 #CHECK: error: invalid operand
160 #CHECK: lan %r0, %r0, -524289
161 #CHECK: error: invalid operand
162 #CHECK: lan %r0, %r0, 524288
163 #CHECK: error: invalid use of indexed addressing
164 #CHECK: lan %r0, %r0, 0(%r1,%r2)
166 lan %r0, %r0, -524289
168 lan %r0, %r0, 0(%r1,%r2)
170 #CHECK: error: invalid operand
171 #CHECK: lang %r0, %r0, -524289
172 #CHECK: error: invalid operand
173 #CHECK: lang %r0, %r0, 524288
174 #CHECK: error: invalid use of indexed addressing
175 #CHECK: lang %r0, %r0, 0(%r1,%r2)
177 lang %r0, %r0, -524289
178 lang %r0, %r0, 524288
179 lang %r0, %r0, 0(%r1,%r2)
181 #CHECK: error: invalid operand
182 #CHECK: lao %r0, %r0, -524289
183 #CHECK: error: invalid operand
184 #CHECK: lao %r0, %r0, 524288
185 #CHECK: error: invalid use of indexed addressing
186 #CHECK: lao %r0, %r0, 0(%r1,%r2)
188 lao %r0, %r0, -524289
190 lao %r0, %r0, 0(%r1,%r2)
192 #CHECK: error: invalid operand
193 #CHECK: laog %r0, %r0, -524289
194 #CHECK: error: invalid operand
195 #CHECK: laog %r0, %r0, 524288
196 #CHECK: error: invalid use of indexed addressing
197 #CHECK: laog %r0, %r0, 0(%r1,%r2)
199 laog %r0, %r0, -524289
200 laog %r0, %r0, 524288
201 laog %r0, %r0, 0(%r1,%r2)
203 #CHECK: error: invalid operand
204 #CHECK: lax %r0, %r0, -524289
205 #CHECK: error: invalid operand
206 #CHECK: lax %r0, %r0, 524288
207 #CHECK: error: invalid use of indexed addressing
208 #CHECK: lax %r0, %r0, 0(%r1,%r2)
210 lax %r0, %r0, -524289
212 lax %r0, %r0, 0(%r1,%r2)
214 #CHECK: error: invalid operand
215 #CHECK: laxg %r0, %r0, -524289
216 #CHECK: error: invalid operand
217 #CHECK: laxg %r0, %r0, 524288
218 #CHECK: error: invalid use of indexed addressing
219 #CHECK: laxg %r0, %r0, 0(%r1,%r2)
221 laxg %r0, %r0, -524289
222 laxg %r0, %r0, 524288
223 laxg %r0, %r0, 0(%r1,%r2)
225 #CHECK: error: invalid operand
226 #CHECK: lbh %r0, -524289
227 #CHECK: error: invalid operand
228 #CHECK: lbh %r0, 524288
233 #CHECK: error: invalid operand
234 #CHECK: lfh %r0, -524289
235 #CHECK: error: invalid operand
236 #CHECK: lfh %r0, 524288
241 #CHECK: error: invalid operand
242 #CHECK: lhh %r0, -524289
243 #CHECK: error: invalid operand
244 #CHECK: lhh %r0, 524288
249 #CHECK: error: invalid operand
250 #CHECK: llch %r0, -524289
251 #CHECK: error: invalid operand
252 #CHECK: llch %r0, 524288
257 #CHECK: error: invalid operand
258 #CHECK: llhh %r0, -524289
259 #CHECK: error: invalid operand
260 #CHECK: llhh %r0, 524288
265 #CHECK: error: invalid operand
267 #CHECK: error: invalid operand
269 #CHECK: error: invalid operand
270 #CHECK: loc %r0,-524289,1
271 #CHECK: error: invalid operand
272 #CHECK: loc %r0,524288,1
273 #CHECK: error: invalid use of indexed addressing
274 #CHECK: loc %r0,0(%r1,%r2),1
282 #CHECK: error: invalid operand
283 #CHECK: locg %r0,0,-1
284 #CHECK: error: invalid operand
285 #CHECK: locg %r0,0,16
286 #CHECK: error: invalid operand
287 #CHECK: locg %r0,-524289,1
288 #CHECK: error: invalid operand
289 #CHECK: locg %r0,524288,1
290 #CHECK: error: invalid use of indexed addressing
291 #CHECK: locg %r0,0(%r1,%r2),1
297 locg %r0,0(%r1,%r2),1
299 #CHECK: error: invalid operand
300 #CHECK: locgr %r0,%r0,-1
301 #CHECK: error: invalid operand
302 #CHECK: locgr %r0,%r0,16
307 #CHECK: error: invalid operand
308 #CHECK: locr %r0,%r0,-1
309 #CHECK: error: invalid operand
310 #CHECK: locr %r0,%r0,16
315 #CHECK: error: invalid operand
316 #CHECK: risbhg %r0,%r0,0,0,-1
317 #CHECK: error: invalid operand
318 #CHECK: risbhg %r0,%r0,0,0,64
319 #CHECK: error: invalid operand
320 #CHECK: risbhg %r0,%r0,0,-1,0
321 #CHECK: error: invalid operand
322 #CHECK: risbhg %r0,%r0,0,256,0
323 #CHECK: error: invalid operand
324 #CHECK: risbhg %r0,%r0,-1,0,0
325 #CHECK: error: invalid operand
326 #CHECK: risbhg %r0,%r0,256,0,0
328 risbhg %r0,%r0,0,0,-1
329 risbhg %r0,%r0,0,0,64
330 risbhg %r0,%r0,0,-1,0
331 risbhg %r0,%r0,0,256,0
332 risbhg %r0,%r0,-1,0,0
333 risbhg %r0,%r0,256,0,0
335 #CHECK: error: invalid operand
336 #CHECK: risblg %r0,%r0,0,0,-1
337 #CHECK: error: invalid operand
338 #CHECK: risblg %r0,%r0,0,0,64
339 #CHECK: error: invalid operand
340 #CHECK: risblg %r0,%r0,0,-1,0
341 #CHECK: error: invalid operand
342 #CHECK: risblg %r0,%r0,0,256,0
343 #CHECK: error: invalid operand
344 #CHECK: risblg %r0,%r0,-1,0,0
345 #CHECK: error: invalid operand
346 #CHECK: risblg %r0,%r0,256,0,0
348 risblg %r0,%r0,0,0,-1
349 risblg %r0,%r0,0,0,64
350 risblg %r0,%r0,0,-1,0
351 risblg %r0,%r0,0,256,0
352 risblg %r0,%r0,-1,0,0
353 risblg %r0,%r0,256,0,0
355 #CHECK: error: invalid operand
356 #CHECK: sllk %r0,%r0,-524289
357 #CHECK: error: invalid operand
358 #CHECK: sllk %r0,%r0,524288
359 #CHECK: error: %r0 used in an address
360 #CHECK: sllk %r0,%r0,0(%r0)
361 #CHECK: error: invalid use of indexed addressing
362 #CHECK: sllk %r0,%r0,0(%r1,%r2)
367 sllk %r0,%r0,0(%r1,%r2)
369 #CHECK: error: invalid operand
370 #CHECK: srak %r0,%r0,-524289
371 #CHECK: error: invalid operand
372 #CHECK: srak %r0,%r0,524288
373 #CHECK: error: %r0 used in an address
374 #CHECK: srak %r0,%r0,0(%r0)
375 #CHECK: error: invalid use of indexed addressing
376 #CHECK: srak %r0,%r0,0(%r1,%r2)
381 srak %r0,%r0,0(%r1,%r2)
383 #CHECK: error: invalid operand
384 #CHECK: srlk %r0,%r0,-524289
385 #CHECK: error: invalid operand
386 #CHECK: srlk %r0,%r0,524288
387 #CHECK: error: %r0 used in an address
388 #CHECK: srlk %r0,%r0,0(%r0)
389 #CHECK: error: invalid use of indexed addressing
390 #CHECK: srlk %r0,%r0,0(%r1,%r2)
395 srlk %r0,%r0,0(%r1,%r2)
397 #CHECK: error: invalid operand
398 #CHECK: stch %r0, -524289
399 #CHECK: error: invalid operand
400 #CHECK: stch %r0, 524288
405 #CHECK: error: invalid operand
406 #CHECK: sthh %r0, -524289
407 #CHECK: error: invalid operand
408 #CHECK: sthh %r0, 524288
413 #CHECK: error: invalid operand
414 #CHECK: stfh %r0, -524289
415 #CHECK: error: invalid operand
416 #CHECK: stfh %r0, 524288
421 #CHECK: error: invalid operand
422 #CHECK: stoc %r0,0,-1
423 #CHECK: error: invalid operand
424 #CHECK: stoc %r0,0,16
425 #CHECK: error: invalid operand
426 #CHECK: stoc %r0,-524289,1
427 #CHECK: error: invalid operand
428 #CHECK: stoc %r0,524288,1
429 #CHECK: error: invalid use of indexed addressing
430 #CHECK: stoc %r0,0(%r1,%r2),1
436 stoc %r0,0(%r1,%r2),1
438 #CHECK: error: invalid operand
439 #CHECK: stocg %r0,0,-1
440 #CHECK: error: invalid operand
441 #CHECK: stocg %r0,0,16
442 #CHECK: error: invalid operand
443 #CHECK: stocg %r0,-524289,1
444 #CHECK: error: invalid operand
445 #CHECK: stocg %r0,524288,1
446 #CHECK: error: invalid use of indexed addressing
447 #CHECK: stocg %r0,0(%r1,%r2),1
453 stocg %r0,0(%r1,%r2),1