Remove the 'N' modifier from llvm-ar.
[oota-llvm.git] / test / MC / SystemZ / insn-bad.s
1 # RUN: not llvm-mc -triple s390x-linux-gnu < %s 2> %t
2 # RUN: FileCheck < %t %s
3
4 #CHECK: error: invalid operand
5 #CHECK: a       %r0, -1
6 #CHECK: error: invalid operand
7 #CHECK: a       %r0, 4096
8
9         a       %r0, -1
10         a       %r0, 4096
11
12 #CHECK: error: invalid operand
13 #CHECK: adb     %f0, -1
14 #CHECK: error: invalid operand
15 #CHECK: adb     %f0, 4096
16
17         adb     %f0, -1
18         adb     %f0, 4096
19
20 #CHECK: error: invalid operand
21 #CHECK: aeb     %f0, -1
22 #CHECK: error: invalid operand
23 #CHECK: aeb     %f0, 4096
24
25         aeb     %f0, -1
26         aeb     %f0, 4096
27
28 #CHECK: error: invalid operand
29 #CHECK: afi     %r0, (-1 << 31) - 1
30 #CHECK: error: invalid operand
31 #CHECK: afi     %r0, (1 << 31)
32
33         afi     %r0, (-1 << 31) - 1
34         afi     %r0, (1 << 31)
35
36 #CHECK: error: invalid operand
37 #CHECK: ag      %r0, -524289
38 #CHECK: error: invalid operand
39 #CHECK: ag      %r0, 524288
40
41         ag      %r0, -524289
42         ag      %r0, 524288
43
44 #CHECK: error: invalid operand
45 #CHECK: agf     %r0, -524289
46 #CHECK: error: invalid operand
47 #CHECK: agf     %r0, 524288
48
49         agf     %r0, -524289
50         agf     %r0, 524288
51
52 #CHECK: error: invalid operand
53 #CHECK: agfi    %r0, (-1 << 31) - 1
54 #CHECK: error: invalid operand
55 #CHECK: agfi    %r0, (1 << 31)
56
57         agfi    %r0, (-1 << 31) - 1
58         agfi    %r0, (1 << 31)
59
60 #CHECK: error: invalid operand
61 #CHECK: aghi    %r0, -32769
62 #CHECK: error: invalid operand
63 #CHECK: aghi    %r0, 32768
64 #CHECK: error: invalid operand
65 #CHECK: aghi    %r0, foo
66
67         aghi    %r0, -32769
68         aghi    %r0, 32768
69         aghi    %r0, foo
70
71 #CHECK: error: invalid operand
72 #CHECK: agsi    -524289, 0
73 #CHECK: error: invalid operand
74 #CHECK: agsi    524288, 0
75 #CHECK: error: invalid use of indexed addressing
76 #CHECK: agsi    0(%r1,%r2), 0
77 #CHECK: error: invalid operand
78 #CHECK: agsi    0, -129
79 #CHECK: error: invalid operand
80 #CHECK: agsi    0, 128
81
82         agsi    -524289, 0
83         agsi    524288, 0
84         agsi    0(%r1,%r2), 0
85         agsi    0, -129
86         agsi    0, 128
87
88 #CHECK: error: invalid operand
89 #CHECK: ah      %r0, -1
90 #CHECK: error: invalid operand
91 #CHECK: ah      %r0, 4096
92
93         ah      %r0, -1
94         ah      %r0, 4096
95
96 #CHECK: error: invalid operand
97 #CHECK: ahi     %r0, -32769
98 #CHECK: error: invalid operand
99 #CHECK: ahi     %r0, 32768
100 #CHECK: error: invalid operand
101 #CHECK: ahi     %r0, foo
102
103         ahi     %r0, -32769
104         ahi     %r0, 32768
105         ahi     %r0, foo
106
107 #CHECK: error: invalid operand
108 #CHECK: ahy     %r0, -524289
109 #CHECK: error: invalid operand
110 #CHECK: ahy     %r0, 524288
111
112         ahy     %r0, -524289
113         ahy     %r0, 524288
114
115 #CHECK: error: invalid operand
116 #CHECK: al      %r0, -1
117 #CHECK: error: invalid operand
118 #CHECK: al      %r0, 4096
119
120         al      %r0, -1
121         al      %r0, 4096
122
123 #CHECK: error: invalid operand
124 #CHECK: alc     %r0, -524289
125 #CHECK: error: invalid operand
126 #CHECK: alc     %r0, 524288
127
128         alc     %r0, -524289
129         alc     %r0, 524288
130
131 #CHECK: error: invalid operand
132 #CHECK: alcg    %r0, -524289
133 #CHECK: error: invalid operand
134 #CHECK: alcg    %r0, 524288
135
136         alcg    %r0, -524289
137         alcg    %r0, 524288
138
139 #CHECK: error: invalid operand
140 #CHECK: alfi    %r0, -1
141 #CHECK: error: invalid operand
142 #CHECK: alfi    %r0, (1 << 32)
143
144         alfi    %r0, -1
145         alfi    %r0, (1 << 32)
146
147 #CHECK: error: invalid operand
148 #CHECK: alg     %r0, -524289
149 #CHECK: error: invalid operand
150 #CHECK: alg     %r0, 524288
151
152         alg     %r0, -524289
153         alg     %r0, 524288
154
155 #CHECK: error: invalid operand
156 #CHECK: algf    %r0, -524289
157 #CHECK: error: invalid operand
158 #CHECK: algf    %r0, 524288
159
160         algf    %r0, -524289
161         algf    %r0, 524288
162
163 #CHECK: error: invalid operand
164 #CHECK: algfi   %r0, -1
165 #CHECK: error: invalid operand
166 #CHECK: algfi   %r0, (1 << 32)
167
168         algfi   %r0, -1
169         algfi   %r0, (1 << 32)
170
171 #CHECK: error: invalid operand
172 #CHECK: aly     %r0, -524289
173 #CHECK: error: invalid operand
174 #CHECK: aly     %r0, 524288
175
176         aly     %r0, -524289
177         aly     %r0, 524288
178
179 #CHECK: error: invalid operand
180 #CHECK: asi     -524289, 0
181 #CHECK: error: invalid operand
182 #CHECK: asi     524288, 0
183 #CHECK: error: invalid use of indexed addressing
184 #CHECK: asi     0(%r1,%r2), 0
185 #CHECK: error: invalid operand
186 #CHECK: asi     0, -129
187 #CHECK: error: invalid operand
188 #CHECK: asi     0, 128
189
190         asi     -524289, 0
191         asi     524288, 0
192         asi     0(%r1,%r2), 0
193         asi     0, -129
194         asi     0, 128
195
196 #CHECK: error: invalid register pair
197 #CHECK: axbr    %f0, %f2
198 #CHECK: error: invalid register pair
199 #CHECK: axbr    %f2, %f0
200
201         axbr    %f0, %f2
202         axbr    %f2, %f0
203
204
205 #CHECK: error: invalid operand
206 #CHECK: ay      %r0, -524289
207 #CHECK: error: invalid operand
208 #CHECK: ay      %r0, 524288
209
210         ay      %r0, -524289
211         ay      %r0, 524288
212
213 #CHECK: error: offset out of range
214 #CHECK: bras    %r0, -0x100002
215 #CHECK: error: offset out of range
216 #CHECK: bras    %r0, -1
217 #CHECK: error: offset out of range
218 #CHECK: bras    %r0, 1
219 #CHECK: error: offset out of range
220 #CHECK: bras    %r0, 0x10000
221
222         bras    %r0, -0x100002
223         bras    %r0, -1
224         bras    %r0, 1
225         bras    %r0, 0x10000
226
227 #CHECK: error: offset out of range
228 #CHECK: brasl   %r0, -0x1000000002
229 #CHECK: error: offset out of range
230 #CHECK: brasl   %r0, -1
231 #CHECK: error: offset out of range
232 #CHECK: brasl   %r0, 1
233 #CHECK: error: offset out of range
234 #CHECK: brasl   %r0, 0x100000000
235
236         brasl   %r0, -0x1000000002
237         brasl   %r0, -1
238         brasl   %r0, 1
239         brasl   %r0, 0x100000000
240
241 #CHECK: error: offset out of range
242 #CHECK: brc     0, -0x100002
243 #CHECK: error: offset out of range
244 #CHECK: brc     0, -1
245 #CHECK: error: offset out of range
246 #CHECK: brc     0, 1
247 #CHECK: error: offset out of range
248 #CHECK: brc     0, 0x10000
249
250         brc     0, -0x100002
251         brc     0, -1
252         brc     0, 1
253         brc     0, 0x10000
254
255 #CHECK: error: invalid operand
256 #CHECK: brc     foo, bar
257 #CHECK: error: invalid operand
258 #CHECK: brc     -1, bar
259 #CHECK: error: invalid operand
260 #CHECK: brc     16, bar
261
262         brc     foo, bar
263         brc     -1, bar
264         brc     16, bar
265
266 #CHECK: error: offset out of range
267 #CHECK: brcl    0, -0x1000000002
268 #CHECK: error: offset out of range
269 #CHECK: brcl    0, -1
270 #CHECK: error: offset out of range
271 #CHECK: brcl    0, 1
272 #CHECK: error: offset out of range
273 #CHECK: brcl    0, 0x100000000
274
275         brcl    0, -0x1000000002
276         brcl    0, -1
277         brcl    0, 1
278         brcl    0, 0x100000000
279
280 #CHECK: error: invalid operand
281 #CHECK: brcl    foo, bar
282 #CHECK: error: invalid operand
283 #CHECK: brcl    -1, bar
284 #CHECK: error: invalid operand
285 #CHECK: brcl    16, bar
286
287         brcl    foo, bar
288         brcl    -1, bar
289         brcl    16, bar
290
291 #CHECK: error: invalid operand
292 #CHECK: c       %r0, -1
293 #CHECK: error: invalid operand
294 #CHECK: c       %r0, 4096
295
296         c       %r0, -1
297         c       %r0, 4096
298
299 #CHECK: error: invalid operand
300 #CHECK: cdb     %f0, -1
301 #CHECK: error: invalid operand
302 #CHECK: cdb     %f0, 4096
303
304         cdb     %f0, -1
305         cdb     %f0, 4096
306
307 #CHECK: error: invalid operand
308 #CHECK: ceb     %f0, -1
309 #CHECK: error: invalid operand
310 #CHECK: ceb     %f0, 4096
311
312         ceb     %f0, -1
313         ceb     %f0, 4096
314
315 #CHECK: error: invalid operand
316 #CHECK: cfdbr   %r0, -1, %f0
317 #CHECK: error: invalid operand
318 #CHECK: cfdbr   %r0, 16, %f0
319
320         cfdbr   %r0, -1, %f0
321         cfdbr   %r0, 16, %f0
322
323 #CHECK: error: invalid operand
324 #CHECK: cfebr   %r0, -1, %f0
325 #CHECK: error: invalid operand
326 #CHECK: cfebr   %r0, 16, %f0
327
328         cfebr   %r0, -1, %f0
329         cfebr   %r0, 16, %f0
330
331 #CHECK: error: invalid operand
332 #CHECK: cfi     %r0, (-1 << 31) - 1
333 #CHECK: error: invalid operand
334 #CHECK: cfi     %r0, (1 << 31)
335
336         cfi     %r0, (-1 << 31) - 1
337         cfi     %r0, (1 << 31)
338
339 #CHECK: error: invalid operand
340 #CHECK: cfxbr   %r0, -1, %f0
341 #CHECK: error: invalid operand
342 #CHECK: cfxbr   %r0, 16, %f0
343 #CHECK: error: invalid register pair
344 #CHECK: cfxbr   %r0, 0, %f2
345
346         cfxbr   %r0, -1, %f0
347         cfxbr   %r0, 16, %f0
348         cfxbr   %r0, 0, %f2
349
350
351 #CHECK: error: invalid operand
352 #CHECK: cg      %r0, -524289
353 #CHECK: error: invalid operand
354 #CHECK: cg      %r0, 524288
355
356         cg      %r0, -524289
357         cg      %r0, 524288
358
359 #CHECK: error: invalid operand
360 #CHECK: cgdbr   %r0, -1, %f0
361 #CHECK: error: invalid operand
362 #CHECK: cgdbr   %r0, 16, %f0
363
364         cgdbr   %r0, -1, %f0
365         cgdbr   %r0, 16, %f0
366
367 #CHECK: error: invalid operand
368 #CHECK: cgebr   %r0, -1, %f0
369 #CHECK: error: invalid operand
370 #CHECK: cgebr   %r0, 16, %f0
371
372         cgebr   %r0, -1, %f0
373         cgebr   %r0, 16, %f0
374
375 #CHECK: error: invalid operand
376 #CHECK: cgf     %r0, -524289
377 #CHECK: error: invalid operand
378 #CHECK: cgf     %r0, 524288
379
380         cgf     %r0, -524289
381         cgf     %r0, 524288
382
383 #CHECK: error: invalid operand
384 #CHECK: cgfi    %r0, (-1 << 31) - 1
385 #CHECK: error: invalid operand
386 #CHECK: cgfi    %r0, (1 << 31)
387
388         cgfi    %r0, (-1 << 31) - 1
389         cgfi    %r0, (1 << 31)
390
391 #CHECK: error: offset out of range
392 #CHECK: cgfrl   %r0, -0x1000000002
393 #CHECK: error: offset out of range
394 #CHECK: cgfrl   %r0, -1
395 #CHECK: error: offset out of range
396 #CHECK: cgfrl   %r0, 1
397 #CHECK: error: offset out of range
398 #CHECK: cgfrl   %r0, 0x100000000
399
400         cgfrl   %r0, -0x1000000002
401         cgfrl   %r0, -1
402         cgfrl   %r0, 1
403         cgfrl   %r0, 0x100000000
404
405 #CHECK: error: invalid operand
406 #CHECK: cgh     %r0, -524289
407 #CHECK: error: invalid operand
408 #CHECK: cgh     %r0, 524288
409
410         cgh     %r0, -524289
411         cgh     %r0, 524288
412
413 #CHECK: error: invalid operand
414 #CHECK: cghi    %r0, -32769
415 #CHECK: error: invalid operand
416 #CHECK: cghi    %r0, 32768
417 #CHECK: error: invalid operand
418 #CHECK: cghi    %r0, foo
419
420         cghi    %r0, -32769
421         cghi    %r0, 32768
422         cghi    %r0, foo
423
424 #CHECK: error: offset out of range
425 #CHECK: cghrl   %r0, -0x1000000002
426 #CHECK: error: offset out of range
427 #CHECK: cghrl   %r0, -1
428 #CHECK: error: offset out of range
429 #CHECK: cghrl   %r0, 1
430 #CHECK: error: offset out of range
431 #CHECK: cghrl   %r0, 0x100000000
432
433         cghrl   %r0, -0x1000000002
434         cghrl   %r0, -1
435         cghrl   %r0, 1
436         cghrl   %r0, 0x100000000
437
438 #CHECK: error: invalid operand
439 #CHECK: cghsi   -1, 0
440 #CHECK: error: invalid operand
441 #CHECK: cghsi   4096, 0
442 #CHECK: error: invalid use of indexed addressing
443 #CHECK: cghsi   0(%r1,%r2), 0
444 #CHECK: error: invalid operand
445 #CHECK: cghsi   0, -32769
446 #CHECK: error: invalid operand
447 #CHECK: cghsi   0, 32768
448
449         cghsi   -1, 0
450         cghsi   4096, 0
451         cghsi   0(%r1,%r2), 0
452         cghsi   0, -32769
453         cghsi   0, 32768
454
455 #CHECK: error: invalid operand
456 #CHECK: cgij    %r0, -129, 0, 0
457 #CHECK: error: invalid operand
458 #CHECK: cgij    %r0, 128, 0, 0
459
460         cgij    %r0, -129, 0, 0
461         cgij    %r0, 128, 0, 0
462
463 #CHECK: error: offset out of range
464 #CHECK: cgij    %r0, 0, 0, -0x100002
465 #CHECK: error: offset out of range
466 #CHECK: cgij    %r0, 0, 0, -1
467 #CHECK: error: offset out of range
468 #CHECK: cgij    %r0, 0, 0, 1
469 #CHECK: error: offset out of range
470 #CHECK: cgij    %r0, 0, 0, 0x10000
471
472         cgij    %r0, 0, 0, -0x100002
473         cgij    %r0, 0, 0, -1
474         cgij    %r0, 0, 0, 1
475         cgij    %r0, 0, 0, 0x10000
476
477 #CHECK: error: invalid instruction
478 #CHECK: cgijo   %r0, 0, 0, 0
479 #CHECK: error: invalid instruction
480 #CHECK: cgijno  %r0, 0, 0, 0
481
482         cgijo   %r0, 0, 0, 0
483         cgijno  %r0, 0, 0, 0
484
485 #CHECK: error: offset out of range
486 #CHECK: cgrj    %r0, %r0, 0, -0x100002
487 #CHECK: error: offset out of range
488 #CHECK: cgrj    %r0, %r0, 0, -1
489 #CHECK: error: offset out of range
490 #CHECK: cgrj    %r0, %r0, 0, 1
491 #CHECK: error: offset out of range
492 #CHECK: cgrj    %r0, %r0, 0, 0x10000
493
494         cgrj    %r0, %r0, 0, -0x100002
495         cgrj    %r0, %r0, 0, -1
496         cgrj    %r0, %r0, 0, 1
497         cgrj    %r0, %r0, 0, 0x10000
498
499 #CHECK: error: invalid instruction
500 #CHECK: cgrjo   %r0, %r0, 0, 0
501 #CHECK: error: invalid instruction
502 #CHECK: cgrjno  %r0, %r0, 0, 0
503
504         cgrjo   %r0, %r0, 0, 0
505         cgrjno  %r0, %r0, 0, 0
506
507 #CHECK: error: offset out of range
508 #CHECK: cgrl    %r0, -0x1000000002
509 #CHECK: error: offset out of range
510 #CHECK: cgrl    %r0, -1
511 #CHECK: error: offset out of range
512 #CHECK: cgrl    %r0, 1
513 #CHECK: error: offset out of range
514 #CHECK: cgrl    %r0, 0x100000000
515
516         cgrl    %r0, -0x1000000002
517         cgrl    %r0, -1
518         cgrl    %r0, 1
519         cgrl    %r0, 0x100000000
520
521 #CHECK: error: invalid operand
522 #CHECK: cgxbr   %r0, -1, %f0
523 #CHECK: error: invalid operand
524 #CHECK: cgxbr   %r0, 16, %f0
525 #CHECK: error: invalid register pair
526 #CHECK: cgxbr   %r0, 0, %f2
527
528         cgxbr   %r0, -1, %f0
529         cgxbr   %r0, 16, %f0
530         cgxbr   %r0, 0, %f2
531
532
533 #CHECK: error: invalid operand
534 #CHECK: ch      %r0, -1
535 #CHECK: error: invalid operand
536 #CHECK: ch      %r0, 4096
537
538         ch      %r0, -1
539         ch      %r0, 4096
540
541 #CHECK: error: invalid operand
542 #CHECK: chhsi   -1, 0
543 #CHECK: error: invalid operand
544 #CHECK: chhsi   4096, 0
545 #CHECK: error: invalid use of indexed addressing
546 #CHECK: chhsi   0(%r1,%r2), 0
547 #CHECK: error: invalid operand
548 #CHECK: chhsi   0, -32769
549 #CHECK: error: invalid operand
550 #CHECK: chhsi   0, 32768
551
552         chhsi   -1, 0
553         chhsi   4096, 0
554         chhsi   0(%r1,%r2), 0
555         chhsi   0, -32769
556         chhsi   0, 32768
557
558 #CHECK: error: invalid operand
559 #CHECK: chi     %r0, -32769
560 #CHECK: error: invalid operand
561 #CHECK: chi     %r0, 32768
562 #CHECK: error: invalid operand
563 #CHECK: chi     %r0, foo
564
565         chi     %r0, -32769
566         chi     %r0, 32768
567         chi     %r0, foo
568
569 #CHECK: error: offset out of range
570 #CHECK: chrl    %r0, -0x1000000002
571 #CHECK: error: offset out of range
572 #CHECK: chrl    %r0, -1
573 #CHECK: error: offset out of range
574 #CHECK: chrl    %r0, 1
575 #CHECK: error: offset out of range
576 #CHECK: chrl    %r0, 0x100000000
577
578         chrl    %r0, -0x1000000002
579         chrl    %r0, -1
580         chrl    %r0, 1
581         chrl    %r0, 0x100000000
582
583 #CHECK: error: invalid operand
584 #CHECK: chsi    -1, 0
585 #CHECK: error: invalid operand
586 #CHECK: chsi    4096, 0
587 #CHECK: error: invalid use of indexed addressing
588 #CHECK: chsi    0(%r1,%r2), 0
589 #CHECK: error: invalid operand
590 #CHECK: chsi    0, -32769
591 #CHECK: error: invalid operand
592 #CHECK: chsi    0, 32768
593
594         chsi    -1, 0
595         chsi    4096, 0
596         chsi    0(%r1,%r2), 0
597         chsi    0, -32769
598         chsi    0, 32768
599
600 #CHECK: error: invalid operand
601 #CHECK: chy     %r0, -524289
602 #CHECK: error: invalid operand
603 #CHECK: chy     %r0, 524288
604
605         chy     %r0, -524289
606         chy     %r0, 524288
607
608 #CHECK: error: invalid operand
609 #CHECK: cij     %r0, -129, 0, 0
610 #CHECK: error: invalid operand
611 #CHECK: cij     %r0, 128, 0, 0
612
613         cij     %r0, -129, 0, 0
614         cij     %r0, 128, 0, 0
615
616 #CHECK: error: offset out of range
617 #CHECK: cij     %r0, 0, 0, -0x100002
618 #CHECK: error: offset out of range
619 #CHECK: cij     %r0, 0, 0, -1
620 #CHECK: error: offset out of range
621 #CHECK: cij     %r0, 0, 0, 1
622 #CHECK: error: offset out of range
623 #CHECK: cij     %r0, 0, 0, 0x10000
624
625         cij     %r0, 0, 0, -0x100002
626         cij     %r0, 0, 0, -1
627         cij     %r0, 0, 0, 1
628         cij     %r0, 0, 0, 0x10000
629
630 #CHECK: error: invalid instruction
631 #CHECK: cijo    %r0, 0, 0, 0
632 #CHECK: error: invalid instruction
633 #CHECK: cijno   %r0, 0, 0, 0
634
635         cijo    %r0, 0, 0, 0
636         cijno   %r0, 0, 0, 0
637
638 #CHECK: error: invalid operand
639 #CHECK: cl      %r0, -1
640 #CHECK: error: invalid operand
641 #CHECK: cl      %r0, 4096
642
643         cl      %r0, -1
644         cl      %r0, 4096
645
646 #CHECK: error: invalid operand
647 #CHECK: clfhsi  -1, 0
648 #CHECK: error: invalid operand
649 #CHECK: clfhsi  4096, 0
650 #CHECK: error: invalid use of indexed addressing
651 #CHECK: clfhsi  0(%r1,%r2), 0
652 #CHECK: error: invalid operand
653 #CHECK: clfhsi  0, -1
654 #CHECK: error: invalid operand
655 #CHECK: clfhsi  0, 65536
656
657         clfhsi  -1, 0
658         clfhsi  4096, 0
659         clfhsi  0(%r1,%r2), 0
660         clfhsi  0, -1
661         clfhsi  0, 65536
662
663 #CHECK: error: invalid operand
664 #CHECK: clfi    %r0, -1
665 #CHECK: error: invalid operand
666 #CHECK: clfi    %r0, (1 << 32)
667
668         clfi    %r0, -1
669         clfi    %r0, (1 << 32)
670
671 #CHECK: error: invalid operand
672 #CHECK: clg     %r0, -524289
673 #CHECK: error: invalid operand
674 #CHECK: clg     %r0, 524288
675
676         clg     %r0, -524289
677         clg     %r0, 524288
678
679 #CHECK: error: invalid operand
680 #CHECK: clgf    %r0, -524289
681 #CHECK: error: invalid operand
682 #CHECK: clgf    %r0, 524288
683
684         clgf    %r0, -524289
685         clgf    %r0, 524288
686
687 #CHECK: error: invalid operand
688 #CHECK: clgfi   %r0, -1
689 #CHECK: error: invalid operand
690 #CHECK: clgfi   %r0, (1 << 32)
691
692         clgfi   %r0, -1
693         clgfi   %r0, (1 << 32)
694
695 #CHECK: error: offset out of range
696 #CHECK: clgfrl  %r0, -0x1000000002
697 #CHECK: error: offset out of range
698 #CHECK: clgfrl  %r0, -1
699 #CHECK: error: offset out of range
700 #CHECK: clgfrl  %r0, 1
701 #CHECK: error: offset out of range
702 #CHECK: clgfrl  %r0, 0x100000000
703
704         clgfrl  %r0, -0x1000000002
705         clgfrl  %r0, -1
706         clgfrl  %r0, 1
707         clgfrl  %r0, 0x100000000
708
709 #CHECK: error: offset out of range
710 #CHECK: clghrl  %r0, -0x1000000002
711 #CHECK: error: offset out of range
712 #CHECK: clghrl  %r0, -1
713 #CHECK: error: offset out of range
714 #CHECK: clghrl  %r0, 1
715 #CHECK: error: offset out of range
716 #CHECK: clghrl  %r0, 0x100000000
717
718         clghrl  %r0, -0x1000000002
719         clghrl  %r0, -1
720         clghrl  %r0, 1
721         clghrl  %r0, 0x100000000
722
723 #CHECK: error: invalid operand
724 #CHECK: clghsi  -1, 0
725 #CHECK: error: invalid operand
726 #CHECK: clghsi  4096, 0
727 #CHECK: error: invalid use of indexed addressing
728 #CHECK: clghsi  0(%r1,%r2), 0
729 #CHECK: error: invalid operand
730 #CHECK: clghsi  0, -1
731 #CHECK: error: invalid operand
732 #CHECK: clghsi  0, 65536
733
734         clghsi  -1, 0
735         clghsi  4096, 0
736         clghsi  0(%r1,%r2), 0
737         clghsi  0, -1
738         clghsi  0, 65536
739
740 #CHECK: error: offset out of range
741 #CHECK: clgrl   %r0, -0x1000000002
742 #CHECK: error: offset out of range
743 #CHECK: clgrl   %r0, -1
744 #CHECK: error: offset out of range
745 #CHECK: clgrl   %r0, 1
746 #CHECK: error: offset out of range
747 #CHECK: clgrl   %r0, 0x100000000
748
749         clgrl   %r0, -0x1000000002
750         clgrl   %r0, -1
751         clgrl   %r0, 1
752         clgrl   %r0, 0x100000000
753
754 #CHECK: error: invalid operand
755 #CHECK: clhhsi  -1, 0
756 #CHECK: error: invalid operand
757 #CHECK: clhhsi  4096, 0
758 #CHECK: error: invalid use of indexed addressing
759 #CHECK: clhhsi  0(%r1,%r2), 0
760 #CHECK: error: invalid operand
761 #CHECK: clhhsi  0, -1
762 #CHECK: error: invalid operand
763 #CHECK: clhhsi  0, 65536
764
765         clhhsi  -1, 0
766         clhhsi  4096, 0
767         clhhsi  0(%r1,%r2), 0
768         clhhsi  0, -1
769         clhhsi  0, 65536
770
771 #CHECK: error: offset out of range
772 #CHECK: clhrl   %r0, -0x1000000002
773 #CHECK: error: offset out of range
774 #CHECK: clhrl   %r0, -1
775 #CHECK: error: offset out of range
776 #CHECK: clhrl   %r0, 1
777 #CHECK: error: offset out of range
778 #CHECK: clhrl   %r0, 0x100000000
779
780         clhrl   %r0, -0x1000000002
781         clhrl   %r0, -1
782         clhrl   %r0, 1
783         clhrl   %r0, 0x100000000
784
785 #CHECK: error: invalid operand
786 #CHECK: cli     -1, 0
787 #CHECK: error: invalid operand
788 #CHECK: cli     4096, 0
789 #CHECK: error: invalid use of indexed addressing
790 #CHECK: cli     0(%r1,%r2), 0
791 #CHECK: error: invalid operand
792 #CHECK: cli     0, -1
793 #CHECK: error: invalid operand
794 #CHECK: cli     0, 256
795
796         cli     -1, 0
797         cli     4096, 0
798         cli     0(%r1,%r2), 0
799         cli     0, -1
800         cli     0, 256
801
802 #CHECK: error: invalid operand
803 #CHECK: cliy    -524289, 0
804 #CHECK: error: invalid operand
805 #CHECK: cliy    524288, 0
806 #CHECK: error: invalid use of indexed addressing
807 #CHECK: cliy    0(%r1,%r2), 0
808 #CHECK: error: invalid operand
809 #CHECK: cliy    0, -1
810 #CHECK: error: invalid operand
811 #CHECK: cliy    0, 256
812
813         cliy    -524289, 0
814         cliy    524288, 0
815         cliy    0(%r1,%r2), 0
816         cliy    0, -1
817         cliy    0, 256
818
819 #CHECK: error: offset out of range
820 #CHECK: clrl    %r0, -0x1000000002
821 #CHECK: error: offset out of range
822 #CHECK: clrl    %r0, -1
823 #CHECK: error: offset out of range
824 #CHECK: clrl    %r0, 1
825 #CHECK: error: offset out of range
826 #CHECK: clrl    %r0, 0x100000000
827
828         clrl    %r0, -0x1000000002
829         clrl    %r0, -1
830         clrl    %r0, 1
831         clrl    %r0, 0x100000000
832
833 #CHECK: error: invalid operand
834 #CHECK: cly     %r0, -524289
835 #CHECK: error: invalid operand
836 #CHECK: cly     %r0, 524288
837
838         cly     %r0, -524289
839         cly     %r0, 524288
840
841 #CHECK: error: offset out of range
842 #CHECK: crj     %r0, %r0, 0, -0x100002
843 #CHECK: error: offset out of range
844 #CHECK: crj     %r0, %r0, 0, -1
845 #CHECK: error: offset out of range
846 #CHECK: crj     %r0, %r0, 0, 1
847 #CHECK: error: offset out of range
848 #CHECK: crj     %r0, %r0, 0, 0x10000
849
850         crj     %r0, %r0, 0, -0x100002
851         crj     %r0, %r0, 0, -1
852         crj     %r0, %r0, 0, 1
853         crj     %r0, %r0, 0, 0x10000
854
855 #CHECK: error: invalid instruction
856 #CHECK: crjo    %r0, %r0, 0, 0
857 #CHECK: error: invalid instruction
858 #CHECK: crjno   %r0, %r0, 0, 0
859
860         crjo    %r0, %r0, 0, 0
861         crjno   %r0, %r0, 0, 0
862
863 #CHECK: error: offset out of range
864 #CHECK: crl     %r0, -0x1000000002
865 #CHECK: error: offset out of range
866 #CHECK: crl     %r0, -1
867 #CHECK: error: offset out of range
868 #CHECK: crl     %r0, 1
869 #CHECK: error: offset out of range
870 #CHECK: crl     %r0, 0x100000000
871
872         crl     %r0, -0x1000000002
873         crl     %r0, -1
874         crl     %r0, 1
875         crl     %r0, 0x100000000
876
877 #CHECK: error: invalid operand
878 #CHECK: cs      %r0, %r0, -1
879 #CHECK: error: invalid operand
880 #CHECK: cs      %r0, %r0, 4096
881 #CHECK: error: invalid use of indexed addressing
882 #CHECK: cs      %r0, %r0, 0(%r1,%r2)
883
884         cs      %r0, %r0, -1
885         cs      %r0, %r0, 4096
886         cs      %r0, %r0, 0(%r1,%r2)
887
888 #CHECK: error: invalid operand
889 #CHECK: csg     %r0, %r0, -524289
890 #CHECK: error: invalid operand
891 #CHECK: csg     %r0, %r0, 524288
892 #CHECK: error: invalid use of indexed addressing
893 #CHECK: csg     %r0, %r0, 0(%r1,%r2)
894
895         csg     %r0, %r0, -524289
896         csg     %r0, %r0, 524288
897         csg     %r0, %r0, 0(%r1,%r2)
898
899 #CHECK: error: invalid operand
900 #CHECK: csy     %r0, %r0, -524289
901 #CHECK: error: invalid operand
902 #CHECK: csy     %r0, %r0, 524288
903 #CHECK: error: invalid use of indexed addressing
904 #CHECK: csy     %r0, %r0, 0(%r1,%r2)
905
906         csy     %r0, %r0, -524289
907         csy     %r0, %r0, 524288
908         csy     %r0, %r0, 0(%r1,%r2)
909
910 #CHECK: error: invalid register pair
911 #CHECK: cxbr    %f0, %f2
912 #CHECK: error: invalid register pair
913 #CHECK: cxbr    %f2, %f0
914
915         cxbr    %f0, %f2
916         cxbr    %f2, %f0
917
918 #CHECK: error: invalid register pair
919 #CHECK: cxfbr   %f2, %r0
920
921         cxfbr   %f2, %r0
922
923 #CHECK: error: invalid register pair
924 #CHECK: cxgbr   %f2, %r0
925
926         cxgbr   %f2, %r0
927
928 #CHECK: error: invalid operand
929 #CHECK: cy      %r0, -524289
930 #CHECK: error: invalid operand
931 #CHECK: cy      %r0, 524288
932
933         cy      %r0, -524289
934         cy      %r0, 524288
935
936 #CHECK: error: invalid operand
937 #CHECK: ddb     %f0, -1
938 #CHECK: error: invalid operand
939 #CHECK: ddb     %f0, 4096
940
941         ddb     %f0, -1
942         ddb     %f0, 4096
943
944 #CHECK: error: invalid operand
945 #CHECK: deb     %f0, -1
946 #CHECK: error: invalid operand
947 #CHECK: deb     %f0, 4096
948
949         deb     %f0, -1
950         deb     %f0, 4096
951
952 #CHECK: error: invalid operand
953 #CHECK: dl      %r0, -524289
954 #CHECK: error: invalid operand
955 #CHECK: dl      %r0, 524288
956 #CHECK: error: invalid register pair
957 #CHECK: dl      %r1, 0
958
959         dl      %r0, -524289
960         dl      %r0, 524288
961         dl      %r1, 0
962
963 #CHECK: error: invalid operand
964 #CHECK: dlg     %r0, -524289
965 #CHECK: error: invalid operand
966 #CHECK: dlg     %r0, 524288
967 #CHECK: error: invalid register pair
968 #CHECK: dlg     %r1, 0
969
970         dlg     %r0, -524289
971         dlg     %r0, 524288
972         dlg     %r1, 0
973
974 #CHECK: error: invalid register pair
975 #CHECK: dlgr    %r1, %r0
976
977         dlgr    %r1, %r0
978
979 #CHECK: error: invalid register pair
980 #CHECK: dlr     %r1, %r0
981
982         dlr     %r1, %r0
983
984 #CHECK: error: invalid operand
985 #CHECK: dsg     %r0, -524289
986 #CHECK: error: invalid operand
987 #CHECK: dsg     %r0, 524288
988 #CHECK: error: invalid register pair
989 #CHECK: dsg     %r1, 0
990
991         dsg     %r0, -524289
992         dsg     %r0, 524288
993         dsg     %r1, 0
994
995 #CHECK: error: invalid operand
996 #CHECK: dsgf    %r0, -524289
997 #CHECK: error: invalid operand
998 #CHECK: dsgf    %r0, 524288
999 #CHECK: error: invalid register pair
1000 #CHECK: dsgf    %r1, 0
1001
1002         dsgf    %r0, -524289
1003         dsgf    %r0, 524288
1004         dsgf    %r1, 0
1005
1006 #CHECK: error: invalid register pair
1007 #CHECK: dsgfr   %r1, %r0
1008
1009         dsgfr   %r1, %r0
1010
1011 #CHECK: error: invalid register pair
1012 #CHECK: dsgr    %r1, %r0
1013
1014         dsgr    %r1, %r0
1015
1016 #CHECK: error: invalid register pair
1017 #CHECK: dxbr    %f0, %f2
1018 #CHECK: error: invalid register pair
1019 #CHECK: dxbr    %f2, %f0
1020
1021         dxbr    %f0, %f2
1022         dxbr    %f2, %f0
1023
1024 #CHECK: error: invalid operand
1025 #CHECK: fidbr   %f0, -1, %f0
1026 #CHECK: error: invalid operand
1027 #CHECK: fidbr   %f0, 16, %f0
1028
1029         fidbr   %f0, -1, %f0
1030         fidbr   %f0, 16, %f0
1031
1032 #CHECK: error: invalid operand
1033 #CHECK: fiebr   %f0, -1, %f0
1034 #CHECK: error: invalid operand
1035 #CHECK: fiebr   %f0, 16, %f0
1036
1037         fiebr   %f0, -1, %f0
1038         fiebr   %f0, 16, %f0
1039
1040 #CHECK: error: invalid operand
1041 #CHECK: fixbr   %f0, -1, %f0
1042 #CHECK: error: invalid operand
1043 #CHECK: fixbr   %f0, 16, %f0
1044 #CHECK: error: invalid register pair
1045 #CHECK: fixbr   %f0, 0, %f2
1046 #CHECK: error: invalid register pair
1047 #CHECK: fixbr   %f2, 0, %f0
1048
1049         fixbr   %f0, -1, %f0
1050         fixbr   %f0, 16, %f0
1051         fixbr   %f0, 0, %f2
1052         fixbr   %f2, 0, %f0
1053
1054 #CHECK: error: invalid register pair
1055 #CHECK: flogr   %r1, %r0
1056
1057         flogr   %r1, %r0
1058
1059 #CHECK: error: invalid operand
1060 #CHECK: ic      %r0, -1
1061 #CHECK: error: invalid operand
1062 #CHECK: ic      %r0, 4096
1063
1064         ic      %r0, -1
1065         ic      %r0, 4096
1066
1067 #CHECK: error: invalid operand
1068 #CHECK: icy     %r0, -524289
1069 #CHECK: error: invalid operand
1070 #CHECK: icy     %r0, 524288
1071
1072         icy     %r0, -524289
1073         icy     %r0, 524288
1074
1075 #CHECK: error: invalid operand
1076 #CHECK: iihf    %r0, -1
1077 #CHECK: error: invalid operand
1078 #CHECK: iihf    %r0, 1 << 32
1079
1080         iihf    %r0, -1
1081         iihf    %r0, 1 << 32
1082
1083 #CHECK: error: invalid operand
1084 #CHECK: iihh    %r0, -1
1085 #CHECK: error: invalid operand
1086 #CHECK: iihh    %r0, 0x10000
1087
1088         iihh    %r0, -1
1089         iihh    %r0, 0x10000
1090
1091 #CHECK: error: invalid operand
1092 #CHECK: iihl    %r0, -1
1093 #CHECK: error: invalid operand
1094 #CHECK: iihl    %r0, 0x10000
1095
1096         iihl    %r0, -1
1097         iihl    %r0, 0x10000
1098
1099 #CHECK: error: invalid operand
1100 #CHECK: iilf    %r0, -1
1101 #CHECK: error: invalid operand
1102 #CHECK: iilf    %r0, 1 << 32
1103
1104         iilf    %r0, -1
1105         iilf    %r0, 1 << 32
1106
1107 #CHECK: error: invalid operand
1108 #CHECK: iilh    %r0, -1
1109 #CHECK: error: invalid operand
1110 #CHECK: iilh    %r0, 0x10000
1111
1112         iilh    %r0, -1
1113         iilh    %r0, 0x10000
1114
1115 #CHECK: error: invalid operand
1116 #CHECK: iill    %r0, -1
1117 #CHECK: error: invalid operand
1118 #CHECK: iill    %r0, 0x10000
1119
1120         iill    %r0, -1
1121         iill    %r0, 0x10000
1122
1123 #CHECK: error: invalid operand
1124 #CHECK: l       %r0, -1
1125 #CHECK: error: invalid operand
1126 #CHECK: l       %r0, 4096
1127
1128         l       %r0, -1
1129         l       %r0, 4096
1130
1131 #CHECK: error: invalid operand
1132 #CHECK: la      %r0, -1
1133 #CHECK: error: invalid operand
1134 #CHECK: la      %r0, 4096
1135
1136         la      %r0, -1
1137         la      %r0, 4096
1138
1139 #CHECK: error: offset out of range
1140 #CHECK: larl    %r0, -0x1000000002
1141 #CHECK: error: offset out of range
1142 #CHECK: larl    %r0, -1
1143 #CHECK: error: offset out of range
1144 #CHECK: larl    %r0, 1
1145 #CHECK: error: offset out of range
1146 #CHECK: larl    %r0, 0x100000000
1147
1148         larl    %r0, -0x1000000002
1149         larl    %r0, -1
1150         larl    %r0, 1
1151         larl    %r0, 0x100000000
1152
1153 #CHECK: error: invalid operand
1154 #CHECK: lay     %r0, -524289
1155 #CHECK: error: invalid operand
1156 #CHECK: lay     %r0, 524288
1157
1158         lay     %r0, -524289
1159         lay     %r0, 524288
1160
1161 #CHECK: error: invalid operand
1162 #CHECK: lb      %r0, -524289
1163 #CHECK: error: invalid operand
1164 #CHECK: lb      %r0, 524288
1165
1166         lb      %r0, -524289
1167         lb      %r0, 524288
1168
1169 #CHECK: error: invalid register pair
1170 #CHECK: lcxbr   %f0, %f2
1171 #CHECK: error: invalid register pair
1172 #CHECK: lcxbr   %f2, %f0
1173
1174         lcxbr   %f0, %f2
1175         lcxbr   %f2, %f0
1176
1177 #CHECK: error: invalid operand
1178 #CHECK: ld      %f0, -1
1179 #CHECK: error: invalid operand
1180 #CHECK: ld      %f0, 4096
1181
1182         ld      %f0, -1
1183         ld      %f0, 4096
1184
1185 #CHECK: error: invalid operand
1186 #CHECK: ldeb    %f0, -1
1187 #CHECK: error: invalid operand
1188 #CHECK: ldeb    %f0, 4096
1189
1190         ldeb    %f0, -1
1191         ldeb    %f0, 4096
1192
1193 #CHECK: error: invalid register pair
1194 #CHECK: ldxbr   %f0, %f2
1195 #CHECK: error: invalid register pair
1196 #CHECK: ldxbr   %f2, %f0
1197
1198         ldxbr   %f0, %f2
1199         ldxbr   %f2, %f0
1200
1201 #CHECK: error: invalid operand
1202 #CHECK: ldy     %f0, -524289
1203 #CHECK: error: invalid operand
1204 #CHECK: ldy     %f0, 524288
1205
1206         ldy     %f0, -524289
1207         ldy     %f0, 524288
1208
1209 #CHECK: error: invalid operand
1210 #CHECK: le      %f0, -1
1211 #CHECK: error: invalid operand
1212 #CHECK: le      %f0, 4096
1213
1214         le      %f0, -1
1215         le      %f0, 4096
1216
1217 #CHECK: error: invalid register pair
1218 #CHECK: lexbr   %f0, %f2
1219 #CHECK: error: invalid register pair
1220 #CHECK: lexbr   %f2, %f0
1221
1222         lexbr   %f0, %f2
1223         lexbr   %f2, %f0
1224
1225 #CHECK: error: invalid operand
1226 #CHECK: ley     %f0, -524289
1227 #CHECK: error: invalid operand
1228 #CHECK: ley     %f0, 524288
1229
1230         ley     %f0, -524289
1231         ley     %f0, 524288
1232
1233 #CHECK: error: invalid operand
1234 #CHECK: lg      %r0, -524289
1235 #CHECK: error: invalid operand
1236 #CHECK: lg      %r0, 524288
1237
1238         lg      %r0, -524289
1239         lg      %r0, 524288
1240
1241 #CHECK: error: invalid operand
1242 #CHECK: lgb     %r0, -524289
1243 #CHECK: error: invalid operand
1244 #CHECK: lgb     %r0, 524288
1245
1246         lgb     %r0, -524289
1247         lgb     %r0, 524288
1248
1249 #CHECK: error: invalid operand
1250 #CHECK: lgf     %r0, -524289
1251 #CHECK: error: invalid operand
1252 #CHECK: lgf     %r0, 524288
1253
1254         lgf     %r0, -524289
1255         lgf     %r0, 524288
1256
1257 #CHECK: error: invalid operand
1258 #CHECK: lgfi    %r0, (-1 << 31) - 1
1259 #CHECK: error: invalid operand
1260 #CHECK: lgfi    %r0, (1 << 31)
1261
1262         lgfi    %r0, (-1 << 31) - 1
1263         lgfi    %r0, (1 << 31)
1264
1265 #CHECK: error: offset out of range
1266 #CHECK: lgfrl   %r0, -0x1000000002
1267 #CHECK: error: offset out of range
1268 #CHECK: lgfrl   %r0, -1
1269 #CHECK: error: offset out of range
1270 #CHECK: lgfrl   %r0, 1
1271 #CHECK: error: offset out of range
1272 #CHECK: lgfrl   %r0, 0x100000000
1273
1274         lgfrl   %r0, -0x1000000002
1275         lgfrl   %r0, -1
1276         lgfrl   %r0, 1
1277         lgfrl   %r0, 0x100000000
1278
1279 #CHECK: error: invalid operand
1280 #CHECK: lgh     %r0, -524289
1281 #CHECK: error: invalid operand
1282 #CHECK: lgh     %r0, 524288
1283
1284         lgh     %r0, -524289
1285         lgh     %r0, 524288
1286
1287 #CHECK: error: invalid operand
1288 #CHECK: lghi    %r0, -32769
1289 #CHECK: error: invalid operand
1290 #CHECK: lghi    %r0, 32768
1291 #CHECK: error: invalid operand
1292 #CHECK: lghi    %r0, foo
1293
1294         lghi    %r0, -32769
1295         lghi    %r0, 32768
1296         lghi    %r0, foo
1297
1298 #CHECK: error: offset out of range
1299 #CHECK: lghrl   %r0, -0x1000000002
1300 #CHECK: error: offset out of range
1301 #CHECK: lghrl   %r0, -1
1302 #CHECK: error: offset out of range
1303 #CHECK: lghrl   %r0, 1
1304 #CHECK: error: offset out of range
1305 #CHECK: lghrl   %r0, 0x100000000
1306
1307         lghrl   %r0, -0x1000000002
1308         lghrl   %r0, -1
1309         lghrl   %r0, 1
1310         lghrl   %r0, 0x100000000
1311
1312 #CHECK: error: offset out of range
1313 #CHECK: lgrl    %r0, -0x1000000002
1314 #CHECK: error: offset out of range
1315 #CHECK: lgrl    %r0, -1
1316 #CHECK: error: offset out of range
1317 #CHECK: lgrl    %r0, 1
1318 #CHECK: error: offset out of range
1319 #CHECK: lgrl    %r0, 0x100000000
1320
1321         lgrl    %r0, -0x1000000002
1322         lgrl    %r0, -1
1323         lgrl    %r0, 1
1324         lgrl    %r0, 0x100000000
1325
1326 #CHECK: error: invalid operand
1327 #CHECK: lh      %r0, -1
1328 #CHECK: error: invalid operand
1329 #CHECK: lh      %r0, 4096
1330
1331         lh      %r0, -1
1332         lh      %r0, 4096
1333
1334 #CHECK: error: invalid operand
1335 #CHECK: lhi     %r0, -32769
1336 #CHECK: error: invalid operand
1337 #CHECK: lhi     %r0, 32768
1338 #CHECK: error: invalid operand
1339 #CHECK: lhi     %r0, foo
1340
1341         lhi     %r0, -32769
1342         lhi     %r0, 32768
1343         lhi     %r0, foo
1344
1345 #CHECK: error: offset out of range
1346 #CHECK: lhrl    %r0, -0x1000000002
1347 #CHECK: error: offset out of range
1348 #CHECK: lhrl    %r0, -1
1349 #CHECK: error: offset out of range
1350 #CHECK: lhrl    %r0, 1
1351 #CHECK: error: offset out of range
1352 #CHECK: lhrl    %r0, 0x100000000
1353
1354         lhrl    %r0, -0x1000000002
1355         lhrl    %r0, -1
1356         lhrl    %r0, 1
1357         lhrl    %r0, 0x100000000
1358
1359 #CHECK: error: invalid operand
1360 #CHECK: lhy     %r0, -524289
1361 #CHECK: error: invalid operand
1362 #CHECK: lhy     %r0, 524288
1363
1364         lhy     %r0, -524289
1365         lhy     %r0, 524288
1366
1367 #CHECK: error: invalid operand
1368 #CHECK: llc     %r0, -524289
1369 #CHECK: error: invalid operand
1370 #CHECK: llc     %r0, 524288
1371
1372         llc     %r0, -524289
1373         llc     %r0, 524288
1374
1375 #CHECK: error: invalid operand
1376 #CHECK: llgc    %r0, -524289
1377 #CHECK: error: invalid operand
1378 #CHECK: llgc    %r0, 524288
1379
1380         llgc    %r0, -524289
1381         llgc    %r0, 524288
1382
1383 #CHECK: error: invalid operand
1384 #CHECK: llgf    %r0, -524289
1385 #CHECK: error: invalid operand
1386 #CHECK: llgf    %r0, 524288
1387
1388         llgf    %r0, -524289
1389         llgf    %r0, 524288
1390
1391 #CHECK: error: offset out of range
1392 #CHECK: llgfrl  %r0, -0x1000000002
1393 #CHECK: error: offset out of range
1394 #CHECK: llgfrl  %r0, -1
1395 #CHECK: error: offset out of range
1396 #CHECK: llgfrl  %r0, 1
1397 #CHECK: error: offset out of range
1398 #CHECK: llgfrl  %r0, 0x100000000
1399
1400         llgfrl  %r0, -0x1000000002
1401         llgfrl  %r0, -1
1402         llgfrl  %r0, 1
1403         llgfrl  %r0, 0x100000000
1404
1405 #CHECK: error: invalid operand
1406 #CHECK: llgh    %r0, -524289
1407 #CHECK: error: invalid operand
1408 #CHECK: llgh    %r0, 524288
1409
1410         llgh    %r0, -524289
1411         llgh    %r0, 524288
1412
1413 #CHECK: error: offset out of range
1414 #CHECK: llghrl  %r0, -0x1000000002
1415 #CHECK: error: offset out of range
1416 #CHECK: llghrl  %r0, -1
1417 #CHECK: error: offset out of range
1418 #CHECK: llghrl  %r0, 1
1419 #CHECK: error: offset out of range
1420 #CHECK: llghrl  %r0, 0x100000000
1421
1422         llghrl  %r0, -0x1000000002
1423         llghrl  %r0, -1
1424         llghrl  %r0, 1
1425         llghrl  %r0, 0x100000000
1426
1427 #CHECK: error: invalid operand
1428 #CHECK: llh     %r0, -524289
1429 #CHECK: error: invalid operand
1430 #CHECK: llh     %r0, 524288
1431
1432         llh     %r0, -524289
1433         llh     %r0, 524288
1434
1435 #CHECK: error: offset out of range
1436 #CHECK: llhrl   %r0, -0x1000000002
1437 #CHECK: error: offset out of range
1438 #CHECK: llhrl   %r0, -1
1439 #CHECK: error: offset out of range
1440 #CHECK: llhrl   %r0, 1
1441 #CHECK: error: offset out of range
1442 #CHECK: llhrl   %r0, 0x100000000
1443
1444         llhrl   %r0, -0x1000000002
1445         llhrl   %r0, -1
1446         llhrl   %r0, 1
1447         llhrl   %r0, 0x100000000
1448
1449 #CHECK: error: invalid operand
1450 #CHECK: llihf   %r0, -1
1451 #CHECK: error: invalid operand
1452 #CHECK: llihf   %r0, 1 << 32
1453
1454         llihf   %r0, -1
1455         llihf   %r0, 1 << 32
1456
1457 #CHECK: error: invalid operand
1458 #CHECK: llihh   %r0, -1
1459 #CHECK: error: invalid operand
1460 #CHECK: llihh   %r0, 0x10000
1461
1462         llihh   %r0, -1
1463         llihh   %r0, 0x10000
1464
1465 #CHECK: error: invalid operand
1466 #CHECK: llihl   %r0, -1
1467 #CHECK: error: invalid operand
1468 #CHECK: llihl   %r0, 0x10000
1469
1470         llihl   %r0, -1
1471         llihl   %r0, 0x10000
1472
1473 #CHECK: error: invalid operand
1474 #CHECK: llilf   %r0, -1
1475 #CHECK: error: invalid operand
1476 #CHECK: llilf   %r0, 1 << 32
1477
1478         llilf   %r0, -1
1479         llilf   %r0, 1 << 32
1480
1481 #CHECK: error: invalid operand
1482 #CHECK: llilh   %r0, -1
1483 #CHECK: error: invalid operand
1484 #CHECK: llilh   %r0, 0x10000
1485
1486         llilh   %r0, -1
1487         llilh   %r0, 0x10000
1488
1489 #CHECK: error: invalid operand
1490 #CHECK: llill   %r0, -1
1491 #CHECK: error: invalid operand
1492 #CHECK: llill   %r0, 0x10000
1493
1494         llill   %r0, -1
1495         llill   %r0, 0x10000
1496
1497 #CHECK: error: invalid operand
1498 #CHECK: lmg     %r0, %r0, -524289
1499 #CHECK: error: invalid operand
1500 #CHECK: lmg     %r0, %r0, 524288
1501 #CHECK: error: invalid use of indexed addressing
1502 #CHECK: lmg     %r0, %r0, 0(%r1,%r2)
1503
1504         lmg     %r0, %r0, -524289
1505         lmg     %r0, %r0, 524288
1506         lmg     %r0, %r0, 0(%r1,%r2)
1507
1508 #CHECK: error: invalid register pair
1509 #CHECK: lnxbr   %f0, %f2
1510 #CHECK: error: invalid register pair
1511 #CHECK: lnxbr   %f2, %f0
1512
1513         lnxbr   %f0, %f2
1514         lnxbr   %f2, %f0
1515
1516 #CHECK: error: invalid register pair
1517 #CHECK: lpxbr   %f0, %f2
1518 #CHECK: error: invalid register pair
1519 #CHECK: lpxbr   %f2, %f0
1520
1521         lpxbr   %f0, %f2
1522         lpxbr   %f2, %f0
1523
1524 #CHECK: error: offset out of range
1525 #CHECK: lrl     %r0, -0x1000000002
1526 #CHECK: error: offset out of range
1527 #CHECK: lrl     %r0, -1
1528 #CHECK: error: offset out of range
1529 #CHECK: lrl     %r0, 1
1530 #CHECK: error: offset out of range
1531 #CHECK: lrl     %r0, 0x100000000
1532
1533         lrl     %r0, -0x1000000002
1534         lrl     %r0, -1
1535         lrl     %r0, 1
1536         lrl     %r0, 0x100000000
1537
1538 #CHECK: error: invalid operand
1539 #CHECK: lrv     %r0, -524289
1540 #CHECK: error: invalid operand
1541 #CHECK: lrv     %r0, 524288
1542
1543         lrv     %r0, -524289
1544         lrv     %r0, 524288
1545
1546 #CHECK: error: invalid operand
1547 #CHECK: lrvg    %r0, -524289
1548 #CHECK: error: invalid operand
1549 #CHECK: lrvg    %r0, 524288
1550
1551         lrvg    %r0, -524289
1552         lrvg    %r0, 524288
1553
1554 #CHECK: error: invalid register pair
1555 #CHECK: lxr     %f0, %f2
1556 #CHECK: error: invalid register pair
1557 #CHECK: lxr     %f2, %f0
1558
1559         lxr     %f0, %f2
1560         lxr     %f2, %f0
1561
1562 #CHECK: error: invalid operand
1563 #CHECK: ly      %r0, -524289
1564 #CHECK: error: invalid operand
1565 #CHECK: ly      %r0, 524288
1566
1567         ly      %r0, -524289
1568         ly      %r0, 524288
1569
1570 #CHECK: error: invalid register pair
1571 #CHECK: lzxr    %f2
1572
1573         lzxr    %f2
1574
1575 #CHECK: error: invalid operand
1576 #CHECK: madb    %f0, %f0, -1
1577 #CHECK: error: invalid operand
1578 #CHECK: madb    %f0, %f0, 4096
1579
1580         madb    %f0, %f0, -1
1581         madb    %f0, %f0, 4096
1582
1583 #CHECK: error: invalid operand
1584 #CHECK: maeb    %f0, %f0, -1
1585 #CHECK: error: invalid operand
1586 #CHECK: maeb    %f0, %f0, 4096
1587
1588         maeb    %f0, %f0, -1
1589         maeb    %f0, %f0, 4096
1590
1591 #CHECK: error: invalid operand
1592 #CHECK: mdb     %f0, -1
1593 #CHECK: error: invalid operand
1594 #CHECK: mdb     %f0, 4096
1595
1596         mdb     %f0, -1
1597         mdb     %f0, 4096
1598
1599 #CHECK: error: invalid operand
1600 #CHECK: mdeb    %f0, -1
1601 #CHECK: error: invalid operand
1602 #CHECK: mdeb    %f0, 4096
1603
1604         mdeb    %f0, -1
1605         mdeb    %f0, 4096
1606
1607 #CHECK: error: invalid operand
1608 #CHECK: meeb    %f0, -1
1609 #CHECK: error: invalid operand
1610 #CHECK: meeb    %f0, 4096
1611
1612         meeb    %f0, -1
1613         meeb    %f0, 4096
1614
1615 #CHECK: error: invalid operand
1616 #CHECK: mghi    %r0, -32769
1617 #CHECK: error: invalid operand
1618 #CHECK: mghi    %r0, 32768
1619 #CHECK: error: invalid operand
1620 #CHECK: mghi    %r0, foo
1621
1622         mghi    %r0, -32769
1623         mghi    %r0, 32768
1624         mghi    %r0, foo
1625
1626 #CHECK: error: invalid operand
1627 #CHECK: mh      %r0, -1
1628 #CHECK: error: invalid operand
1629 #CHECK: mh      %r0, 4096
1630
1631         mh      %r0, -1
1632         mh      %r0, 4096
1633
1634 #CHECK: error: invalid operand
1635 #CHECK: mhi     %r0, -32769
1636 #CHECK: error: invalid operand
1637 #CHECK: mhi     %r0, 32768
1638 #CHECK: error: invalid operand
1639 #CHECK: mhi     %r0, foo
1640
1641         mhi     %r0, -32769
1642         mhi     %r0, 32768
1643         mhi     %r0, foo
1644
1645 #CHECK: error: invalid operand
1646 #CHECK: mhy     %r0, -524289
1647 #CHECK: error: invalid operand
1648 #CHECK: mhy     %r0, 524288
1649
1650         mhy     %r0, -524289
1651         mhy     %r0, 524288
1652
1653 #CHECK: error: invalid operand
1654 #CHECK: mlg     %r0, -524289
1655 #CHECK: error: invalid operand
1656 #CHECK: mlg     %r0, 524288
1657 #CHECK: error: invalid register pair
1658 #CHECK: mlg     %r1, 0
1659
1660         mlg     %r0, -524289
1661         mlg     %r0, 524288
1662         mlg     %r1, 0
1663
1664 #CHECK: error: invalid register pair
1665 #CHECK: mlgr    %r1, %r0
1666
1667         mlgr    %r1, %r0
1668
1669 #CHECK: error: invalid operand
1670 #CHECK: ms      %r0, -1
1671 #CHECK: error: invalid operand
1672 #CHECK: ms      %r0, 4096
1673
1674         ms      %r0, -1
1675         ms      %r0, 4096
1676
1677 #CHECK: error: invalid operand
1678 #CHECK: msdb    %f0, %f0, -1
1679 #CHECK: error: invalid operand
1680 #CHECK: msdb    %f0, %f0, 4096
1681
1682         msdb    %f0, %f0, -1
1683         msdb    %f0, %f0, 4096
1684
1685 #CHECK: error: invalid operand
1686 #CHECK: mseb    %f0, %f0, -1
1687 #CHECK: error: invalid operand
1688 #CHECK: mseb    %f0, %f0, 4096
1689
1690         mseb    %f0, %f0, -1
1691         mseb    %f0, %f0, 4096
1692
1693 #CHECK: error: invalid operand
1694 #CHECK: msfi    %r0, (-1 << 31) - 1
1695 #CHECK: error: invalid operand
1696 #CHECK: msfi    %r0, (1 << 31)
1697
1698         msfi    %r0, (-1 << 31) - 1
1699         msfi    %r0, (1 << 31)
1700
1701 #CHECK: error: invalid operand
1702 #CHECK: msg     %r0, -524289
1703 #CHECK: error: invalid operand
1704 #CHECK: msg     %r0, 524288
1705
1706         msg     %r0, -524289
1707         msg     %r0, 524288
1708
1709 #CHECK: error: invalid operand
1710 #CHECK: msgf    %r0, -524289
1711 #CHECK: error: invalid operand
1712 #CHECK: msgf    %r0, 524288
1713
1714         msgf    %r0, -524289
1715         msgf    %r0, 524288
1716
1717 #CHECK: error: invalid operand
1718 #CHECK: msgfi   %r0, (-1 << 31) - 1
1719 #CHECK: error: invalid operand
1720 #CHECK: msgfi   %r0, (1 << 31)
1721
1722         msgfi   %r0, (-1 << 31) - 1
1723         msgfi   %r0, (1 << 31)
1724
1725 #CHECK: error: invalid operand
1726 #CHECK: msy     %r0, -524289
1727 #CHECK: error: invalid operand
1728 #CHECK: msy     %r0, 524288
1729
1730         msy     %r0, -524289
1731         msy     %r0, 524288
1732
1733 #CHECK: error: missing length in address
1734 #CHECK: mvc     0, 0
1735 #CHECK: error: missing length in address
1736 #CHECK: mvc     0(%r1), 0(%r1)
1737 #CHECK: error: invalid use of length addressing
1738 #CHECK: mvc     0(1,%r1), 0(2,%r1)
1739 #CHECK: error: invalid operand
1740 #CHECK: mvc     0(0,%r1), 0(%r1)
1741 #CHECK: error: invalid operand
1742 #CHECK: mvc     0(257,%r1), 0(%r1)
1743 #CHECK: error: invalid operand
1744 #CHECK: mvc     -1(1,%r1), 0(%r1)
1745 #CHECK: error: invalid operand
1746 #CHECK: mvc     4096(1,%r1), 0(%r1)
1747 #CHECK: error: invalid operand
1748 #CHECK: mvc     0(1,%r1), -1(%r1)
1749 #CHECK: error: invalid operand
1750 #CHECK: mvc     0(1,%r1), 4096(%r1)
1751 #CHECK: error: %r0 used in an address
1752 #CHECK: mvc     0(1,%r0), 0(%r1)
1753 #CHECK: error: %r0 used in an address
1754 #CHECK: mvc     0(1,%r1), 0(%r0)
1755 #CHECK: error: invalid use of indexed addressing
1756 #CHECK: mvc     0(%r1,%r2), 0(%r1)
1757 #CHECK: error: invalid use of indexed addressing
1758 #CHECK: mvc     0(1,%r2), 0(%r1,%r2)
1759 #CHECK: error: unknown token in expression
1760 #CHECK: mvc     0(-), 0
1761
1762         mvc     0, 0
1763         mvc     0(%r1), 0(%r1)
1764         mvc     0(1,%r1), 0(2,%r1)
1765         mvc     0(0,%r1), 0(%r1)
1766         mvc     0(257,%r1), 0(%r1)
1767         mvc     -1(1,%r1), 0(%r1)
1768         mvc     4096(1,%r1), 0(%r1)
1769         mvc     0(1,%r1), -1(%r1)
1770         mvc     0(1,%r1), 4096(%r1)
1771         mvc     0(1,%r0), 0(%r1)
1772         mvc     0(1,%r1), 0(%r0)
1773         mvc     0(%r1,%r2), 0(%r1)
1774         mvc     0(1,%r2), 0(%r1,%r2)
1775         mvc     0(-), 0
1776
1777 #CHECK: error: invalid operand
1778 #CHECK: mvghi   -1, 0
1779 #CHECK: error: invalid operand
1780 #CHECK: mvghi   4096, 0
1781 #CHECK: error: invalid use of indexed addressing
1782 #CHECK: mvghi   0(%r1,%r2), 0
1783 #CHECK: error: invalid operand
1784 #CHECK: mvghi   0, -32769
1785 #CHECK: error: invalid operand
1786 #CHECK: mvghi   0, 32768
1787
1788         mvghi   -1, 0
1789         mvghi   4096, 0
1790         mvghi   0(%r1,%r2), 0
1791         mvghi   0, -32769
1792         mvghi   0, 32768
1793
1794 #CHECK: error: invalid operand
1795 #CHECK: mvhhi   -1, 0
1796 #CHECK: error: invalid operand
1797 #CHECK: mvhhi   4096, 0
1798 #CHECK: error: invalid use of indexed addressing
1799 #CHECK: mvhhi   0(%r1,%r2), 0
1800 #CHECK: error: invalid operand
1801 #CHECK: mvhhi   0, -32769
1802 #CHECK: error: invalid operand
1803 #CHECK: mvhhi   0, 32768
1804
1805         mvhhi   -1, 0
1806         mvhhi   4096, 0
1807         mvhhi   0(%r1,%r2), 0
1808         mvhhi   0, -32769
1809         mvhhi   0, 32768
1810
1811 #CHECK: error: invalid operand
1812 #CHECK: mvhi    -1, 0
1813 #CHECK: error: invalid operand
1814 #CHECK: mvhi    4096, 0
1815 #CHECK: error: invalid use of indexed addressing
1816 #CHECK: mvhi    0(%r1,%r2), 0
1817 #CHECK: error: invalid operand
1818 #CHECK: mvhi    0, -32769
1819 #CHECK: error: invalid operand
1820 #CHECK: mvhi    0, 32768
1821
1822         mvhi    -1, 0
1823         mvhi    4096, 0
1824         mvhi    0(%r1,%r2), 0
1825         mvhi    0, -32769
1826         mvhi    0, 32768
1827
1828 #CHECK: error: invalid operand
1829 #CHECK: mvi     -1, 0
1830 #CHECK: error: invalid operand
1831 #CHECK: mvi     4096, 0
1832 #CHECK: error: invalid use of indexed addressing
1833 #CHECK: mvi     0(%r1,%r2), 0
1834 #CHECK: error: invalid operand
1835 #CHECK: mvi     0, -1
1836 #CHECK: error: invalid operand
1837 #CHECK: mvi     0, 256
1838
1839         mvi     -1, 0
1840         mvi     4096, 0
1841         mvi     0(%r1,%r2), 0
1842         mvi     0, -1
1843         mvi     0, 256
1844
1845 #CHECK: error: invalid operand
1846 #CHECK: mviy    -524289, 0
1847 #CHECK: error: invalid operand
1848 #CHECK: mviy    524288, 0
1849 #CHECK: error: invalid use of indexed addressing
1850 #CHECK: mviy    0(%r1,%r2), 0
1851 #CHECK: error: invalid operand
1852 #CHECK: mviy    0, -1
1853 #CHECK: error: invalid operand
1854 #CHECK: mviy    0, 256
1855
1856         mviy    -524289, 0
1857         mviy    524288, 0
1858         mviy    0(%r1,%r2), 0
1859         mviy    0, -1
1860         mviy    0, 256
1861
1862 #CHECK: error: invalid register pair
1863 #CHECK: mxbr    %f0, %f2
1864 #CHECK: error: invalid register pair
1865 #CHECK: mxbr    %f2, %f0
1866
1867         mxbr    %f0, %f2
1868         mxbr    %f2, %f0
1869
1870 #CHECK: error: invalid register pair
1871 #CHECK: mxdb    %f2, 0
1872 #CHECK: error: invalid operand
1873 #CHECK: mxdb    %f0, -1
1874 #CHECK: error: invalid operand
1875 #CHECK: mxdb    %f0, 4096
1876
1877         mxdb    %f2, 0
1878         mxdb    %f0, -1
1879         mxdb    %f0, 4096
1880
1881 #CHECK: error: invalid register pair
1882 #CHECK: mxdbr   %f2, %f0
1883
1884         mxdbr   %f2, %f0
1885
1886 #CHECK: error: invalid operand
1887 #CHECK: n       %r0, -1
1888 #CHECK: error: invalid operand
1889 #CHECK: n       %r0, 4096
1890
1891         n       %r0, -1
1892         n       %r0, 4096
1893
1894 #CHECK: error: invalid operand
1895 #CHECK: ng      %r0, -524289
1896 #CHECK: error: invalid operand
1897 #CHECK: ng      %r0, 524288
1898
1899         ng      %r0, -524289
1900         ng      %r0, 524288
1901
1902 #CHECK: error: invalid operand
1903 #CHECK: ni      -1, 0
1904 #CHECK: error: invalid operand
1905 #CHECK: ni      4096, 0
1906 #CHECK: error: invalid use of indexed addressing
1907 #CHECK: ni      0(%r1,%r2), 0
1908 #CHECK: error: invalid operand
1909 #CHECK: ni      0, -1
1910 #CHECK: error: invalid operand
1911 #CHECK: ni      0, 256
1912
1913         ni      -1, 0
1914         ni      4096, 0
1915         ni      0(%r1,%r2), 0
1916         ni      0, -1
1917         ni      0, 256
1918
1919 #CHECK: error: invalid operand
1920 #CHECK: nihf    %r0, -1
1921 #CHECK: error: invalid operand
1922 #CHECK: nihf    %r0, 1 << 32
1923
1924         nihf    %r0, -1
1925         nihf    %r0, 1 << 32
1926
1927 #CHECK: error: invalid operand
1928 #CHECK: nihh    %r0, -1
1929 #CHECK: error: invalid operand
1930 #CHECK: nihh    %r0, 0x10000
1931
1932         nihh    %r0, -1
1933         nihh    %r0, 0x10000
1934
1935 #CHECK: error: invalid operand
1936 #CHECK: nihl    %r0, -1
1937 #CHECK: error: invalid operand
1938 #CHECK: nihl    %r0, 0x10000
1939
1940         nihl    %r0, -1
1941         nihl    %r0, 0x10000
1942
1943 #CHECK: error: invalid operand
1944 #CHECK: nilf    %r0, -1
1945 #CHECK: error: invalid operand
1946 #CHECK: nilf    %r0, 1 << 32
1947
1948         nilf    %r0, -1
1949         nilf    %r0, 1 << 32
1950
1951 #CHECK: error: invalid operand
1952 #CHECK: nilh    %r0, -1
1953 #CHECK: error: invalid operand
1954 #CHECK: nilh    %r0, 0x10000
1955
1956         nilh    %r0, -1
1957         nilh    %r0, 0x10000
1958
1959 #CHECK: error: invalid operand
1960 #CHECK: nill    %r0, -1
1961 #CHECK: error: invalid operand
1962 #CHECK: nill    %r0, 0x10000
1963
1964         nill    %r0, -1
1965         nill    %r0, 0x10000
1966
1967 #CHECK: error: invalid operand
1968 #CHECK: niy     -524289, 0
1969 #CHECK: error: invalid operand
1970 #CHECK: niy     524288, 0
1971 #CHECK: error: invalid use of indexed addressing
1972 #CHECK: niy     0(%r1,%r2), 0
1973 #CHECK: error: invalid operand
1974 #CHECK: niy     0, -1
1975 #CHECK: error: invalid operand
1976 #CHECK: niy     0, 256
1977
1978         niy     -524289, 0
1979         niy     524288, 0
1980         niy     0(%r1,%r2), 0
1981         niy     0, -1
1982         niy     0, 256
1983
1984 #CHECK: error: invalid operand
1985 #CHECK: ny      %r0, -524289
1986 #CHECK: error: invalid operand
1987 #CHECK: ny      %r0, 524288
1988
1989         ny      %r0, -524289
1990         ny      %r0, 524288
1991
1992 #CHECK: error: invalid operand
1993 #CHECK: o       %r0, -1
1994 #CHECK: error: invalid operand
1995 #CHECK: o       %r0, 4096
1996
1997         o       %r0, -1
1998         o       %r0, 4096
1999
2000 #CHECK: error: invalid operand
2001 #CHECK: og      %r0, -524289
2002 #CHECK: error: invalid operand
2003 #CHECK: og      %r0, 524288
2004
2005         og      %r0, -524289
2006         og      %r0, 524288
2007
2008 #CHECK: error: invalid operand
2009 #CHECK: oi      -1, 0
2010 #CHECK: error: invalid operand
2011 #CHECK: oi      4096, 0
2012 #CHECK: error: invalid use of indexed addressing
2013 #CHECK: oi      0(%r1,%r2), 0
2014 #CHECK: error: invalid operand
2015 #CHECK: oi      0, -1
2016 #CHECK: error: invalid operand
2017 #CHECK: oi      0, 256
2018
2019         oi      -1, 0
2020         oi      4096, 0
2021         oi      0(%r1,%r2), 0
2022         oi      0, -1
2023         oi      0, 256
2024
2025 #CHECK: error: invalid operand
2026 #CHECK: oihf    %r0, -1
2027 #CHECK: error: invalid operand
2028 #CHECK: oihf    %r0, 1 << 32
2029
2030         oihf    %r0, -1
2031         oihf    %r0, 1 << 32
2032
2033 #CHECK: error: invalid operand
2034 #CHECK: oihh    %r0, -1
2035 #CHECK: error: invalid operand
2036 #CHECK: oihh    %r0, 0x10000
2037
2038         oihh    %r0, -1
2039         oihh    %r0, 0x10000
2040
2041 #CHECK: error: invalid operand
2042 #CHECK: oihl    %r0, -1
2043 #CHECK: error: invalid operand
2044 #CHECK: oihl    %r0, 0x10000
2045
2046         oihl    %r0, -1
2047         oihl    %r0, 0x10000
2048
2049 #CHECK: error: invalid operand
2050 #CHECK: oilf    %r0, -1
2051 #CHECK: error: invalid operand
2052 #CHECK: oilf    %r0, 1 << 32
2053
2054         oilf    %r0, -1
2055         oilf    %r0, 1 << 32
2056
2057 #CHECK: error: invalid operand
2058 #CHECK: oilh    %r0, -1
2059 #CHECK: error: invalid operand
2060 #CHECK: oilh    %r0, 0x10000
2061
2062         oilh    %r0, -1
2063         oilh    %r0, 0x10000
2064
2065 #CHECK: error: invalid operand
2066 #CHECK: oill    %r0, -1
2067 #CHECK: error: invalid operand
2068 #CHECK: oill    %r0, 0x10000
2069
2070         oill    %r0, -1
2071         oill    %r0, 0x10000
2072
2073 #CHECK: error: invalid operand
2074 #CHECK: oiy     -524289, 0
2075 #CHECK: error: invalid operand
2076 #CHECK: oiy     524288, 0
2077 #CHECK: error: invalid use of indexed addressing
2078 #CHECK: oiy     0(%r1,%r2), 0
2079 #CHECK: error: invalid operand
2080 #CHECK: oiy     0, -1
2081 #CHECK: error: invalid operand
2082 #CHECK: oiy     0, 256
2083
2084         oiy     -524289, 0
2085         oiy     524288, 0
2086         oiy     0(%r1,%r2), 0
2087         oiy     0, -1
2088         oiy     0, 256
2089
2090 #CHECK: error: invalid operand
2091 #CHECK: oy      %r0, -524289
2092 #CHECK: error: invalid operand
2093 #CHECK: oy      %r0, 524288
2094
2095         oy      %r0, -524289
2096         oy      %r0, 524288
2097
2098 #CHECK: error: invalid operand
2099 #CHECK: risbg   %r0,%r0,0,0,-1
2100 #CHECK: error: invalid operand
2101 #CHECK: risbg   %r0,%r0,0,0,64
2102 #CHECK: error: invalid operand
2103 #CHECK: risbg   %r0,%r0,0,-1,0
2104 #CHECK: error: invalid operand
2105 #CHECK: risbg   %r0,%r0,0,256,0
2106 #CHECK: error: invalid operand
2107 #CHECK: risbg   %r0,%r0,-1,0,0
2108 #CHECK: error: invalid operand
2109 #CHECK: risbg   %r0,%r0,256,0,0
2110
2111         risbg   %r0,%r0,0,0,-1
2112         risbg   %r0,%r0,0,0,64
2113         risbg   %r0,%r0,0,-1,0
2114         risbg   %r0,%r0,0,256,0
2115         risbg   %r0,%r0,-1,0,0
2116         risbg   %r0,%r0,256,0,0
2117
2118 #CHECK: error: invalid operand
2119 #CHECK: rll     %r0,%r0,-524289
2120 #CHECK: error: invalid operand
2121 #CHECK: rll     %r0,%r0,524288
2122 #CHECK: error: %r0 used in an address
2123 #CHECK: rll     %r0,%r0,0(%r0)
2124 #CHECK: error: invalid use of indexed addressing
2125 #CHECK: rll     %r0,%r0,0(%r1,%r2)
2126
2127         rll     %r0,%r0,-524289
2128         rll     %r0,%r0,524288
2129         rll     %r0,%r0,0(%r0)
2130         rll     %r0,%r0,0(%r1,%r2)
2131
2132 #CHECK: error: invalid operand
2133 #CHECK: rllg    %r0,%r0,-524289
2134 #CHECK: error: invalid operand
2135 #CHECK: rllg    %r0,%r0,524288
2136 #CHECK: error: %r0 used in an address
2137 #CHECK: rllg    %r0,%r0,0(%r0)
2138 #CHECK: error: invalid use of indexed addressing
2139 #CHECK: rllg    %r0,%r0,0(%r1,%r2)
2140
2141         rllg    %r0,%r0,-524289
2142         rllg    %r0,%r0,524288
2143         rllg    %r0,%r0,0(%r0)
2144         rllg    %r0,%r0,0(%r1,%r2)
2145
2146 #CHECK: error: invalid operand
2147 #CHECK: s       %r0, -1
2148 #CHECK: error: invalid operand
2149 #CHECK: s       %r0, 4096
2150
2151         s       %r0, -1
2152         s       %r0, 4096
2153
2154 #CHECK: error: invalid operand
2155 #CHECK: sdb     %f0, -1
2156 #CHECK: error: invalid operand
2157 #CHECK: sdb     %f0, 4096
2158
2159         sdb     %f0, -1
2160         sdb     %f0, 4096
2161
2162 #CHECK: error: invalid operand
2163 #CHECK: seb     %f0, -1
2164 #CHECK: error: invalid operand
2165 #CHECK: seb     %f0, 4096
2166
2167         seb     %f0, -1
2168         seb     %f0, 4096
2169
2170 #CHECK: error: invalid operand
2171 #CHECK: sg      %r0, -524289
2172 #CHECK: error: invalid operand
2173 #CHECK: sg      %r0, 524288
2174
2175         sg      %r0, -524289
2176         sg      %r0, 524288
2177
2178 #CHECK: error: invalid operand
2179 #CHECK: sgf     %r0, -524289
2180 #CHECK: error: invalid operand
2181 #CHECK: sgf     %r0, 524288
2182
2183         sgf     %r0, -524289
2184         sgf     %r0, 524288
2185
2186 #CHECK: error: invalid operand
2187 #CHECK: sh      %r0, -1
2188 #CHECK: error: invalid operand
2189 #CHECK: sh      %r0, 4096
2190
2191         sh      %r0, -1
2192         sh      %r0, 4096
2193
2194 #CHECK: error: invalid operand
2195 #CHECK: shy     %r0, -524289
2196 #CHECK: error: invalid operand
2197 #CHECK: shy     %r0, 524288
2198
2199         shy     %r0, -524289
2200         shy     %r0, 524288
2201
2202 #CHECK: error: invalid operand
2203 #CHECK: sl      %r0, -1
2204 #CHECK: error: invalid operand
2205 #CHECK: sl      %r0, 4096
2206
2207         sl      %r0, -1
2208         sl      %r0, 4096
2209
2210 #CHECK: error: invalid operand
2211 #CHECK: slb     %r0, -524289
2212 #CHECK: error: invalid operand
2213 #CHECK: slb     %r0, 524288
2214
2215         slb     %r0, -524289
2216         slb     %r0, 524288
2217
2218 #CHECK: error: invalid operand
2219 #CHECK: slbg    %r0, -524289
2220 #CHECK: error: invalid operand
2221 #CHECK: slbg    %r0, 524288
2222
2223         slbg    %r0, -524289
2224         slbg    %r0, 524288
2225
2226 #CHECK: error: invalid operand
2227 #CHECK: slfi    %r0, -1
2228 #CHECK: error: invalid operand
2229 #CHECK: slfi    %r0, (1 << 32)
2230
2231         slfi    %r0, -1
2232         slfi    %r0, (1 << 32)
2233
2234 #CHECK: error: invalid operand
2235 #CHECK: slg     %r0, -524289
2236 #CHECK: error: invalid operand
2237 #CHECK: slg     %r0, 524288
2238
2239         slg     %r0, -524289
2240         slg     %r0, 524288
2241
2242 #CHECK: error: invalid operand
2243 #CHECK: slgf    %r0, -524289
2244 #CHECK: error: invalid operand
2245 #CHECK: slgf    %r0, 524288
2246
2247         slgf    %r0, -524289
2248         slgf    %r0, 524288
2249
2250 #CHECK: error: invalid operand
2251 #CHECK: slgfi   %r0, -1
2252 #CHECK: error: invalid operand
2253 #CHECK: slgfi   %r0, (1 << 32)
2254
2255         slgfi   %r0, -1
2256         slgfi   %r0, (1 << 32)
2257
2258 #CHECK: error: invalid operand
2259 #CHECK: sll     %r0,-1
2260 #CHECK: error: invalid operand
2261 #CHECK: sll     %r0,4096
2262 #CHECK: error: %r0 used in an address
2263 #CHECK: sll     %r0,0(%r0)
2264 #CHECK: error: invalid use of indexed addressing
2265 #CHECK: sll     %r0,0(%r1,%r2)
2266
2267         sll     %r0,-1
2268         sll     %r0,4096
2269         sll     %r0,0(%r0)
2270         sll     %r0,0(%r1,%r2)
2271
2272 #CHECK: error: invalid operand
2273 #CHECK: sllg    %r0,%r0,-524289
2274 #CHECK: error: invalid operand
2275 #CHECK: sllg    %r0,%r0,524288
2276 #CHECK: error: %r0 used in an address
2277 #CHECK: sllg    %r0,%r0,0(%r0)
2278 #CHECK: error: invalid use of indexed addressing
2279 #CHECK: sllg    %r0,%r0,0(%r1,%r2)
2280
2281         sllg    %r0,%r0,-524289
2282         sllg    %r0,%r0,524288
2283         sllg    %r0,%r0,0(%r0)
2284         sllg    %r0,%r0,0(%r1,%r2)
2285
2286 #CHECK: error: invalid operand
2287 #CHECK: sly     %r0, -524289
2288 #CHECK: error: invalid operand
2289 #CHECK: sly     %r0, 524288
2290
2291         sly     %r0, -524289
2292         sly     %r0, 524288
2293
2294 #CHECK: error: invalid operand
2295 #CHECK: sqdb    %f0, -1
2296 #CHECK: error: invalid operand
2297 #CHECK: sqdb    %f0, 4096
2298
2299         sqdb    %f0, -1
2300         sqdb    %f0, 4096
2301
2302 #CHECK: error: invalid operand
2303 #CHECK: sqeb    %f0, -1
2304 #CHECK: error: invalid operand
2305 #CHECK: sqeb    %f0, 4096
2306
2307         sqeb    %f0, -1
2308         sqeb    %f0, 4096
2309
2310 #CHECK: error: invalid register pair
2311 #CHECK: sqxbr   %f0, %f2
2312 #CHECK: error: invalid register pair
2313 #CHECK: sqxbr   %f2, %f0
2314
2315         sqxbr   %f0, %f2
2316         sqxbr   %f2, %f0
2317
2318 #CHECK: error: invalid operand
2319 #CHECK: sra     %r0,-1
2320 #CHECK: error: invalid operand
2321 #CHECK: sra     %r0,4096
2322 #CHECK: error: %r0 used in an address
2323 #CHECK: sra     %r0,0(%r0)
2324 #CHECK: error: invalid use of indexed addressing
2325 #CHECK: sra     %r0,0(%r1,%r2)
2326
2327         sra     %r0,-1
2328         sra     %r0,4096
2329         sra     %r0,0(%r0)
2330         sra     %r0,0(%r1,%r2)
2331
2332 #CHECK: error: invalid operand
2333 #CHECK: srag    %r0,%r0,-524289
2334 #CHECK: error: invalid operand
2335 #CHECK: srag    %r0,%r0,524288
2336 #CHECK: error: %r0 used in an address
2337 #CHECK: srag    %r0,%r0,0(%r0)
2338 #CHECK: error: invalid use of indexed addressing
2339 #CHECK: srag    %r0,%r0,0(%r1,%r2)
2340
2341         srag    %r0,%r0,-524289
2342         srag    %r0,%r0,524288
2343         srag    %r0,%r0,0(%r0)
2344         srag    %r0,%r0,0(%r1,%r2)
2345
2346 #CHECK: error: invalid operand
2347 #CHECK: srl     %r0,-1
2348 #CHECK: error: invalid operand
2349 #CHECK: srl     %r0,4096
2350 #CHECK: error: %r0 used in an address
2351 #CHECK: srl     %r0,0(%r0)
2352 #CHECK: error: invalid use of indexed addressing
2353 #CHECK: srl     %r0,0(%r1,%r2)
2354
2355         srl     %r0,-1
2356         srl     %r0,4096
2357         srl     %r0,0(%r0)
2358         srl     %r0,0(%r1,%r2)
2359
2360 #CHECK: error: invalid operand
2361 #CHECK: srlg    %r0,%r0,-524289
2362 #CHECK: error: invalid operand
2363 #CHECK: srlg    %r0,%r0,524288
2364 #CHECK: error: %r0 used in an address
2365 #CHECK: srlg    %r0,%r0,0(%r0)
2366 #CHECK: error: invalid use of indexed addressing
2367 #CHECK: srlg    %r0,%r0,0(%r1,%r2)
2368
2369         srlg    %r0,%r0,-524289
2370         srlg    %r0,%r0,524288
2371         srlg    %r0,%r0,0(%r0)
2372         srlg    %r0,%r0,0(%r1,%r2)
2373
2374 #CHECK: error: invalid operand
2375 #CHECK: st      %r0, -1
2376 #CHECK: error: invalid operand
2377 #CHECK: st      %r0, 4096
2378
2379         st      %r0, -1
2380         st      %r0, 4096
2381
2382 #CHECK: error: invalid operand
2383 #CHECK: stc     %r0, -1
2384 #CHECK: error: invalid operand
2385 #CHECK: stc     %r0, 4096
2386
2387         stc     %r0, -1
2388         stc     %r0, 4096
2389
2390 #CHECK: error: invalid operand
2391 #CHECK: stcy    %r0, -524289
2392 #CHECK: error: invalid operand
2393 #CHECK: stcy    %r0, 524288
2394
2395         stcy    %r0, -524289
2396         stcy    %r0, 524288
2397
2398 #CHECK: error: invalid operand
2399 #CHECK: std     %f0, -1
2400 #CHECK: error: invalid operand
2401 #CHECK: std     %f0, 4096
2402
2403         std     %f0, -1
2404         std     %f0, 4096
2405
2406 #CHECK: error: invalid operand
2407 #CHECK: stdy    %f0, -524289
2408 #CHECK: error: invalid operand
2409 #CHECK: stdy    %f0, 524288
2410
2411         stdy    %f0, -524289
2412         stdy    %f0, 524288
2413
2414 #CHECK: error: invalid operand
2415 #CHECK: ste     %f0, -1
2416 #CHECK: error: invalid operand
2417 #CHECK: ste     %f0, 4096
2418
2419         ste     %f0, -1
2420         ste     %f0, 4096
2421
2422 #CHECK: error: invalid operand
2423 #CHECK: stey    %f0, -524289
2424 #CHECK: error: invalid operand
2425 #CHECK: stey    %f0, 524288
2426
2427         stey    %f0, -524289
2428         stey    %f0, 524288
2429
2430 #CHECK: error: invalid operand
2431 #CHECK: stg     %r0, -524289
2432 #CHECK: error: invalid operand
2433 #CHECK: stg     %r0, 524288
2434
2435         stg     %r0, -524289
2436         stg     %r0, 524288
2437
2438 #CHECK: error: offset out of range
2439 #CHECK: stgrl   %r0, -0x1000000002
2440 #CHECK: error: offset out of range
2441 #CHECK: stgrl   %r0, -1
2442 #CHECK: error: offset out of range
2443 #CHECK: stgrl   %r0, 1
2444 #CHECK: error: offset out of range
2445 #CHECK: stgrl   %r0, 0x100000000
2446
2447         stgrl   %r0, -0x1000000002
2448         stgrl   %r0, -1
2449         stgrl   %r0, 1
2450         stgrl   %r0, 0x100000000
2451
2452 #CHECK: error: invalid operand
2453 #CHECK: sth     %r0, -1
2454 #CHECK: error: invalid operand
2455 #CHECK: sth     %r0, 4096
2456
2457         sth     %r0, -1
2458         sth     %r0, 4096
2459
2460 #CHECK: error: offset out of range
2461 #CHECK: sthrl   %r0, -0x1000000002
2462 #CHECK: error: offset out of range
2463 #CHECK: sthrl   %r0, -1
2464 #CHECK: error: offset out of range
2465 #CHECK: sthrl   %r0, 1
2466 #CHECK: error: offset out of range
2467 #CHECK: sthrl   %r0, 0x100000000
2468
2469         sthrl   %r0, -0x1000000002
2470         sthrl   %r0, -1
2471         sthrl   %r0, 1
2472         sthrl   %r0, 0x100000000
2473
2474 #CHECK: error: invalid operand
2475 #CHECK: sthy    %r0, -524289
2476 #CHECK: error: invalid operand
2477 #CHECK: sthy    %r0, 524288
2478
2479         sthy    %r0, -524289
2480         sthy    %r0, 524288
2481
2482 #CHECK: error: invalid operand
2483 #CHECK: stmg    %r0, %r0, -524289
2484 #CHECK: error: invalid operand
2485 #CHECK: stmg    %r0, %r0, 524288
2486 #CHECK: error: invalid use of indexed addressing
2487 #CHECK: stmg    %r0, %r0, 0(%r1,%r2)
2488
2489         stmg    %r0, %r0, -524289
2490         stmg    %r0, %r0, 524288
2491         stmg    %r0, %r0, 0(%r1,%r2)
2492
2493 #CHECK: error: offset out of range
2494 #CHECK: strl    %r0, -0x1000000002
2495 #CHECK: error: offset out of range
2496 #CHECK: strl    %r0, -1
2497 #CHECK: error: offset out of range
2498 #CHECK: strl    %r0, 1
2499 #CHECK: error: offset out of range
2500 #CHECK: strl    %r0, 0x100000000
2501
2502         strl    %r0, -0x1000000002
2503         strl    %r0, -1
2504         strl    %r0, 1
2505         strl    %r0, 0x100000000
2506
2507 #CHECK: error: invalid operand
2508 #CHECK: strv    %r0, -524289
2509 #CHECK: error: invalid operand
2510 #CHECK: strv    %r0, 524288
2511
2512         strv    %r0, -524289
2513         strv    %r0, 524288
2514
2515 #CHECK: error: invalid operand
2516 #CHECK: strvg   %r0, -524289
2517 #CHECK: error: invalid operand
2518 #CHECK: strvg   %r0, 524288
2519
2520         strvg   %r0, -524289
2521         strvg   %r0, 524288
2522
2523 #CHECK: error: invalid operand
2524 #CHECK: sty     %r0, -524289
2525 #CHECK: error: invalid operand
2526 #CHECK: sty     %r0, 524288
2527
2528         sty     %r0, -524289
2529         sty     %r0, 524288
2530
2531 #CHECK: error: invalid register pair
2532 #CHECK: sxbr    %f0, %f2
2533 #CHECK: error: invalid register pair
2534 #CHECK: sxbr    %f2, %f0
2535
2536         sxbr    %f0, %f2
2537         sxbr    %f2, %f0
2538
2539 #CHECK: error: invalid operand
2540 #CHECK: sy      %r0, -524289
2541 #CHECK: error: invalid operand
2542 #CHECK: sy      %r0, 524288
2543
2544         sy      %r0, -524289
2545         sy      %r0, 524288
2546
2547 #CHECK: error: invalid operand
2548 #CHECK: x       %r0, -1
2549 #CHECK: error: invalid operand
2550 #CHECK: x       %r0, 4096
2551
2552         x       %r0, -1
2553         x       %r0, 4096
2554
2555 #CHECK: error: invalid operand
2556 #CHECK: xg      %r0, -524289
2557 #CHECK: error: invalid operand
2558 #CHECK: xg      %r0, 524288
2559
2560         xg      %r0, -524289
2561         xg      %r0, 524288
2562
2563 #CHECK: error: invalid operand
2564 #CHECK: xi      -1, 0
2565 #CHECK: error: invalid operand
2566 #CHECK: xi      4096, 0
2567 #CHECK: error: invalid use of indexed addressing
2568 #CHECK: xi      0(%r1,%r2), 0
2569 #CHECK: error: invalid operand
2570 #CHECK: xi      0, -1
2571 #CHECK: error: invalid operand
2572 #CHECK: xi      0, 256
2573
2574         xi      -1, 0
2575         xi      4096, 0
2576         xi      0(%r1,%r2), 0
2577         xi      0, -1
2578         xi      0, 256
2579
2580 #CHECK: error: invalid operand
2581 #CHECK: xihf    %r0, -1
2582 #CHECK: error: invalid operand
2583 #CHECK: xihf    %r0, 1 << 32
2584
2585         xihf    %r0, -1
2586         xihf    %r0, 1 << 32
2587
2588 #CHECK: error: invalid operand
2589 #CHECK: xilf    %r0, -1
2590 #CHECK: error: invalid operand
2591 #CHECK: xilf    %r0, 1 << 32
2592
2593         xilf    %r0, -1
2594         xilf    %r0, 1 << 32
2595
2596 #CHECK: error: invalid operand
2597 #CHECK: xiy     -524289, 0
2598 #CHECK: error: invalid operand
2599 #CHECK: xiy     524288, 0
2600 #CHECK: error: invalid use of indexed addressing
2601 #CHECK: xiy     0(%r1,%r2), 0
2602 #CHECK: error: invalid operand
2603 #CHECK: xiy     0, -1
2604 #CHECK: error: invalid operand
2605 #CHECK: xiy     0, 256
2606
2607         xiy     -524289, 0
2608         xiy     524288, 0
2609         xiy     0(%r1,%r2), 0
2610         xiy     0, -1
2611         xiy     0, 256
2612
2613 #CHECK: error: invalid operand
2614 #CHECK: xy      %r0, -524289
2615 #CHECK: error: invalid operand
2616 #CHECK: xy      %r0, 524288
2617
2618         xy      %r0, -524289
2619         xy      %r0, 524288