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