[SystemZ] Add MC support for interlocked-access 1 instructions
[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: aghik   %r1, %r2, 3
74
75         aghik   %r1, %r2, 3
76
77 #CHECK: error: {{(instruction requires: distinct-ops)?}}
78 #CHECK: agrk    %r2,%r3,%r4
79
80         agrk    %r2,%r3,%r4
81
82 #CHECK: error: invalid operand
83 #CHECK: agsi    -524289, 0
84 #CHECK: error: invalid operand
85 #CHECK: agsi    524288, 0
86 #CHECK: error: invalid use of indexed addressing
87 #CHECK: agsi    0(%r1,%r2), 0
88 #CHECK: error: invalid operand
89 #CHECK: agsi    0, -129
90 #CHECK: error: invalid operand
91 #CHECK: agsi    0, 128
92
93         agsi    -524289, 0
94         agsi    524288, 0
95         agsi    0(%r1,%r2), 0
96         agsi    0, -129
97         agsi    0, 128
98
99 #CHECK: error: invalid operand
100 #CHECK: ah      %r0, -1
101 #CHECK: error: invalid operand
102 #CHECK: ah      %r0, 4096
103
104         ah      %r0, -1
105         ah      %r0, 4096
106
107 #CHECK: error: invalid operand
108 #CHECK: ahi     %r0, -32769
109 #CHECK: error: invalid operand
110 #CHECK: ahi     %r0, 32768
111 #CHECK: error: invalid operand
112 #CHECK: ahi     %r0, foo
113
114         ahi     %r0, -32769
115         ahi     %r0, 32768
116         ahi     %r0, foo
117
118 #CHECK: error: {{(instruction requires: distinct-ops)?}}
119 #CHECK: ahik    %r1, %r2, 3
120
121         ahik    %r1, %r2, 3
122
123 #CHECK: error: invalid operand
124 #CHECK: ahy     %r0, -524289
125 #CHECK: error: invalid operand
126 #CHECK: ahy     %r0, 524288
127
128         ahy     %r0, -524289
129         ahy     %r0, 524288
130
131 #CHECK: error: {{(instruction requires: high-word)?}}
132 #CHECK: aih     %r0, 0
133
134         aih     %r0, 0
135
136 #CHECK: error: invalid operand
137 #CHECK: al      %r0, -1
138 #CHECK: error: invalid operand
139 #CHECK: al      %r0, 4096
140
141         al      %r0, -1
142         al      %r0, 4096
143
144 #CHECK: error: invalid operand
145 #CHECK: alc     %r0, -524289
146 #CHECK: error: invalid operand
147 #CHECK: alc     %r0, 524288
148
149         alc     %r0, -524289
150         alc     %r0, 524288
151
152 #CHECK: error: invalid operand
153 #CHECK: alcg    %r0, -524289
154 #CHECK: error: invalid operand
155 #CHECK: alcg    %r0, 524288
156
157         alcg    %r0, -524289
158         alcg    %r0, 524288
159
160 #CHECK: error: invalid operand
161 #CHECK: alfi    %r0, -1
162 #CHECK: error: invalid operand
163 #CHECK: alfi    %r0, (1 << 32)
164
165         alfi    %r0, -1
166         alfi    %r0, (1 << 32)
167
168 #CHECK: error: {{(instruction requires: distinct-ops)?}}
169 #CHECK: alghsik %r1, %r2, 3
170
171         alghsik %r1, %r2, 3
172
173 #CHECK: error: {{(instruction requires: distinct-ops)?}}
174 #CHECK: alhsik  %r1, %r2, 3
175
176         alhsik  %r1, %r2, 3
177
178 #CHECK: error: invalid operand
179 #CHECK: alg     %r0, -524289
180 #CHECK: error: invalid operand
181 #CHECK: alg     %r0, 524288
182
183         alg     %r0, -524289
184         alg     %r0, 524288
185
186 #CHECK: error: invalid operand
187 #CHECK: algf    %r0, -524289
188 #CHECK: error: invalid operand
189 #CHECK: algf    %r0, 524288
190
191         algf    %r0, -524289
192         algf    %r0, 524288
193
194 #CHECK: error: invalid operand
195 #CHECK: algfi   %r0, -1
196 #CHECK: error: invalid operand
197 #CHECK: algfi   %r0, (1 << 32)
198
199         algfi   %r0, -1
200         algfi   %r0, (1 << 32)
201
202 #CHECK: error: {{(instruction requires: distinct-ops)?}}
203 #CHECK: algrk   %r2,%r3,%r4
204
205         algrk   %r2,%r3,%r4
206
207 #CHECK: error: {{(instruction requires: distinct-ops)?}}
208 #CHECK: alrk    %r2,%r3,%r4
209
210         alrk    %r2,%r3,%r4
211
212 #CHECK: error: invalid operand
213 #CHECK: aly     %r0, -524289
214 #CHECK: error: invalid operand
215 #CHECK: aly     %r0, 524288
216
217         aly     %r0, -524289
218         aly     %r0, 524288
219
220 #CHECK: error: {{(instruction requires: distinct-ops)?}}
221 #CHECK: ark     %r2,%r3,%r4
222
223         ark     %r2,%r3,%r4
224
225 #CHECK: error: invalid operand
226 #CHECK: asi     -524289, 0
227 #CHECK: error: invalid operand
228 #CHECK: asi     524288, 0
229 #CHECK: error: invalid use of indexed addressing
230 #CHECK: asi     0(%r1,%r2), 0
231 #CHECK: error: invalid operand
232 #CHECK: asi     0, -129
233 #CHECK: error: invalid operand
234 #CHECK: asi     0, 128
235
236         asi     -524289, 0
237         asi     524288, 0
238         asi     0(%r1,%r2), 0
239         asi     0, -129
240         asi     0, 128
241
242 #CHECK: error: invalid register pair
243 #CHECK: axbr    %f0, %f2
244 #CHECK: error: invalid register pair
245 #CHECK: axbr    %f2, %f0
246
247         axbr    %f0, %f2
248         axbr    %f2, %f0
249
250
251 #CHECK: error: invalid operand
252 #CHECK: ay      %r0, -524289
253 #CHECK: error: invalid operand
254 #CHECK: ay      %r0, 524288
255
256         ay      %r0, -524289
257         ay      %r0, 524288
258
259 #CHECK: error: invalid operand
260 #CHECK: bcr     -1, %r1
261 #CHECK: error: invalid operand
262 #CHECK: bcr     16, %r1
263
264         bcr     -1, %r1
265         bcr     16, %r1
266
267 #CHECK: error: offset out of range
268 #CHECK: bras    %r0, -0x100002
269 #CHECK: error: offset out of range
270 #CHECK: bras    %r0, -1
271 #CHECK: error: offset out of range
272 #CHECK: bras    %r0, 1
273 #CHECK: error: offset out of range
274 #CHECK: bras    %r0, 0x10000
275
276         bras    %r0, -0x100002
277         bras    %r0, -1
278         bras    %r0, 1
279         bras    %r0, 0x10000
280
281 #CHECK: error: offset out of range
282 #CHECK: brasl   %r0, -0x1000000002
283 #CHECK: error: offset out of range
284 #CHECK: brasl   %r0, -1
285 #CHECK: error: offset out of range
286 #CHECK: brasl   %r0, 1
287 #CHECK: error: offset out of range
288 #CHECK: brasl   %r0, 0x100000000
289
290         brasl   %r0, -0x1000000002
291         brasl   %r0, -1
292         brasl   %r0, 1
293         brasl   %r0, 0x100000000
294
295 #CHECK: error: offset out of range
296 #CHECK: brc     0, -0x100002
297 #CHECK: error: offset out of range
298 #CHECK: brc     0, -1
299 #CHECK: error: offset out of range
300 #CHECK: brc     0, 1
301 #CHECK: error: offset out of range
302 #CHECK: brc     0, 0x10000
303
304         brc     0, -0x100002
305         brc     0, -1
306         brc     0, 1
307         brc     0, 0x10000
308
309 #CHECK: error: invalid operand
310 #CHECK: brc     foo, bar
311 #CHECK: error: invalid operand
312 #CHECK: brc     -1, bar
313 #CHECK: error: invalid operand
314 #CHECK: brc     16, bar
315
316         brc     foo, bar
317         brc     -1, bar
318         brc     16, bar
319
320 #CHECK: error: offset out of range
321 #CHECK: brcl    0, -0x1000000002
322 #CHECK: error: offset out of range
323 #CHECK: brcl    0, -1
324 #CHECK: error: offset out of range
325 #CHECK: brcl    0, 1
326 #CHECK: error: offset out of range
327 #CHECK: brcl    0, 0x100000000
328
329         brcl    0, -0x1000000002
330         brcl    0, -1
331         brcl    0, 1
332         brcl    0, 0x100000000
333
334 #CHECK: error: invalid operand
335 #CHECK: brcl    foo, bar
336 #CHECK: error: invalid operand
337 #CHECK: brcl    -1, bar
338 #CHECK: error: invalid operand
339 #CHECK: brcl    16, bar
340
341         brcl    foo, bar
342         brcl    -1, bar
343         brcl    16, bar
344
345 #CHECK: error: offset out of range
346 #CHECK: brct    %r0, -0x100002
347 #CHECK: error: offset out of range
348 #CHECK: brct    %r0, -1
349 #CHECK: error: offset out of range
350 #CHECK: brct    %r0, 1
351 #CHECK: error: offset out of range
352 #CHECK: brct    %r0, 0x10000
353
354         brct    %r0, -0x100002
355         brct    %r0, -1
356         brct    %r0, 1
357         brct    %r0, 0x10000
358
359 #CHECK: error: offset out of range
360 #CHECK: brctg   %r0, -0x100002
361 #CHECK: error: offset out of range
362 #CHECK: brctg   %r0, -1
363 #CHECK: error: offset out of range
364 #CHECK: brctg   %r0, 1
365 #CHECK: error: offset out of range
366 #CHECK: brctg   %r0, 0x10000
367
368         brctg   %r0, -0x100002
369         brctg   %r0, -1
370         brctg   %r0, 1
371         brctg   %r0, 0x10000
372
373 #CHECK: error: invalid operand
374 #CHECK: c       %r0, -1
375 #CHECK: error: invalid operand
376 #CHECK: c       %r0, 4096
377
378         c       %r0, -1
379         c       %r0, 4096
380
381 #CHECK: error: invalid operand
382 #CHECK: cdb     %f0, -1
383 #CHECK: error: invalid operand
384 #CHECK: cdb     %f0, 4096
385
386         cdb     %f0, -1
387         cdb     %f0, 4096
388
389 #CHECK: error: invalid operand
390 #CHECK: ceb     %f0, -1
391 #CHECK: error: invalid operand
392 #CHECK: ceb     %f0, 4096
393
394         ceb     %f0, -1
395         ceb     %f0, 4096
396
397 #CHECK: error: invalid operand
398 #CHECK: cfdbr   %r0, -1, %f0
399 #CHECK: error: invalid operand
400 #CHECK: cfdbr   %r0, 16, %f0
401
402         cfdbr   %r0, -1, %f0
403         cfdbr   %r0, 16, %f0
404
405 #CHECK: error: invalid operand
406 #CHECK: cfebr   %r0, -1, %f0
407 #CHECK: error: invalid operand
408 #CHECK: cfebr   %r0, 16, %f0
409
410         cfebr   %r0, -1, %f0
411         cfebr   %r0, 16, %f0
412
413 #CHECK: error: invalid operand
414 #CHECK: cfi     %r0, (-1 << 31) - 1
415 #CHECK: error: invalid operand
416 #CHECK: cfi     %r0, (1 << 31)
417
418         cfi     %r0, (-1 << 31) - 1
419         cfi     %r0, (1 << 31)
420
421 #CHECK: error: invalid operand
422 #CHECK: cfxbr   %r0, -1, %f0
423 #CHECK: error: invalid operand
424 #CHECK: cfxbr   %r0, 16, %f0
425 #CHECK: error: invalid register pair
426 #CHECK: cfxbr   %r0, 0, %f2
427
428         cfxbr   %r0, -1, %f0
429         cfxbr   %r0, 16, %f0
430         cfxbr   %r0, 0, %f2
431
432
433 #CHECK: error: invalid operand
434 #CHECK: cg      %r0, -524289
435 #CHECK: error: invalid operand
436 #CHECK: cg      %r0, 524288
437
438         cg      %r0, -524289
439         cg      %r0, 524288
440
441 #CHECK: error: invalid operand
442 #CHECK: cgdbr   %r0, -1, %f0
443 #CHECK: error: invalid operand
444 #CHECK: cgdbr   %r0, 16, %f0
445
446         cgdbr   %r0, -1, %f0
447         cgdbr   %r0, 16, %f0
448
449 #CHECK: error: invalid operand
450 #CHECK: cgebr   %r0, -1, %f0
451 #CHECK: error: invalid operand
452 #CHECK: cgebr   %r0, 16, %f0
453
454         cgebr   %r0, -1, %f0
455         cgebr   %r0, 16, %f0
456
457 #CHECK: error: invalid operand
458 #CHECK: cgf     %r0, -524289
459 #CHECK: error: invalid operand
460 #CHECK: cgf     %r0, 524288
461
462         cgf     %r0, -524289
463         cgf     %r0, 524288
464
465 #CHECK: error: invalid operand
466 #CHECK: cgfi    %r0, (-1 << 31) - 1
467 #CHECK: error: invalid operand
468 #CHECK: cgfi    %r0, (1 << 31)
469
470         cgfi    %r0, (-1 << 31) - 1
471         cgfi    %r0, (1 << 31)
472
473 #CHECK: error: offset out of range
474 #CHECK: cgfrl   %r0, -0x1000000002
475 #CHECK: error: offset out of range
476 #CHECK: cgfrl   %r0, -1
477 #CHECK: error: offset out of range
478 #CHECK: cgfrl   %r0, 1
479 #CHECK: error: offset out of range
480 #CHECK: cgfrl   %r0, 0x100000000
481
482         cgfrl   %r0, -0x1000000002
483         cgfrl   %r0, -1
484         cgfrl   %r0, 1
485         cgfrl   %r0, 0x100000000
486
487 #CHECK: error: invalid operand
488 #CHECK: cgh     %r0, -524289
489 #CHECK: error: invalid operand
490 #CHECK: cgh     %r0, 524288
491
492         cgh     %r0, -524289
493         cgh     %r0, 524288
494
495 #CHECK: error: invalid operand
496 #CHECK: cghi    %r0, -32769
497 #CHECK: error: invalid operand
498 #CHECK: cghi    %r0, 32768
499 #CHECK: error: invalid operand
500 #CHECK: cghi    %r0, foo
501
502         cghi    %r0, -32769
503         cghi    %r0, 32768
504         cghi    %r0, foo
505
506 #CHECK: error: offset out of range
507 #CHECK: cghrl   %r0, -0x1000000002
508 #CHECK: error: offset out of range
509 #CHECK: cghrl   %r0, -1
510 #CHECK: error: offset out of range
511 #CHECK: cghrl   %r0, 1
512 #CHECK: error: offset out of range
513 #CHECK: cghrl   %r0, 0x100000000
514
515         cghrl   %r0, -0x1000000002
516         cghrl   %r0, -1
517         cghrl   %r0, 1
518         cghrl   %r0, 0x100000000
519
520 #CHECK: error: invalid operand
521 #CHECK: cghsi   -1, 0
522 #CHECK: error: invalid operand
523 #CHECK: cghsi   4096, 0
524 #CHECK: error: invalid use of indexed addressing
525 #CHECK: cghsi   0(%r1,%r2), 0
526 #CHECK: error: invalid operand
527 #CHECK: cghsi   0, -32769
528 #CHECK: error: invalid operand
529 #CHECK: cghsi   0, 32768
530
531         cghsi   -1, 0
532         cghsi   4096, 0
533         cghsi   0(%r1,%r2), 0
534         cghsi   0, -32769
535         cghsi   0, 32768
536
537 #CHECK: error: invalid operand
538 #CHECK: cgij    %r0, -129, 0, 0
539 #CHECK: error: invalid operand
540 #CHECK: cgij    %r0, 128, 0, 0
541
542         cgij    %r0, -129, 0, 0
543         cgij    %r0, 128, 0, 0
544
545 #CHECK: error: offset out of range
546 #CHECK: cgij    %r0, 0, 0, -0x100002
547 #CHECK: error: offset out of range
548 #CHECK: cgij    %r0, 0, 0, -1
549 #CHECK: error: offset out of range
550 #CHECK: cgij    %r0, 0, 0, 1
551 #CHECK: error: offset out of range
552 #CHECK: cgij    %r0, 0, 0, 0x10000
553
554         cgij    %r0, 0, 0, -0x100002
555         cgij    %r0, 0, 0, -1
556         cgij    %r0, 0, 0, 1
557         cgij    %r0, 0, 0, 0x10000
558
559 #CHECK: error: invalid instruction
560 #CHECK: cgijo   %r0, 0, 0, 0
561 #CHECK: error: invalid instruction
562 #CHECK: cgijno  %r0, 0, 0, 0
563
564         cgijo   %r0, 0, 0, 0
565         cgijno  %r0, 0, 0, 0
566
567 #CHECK: error: offset out of range
568 #CHECK: cgrj    %r0, %r0, 0, -0x100002
569 #CHECK: error: offset out of range
570 #CHECK: cgrj    %r0, %r0, 0, -1
571 #CHECK: error: offset out of range
572 #CHECK: cgrj    %r0, %r0, 0, 1
573 #CHECK: error: offset out of range
574 #CHECK: cgrj    %r0, %r0, 0, 0x10000
575
576         cgrj    %r0, %r0, 0, -0x100002
577         cgrj    %r0, %r0, 0, -1
578         cgrj    %r0, %r0, 0, 1
579         cgrj    %r0, %r0, 0, 0x10000
580
581 #CHECK: error: invalid instruction
582 #CHECK: cgrjo   %r0, %r0, 0, 0
583 #CHECK: error: invalid instruction
584 #CHECK: cgrjno  %r0, %r0, 0, 0
585
586         cgrjo   %r0, %r0, 0, 0
587         cgrjno  %r0, %r0, 0, 0
588
589 #CHECK: error: offset out of range
590 #CHECK: cgrl    %r0, -0x1000000002
591 #CHECK: error: offset out of range
592 #CHECK: cgrl    %r0, -1
593 #CHECK: error: offset out of range
594 #CHECK: cgrl    %r0, 1
595 #CHECK: error: offset out of range
596 #CHECK: cgrl    %r0, 0x100000000
597
598         cgrl    %r0, -0x1000000002
599         cgrl    %r0, -1
600         cgrl    %r0, 1
601         cgrl    %r0, 0x100000000
602
603 #CHECK: error: invalid operand
604 #CHECK: cgxbr   %r0, -1, %f0
605 #CHECK: error: invalid operand
606 #CHECK: cgxbr   %r0, 16, %f0
607 #CHECK: error: invalid register pair
608 #CHECK: cgxbr   %r0, 0, %f2
609
610         cgxbr   %r0, -1, %f0
611         cgxbr   %r0, 16, %f0
612         cgxbr   %r0, 0, %f2
613
614
615 #CHECK: error: invalid operand
616 #CHECK: ch      %r0, -1
617 #CHECK: error: invalid operand
618 #CHECK: ch      %r0, 4096
619
620         ch      %r0, -1
621         ch      %r0, 4096
622
623 #CHECK: error: {{(instruction requires: high-word)?}}
624 #CHECK: chf     %r0, 0
625
626         chf     %r0, 0
627
628 #CHECK: error: invalid operand
629 #CHECK: chhsi   -1, 0
630 #CHECK: error: invalid operand
631 #CHECK: chhsi   4096, 0
632 #CHECK: error: invalid use of indexed addressing
633 #CHECK: chhsi   0(%r1,%r2), 0
634 #CHECK: error: invalid operand
635 #CHECK: chhsi   0, -32769
636 #CHECK: error: invalid operand
637 #CHECK: chhsi   0, 32768
638
639         chhsi   -1, 0
640         chhsi   4096, 0
641         chhsi   0(%r1,%r2), 0
642         chhsi   0, -32769
643         chhsi   0, 32768
644
645 #CHECK: error: invalid operand
646 #CHECK: chi     %r0, -32769
647 #CHECK: error: invalid operand
648 #CHECK: chi     %r0, 32768
649 #CHECK: error: invalid operand
650 #CHECK: chi     %r0, foo
651
652         chi     %r0, -32769
653         chi     %r0, 32768
654         chi     %r0, foo
655
656 #CHECK: error: offset out of range
657 #CHECK: chrl    %r0, -0x1000000002
658 #CHECK: error: offset out of range
659 #CHECK: chrl    %r0, -1
660 #CHECK: error: offset out of range
661 #CHECK: chrl    %r0, 1
662 #CHECK: error: offset out of range
663 #CHECK: chrl    %r0, 0x100000000
664
665         chrl    %r0, -0x1000000002
666         chrl    %r0, -1
667         chrl    %r0, 1
668         chrl    %r0, 0x100000000
669
670 #CHECK: error: invalid operand
671 #CHECK: chsi    -1, 0
672 #CHECK: error: invalid operand
673 #CHECK: chsi    4096, 0
674 #CHECK: error: invalid use of indexed addressing
675 #CHECK: chsi    0(%r1,%r2), 0
676 #CHECK: error: invalid operand
677 #CHECK: chsi    0, -32769
678 #CHECK: error: invalid operand
679 #CHECK: chsi    0, 32768
680
681         chsi    -1, 0
682         chsi    4096, 0
683         chsi    0(%r1,%r2), 0
684         chsi    0, -32769
685         chsi    0, 32768
686
687 #CHECK: error: invalid operand
688 #CHECK: chy     %r0, -524289
689 #CHECK: error: invalid operand
690 #CHECK: chy     %r0, 524288
691
692         chy     %r0, -524289
693         chy     %r0, 524288
694
695 #CHECK: error: {{(instruction requires: high-word)?}}
696 #CHECK: cih     %r0, 0
697
698         cih     %r0, 0
699
700 #CHECK: error: invalid operand
701 #CHECK: cij     %r0, -129, 0, 0
702 #CHECK: error: invalid operand
703 #CHECK: cij     %r0, 128, 0, 0
704
705         cij     %r0, -129, 0, 0
706         cij     %r0, 128, 0, 0
707
708 #CHECK: error: offset out of range
709 #CHECK: cij     %r0, 0, 0, -0x100002
710 #CHECK: error: offset out of range
711 #CHECK: cij     %r0, 0, 0, -1
712 #CHECK: error: offset out of range
713 #CHECK: cij     %r0, 0, 0, 1
714 #CHECK: error: offset out of range
715 #CHECK: cij     %r0, 0, 0, 0x10000
716
717         cij     %r0, 0, 0, -0x100002
718         cij     %r0, 0, 0, -1
719         cij     %r0, 0, 0, 1
720         cij     %r0, 0, 0, 0x10000
721
722 #CHECK: error: invalid instruction
723 #CHECK: cijo    %r0, 0, 0, 0
724 #CHECK: error: invalid instruction
725 #CHECK: cijno   %r0, 0, 0, 0
726
727         cijo    %r0, 0, 0, 0
728         cijno   %r0, 0, 0, 0
729
730 #CHECK: error: invalid operand
731 #CHECK: cl      %r0, -1
732 #CHECK: error: invalid operand
733 #CHECK: cl      %r0, 4096
734
735         cl      %r0, -1
736         cl      %r0, 4096
737
738 #CHECK: error: missing length in address
739 #CHECK: clc     0, 0
740 #CHECK: error: missing length in address
741 #CHECK: clc     0(%r1), 0(%r1)
742 #CHECK: error: invalid use of length addressing
743 #CHECK: clc     0(1,%r1), 0(2,%r1)
744 #CHECK: error: invalid operand
745 #CHECK: clc     0(0,%r1), 0(%r1)
746 #CHECK: error: invalid operand
747 #CHECK: clc     0(257,%r1), 0(%r1)
748 #CHECK: error: invalid operand
749 #CHECK: clc     -1(1,%r1), 0(%r1)
750 #CHECK: error: invalid operand
751 #CHECK: clc     4096(1,%r1), 0(%r1)
752 #CHECK: error: invalid operand
753 #CHECK: clc     0(1,%r1), -1(%r1)
754 #CHECK: error: invalid operand
755 #CHECK: clc     0(1,%r1), 4096(%r1)
756 #CHECK: error: %r0 used in an address
757 #CHECK: clc     0(1,%r0), 0(%r1)
758 #CHECK: error: %r0 used in an address
759 #CHECK: clc     0(1,%r1), 0(%r0)
760 #CHECK: error: invalid use of indexed addressing
761 #CHECK: clc     0(%r1,%r2), 0(%r1)
762 #CHECK: error: invalid use of indexed addressing
763 #CHECK: clc     0(1,%r2), 0(%r1,%r2)
764 #CHECK: error: unknown token in expression
765 #CHECK: clc     0(-), 0
766
767         clc     0, 0
768         clc     0(%r1), 0(%r1)
769         clc     0(1,%r1), 0(2,%r1)
770         clc     0(0,%r1), 0(%r1)
771         clc     0(257,%r1), 0(%r1)
772         clc     -1(1,%r1), 0(%r1)
773         clc     4096(1,%r1), 0(%r1)
774         clc     0(1,%r1), -1(%r1)
775         clc     0(1,%r1), 4096(%r1)
776         clc     0(1,%r0), 0(%r1)
777         clc     0(1,%r1), 0(%r0)
778         clc     0(%r1,%r2), 0(%r1)
779         clc     0(1,%r2), 0(%r1,%r2)
780         clc     0(-), 0
781
782 #CHECK: error: {{(instruction requires: high-word)?}}
783 #CHECK: clhf    %r0, 0
784
785         clhf    %r0, 0
786
787 #CHECK: error: invalid operand
788 #CHECK: clfhsi  -1, 0
789 #CHECK: error: invalid operand
790 #CHECK: clfhsi  4096, 0
791 #CHECK: error: invalid use of indexed addressing
792 #CHECK: clfhsi  0(%r1,%r2), 0
793 #CHECK: error: invalid operand
794 #CHECK: clfhsi  0, -1
795 #CHECK: error: invalid operand
796 #CHECK: clfhsi  0, 65536
797
798         clfhsi  -1, 0
799         clfhsi  4096, 0
800         clfhsi  0(%r1,%r2), 0
801         clfhsi  0, -1
802         clfhsi  0, 65536
803
804 #CHECK: error: invalid operand
805 #CHECK: clfi    %r0, -1
806 #CHECK: error: invalid operand
807 #CHECK: clfi    %r0, (1 << 32)
808
809         clfi    %r0, -1
810         clfi    %r0, (1 << 32)
811
812 #CHECK: error: invalid operand
813 #CHECK: clg     %r0, -524289
814 #CHECK: error: invalid operand
815 #CHECK: clg     %r0, 524288
816
817         clg     %r0, -524289
818         clg     %r0, 524288
819
820 #CHECK: error: invalid operand
821 #CHECK: clgf    %r0, -524289
822 #CHECK: error: invalid operand
823 #CHECK: clgf    %r0, 524288
824
825         clgf    %r0, -524289
826         clgf    %r0, 524288
827
828 #CHECK: error: invalid operand
829 #CHECK: clgfi   %r0, -1
830 #CHECK: error: invalid operand
831 #CHECK: clgfi   %r0, (1 << 32)
832
833         clgfi   %r0, -1
834         clgfi   %r0, (1 << 32)
835
836 #CHECK: error: offset out of range
837 #CHECK: clgfrl  %r0, -0x1000000002
838 #CHECK: error: offset out of range
839 #CHECK: clgfrl  %r0, -1
840 #CHECK: error: offset out of range
841 #CHECK: clgfrl  %r0, 1
842 #CHECK: error: offset out of range
843 #CHECK: clgfrl  %r0, 0x100000000
844
845         clgfrl  %r0, -0x1000000002
846         clgfrl  %r0, -1
847         clgfrl  %r0, 1
848         clgfrl  %r0, 0x100000000
849
850 #CHECK: error: offset out of range
851 #CHECK: clghrl  %r0, -0x1000000002
852 #CHECK: error: offset out of range
853 #CHECK: clghrl  %r0, -1
854 #CHECK: error: offset out of range
855 #CHECK: clghrl  %r0, 1
856 #CHECK: error: offset out of range
857 #CHECK: clghrl  %r0, 0x100000000
858
859         clghrl  %r0, -0x1000000002
860         clghrl  %r0, -1
861         clghrl  %r0, 1
862         clghrl  %r0, 0x100000000
863
864 #CHECK: error: invalid operand
865 #CHECK: clghsi  -1, 0
866 #CHECK: error: invalid operand
867 #CHECK: clghsi  4096, 0
868 #CHECK: error: invalid use of indexed addressing
869 #CHECK: clghsi  0(%r1,%r2), 0
870 #CHECK: error: invalid operand
871 #CHECK: clghsi  0, -1
872 #CHECK: error: invalid operand
873 #CHECK: clghsi  0, 65536
874
875         clghsi  -1, 0
876         clghsi  4096, 0
877         clghsi  0(%r1,%r2), 0
878         clghsi  0, -1
879         clghsi  0, 65536
880
881 #CHECK: error: invalid operand
882 #CHECK: clgij   %r0, -1, 0, 0
883 #CHECK: error: invalid operand
884 #CHECK: clgij   %r0, 256, 0, 0
885
886         clgij   %r0, -1, 0, 0
887         clgij   %r0, 256, 0, 0
888
889 #CHECK: error: offset out of range
890 #CHECK: clgij   %r0, 0, 0, -0x100002
891 #CHECK: error: offset out of range
892 #CHECK: clgij   %r0, 0, 0, -1
893 #CHECK: error: offset out of range
894 #CHECK: clgij   %r0, 0, 0, 1
895 #CHECK: error: offset out of range
896 #CHECK: clgij   %r0, 0, 0, 0x10000
897
898         clgij   %r0, 0, 0, -0x100002
899         clgij   %r0, 0, 0, -1
900         clgij   %r0, 0, 0, 1
901         clgij   %r0, 0, 0, 0x10000
902
903 #CHECK: error: invalid instruction
904 #CHECK: clgijo  %r0, 0, 0, 0
905 #CHECK: error: invalid instruction
906 #CHECK: clgijno %r0, 0, 0, 0
907
908         clgijo  %r0, 0, 0, 0
909         clgijno %r0, 0, 0, 0
910
911 #CHECK: error: offset out of range
912 #CHECK: clgrj   %r0, %r0, 0, -0x100002
913 #CHECK: error: offset out of range
914 #CHECK: clgrj   %r0, %r0, 0, -1
915 #CHECK: error: offset out of range
916 #CHECK: clgrj   %r0, %r0, 0, 1
917 #CHECK: error: offset out of range
918 #CHECK: clgrj   %r0, %r0, 0, 0x10000
919
920         clgrj   %r0, %r0, 0, -0x100002
921         clgrj   %r0, %r0, 0, -1
922         clgrj   %r0, %r0, 0, 1
923         clgrj   %r0, %r0, 0, 0x10000
924
925 #CHECK: error: offset out of range
926 #CHECK: clgrl   %r0, -0x1000000002
927 #CHECK: error: offset out of range
928 #CHECK: clgrl   %r0, -1
929 #CHECK: error: offset out of range
930 #CHECK: clgrl   %r0, 1
931 #CHECK: error: offset out of range
932 #CHECK: clgrl   %r0, 0x100000000
933
934         clgrl   %r0, -0x1000000002
935         clgrl   %r0, -1
936         clgrl   %r0, 1
937         clgrl   %r0, 0x100000000
938
939 #CHECK: error: invalid operand
940 #CHECK: clhhsi  -1, 0
941 #CHECK: error: invalid operand
942 #CHECK: clhhsi  4096, 0
943 #CHECK: error: invalid use of indexed addressing
944 #CHECK: clhhsi  0(%r1,%r2), 0
945 #CHECK: error: invalid operand
946 #CHECK: clhhsi  0, -1
947 #CHECK: error: invalid operand
948 #CHECK: clhhsi  0, 65536
949
950         clhhsi  -1, 0
951         clhhsi  4096, 0
952         clhhsi  0(%r1,%r2), 0
953         clhhsi  0, -1
954         clhhsi  0, 65536
955
956 #CHECK: error: offset out of range
957 #CHECK: clhrl   %r0, -0x1000000002
958 #CHECK: error: offset out of range
959 #CHECK: clhrl   %r0, -1
960 #CHECK: error: offset out of range
961 #CHECK: clhrl   %r0, 1
962 #CHECK: error: offset out of range
963 #CHECK: clhrl   %r0, 0x100000000
964
965         clhrl   %r0, -0x1000000002
966         clhrl   %r0, -1
967         clhrl   %r0, 1
968         clhrl   %r0, 0x100000000
969
970 #CHECK: error: invalid operand
971 #CHECK: cli     -1, 0
972 #CHECK: error: invalid operand
973 #CHECK: cli     4096, 0
974 #CHECK: error: invalid use of indexed addressing
975 #CHECK: cli     0(%r1,%r2), 0
976 #CHECK: error: invalid operand
977 #CHECK: cli     0, -1
978 #CHECK: error: invalid operand
979 #CHECK: cli     0, 256
980
981         cli     -1, 0
982         cli     4096, 0
983         cli     0(%r1,%r2), 0
984         cli     0, -1
985         cli     0, 256
986
987 #CHECK: error: {{(instruction requires: high-word)?}}
988 #CHECK: clih    %r0, 0
989
990         clih    %r0, 0
991
992 #CHECK: error: invalid operand
993 #CHECK: clij    %r0, -1, 0, 0
994 #CHECK: error: invalid operand
995 #CHECK: clij    %r0, 256, 0, 0
996
997         clij    %r0, -1, 0, 0
998         clij    %r0, 256, 0, 0
999
1000 #CHECK: error: offset out of range
1001 #CHECK: clij    %r0, 0, 0, -0x100002
1002 #CHECK: error: offset out of range
1003 #CHECK: clij    %r0, 0, 0, -1
1004 #CHECK: error: offset out of range
1005 #CHECK: clij    %r0, 0, 0, 1
1006 #CHECK: error: offset out of range
1007 #CHECK: clij    %r0, 0, 0, 0x10000
1008
1009         clij    %r0, 0, 0, -0x100002
1010         clij    %r0, 0, 0, -1
1011         clij    %r0, 0, 0, 1
1012         clij    %r0, 0, 0, 0x10000
1013
1014 #CHECK: error: invalid instruction
1015 #CHECK: clijo   %r0, 0, 0, 0
1016 #CHECK: error: invalid instruction
1017 #CHECK: clijno  %r0, 0, 0, 0
1018
1019         clijo   %r0, 0, 0, 0
1020         clijno  %r0, 0, 0, 0
1021
1022 #CHECK: error: invalid operand
1023 #CHECK: cliy    -524289, 0
1024 #CHECK: error: invalid operand
1025 #CHECK: cliy    524288, 0
1026 #CHECK: error: invalid use of indexed addressing
1027 #CHECK: cliy    0(%r1,%r2), 0
1028 #CHECK: error: invalid operand
1029 #CHECK: cliy    0, -1
1030 #CHECK: error: invalid operand
1031 #CHECK: cliy    0, 256
1032
1033         cliy    -524289, 0
1034         cliy    524288, 0
1035         cliy    0(%r1,%r2), 0
1036         cliy    0, -1
1037         cliy    0, 256
1038
1039 #CHECK: error: offset out of range
1040 #CHECK: clrj    %r0, %r0, 0, -0x100002
1041 #CHECK: error: offset out of range
1042 #CHECK: clrj    %r0, %r0, 0, -1
1043 #CHECK: error: offset out of range
1044 #CHECK: clrj    %r0, %r0, 0, 1
1045 #CHECK: error: offset out of range
1046 #CHECK: clrj    %r0, %r0, 0, 0x10000
1047
1048         clrj    %r0, %r0, 0, -0x100002
1049         clrj    %r0, %r0, 0, -1
1050         clrj    %r0, %r0, 0, 1
1051         clrj    %r0, %r0, 0, 0x10000
1052
1053 #CHECK: error: invalid instruction
1054 #CHECK: clrjo   %r0, %r0, 0, 0
1055 #CHECK: error: invalid instruction
1056 #CHECK: clrjno  %r0, %r0, 0, 0
1057
1058         clrjo   %r0, %r0, 0, 0
1059         clrjno  %r0, %r0, 0, 0
1060
1061 #CHECK: error: offset out of range
1062 #CHECK: clrl    %r0, -0x1000000002
1063 #CHECK: error: offset out of range
1064 #CHECK: clrl    %r0, -1
1065 #CHECK: error: offset out of range
1066 #CHECK: clrl    %r0, 1
1067 #CHECK: error: offset out of range
1068 #CHECK: clrl    %r0, 0x100000000
1069
1070         clrl    %r0, -0x1000000002
1071         clrl    %r0, -1
1072         clrl    %r0, 1
1073         clrl    %r0, 0x100000000
1074
1075 #CHECK: error: invalid operand
1076 #CHECK: cly     %r0, -524289
1077 #CHECK: error: invalid operand
1078 #CHECK: cly     %r0, 524288
1079
1080         cly     %r0, -524289
1081         cly     %r0, 524288
1082
1083 #CHECK: error: offset out of range
1084 #CHECK: crj     %r0, %r0, 0, -0x100002
1085 #CHECK: error: offset out of range
1086 #CHECK: crj     %r0, %r0, 0, -1
1087 #CHECK: error: offset out of range
1088 #CHECK: crj     %r0, %r0, 0, 1
1089 #CHECK: error: offset out of range
1090 #CHECK: crj     %r0, %r0, 0, 0x10000
1091
1092         crj     %r0, %r0, 0, -0x100002
1093         crj     %r0, %r0, 0, -1
1094         crj     %r0, %r0, 0, 1
1095         crj     %r0, %r0, 0, 0x10000
1096
1097 #CHECK: error: invalid instruction
1098 #CHECK: crjo    %r0, %r0, 0, 0
1099 #CHECK: error: invalid instruction
1100 #CHECK: crjno   %r0, %r0, 0, 0
1101
1102         crjo    %r0, %r0, 0, 0
1103         crjno   %r0, %r0, 0, 0
1104
1105 #CHECK: error: offset out of range
1106 #CHECK: crl     %r0, -0x1000000002
1107 #CHECK: error: offset out of range
1108 #CHECK: crl     %r0, -1
1109 #CHECK: error: offset out of range
1110 #CHECK: crl     %r0, 1
1111 #CHECK: error: offset out of range
1112 #CHECK: crl     %r0, 0x100000000
1113
1114         crl     %r0, -0x1000000002
1115         crl     %r0, -1
1116         crl     %r0, 1
1117         crl     %r0, 0x100000000
1118
1119 #CHECK: error: invalid operand
1120 #CHECK: cs      %r0, %r0, -1
1121 #CHECK: error: invalid operand
1122 #CHECK: cs      %r0, %r0, 4096
1123 #CHECK: error: invalid use of indexed addressing
1124 #CHECK: cs      %r0, %r0, 0(%r1,%r2)
1125
1126         cs      %r0, %r0, -1
1127         cs      %r0, %r0, 4096
1128         cs      %r0, %r0, 0(%r1,%r2)
1129
1130 #CHECK: error: invalid operand
1131 #CHECK: csg     %r0, %r0, -524289
1132 #CHECK: error: invalid operand
1133 #CHECK: csg     %r0, %r0, 524288
1134 #CHECK: error: invalid use of indexed addressing
1135 #CHECK: csg     %r0, %r0, 0(%r1,%r2)
1136
1137         csg     %r0, %r0, -524289
1138         csg     %r0, %r0, 524288
1139         csg     %r0, %r0, 0(%r1,%r2)
1140
1141 #CHECK: error: invalid operand
1142 #CHECK: csy     %r0, %r0, -524289
1143 #CHECK: error: invalid operand
1144 #CHECK: csy     %r0, %r0, 524288
1145 #CHECK: error: invalid use of indexed addressing
1146 #CHECK: csy     %r0, %r0, 0(%r1,%r2)
1147
1148         csy     %r0, %r0, -524289
1149         csy     %r0, %r0, 524288
1150         csy     %r0, %r0, 0(%r1,%r2)
1151
1152 #CHECK: error: invalid register pair
1153 #CHECK: cxbr    %f0, %f2
1154 #CHECK: error: invalid register pair
1155 #CHECK: cxbr    %f2, %f0
1156
1157         cxbr    %f0, %f2
1158         cxbr    %f2, %f0
1159
1160 #CHECK: error: invalid register pair
1161 #CHECK: cxfbr   %f2, %r0
1162
1163         cxfbr   %f2, %r0
1164
1165 #CHECK: error: invalid register pair
1166 #CHECK: cxgbr   %f2, %r0
1167
1168         cxgbr   %f2, %r0
1169
1170 #CHECK: error: invalid operand
1171 #CHECK: cy      %r0, -524289
1172 #CHECK: error: invalid operand
1173 #CHECK: cy      %r0, 524288
1174
1175         cy      %r0, -524289
1176         cy      %r0, 524288
1177
1178 #CHECK: error: invalid operand
1179 #CHECK: ddb     %f0, -1
1180 #CHECK: error: invalid operand
1181 #CHECK: ddb     %f0, 4096
1182
1183         ddb     %f0, -1
1184         ddb     %f0, 4096
1185
1186 #CHECK: error: invalid operand
1187 #CHECK: deb     %f0, -1
1188 #CHECK: error: invalid operand
1189 #CHECK: deb     %f0, 4096
1190
1191         deb     %f0, -1
1192         deb     %f0, 4096
1193
1194 #CHECK: error: invalid operand
1195 #CHECK: dl      %r0, -524289
1196 #CHECK: error: invalid operand
1197 #CHECK: dl      %r0, 524288
1198 #CHECK: error: invalid register pair
1199 #CHECK: dl      %r1, 0
1200
1201         dl      %r0, -524289
1202         dl      %r0, 524288
1203         dl      %r1, 0
1204
1205 #CHECK: error: invalid operand
1206 #CHECK: dlg     %r0, -524289
1207 #CHECK: error: invalid operand
1208 #CHECK: dlg     %r0, 524288
1209 #CHECK: error: invalid register pair
1210 #CHECK: dlg     %r1, 0
1211
1212         dlg     %r0, -524289
1213         dlg     %r0, 524288
1214         dlg     %r1, 0
1215
1216 #CHECK: error: invalid register pair
1217 #CHECK: dlgr    %r1, %r0
1218
1219         dlgr    %r1, %r0
1220
1221 #CHECK: error: invalid register pair
1222 #CHECK: dlr     %r1, %r0
1223
1224         dlr     %r1, %r0
1225
1226 #CHECK: error: invalid operand
1227 #CHECK: dsg     %r0, -524289
1228 #CHECK: error: invalid operand
1229 #CHECK: dsg     %r0, 524288
1230 #CHECK: error: invalid register pair
1231 #CHECK: dsg     %r1, 0
1232
1233         dsg     %r0, -524289
1234         dsg     %r0, 524288
1235         dsg     %r1, 0
1236
1237 #CHECK: error: invalid operand
1238 #CHECK: dsgf    %r0, -524289
1239 #CHECK: error: invalid operand
1240 #CHECK: dsgf    %r0, 524288
1241 #CHECK: error: invalid register pair
1242 #CHECK: dsgf    %r1, 0
1243
1244         dsgf    %r0, -524289
1245         dsgf    %r0, 524288
1246         dsgf    %r1, 0
1247
1248 #CHECK: error: invalid register pair
1249 #CHECK: dsgfr   %r1, %r0
1250
1251         dsgfr   %r1, %r0
1252
1253 #CHECK: error: invalid register pair
1254 #CHECK: dsgr    %r1, %r0
1255
1256         dsgr    %r1, %r0
1257
1258 #CHECK: error: invalid register pair
1259 #CHECK: dxbr    %f0, %f2
1260 #CHECK: error: invalid register pair
1261 #CHECK: dxbr    %f2, %f0
1262
1263         dxbr    %f0, %f2
1264         dxbr    %f2, %f0
1265
1266 #CHECK: error: invalid operand
1267 #CHECK: fidbr   %f0, -1, %f0
1268 #CHECK: error: invalid operand
1269 #CHECK: fidbr   %f0, 16, %f0
1270
1271         fidbr   %f0, -1, %f0
1272         fidbr   %f0, 16, %f0
1273
1274 #CHECK: error: {{(instruction requires: fp-extension)?}}
1275 #CHECK: fidbra  %f0, 0, %f0, 0
1276
1277         fidbra  %f0, 0, %f0, 0
1278
1279 #CHECK: error: invalid operand
1280 #CHECK: fiebr   %f0, -1, %f0
1281 #CHECK: error: invalid operand
1282 #CHECK: fiebr   %f0, 16, %f0
1283
1284         fiebr   %f0, -1, %f0
1285         fiebr   %f0, 16, %f0
1286
1287 #CHECK: error: {{(instruction requires: fp-extension)?}}
1288 #CHECK: fiebra  %f0, 0, %f0, 0
1289
1290         fiebra  %f0, 0, %f0, 0
1291
1292 #CHECK: error: invalid operand
1293 #CHECK: fixbr   %f0, -1, %f0
1294 #CHECK: error: invalid operand
1295 #CHECK: fixbr   %f0, 16, %f0
1296 #CHECK: error: invalid register pair
1297 #CHECK: fixbr   %f0, 0, %f2
1298 #CHECK: error: invalid register pair
1299 #CHECK: fixbr   %f2, 0, %f0
1300
1301         fixbr   %f0, -1, %f0
1302         fixbr   %f0, 16, %f0
1303         fixbr   %f0, 0, %f2
1304         fixbr   %f2, 0, %f0
1305
1306 #CHECK: error: {{(instruction requires: fp-extension)?}}
1307 #CHECK: fixbra  %f0, 0, %f0, 0
1308
1309         fixbra  %f0, 0, %f0, 0
1310
1311 #CHECK: error: invalid register pair
1312 #CHECK: flogr   %r1, %r0
1313
1314         flogr   %r1, %r0
1315
1316 #CHECK: error: invalid operand
1317 #CHECK: ic      %r0, -1
1318 #CHECK: error: invalid operand
1319 #CHECK: ic      %r0, 4096
1320
1321         ic      %r0, -1
1322         ic      %r0, 4096
1323
1324 #CHECK: error: invalid operand
1325 #CHECK: icy     %r0, -524289
1326 #CHECK: error: invalid operand
1327 #CHECK: icy     %r0, 524288
1328
1329         icy     %r0, -524289
1330         icy     %r0, 524288
1331
1332 #CHECK: error: invalid operand
1333 #CHECK: iihf    %r0, -1
1334 #CHECK: error: invalid operand
1335 #CHECK: iihf    %r0, 1 << 32
1336
1337         iihf    %r0, -1
1338         iihf    %r0, 1 << 32
1339
1340 #CHECK: error: invalid operand
1341 #CHECK: iihh    %r0, -1
1342 #CHECK: error: invalid operand
1343 #CHECK: iihh    %r0, 0x10000
1344
1345         iihh    %r0, -1
1346         iihh    %r0, 0x10000
1347
1348 #CHECK: error: invalid operand
1349 #CHECK: iihl    %r0, -1
1350 #CHECK: error: invalid operand
1351 #CHECK: iihl    %r0, 0x10000
1352
1353         iihl    %r0, -1
1354         iihl    %r0, 0x10000
1355
1356 #CHECK: error: invalid operand
1357 #CHECK: iilf    %r0, -1
1358 #CHECK: error: invalid operand
1359 #CHECK: iilf    %r0, 1 << 32
1360
1361         iilf    %r0, -1
1362         iilf    %r0, 1 << 32
1363
1364 #CHECK: error: invalid operand
1365 #CHECK: iilh    %r0, -1
1366 #CHECK: error: invalid operand
1367 #CHECK: iilh    %r0, 0x10000
1368
1369         iilh    %r0, -1
1370         iilh    %r0, 0x10000
1371
1372 #CHECK: error: invalid operand
1373 #CHECK: iill    %r0, -1
1374 #CHECK: error: invalid operand
1375 #CHECK: iill    %r0, 0x10000
1376
1377         iill    %r0, -1
1378         iill    %r0, 0x10000
1379
1380 #CHECK: error: invalid operand
1381 #CHECK: l       %r0, -1
1382 #CHECK: error: invalid operand
1383 #CHECK: l       %r0, 4096
1384
1385         l       %r0, -1
1386         l       %r0, 4096
1387
1388 #CHECK: error: invalid operand
1389 #CHECK: la      %r0, -1
1390 #CHECK: error: invalid operand
1391 #CHECK: la      %r0, 4096
1392
1393         la      %r0, -1
1394         la      %r0, 4096
1395
1396 #CHECK: error: {{(instruction requires: interlocked-access1)?}}
1397 #CHECK: laa     %r1, %r2, 100(%r3)
1398         laa     %r1, %r2, 100(%r3)
1399
1400 #CHECK: error: {{(instruction requires: interlocked-access1)?}}
1401 #CHECK: laag    %r1, %r2, 100(%r3)
1402         laag    %r1, %r2, 100(%r3)
1403
1404 #CHECK: error: {{(instruction requires: interlocked-access1)?}}
1405 #CHECK: laal    %r1, %r2, 100(%r3)
1406         laal    %r1, %r2, 100(%r3)
1407
1408 #CHECK: error: {{(instruction requires: interlocked-access1)?}}
1409 #CHECK: laalg   %r1, %r2, 100(%r3)
1410         laalg   %r1, %r2, 100(%r3)
1411
1412 #CHECK: error: {{(instruction requires: interlocked-access1)?}}
1413 #CHECK: lan     %r1, %r2, 100(%r3)
1414         lan     %r1, %r2, 100(%r3)
1415
1416 #CHECK: error: {{(instruction requires: interlocked-access1)?}}
1417 #CHECK: lang    %r1, %r2, 100(%r3)
1418         lang    %r1, %r2, 100(%r3)
1419
1420 #CHECK: error: {{(instruction requires: interlocked-access1)?}}
1421 #CHECK: lao     %r1, %r2, 100(%r3)
1422         lao     %r1, %r2, 100(%r3)
1423
1424 #CHECK: error: {{(instruction requires: interlocked-access1)?}}
1425 #CHECK: laog    %r1, %r2, 100(%r3)
1426         laog    %r1, %r2, 100(%r3)
1427
1428 #CHECK: error: {{(instruction requires: interlocked-access1)?}}
1429 #CHECK: lax     %r1, %r2, 100(%r3)
1430         lax     %r1, %r2, 100(%r3)
1431
1432 #CHECK: error: {{(instruction requires: interlocked-access1)?}}
1433 #CHECK: laxg    %r1, %r2, 100(%r3)
1434         laxg    %r1, %r2, 100(%r3)
1435
1436 #CHECK: error: offset out of range
1437 #CHECK: larl    %r0, -0x1000000002
1438 #CHECK: error: offset out of range
1439 #CHECK: larl    %r0, -1
1440 #CHECK: error: offset out of range
1441 #CHECK: larl    %r0, 1
1442 #CHECK: error: offset out of range
1443 #CHECK: larl    %r0, 0x100000000
1444
1445         larl    %r0, -0x1000000002
1446         larl    %r0, -1
1447         larl    %r0, 1
1448         larl    %r0, 0x100000000
1449
1450 #CHECK: error: invalid operand
1451 #CHECK: lay     %r0, -524289
1452 #CHECK: error: invalid operand
1453 #CHECK: lay     %r0, 524288
1454
1455         lay     %r0, -524289
1456         lay     %r0, 524288
1457
1458 #CHECK: error: invalid operand
1459 #CHECK: lb      %r0, -524289
1460 #CHECK: error: invalid operand
1461 #CHECK: lb      %r0, 524288
1462
1463         lb      %r0, -524289
1464         lb      %r0, 524288
1465
1466 #CHECK: error: {{(instruction requires: high-word)?}}
1467 #CHECK: lbh     %r0, 0
1468
1469         lbh     %r0, 0
1470
1471 #CHECK: error: invalid register pair
1472 #CHECK: lcxbr   %f0, %f2
1473 #CHECK: error: invalid register pair
1474 #CHECK: lcxbr   %f2, %f0
1475
1476         lcxbr   %f0, %f2
1477         lcxbr   %f2, %f0
1478
1479 #CHECK: error: invalid operand
1480 #CHECK: ld      %f0, -1
1481 #CHECK: error: invalid operand
1482 #CHECK: ld      %f0, 4096
1483
1484         ld      %f0, -1
1485         ld      %f0, 4096
1486
1487 #CHECK: error: invalid operand
1488 #CHECK: ldeb    %f0, -1
1489 #CHECK: error: invalid operand
1490 #CHECK: ldeb    %f0, 4096
1491
1492         ldeb    %f0, -1
1493         ldeb    %f0, 4096
1494
1495 #CHECK: error: invalid register pair
1496 #CHECK: ldxbr   %f0, %f2
1497 #CHECK: error: invalid register pair
1498 #CHECK: ldxbr   %f2, %f0
1499
1500         ldxbr   %f0, %f2
1501         ldxbr   %f2, %f0
1502
1503 #CHECK: error: invalid operand
1504 #CHECK: ldy     %f0, -524289
1505 #CHECK: error: invalid operand
1506 #CHECK: ldy     %f0, 524288
1507
1508         ldy     %f0, -524289
1509         ldy     %f0, 524288
1510
1511 #CHECK: error: invalid operand
1512 #CHECK: le      %f0, -1
1513 #CHECK: error: invalid operand
1514 #CHECK: le      %f0, 4096
1515
1516         le      %f0, -1
1517         le      %f0, 4096
1518
1519 #CHECK: error: invalid register pair
1520 #CHECK: lexbr   %f0, %f2
1521 #CHECK: error: invalid register pair
1522 #CHECK: lexbr   %f2, %f0
1523
1524         lexbr   %f0, %f2
1525         lexbr   %f2, %f0
1526
1527 #CHECK: error: invalid operand
1528 #CHECK: ley     %f0, -524289
1529 #CHECK: error: invalid operand
1530 #CHECK: ley     %f0, 524288
1531
1532         ley     %f0, -524289
1533         ley     %f0, 524288
1534
1535 #CHECK: error: {{(instruction requires: high-word)?}}
1536 #CHECK: lfh     %r0, 0
1537
1538         lfh     %r0, 0
1539
1540 #CHECK: error: invalid operand
1541 #CHECK: lg      %r0, -524289
1542 #CHECK: error: invalid operand
1543 #CHECK: lg      %r0, 524288
1544
1545         lg      %r0, -524289
1546         lg      %r0, 524288
1547
1548 #CHECK: error: invalid operand
1549 #CHECK: lgb     %r0, -524289
1550 #CHECK: error: invalid operand
1551 #CHECK: lgb     %r0, 524288
1552
1553         lgb     %r0, -524289
1554         lgb     %r0, 524288
1555
1556 #CHECK: error: invalid operand
1557 #CHECK: lgf     %r0, -524289
1558 #CHECK: error: invalid operand
1559 #CHECK: lgf     %r0, 524288
1560
1561         lgf     %r0, -524289
1562         lgf     %r0, 524288
1563
1564 #CHECK: error: invalid operand
1565 #CHECK: lgfi    %r0, (-1 << 31) - 1
1566 #CHECK: error: invalid operand
1567 #CHECK: lgfi    %r0, (1 << 31)
1568
1569         lgfi    %r0, (-1 << 31) - 1
1570         lgfi    %r0, (1 << 31)
1571
1572 #CHECK: error: offset out of range
1573 #CHECK: lgfrl   %r0, -0x1000000002
1574 #CHECK: error: offset out of range
1575 #CHECK: lgfrl   %r0, -1
1576 #CHECK: error: offset out of range
1577 #CHECK: lgfrl   %r0, 1
1578 #CHECK: error: offset out of range
1579 #CHECK: lgfrl   %r0, 0x100000000
1580
1581         lgfrl   %r0, -0x1000000002
1582         lgfrl   %r0, -1
1583         lgfrl   %r0, 1
1584         lgfrl   %r0, 0x100000000
1585
1586 #CHECK: error: invalid operand
1587 #CHECK: lgh     %r0, -524289
1588 #CHECK: error: invalid operand
1589 #CHECK: lgh     %r0, 524288
1590
1591         lgh     %r0, -524289
1592         lgh     %r0, 524288
1593
1594 #CHECK: error: invalid operand
1595 #CHECK: lghi    %r0, -32769
1596 #CHECK: error: invalid operand
1597 #CHECK: lghi    %r0, 32768
1598 #CHECK: error: invalid operand
1599 #CHECK: lghi    %r0, foo
1600
1601         lghi    %r0, -32769
1602         lghi    %r0, 32768
1603         lghi    %r0, foo
1604
1605 #CHECK: error: offset out of range
1606 #CHECK: lghrl   %r0, -0x1000000002
1607 #CHECK: error: offset out of range
1608 #CHECK: lghrl   %r0, -1
1609 #CHECK: error: offset out of range
1610 #CHECK: lghrl   %r0, 1
1611 #CHECK: error: offset out of range
1612 #CHECK: lghrl   %r0, 0x100000000
1613
1614         lghrl   %r0, -0x1000000002
1615         lghrl   %r0, -1
1616         lghrl   %r0, 1
1617         lghrl   %r0, 0x100000000
1618
1619 #CHECK: error: offset out of range
1620 #CHECK: lgrl    %r0, -0x1000000002
1621 #CHECK: error: offset out of range
1622 #CHECK: lgrl    %r0, -1
1623 #CHECK: error: offset out of range
1624 #CHECK: lgrl    %r0, 1
1625 #CHECK: error: offset out of range
1626 #CHECK: lgrl    %r0, 0x100000000
1627
1628         lgrl    %r0, -0x1000000002
1629         lgrl    %r0, -1
1630         lgrl    %r0, 1
1631         lgrl    %r0, 0x100000000
1632
1633 #CHECK: error: invalid operand
1634 #CHECK: lh      %r0, -1
1635 #CHECK: error: invalid operand
1636 #CHECK: lh      %r0, 4096
1637
1638         lh      %r0, -1
1639         lh      %r0, 4096
1640
1641 #CHECK: error: {{(instruction requires: high-word)?}}
1642 #CHECK: lhh     %r0, 0
1643
1644         lhh     %r0, 0
1645
1646 #CHECK: error: invalid operand
1647 #CHECK: lhi     %r0, -32769
1648 #CHECK: error: invalid operand
1649 #CHECK: lhi     %r0, 32768
1650 #CHECK: error: invalid operand
1651 #CHECK: lhi     %r0, foo
1652
1653         lhi     %r0, -32769
1654         lhi     %r0, 32768
1655         lhi     %r0, foo
1656
1657 #CHECK: error: offset out of range
1658 #CHECK: lhrl    %r0, -0x1000000002
1659 #CHECK: error: offset out of range
1660 #CHECK: lhrl    %r0, -1
1661 #CHECK: error: offset out of range
1662 #CHECK: lhrl    %r0, 1
1663 #CHECK: error: offset out of range
1664 #CHECK: lhrl    %r0, 0x100000000
1665
1666         lhrl    %r0, -0x1000000002
1667         lhrl    %r0, -1
1668         lhrl    %r0, 1
1669         lhrl    %r0, 0x100000000
1670
1671 #CHECK: error: invalid operand
1672 #CHECK: lhy     %r0, -524289
1673 #CHECK: error: invalid operand
1674 #CHECK: lhy     %r0, 524288
1675
1676         lhy     %r0, -524289
1677         lhy     %r0, 524288
1678
1679 #CHECK: error: invalid operand
1680 #CHECK: llc     %r0, -524289
1681 #CHECK: error: invalid operand
1682 #CHECK: llc     %r0, 524288
1683
1684         llc     %r0, -524289
1685         llc     %r0, 524288
1686
1687 #CHECK: error: {{(instruction requires: high-word)?}}
1688 #CHECK: llch    %r0, 0
1689
1690         llch    %r0, 0
1691
1692 #CHECK: error: invalid operand
1693 #CHECK: llgc    %r0, -524289
1694 #CHECK: error: invalid operand
1695 #CHECK: llgc    %r0, 524288
1696
1697         llgc    %r0, -524289
1698         llgc    %r0, 524288
1699
1700 #CHECK: error: invalid operand
1701 #CHECK: llgf    %r0, -524289
1702 #CHECK: error: invalid operand
1703 #CHECK: llgf    %r0, 524288
1704
1705         llgf    %r0, -524289
1706         llgf    %r0, 524288
1707
1708 #CHECK: error: offset out of range
1709 #CHECK: llgfrl  %r0, -0x1000000002
1710 #CHECK: error: offset out of range
1711 #CHECK: llgfrl  %r0, -1
1712 #CHECK: error: offset out of range
1713 #CHECK: llgfrl  %r0, 1
1714 #CHECK: error: offset out of range
1715 #CHECK: llgfrl  %r0, 0x100000000
1716
1717         llgfrl  %r0, -0x1000000002
1718         llgfrl  %r0, -1
1719         llgfrl  %r0, 1
1720         llgfrl  %r0, 0x100000000
1721
1722 #CHECK: error: invalid operand
1723 #CHECK: llgh    %r0, -524289
1724 #CHECK: error: invalid operand
1725 #CHECK: llgh    %r0, 524288
1726
1727         llgh    %r0, -524289
1728         llgh    %r0, 524288
1729
1730 #CHECK: error: offset out of range
1731 #CHECK: llghrl  %r0, -0x1000000002
1732 #CHECK: error: offset out of range
1733 #CHECK: llghrl  %r0, -1
1734 #CHECK: error: offset out of range
1735 #CHECK: llghrl  %r0, 1
1736 #CHECK: error: offset out of range
1737 #CHECK: llghrl  %r0, 0x100000000
1738
1739         llghrl  %r0, -0x1000000002
1740         llghrl  %r0, -1
1741         llghrl  %r0, 1
1742         llghrl  %r0, 0x100000000
1743
1744 #CHECK: error: invalid operand
1745 #CHECK: llh     %r0, -524289
1746 #CHECK: error: invalid operand
1747 #CHECK: llh     %r0, 524288
1748
1749         llh     %r0, -524289
1750         llh     %r0, 524288
1751
1752 #CHECK: error: {{(instruction requires: high-word)?}}
1753 #CHECK: llhh    %r0, 0
1754
1755         llhh    %r0, 0
1756
1757 #CHECK: error: offset out of range
1758 #CHECK: llhrl   %r0, -0x1000000002
1759 #CHECK: error: offset out of range
1760 #CHECK: llhrl   %r0, -1
1761 #CHECK: error: offset out of range
1762 #CHECK: llhrl   %r0, 1
1763 #CHECK: error: offset out of range
1764 #CHECK: llhrl   %r0, 0x100000000
1765
1766         llhrl   %r0, -0x1000000002
1767         llhrl   %r0, -1
1768         llhrl   %r0, 1
1769         llhrl   %r0, 0x100000000
1770
1771 #CHECK: error: invalid operand
1772 #CHECK: llihf   %r0, -1
1773 #CHECK: error: invalid operand
1774 #CHECK: llihf   %r0, 1 << 32
1775
1776         llihf   %r0, -1
1777         llihf   %r0, 1 << 32
1778
1779 #CHECK: error: invalid operand
1780 #CHECK: llihh   %r0, -1
1781 #CHECK: error: invalid operand
1782 #CHECK: llihh   %r0, 0x10000
1783
1784         llihh   %r0, -1
1785         llihh   %r0, 0x10000
1786
1787 #CHECK: error: invalid operand
1788 #CHECK: llihl   %r0, -1
1789 #CHECK: error: invalid operand
1790 #CHECK: llihl   %r0, 0x10000
1791
1792         llihl   %r0, -1
1793         llihl   %r0, 0x10000
1794
1795 #CHECK: error: invalid operand
1796 #CHECK: llilf   %r0, -1
1797 #CHECK: error: invalid operand
1798 #CHECK: llilf   %r0, 1 << 32
1799
1800         llilf   %r0, -1
1801         llilf   %r0, 1 << 32
1802
1803 #CHECK: error: invalid operand
1804 #CHECK: llilh   %r0, -1
1805 #CHECK: error: invalid operand
1806 #CHECK: llilh   %r0, 0x10000
1807
1808         llilh   %r0, -1
1809         llilh   %r0, 0x10000
1810
1811 #CHECK: error: invalid operand
1812 #CHECK: llill   %r0, -1
1813 #CHECK: error: invalid operand
1814 #CHECK: llill   %r0, 0x10000
1815
1816         llill   %r0, -1
1817         llill   %r0, 0x10000
1818
1819 #CHECK: error: invalid operand
1820 #CHECK: lmg     %r0, %r0, -524289
1821 #CHECK: error: invalid operand
1822 #CHECK: lmg     %r0, %r0, 524288
1823 #CHECK: error: invalid use of indexed addressing
1824 #CHECK: lmg     %r0, %r0, 0(%r1,%r2)
1825
1826         lmg     %r0, %r0, -524289
1827         lmg     %r0, %r0, 524288
1828         lmg     %r0, %r0, 0(%r1,%r2)
1829
1830 #CHECK: error: invalid register pair
1831 #CHECK: lnxbr   %f0, %f2
1832 #CHECK: error: invalid register pair
1833 #CHECK: lnxbr   %f2, %f0
1834
1835         lnxbr   %f0, %f2
1836         lnxbr   %f2, %f0
1837
1838 #CHECK: error: invalid register pair
1839 #CHECK: lpxbr   %f0, %f2
1840 #CHECK: error: invalid register pair
1841 #CHECK: lpxbr   %f2, %f0
1842
1843         lpxbr   %f0, %f2
1844         lpxbr   %f2, %f0
1845
1846 #CHECK: error: offset out of range
1847 #CHECK: lrl     %r0, -0x1000000002
1848 #CHECK: error: offset out of range
1849 #CHECK: lrl     %r0, -1
1850 #CHECK: error: offset out of range
1851 #CHECK: lrl     %r0, 1
1852 #CHECK: error: offset out of range
1853 #CHECK: lrl     %r0, 0x100000000
1854
1855         lrl     %r0, -0x1000000002
1856         lrl     %r0, -1
1857         lrl     %r0, 1
1858         lrl     %r0, 0x100000000
1859
1860 #CHECK: error: invalid operand
1861 #CHECK: lrv     %r0, -524289
1862 #CHECK: error: invalid operand
1863 #CHECK: lrv     %r0, 524288
1864
1865         lrv     %r0, -524289
1866         lrv     %r0, 524288
1867
1868 #CHECK: error: invalid operand
1869 #CHECK: lrvg    %r0, -524289
1870 #CHECK: error: invalid operand
1871 #CHECK: lrvg    %r0, 524288
1872
1873         lrvg    %r0, -524289
1874         lrvg    %r0, 524288
1875
1876 #CHECK: error: invalid operand
1877 #CHECK: lt      %r0, -524289
1878 #CHECK: error: invalid operand
1879 #CHECK: lt      %r0, 524288
1880
1881         lt      %r0, -524289
1882         lt      %r0, 524288
1883
1884 #CHECK: error: invalid operand
1885 #CHECK: ltg     %r0, -524289
1886 #CHECK: error: invalid operand
1887 #CHECK: ltg     %r0, 524288
1888
1889         ltg     %r0, -524289
1890         ltg     %r0, 524288
1891
1892 #CHECK: error: invalid operand
1893 #CHECK: ltgf    %r0, -524289
1894 #CHECK: error: invalid operand
1895 #CHECK: ltgf    %r0, 524288
1896
1897         ltgf    %r0, -524289
1898         ltgf    %r0, 524288
1899
1900 #CHECK: error: invalid register pair
1901 #CHECK: ltxbr   %f0, %f14
1902 #CHECK: error: invalid register pair
1903 #CHECK: ltxbr   %f14, %f0
1904
1905         ltxbr   %f0, %f14
1906         ltxbr   %f14, %f0
1907
1908 #CHECK: error: invalid register pair
1909 #CHECK: lxr     %f0, %f2
1910 #CHECK: error: invalid register pair
1911 #CHECK: lxr     %f2, %f0
1912
1913         lxr     %f0, %f2
1914         lxr     %f2, %f0
1915
1916 #CHECK: error: invalid operand
1917 #CHECK: ly      %r0, -524289
1918 #CHECK: error: invalid operand
1919 #CHECK: ly      %r0, 524288
1920
1921         ly      %r0, -524289
1922         ly      %r0, 524288
1923
1924 #CHECK: error: invalid register pair
1925 #CHECK: lzxr    %f2
1926
1927         lzxr    %f2
1928
1929 #CHECK: error: invalid operand
1930 #CHECK: madb    %f0, %f0, -1
1931 #CHECK: error: invalid operand
1932 #CHECK: madb    %f0, %f0, 4096
1933
1934         madb    %f0, %f0, -1
1935         madb    %f0, %f0, 4096
1936
1937 #CHECK: error: invalid operand
1938 #CHECK: maeb    %f0, %f0, -1
1939 #CHECK: error: invalid operand
1940 #CHECK: maeb    %f0, %f0, 4096
1941
1942         maeb    %f0, %f0, -1
1943         maeb    %f0, %f0, 4096
1944
1945 #CHECK: error: invalid operand
1946 #CHECK: mdb     %f0, -1
1947 #CHECK: error: invalid operand
1948 #CHECK: mdb     %f0, 4096
1949
1950         mdb     %f0, -1
1951         mdb     %f0, 4096
1952
1953 #CHECK: error: invalid operand
1954 #CHECK: mdeb    %f0, -1
1955 #CHECK: error: invalid operand
1956 #CHECK: mdeb    %f0, 4096
1957
1958         mdeb    %f0, -1
1959         mdeb    %f0, 4096
1960
1961 #CHECK: error: invalid operand
1962 #CHECK: meeb    %f0, -1
1963 #CHECK: error: invalid operand
1964 #CHECK: meeb    %f0, 4096
1965
1966         meeb    %f0, -1
1967         meeb    %f0, 4096
1968
1969 #CHECK: error: invalid operand
1970 #CHECK: mghi    %r0, -32769
1971 #CHECK: error: invalid operand
1972 #CHECK: mghi    %r0, 32768
1973 #CHECK: error: invalid operand
1974 #CHECK: mghi    %r0, foo
1975
1976         mghi    %r0, -32769
1977         mghi    %r0, 32768
1978         mghi    %r0, foo
1979
1980 #CHECK: error: invalid operand
1981 #CHECK: mh      %r0, -1
1982 #CHECK: error: invalid operand
1983 #CHECK: mh      %r0, 4096
1984
1985         mh      %r0, -1
1986         mh      %r0, 4096
1987
1988 #CHECK: error: invalid operand
1989 #CHECK: mhi     %r0, -32769
1990 #CHECK: error: invalid operand
1991 #CHECK: mhi     %r0, 32768
1992 #CHECK: error: invalid operand
1993 #CHECK: mhi     %r0, foo
1994
1995         mhi     %r0, -32769
1996         mhi     %r0, 32768
1997         mhi     %r0, foo
1998
1999 #CHECK: error: invalid operand
2000 #CHECK: mhy     %r0, -524289
2001 #CHECK: error: invalid operand
2002 #CHECK: mhy     %r0, 524288
2003
2004         mhy     %r0, -524289
2005         mhy     %r0, 524288
2006
2007 #CHECK: error: invalid operand
2008 #CHECK: mlg     %r0, -524289
2009 #CHECK: error: invalid operand
2010 #CHECK: mlg     %r0, 524288
2011 #CHECK: error: invalid register pair
2012 #CHECK: mlg     %r1, 0
2013
2014         mlg     %r0, -524289
2015         mlg     %r0, 524288
2016         mlg     %r1, 0
2017
2018 #CHECK: error: invalid register pair
2019 #CHECK: mlgr    %r1, %r0
2020
2021         mlgr    %r1, %r0
2022
2023 #CHECK: error: invalid operand
2024 #CHECK: ms      %r0, -1
2025 #CHECK: error: invalid operand
2026 #CHECK: ms      %r0, 4096
2027
2028         ms      %r0, -1
2029         ms      %r0, 4096
2030
2031 #CHECK: error: invalid operand
2032 #CHECK: msdb    %f0, %f0, -1
2033 #CHECK: error: invalid operand
2034 #CHECK: msdb    %f0, %f0, 4096
2035
2036         msdb    %f0, %f0, -1
2037         msdb    %f0, %f0, 4096
2038
2039 #CHECK: error: invalid operand
2040 #CHECK: mseb    %f0, %f0, -1
2041 #CHECK: error: invalid operand
2042 #CHECK: mseb    %f0, %f0, 4096
2043
2044         mseb    %f0, %f0, -1
2045         mseb    %f0, %f0, 4096
2046
2047 #CHECK: error: invalid operand
2048 #CHECK: msfi    %r0, (-1 << 31) - 1
2049 #CHECK: error: invalid operand
2050 #CHECK: msfi    %r0, (1 << 31)
2051
2052         msfi    %r0, (-1 << 31) - 1
2053         msfi    %r0, (1 << 31)
2054
2055 #CHECK: error: invalid operand
2056 #CHECK: msg     %r0, -524289
2057 #CHECK: error: invalid operand
2058 #CHECK: msg     %r0, 524288
2059
2060         msg     %r0, -524289
2061         msg     %r0, 524288
2062
2063 #CHECK: error: invalid operand
2064 #CHECK: msgf    %r0, -524289
2065 #CHECK: error: invalid operand
2066 #CHECK: msgf    %r0, 524288
2067
2068         msgf    %r0, -524289
2069         msgf    %r0, 524288
2070
2071 #CHECK: error: invalid operand
2072 #CHECK: msgfi   %r0, (-1 << 31) - 1
2073 #CHECK: error: invalid operand
2074 #CHECK: msgfi   %r0, (1 << 31)
2075
2076         msgfi   %r0, (-1 << 31) - 1
2077         msgfi   %r0, (1 << 31)
2078
2079 #CHECK: error: invalid operand
2080 #CHECK: msy     %r0, -524289
2081 #CHECK: error: invalid operand
2082 #CHECK: msy     %r0, 524288
2083
2084         msy     %r0, -524289
2085         msy     %r0, 524288
2086
2087 #CHECK: error: missing length in address
2088 #CHECK: mvc     0, 0
2089 #CHECK: error: missing length in address
2090 #CHECK: mvc     0(%r1), 0(%r1)
2091 #CHECK: error: invalid use of length addressing
2092 #CHECK: mvc     0(1,%r1), 0(2,%r1)
2093 #CHECK: error: invalid operand
2094 #CHECK: mvc     0(0,%r1), 0(%r1)
2095 #CHECK: error: invalid operand
2096 #CHECK: mvc     0(257,%r1), 0(%r1)
2097 #CHECK: error: invalid operand
2098 #CHECK: mvc     -1(1,%r1), 0(%r1)
2099 #CHECK: error: invalid operand
2100 #CHECK: mvc     4096(1,%r1), 0(%r1)
2101 #CHECK: error: invalid operand
2102 #CHECK: mvc     0(1,%r1), -1(%r1)
2103 #CHECK: error: invalid operand
2104 #CHECK: mvc     0(1,%r1), 4096(%r1)
2105 #CHECK: error: %r0 used in an address
2106 #CHECK: mvc     0(1,%r0), 0(%r1)
2107 #CHECK: error: %r0 used in an address
2108 #CHECK: mvc     0(1,%r1), 0(%r0)
2109 #CHECK: error: invalid use of indexed addressing
2110 #CHECK: mvc     0(%r1,%r2), 0(%r1)
2111 #CHECK: error: invalid use of indexed addressing
2112 #CHECK: mvc     0(1,%r2), 0(%r1,%r2)
2113 #CHECK: error: unknown token in expression
2114 #CHECK: mvc     0(-), 0
2115
2116         mvc     0, 0
2117         mvc     0(%r1), 0(%r1)
2118         mvc     0(1,%r1), 0(2,%r1)
2119         mvc     0(0,%r1), 0(%r1)
2120         mvc     0(257,%r1), 0(%r1)
2121         mvc     -1(1,%r1), 0(%r1)
2122         mvc     4096(1,%r1), 0(%r1)
2123         mvc     0(1,%r1), -1(%r1)
2124         mvc     0(1,%r1), 4096(%r1)
2125         mvc     0(1,%r0), 0(%r1)
2126         mvc     0(1,%r1), 0(%r0)
2127         mvc     0(%r1,%r2), 0(%r1)
2128         mvc     0(1,%r2), 0(%r1,%r2)
2129         mvc     0(-), 0
2130
2131 #CHECK: error: invalid operand
2132 #CHECK: mvghi   -1, 0
2133 #CHECK: error: invalid operand
2134 #CHECK: mvghi   4096, 0
2135 #CHECK: error: invalid use of indexed addressing
2136 #CHECK: mvghi   0(%r1,%r2), 0
2137 #CHECK: error: invalid operand
2138 #CHECK: mvghi   0, -32769
2139 #CHECK: error: invalid operand
2140 #CHECK: mvghi   0, 32768
2141
2142         mvghi   -1, 0
2143         mvghi   4096, 0
2144         mvghi   0(%r1,%r2), 0
2145         mvghi   0, -32769
2146         mvghi   0, 32768
2147
2148 #CHECK: error: invalid operand
2149 #CHECK: mvhhi   -1, 0
2150 #CHECK: error: invalid operand
2151 #CHECK: mvhhi   4096, 0
2152 #CHECK: error: invalid use of indexed addressing
2153 #CHECK: mvhhi   0(%r1,%r2), 0
2154 #CHECK: error: invalid operand
2155 #CHECK: mvhhi   0, -32769
2156 #CHECK: error: invalid operand
2157 #CHECK: mvhhi   0, 32768
2158
2159         mvhhi   -1, 0
2160         mvhhi   4096, 0
2161         mvhhi   0(%r1,%r2), 0
2162         mvhhi   0, -32769
2163         mvhhi   0, 32768
2164
2165 #CHECK: error: invalid operand
2166 #CHECK: mvhi    -1, 0
2167 #CHECK: error: invalid operand
2168 #CHECK: mvhi    4096, 0
2169 #CHECK: error: invalid use of indexed addressing
2170 #CHECK: mvhi    0(%r1,%r2), 0
2171 #CHECK: error: invalid operand
2172 #CHECK: mvhi    0, -32769
2173 #CHECK: error: invalid operand
2174 #CHECK: mvhi    0, 32768
2175
2176         mvhi    -1, 0
2177         mvhi    4096, 0
2178         mvhi    0(%r1,%r2), 0
2179         mvhi    0, -32769
2180         mvhi    0, 32768
2181
2182 #CHECK: error: invalid operand
2183 #CHECK: mvi     -1, 0
2184 #CHECK: error: invalid operand
2185 #CHECK: mvi     4096, 0
2186 #CHECK: error: invalid use of indexed addressing
2187 #CHECK: mvi     0(%r1,%r2), 0
2188 #CHECK: error: invalid operand
2189 #CHECK: mvi     0, -1
2190 #CHECK: error: invalid operand
2191 #CHECK: mvi     0, 256
2192
2193         mvi     -1, 0
2194         mvi     4096, 0
2195         mvi     0(%r1,%r2), 0
2196         mvi     0, -1
2197         mvi     0, 256
2198
2199 #CHECK: error: invalid operand
2200 #CHECK: mviy    -524289, 0
2201 #CHECK: error: invalid operand
2202 #CHECK: mviy    524288, 0
2203 #CHECK: error: invalid use of indexed addressing
2204 #CHECK: mviy    0(%r1,%r2), 0
2205 #CHECK: error: invalid operand
2206 #CHECK: mviy    0, -1
2207 #CHECK: error: invalid operand
2208 #CHECK: mviy    0, 256
2209
2210         mviy    -524289, 0
2211         mviy    524288, 0
2212         mviy    0(%r1,%r2), 0
2213         mviy    0, -1
2214         mviy    0, 256
2215
2216 #CHECK: error: invalid register pair
2217 #CHECK: mxbr    %f0, %f2
2218 #CHECK: error: invalid register pair
2219 #CHECK: mxbr    %f2, %f0
2220
2221         mxbr    %f0, %f2
2222         mxbr    %f2, %f0
2223
2224 #CHECK: error: invalid register pair
2225 #CHECK: mxdb    %f2, 0
2226 #CHECK: error: invalid operand
2227 #CHECK: mxdb    %f0, -1
2228 #CHECK: error: invalid operand
2229 #CHECK: mxdb    %f0, 4096
2230
2231         mxdb    %f2, 0
2232         mxdb    %f0, -1
2233         mxdb    %f0, 4096
2234
2235 #CHECK: error: invalid register pair
2236 #CHECK: mxdbr   %f2, %f0
2237
2238         mxdbr   %f2, %f0
2239
2240 #CHECK: error: invalid operand
2241 #CHECK: n       %r0, -1
2242 #CHECK: error: invalid operand
2243 #CHECK: n       %r0, 4096
2244
2245         n       %r0, -1
2246         n       %r0, 4096
2247
2248 #CHECK: error: missing length in address
2249 #CHECK: nc      0, 0
2250 #CHECK: error: missing length in address
2251 #CHECK: nc      0(%r1), 0(%r1)
2252 #CHECK: error: invalid use of length addressing
2253 #CHECK: nc      0(1,%r1), 0(2,%r1)
2254 #CHECK: error: invalid operand
2255 #CHECK: nc      0(0,%r1), 0(%r1)
2256 #CHECK: error: invalid operand
2257 #CHECK: nc      0(257,%r1), 0(%r1)
2258 #CHECK: error: invalid operand
2259 #CHECK: nc      -1(1,%r1), 0(%r1)
2260 #CHECK: error: invalid operand
2261 #CHECK: nc      4096(1,%r1), 0(%r1)
2262 #CHECK: error: invalid operand
2263 #CHECK: nc      0(1,%r1), -1(%r1)
2264 #CHECK: error: invalid operand
2265 #CHECK: nc      0(1,%r1), 4096(%r1)
2266 #CHECK: error: %r0 used in an address
2267 #CHECK: nc      0(1,%r0), 0(%r1)
2268 #CHECK: error: %r0 used in an address
2269 #CHECK: nc      0(1,%r1), 0(%r0)
2270 #CHECK: error: invalid use of indexed addressing
2271 #CHECK: nc      0(%r1,%r2), 0(%r1)
2272 #CHECK: error: invalid use of indexed addressing
2273 #CHECK: nc      0(1,%r2), 0(%r1,%r2)
2274 #CHECK: error: unknown token in expression
2275 #CHECK: nc      0(-), 0
2276
2277         nc      0, 0
2278         nc      0(%r1), 0(%r1)
2279         nc      0(1,%r1), 0(2,%r1)
2280         nc      0(0,%r1), 0(%r1)
2281         nc      0(257,%r1), 0(%r1)
2282         nc      -1(1,%r1), 0(%r1)
2283         nc      4096(1,%r1), 0(%r1)
2284         nc      0(1,%r1), -1(%r1)
2285         nc      0(1,%r1), 4096(%r1)
2286         nc      0(1,%r0), 0(%r1)
2287         nc      0(1,%r1), 0(%r0)
2288         nc      0(%r1,%r2), 0(%r1)
2289         nc      0(1,%r2), 0(%r1,%r2)
2290         nc      0(-), 0
2291
2292 #CHECK: error: invalid operand
2293 #CHECK: ng      %r0, -524289
2294 #CHECK: error: invalid operand
2295 #CHECK: ng      %r0, 524288
2296
2297         ng      %r0, -524289
2298         ng      %r0, 524288
2299
2300 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2301 #CHECK: ngrk    %r2,%r3,%r4
2302
2303         ngrk    %r2,%r3,%r4
2304
2305 #CHECK: error: invalid operand
2306 #CHECK: ni      -1, 0
2307 #CHECK: error: invalid operand
2308 #CHECK: ni      4096, 0
2309 #CHECK: error: invalid use of indexed addressing
2310 #CHECK: ni      0(%r1,%r2), 0
2311 #CHECK: error: invalid operand
2312 #CHECK: ni      0, -1
2313 #CHECK: error: invalid operand
2314 #CHECK: ni      0, 256
2315
2316         ni      -1, 0
2317         ni      4096, 0
2318         ni      0(%r1,%r2), 0
2319         ni      0, -1
2320         ni      0, 256
2321
2322 #CHECK: error: invalid operand
2323 #CHECK: nihf    %r0, -1
2324 #CHECK: error: invalid operand
2325 #CHECK: nihf    %r0, 1 << 32
2326
2327         nihf    %r0, -1
2328         nihf    %r0, 1 << 32
2329
2330 #CHECK: error: invalid operand
2331 #CHECK: nihh    %r0, -1
2332 #CHECK: error: invalid operand
2333 #CHECK: nihh    %r0, 0x10000
2334
2335         nihh    %r0, -1
2336         nihh    %r0, 0x10000
2337
2338 #CHECK: error: invalid operand
2339 #CHECK: nihl    %r0, -1
2340 #CHECK: error: invalid operand
2341 #CHECK: nihl    %r0, 0x10000
2342
2343         nihl    %r0, -1
2344         nihl    %r0, 0x10000
2345
2346 #CHECK: error: invalid operand
2347 #CHECK: nilf    %r0, -1
2348 #CHECK: error: invalid operand
2349 #CHECK: nilf    %r0, 1 << 32
2350
2351         nilf    %r0, -1
2352         nilf    %r0, 1 << 32
2353
2354 #CHECK: error: invalid operand
2355 #CHECK: nilh    %r0, -1
2356 #CHECK: error: invalid operand
2357 #CHECK: nilh    %r0, 0x10000
2358
2359         nilh    %r0, -1
2360         nilh    %r0, 0x10000
2361
2362 #CHECK: error: invalid operand
2363 #CHECK: nill    %r0, -1
2364 #CHECK: error: invalid operand
2365 #CHECK: nill    %r0, 0x10000
2366
2367         nill    %r0, -1
2368         nill    %r0, 0x10000
2369
2370 #CHECK: error: invalid operand
2371 #CHECK: niy     -524289, 0
2372 #CHECK: error: invalid operand
2373 #CHECK: niy     524288, 0
2374 #CHECK: error: invalid use of indexed addressing
2375 #CHECK: niy     0(%r1,%r2), 0
2376 #CHECK: error: invalid operand
2377 #CHECK: niy     0, -1
2378 #CHECK: error: invalid operand
2379 #CHECK: niy     0, 256
2380
2381         niy     -524289, 0
2382         niy     524288, 0
2383         niy     0(%r1,%r2), 0
2384         niy     0, -1
2385         niy     0, 256
2386
2387 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2388 #CHECK: nrk     %r2,%r3,%r4
2389
2390         nrk     %r2,%r3,%r4
2391
2392 #CHECK: error: invalid operand
2393 #CHECK: ny      %r0, -524289
2394 #CHECK: error: invalid operand
2395 #CHECK: ny      %r0, 524288
2396
2397         ny      %r0, -524289
2398         ny      %r0, 524288
2399
2400 #CHECK: error: invalid operand
2401 #CHECK: o       %r0, -1
2402 #CHECK: error: invalid operand
2403 #CHECK: o       %r0, 4096
2404
2405         o       %r0, -1
2406         o       %r0, 4096
2407
2408 #CHECK: error: missing length in address
2409 #CHECK: oc      0, 0
2410 #CHECK: error: missing length in address
2411 #CHECK: oc      0(%r1), 0(%r1)
2412 #CHECK: error: invalid use of length addressing
2413 #CHECK: oc      0(1,%r1), 0(2,%r1)
2414 #CHECK: error: invalid operand
2415 #CHECK: oc      0(0,%r1), 0(%r1)
2416 #CHECK: error: invalid operand
2417 #CHECK: oc      0(257,%r1), 0(%r1)
2418 #CHECK: error: invalid operand
2419 #CHECK: oc      -1(1,%r1), 0(%r1)
2420 #CHECK: error: invalid operand
2421 #CHECK: oc      4096(1,%r1), 0(%r1)
2422 #CHECK: error: invalid operand
2423 #CHECK: oc      0(1,%r1), -1(%r1)
2424 #CHECK: error: invalid operand
2425 #CHECK: oc      0(1,%r1), 4096(%r1)
2426 #CHECK: error: %r0 used in an address
2427 #CHECK: oc      0(1,%r0), 0(%r1)
2428 #CHECK: error: %r0 used in an address
2429 #CHECK: oc      0(1,%r1), 0(%r0)
2430 #CHECK: error: invalid use of indexed addressing
2431 #CHECK: oc      0(%r1,%r2), 0(%r1)
2432 #CHECK: error: invalid use of indexed addressing
2433 #CHECK: oc      0(1,%r2), 0(%r1,%r2)
2434 #CHECK: error: unknown token in expression
2435 #CHECK: oc      0(-), 0
2436
2437         oc      0, 0
2438         oc      0(%r1), 0(%r1)
2439         oc      0(1,%r1), 0(2,%r1)
2440         oc      0(0,%r1), 0(%r1)
2441         oc      0(257,%r1), 0(%r1)
2442         oc      -1(1,%r1), 0(%r1)
2443         oc      4096(1,%r1), 0(%r1)
2444         oc      0(1,%r1), -1(%r1)
2445         oc      0(1,%r1), 4096(%r1)
2446         oc      0(1,%r0), 0(%r1)
2447         oc      0(1,%r1), 0(%r0)
2448         oc      0(%r1,%r2), 0(%r1)
2449         oc      0(1,%r2), 0(%r1,%r2)
2450         oc      0(-), 0
2451
2452 #CHECK: error: invalid operand
2453 #CHECK: og      %r0, -524289
2454 #CHECK: error: invalid operand
2455 #CHECK: og      %r0, 524288
2456
2457         og      %r0, -524289
2458         og      %r0, 524288
2459
2460 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2461 #CHECK: ogrk    %r2,%r3,%r4
2462
2463         ogrk    %r2,%r3,%r4
2464
2465 #CHECK: error: invalid operand
2466 #CHECK: oi      -1, 0
2467 #CHECK: error: invalid operand
2468 #CHECK: oi      4096, 0
2469 #CHECK: error: invalid use of indexed addressing
2470 #CHECK: oi      0(%r1,%r2), 0
2471 #CHECK: error: invalid operand
2472 #CHECK: oi      0, -1
2473 #CHECK: error: invalid operand
2474 #CHECK: oi      0, 256
2475
2476         oi      -1, 0
2477         oi      4096, 0
2478         oi      0(%r1,%r2), 0
2479         oi      0, -1
2480         oi      0, 256
2481
2482 #CHECK: error: invalid operand
2483 #CHECK: oihf    %r0, -1
2484 #CHECK: error: invalid operand
2485 #CHECK: oihf    %r0, 1 << 32
2486
2487         oihf    %r0, -1
2488         oihf    %r0, 1 << 32
2489
2490 #CHECK: error: invalid operand
2491 #CHECK: oihh    %r0, -1
2492 #CHECK: error: invalid operand
2493 #CHECK: oihh    %r0, 0x10000
2494
2495         oihh    %r0, -1
2496         oihh    %r0, 0x10000
2497
2498 #CHECK: error: invalid operand
2499 #CHECK: oihl    %r0, -1
2500 #CHECK: error: invalid operand
2501 #CHECK: oihl    %r0, 0x10000
2502
2503         oihl    %r0, -1
2504         oihl    %r0, 0x10000
2505
2506 #CHECK: error: invalid operand
2507 #CHECK: oilf    %r0, -1
2508 #CHECK: error: invalid operand
2509 #CHECK: oilf    %r0, 1 << 32
2510
2511         oilf    %r0, -1
2512         oilf    %r0, 1 << 32
2513
2514 #CHECK: error: invalid operand
2515 #CHECK: oilh    %r0, -1
2516 #CHECK: error: invalid operand
2517 #CHECK: oilh    %r0, 0x10000
2518
2519         oilh    %r0, -1
2520         oilh    %r0, 0x10000
2521
2522 #CHECK: error: invalid operand
2523 #CHECK: oill    %r0, -1
2524 #CHECK: error: invalid operand
2525 #CHECK: oill    %r0, 0x10000
2526
2527         oill    %r0, -1
2528         oill    %r0, 0x10000
2529
2530 #CHECK: error: invalid operand
2531 #CHECK: oiy     -524289, 0
2532 #CHECK: error: invalid operand
2533 #CHECK: oiy     524288, 0
2534 #CHECK: error: invalid use of indexed addressing
2535 #CHECK: oiy     0(%r1,%r2), 0
2536 #CHECK: error: invalid operand
2537 #CHECK: oiy     0, -1
2538 #CHECK: error: invalid operand
2539 #CHECK: oiy     0, 256
2540
2541         oiy     -524289, 0
2542         oiy     524288, 0
2543         oiy     0(%r1,%r2), 0
2544         oiy     0, -1
2545         oiy     0, 256
2546
2547 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2548 #CHECK: ork     %r2,%r3,%r4
2549
2550         ork     %r2,%r3,%r4
2551
2552 #CHECK: error: invalid operand
2553 #CHECK: oy      %r0, -524289
2554 #CHECK: error: invalid operand
2555 #CHECK: oy      %r0, 524288
2556
2557         oy      %r0, -524289
2558         oy      %r0, 524288
2559
2560 #CHECK: error: invalid operand
2561 #CHECK: pfd     -1, 0
2562 #CHECK: error: invalid operand
2563 #CHECK: pfd     16, 0
2564 #CHECK: error: invalid operand
2565 #CHECK: pfd     1, -524289
2566 #CHECK: error: invalid operand
2567 #CHECK: pfd     1, 524288
2568
2569         pfd     -1, 0
2570         pfd     16, 0
2571         pfd     1, -524289
2572         pfd     1, 524288
2573
2574 #CHECK: error: invalid operand
2575 #CHECK: pfdrl   -1, 0
2576 #CHECK: error: invalid operand
2577 #CHECK: pfdrl   16, 0
2578 #CHECK: error: offset out of range
2579 #CHECK: pfdrl   1, -0x1000000002
2580 #CHECK: error: offset out of range
2581 #CHECK: pfdrl   1, -1
2582 #CHECK: error: offset out of range
2583 #CHECK: pfdrl   1, 1
2584 #CHECK: error: offset out of range
2585 #CHECK: pfdrl   1, 0x100000000
2586
2587         pfdrl   -1, 0
2588         pfdrl   16, 0
2589         pfdrl   1, -0x1000000002
2590         pfdrl   1, -1
2591         pfdrl   1, 1
2592         pfdrl   1, 0x100000000
2593
2594 #CHECK: error: invalid operand
2595 #CHECK: risbg   %r0,%r0,0,0,-1
2596 #CHECK: error: invalid operand
2597 #CHECK: risbg   %r0,%r0,0,0,64
2598 #CHECK: error: invalid operand
2599 #CHECK: risbg   %r0,%r0,0,-1,0
2600 #CHECK: error: invalid operand
2601 #CHECK: risbg   %r0,%r0,0,256,0
2602 #CHECK: error: invalid operand
2603 #CHECK: risbg   %r0,%r0,-1,0,0
2604 #CHECK: error: invalid operand
2605 #CHECK: risbg   %r0,%r0,256,0,0
2606
2607         risbg   %r0,%r0,0,0,-1
2608         risbg   %r0,%r0,0,0,64
2609         risbg   %r0,%r0,0,-1,0
2610         risbg   %r0,%r0,0,256,0
2611         risbg   %r0,%r0,-1,0,0
2612         risbg   %r0,%r0,256,0,0
2613
2614 #CHECK: error: {{(instruction requires: high-word)?}}
2615 #CHECK: risbhg  %r1, %r2, 0, 0, 0
2616
2617         risbhg  %r1, %r2, 0, 0, 0
2618
2619 #CHECK: error: {{(instruction requires: high-word)?}}
2620 #CHECK: risblg  %r1, %r2, 0, 0, 0
2621
2622         risblg  %r1, %r2, 0, 0, 0
2623
2624 #CHECK: error: invalid operand
2625 #CHECK: rnsbg   %r0,%r0,0,0,-1
2626 #CHECK: error: invalid operand
2627 #CHECK: rnsbg   %r0,%r0,0,0,64
2628 #CHECK: error: invalid operand
2629 #CHECK: rnsbg   %r0,%r0,0,-1,0
2630 #CHECK: error: invalid operand
2631 #CHECK: rnsbg   %r0,%r0,0,256,0
2632 #CHECK: error: invalid operand
2633 #CHECK: rnsbg   %r0,%r0,-1,0,0
2634 #CHECK: error: invalid operand
2635 #CHECK: rnsbg   %r0,%r0,256,0,0
2636
2637         rnsbg   %r0,%r0,0,0,-1
2638         rnsbg   %r0,%r0,0,0,64
2639         rnsbg   %r0,%r0,0,-1,0
2640         rnsbg   %r0,%r0,0,256,0
2641         rnsbg   %r0,%r0,-1,0,0
2642         rnsbg   %r0,%r0,256,0,0
2643
2644 #CHECK: error: invalid operand
2645 #CHECK: rosbg   %r0,%r0,0,0,-1
2646 #CHECK: error: invalid operand
2647 #CHECK: rosbg   %r0,%r0,0,0,64
2648 #CHECK: error: invalid operand
2649 #CHECK: rosbg   %r0,%r0,0,-1,0
2650 #CHECK: error: invalid operand
2651 #CHECK: rosbg   %r0,%r0,0,256,0
2652 #CHECK: error: invalid operand
2653 #CHECK: rosbg   %r0,%r0,-1,0,0
2654 #CHECK: error: invalid operand
2655 #CHECK: rosbg   %r0,%r0,256,0,0
2656
2657         rosbg   %r0,%r0,0,0,-1
2658         rosbg   %r0,%r0,0,0,64
2659         rosbg   %r0,%r0,0,-1,0
2660         rosbg   %r0,%r0,0,256,0
2661         rosbg   %r0,%r0,-1,0,0
2662         rosbg   %r0,%r0,256,0,0
2663
2664 #CHECK: error: invalid operand
2665 #CHECK: rxsbg   %r0,%r0,0,0,-1
2666 #CHECK: error: invalid operand
2667 #CHECK: rxsbg   %r0,%r0,0,0,64
2668 #CHECK: error: invalid operand
2669 #CHECK: rxsbg   %r0,%r0,0,-1,0
2670 #CHECK: error: invalid operand
2671 #CHECK: rxsbg   %r0,%r0,0,256,0
2672 #CHECK: error: invalid operand
2673 #CHECK: rxsbg   %r0,%r0,-1,0,0
2674 #CHECK: error: invalid operand
2675 #CHECK: rxsbg   %r0,%r0,256,0,0
2676
2677         rxsbg   %r0,%r0,0,0,-1
2678         rxsbg   %r0,%r0,0,0,64
2679         rxsbg   %r0,%r0,0,-1,0
2680         rxsbg   %r0,%r0,0,256,0
2681         rxsbg   %r0,%r0,-1,0,0
2682         rxsbg   %r0,%r0,256,0,0
2683
2684 #CHECK: error: invalid operand
2685 #CHECK: rll     %r0,%r0,-524289
2686 #CHECK: error: invalid operand
2687 #CHECK: rll     %r0,%r0,524288
2688 #CHECK: error: %r0 used in an address
2689 #CHECK: rll     %r0,%r0,0(%r0)
2690 #CHECK: error: invalid use of indexed addressing
2691 #CHECK: rll     %r0,%r0,0(%r1,%r2)
2692
2693         rll     %r0,%r0,-524289
2694         rll     %r0,%r0,524288
2695         rll     %r0,%r0,0(%r0)
2696         rll     %r0,%r0,0(%r1,%r2)
2697
2698 #CHECK: error: invalid operand
2699 #CHECK: rllg    %r0,%r0,-524289
2700 #CHECK: error: invalid operand
2701 #CHECK: rllg    %r0,%r0,524288
2702 #CHECK: error: %r0 used in an address
2703 #CHECK: rllg    %r0,%r0,0(%r0)
2704 #CHECK: error: invalid use of indexed addressing
2705 #CHECK: rllg    %r0,%r0,0(%r1,%r2)
2706
2707         rllg    %r0,%r0,-524289
2708         rllg    %r0,%r0,524288
2709         rllg    %r0,%r0,0(%r0)
2710         rllg    %r0,%r0,0(%r1,%r2)
2711
2712 #CHECK: error: invalid operand
2713 #CHECK: s       %r0, -1
2714 #CHECK: error: invalid operand
2715 #CHECK: s       %r0, 4096
2716
2717         s       %r0, -1
2718         s       %r0, 4096
2719
2720 #CHECK: error: invalid operand
2721 #CHECK: sdb     %f0, -1
2722 #CHECK: error: invalid operand
2723 #CHECK: sdb     %f0, 4096
2724
2725         sdb     %f0, -1
2726         sdb     %f0, 4096
2727
2728 #CHECK: error: invalid operand
2729 #CHECK: seb     %f0, -1
2730 #CHECK: error: invalid operand
2731 #CHECK: seb     %f0, 4096
2732
2733         seb     %f0, -1
2734         seb     %f0, 4096
2735
2736 #CHECK: error: invalid operand
2737 #CHECK: sg      %r0, -524289
2738 #CHECK: error: invalid operand
2739 #CHECK: sg      %r0, 524288
2740
2741         sg      %r0, -524289
2742         sg      %r0, 524288
2743
2744 #CHECK: error: invalid operand
2745 #CHECK: sgf     %r0, -524289
2746 #CHECK: error: invalid operand
2747 #CHECK: sgf     %r0, 524288
2748
2749         sgf     %r0, -524289
2750         sgf     %r0, 524288
2751
2752 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2753 #CHECK: sgrk    %r2,%r3,%r4
2754
2755         sgrk    %r2,%r3,%r4
2756
2757 #CHECK: error: invalid operand
2758 #CHECK: sh      %r0, -1
2759 #CHECK: error: invalid operand
2760 #CHECK: sh      %r0, 4096
2761
2762         sh      %r0, -1
2763         sh      %r0, 4096
2764
2765 #CHECK: error: invalid operand
2766 #CHECK: shy     %r0, -524289
2767 #CHECK: error: invalid operand
2768 #CHECK: shy     %r0, 524288
2769
2770         shy     %r0, -524289
2771         shy     %r0, 524288
2772
2773 #CHECK: error: invalid operand
2774 #CHECK: sl      %r0, -1
2775 #CHECK: error: invalid operand
2776 #CHECK: sl      %r0, 4096
2777
2778         sl      %r0, -1
2779         sl      %r0, 4096
2780
2781 #CHECK: error: invalid operand
2782 #CHECK: slb     %r0, -524289
2783 #CHECK: error: invalid operand
2784 #CHECK: slb     %r0, 524288
2785
2786         slb     %r0, -524289
2787         slb     %r0, 524288
2788
2789 #CHECK: error: invalid operand
2790 #CHECK: slbg    %r0, -524289
2791 #CHECK: error: invalid operand
2792 #CHECK: slbg    %r0, 524288
2793
2794         slbg    %r0, -524289
2795         slbg    %r0, 524288
2796
2797 #CHECK: error: invalid operand
2798 #CHECK: slfi    %r0, -1
2799 #CHECK: error: invalid operand
2800 #CHECK: slfi    %r0, (1 << 32)
2801
2802         slfi    %r0, -1
2803         slfi    %r0, (1 << 32)
2804
2805 #CHECK: error: invalid operand
2806 #CHECK: slg     %r0, -524289
2807 #CHECK: error: invalid operand
2808 #CHECK: slg     %r0, 524288
2809
2810         slg     %r0, -524289
2811         slg     %r0, 524288
2812
2813 #CHECK: error: invalid operand
2814 #CHECK: slgf    %r0, -524289
2815 #CHECK: error: invalid operand
2816 #CHECK: slgf    %r0, 524288
2817
2818         slgf    %r0, -524289
2819         slgf    %r0, 524288
2820
2821 #CHECK: error: invalid operand
2822 #CHECK: slgfi   %r0, -1
2823 #CHECK: error: invalid operand
2824 #CHECK: slgfi   %r0, (1 << 32)
2825
2826         slgfi   %r0, -1
2827         slgfi   %r0, (1 << 32)
2828
2829 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2830 #CHECK: slgrk   %r2,%r3,%r4
2831
2832         slgrk   %r2,%r3,%r4
2833
2834 #CHECK: error: invalid operand
2835 #CHECK: sll     %r0,-1
2836 #CHECK: error: invalid operand
2837 #CHECK: sll     %r0,4096
2838 #CHECK: error: %r0 used in an address
2839 #CHECK: sll     %r0,0(%r0)
2840 #CHECK: error: invalid use of indexed addressing
2841 #CHECK: sll     %r0,0(%r1,%r2)
2842
2843         sll     %r0,-1
2844         sll     %r0,4096
2845         sll     %r0,0(%r0)
2846         sll     %r0,0(%r1,%r2)
2847
2848 #CHECK: error: invalid operand
2849 #CHECK: sllg    %r0,%r0,-524289
2850 #CHECK: error: invalid operand
2851 #CHECK: sllg    %r0,%r0,524288
2852 #CHECK: error: %r0 used in an address
2853 #CHECK: sllg    %r0,%r0,0(%r0)
2854 #CHECK: error: invalid use of indexed addressing
2855 #CHECK: sllg    %r0,%r0,0(%r1,%r2)
2856
2857         sllg    %r0,%r0,-524289
2858         sllg    %r0,%r0,524288
2859         sllg    %r0,%r0,0(%r0)
2860         sllg    %r0,%r0,0(%r1,%r2)
2861
2862 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2863 #CHECK: sllk    %r2,%r3,4(%r5)
2864
2865         sllk    %r2,%r3,4(%r5)
2866
2867 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2868 #CHECK: slrk    %r2,%r3,%r4
2869
2870         slrk    %r2,%r3,%r4
2871
2872 #CHECK: error: invalid operand
2873 #CHECK: sly     %r0, -524289
2874 #CHECK: error: invalid operand
2875 #CHECK: sly     %r0, 524288
2876
2877         sly     %r0, -524289
2878         sly     %r0, 524288
2879
2880 #CHECK: error: invalid operand
2881 #CHECK: sqdb    %f0, -1
2882 #CHECK: error: invalid operand
2883 #CHECK: sqdb    %f0, 4096
2884
2885         sqdb    %f0, -1
2886         sqdb    %f0, 4096
2887
2888 #CHECK: error: invalid operand
2889 #CHECK: sqeb    %f0, -1
2890 #CHECK: error: invalid operand
2891 #CHECK: sqeb    %f0, 4096
2892
2893         sqeb    %f0, -1
2894         sqeb    %f0, 4096
2895
2896 #CHECK: error: invalid register pair
2897 #CHECK: sqxbr   %f0, %f2
2898 #CHECK: error: invalid register pair
2899 #CHECK: sqxbr   %f2, %f0
2900
2901         sqxbr   %f0, %f2
2902         sqxbr   %f2, %f0
2903
2904 #CHECK: error: invalid operand
2905 #CHECK: sra     %r0,-1
2906 #CHECK: error: invalid operand
2907 #CHECK: sra     %r0,4096
2908 #CHECK: error: %r0 used in an address
2909 #CHECK: sra     %r0,0(%r0)
2910 #CHECK: error: invalid use of indexed addressing
2911 #CHECK: sra     %r0,0(%r1,%r2)
2912
2913         sra     %r0,-1
2914         sra     %r0,4096
2915         sra     %r0,0(%r0)
2916         sra     %r0,0(%r1,%r2)
2917
2918 #CHECK: error: invalid operand
2919 #CHECK: srag    %r0,%r0,-524289
2920 #CHECK: error: invalid operand
2921 #CHECK: srag    %r0,%r0,524288
2922 #CHECK: error: %r0 used in an address
2923 #CHECK: srag    %r0,%r0,0(%r0)
2924 #CHECK: error: invalid use of indexed addressing
2925 #CHECK: srag    %r0,%r0,0(%r1,%r2)
2926
2927         srag    %r0,%r0,-524289
2928         srag    %r0,%r0,524288
2929         srag    %r0,%r0,0(%r0)
2930         srag    %r0,%r0,0(%r1,%r2)
2931
2932 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2933 #CHECK: srak    %r2,%r3,4(%r5)
2934
2935         srak    %r2,%r3,4(%r5)
2936
2937 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2938 #CHECK: srk     %r2,%r3,%r4
2939
2940         srk     %r2,%r3,%r4
2941
2942 #CHECK: error: invalid operand
2943 #CHECK: srl     %r0,-1
2944 #CHECK: error: invalid operand
2945 #CHECK: srl     %r0,4096
2946 #CHECK: error: %r0 used in an address
2947 #CHECK: srl     %r0,0(%r0)
2948 #CHECK: error: invalid use of indexed addressing
2949 #CHECK: srl     %r0,0(%r1,%r2)
2950
2951         srl     %r0,-1
2952         srl     %r0,4096
2953         srl     %r0,0(%r0)
2954         srl     %r0,0(%r1,%r2)
2955
2956 #CHECK: error: invalid operand
2957 #CHECK: srlg    %r0,%r0,-524289
2958 #CHECK: error: invalid operand
2959 #CHECK: srlg    %r0,%r0,524288
2960 #CHECK: error: %r0 used in an address
2961 #CHECK: srlg    %r0,%r0,0(%r0)
2962 #CHECK: error: invalid use of indexed addressing
2963 #CHECK: srlg    %r0,%r0,0(%r1,%r2)
2964
2965         srlg    %r0,%r0,-524289
2966         srlg    %r0,%r0,524288
2967         srlg    %r0,%r0,0(%r0)
2968         srlg    %r0,%r0,0(%r1,%r2)
2969
2970 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2971 #CHECK: srlk    %r2,%r3,4(%r5)
2972
2973         srlk    %r2,%r3,4(%r5)
2974
2975 #CHECK: error: invalid operand
2976 #CHECK: st      %r0, -1
2977 #CHECK: error: invalid operand
2978 #CHECK: st      %r0, 4096
2979
2980         st      %r0, -1
2981         st      %r0, 4096
2982
2983 #CHECK: error: invalid operand
2984 #CHECK: stc     %r0, -1
2985 #CHECK: error: invalid operand
2986 #CHECK: stc     %r0, 4096
2987
2988         stc     %r0, -1
2989         stc     %r0, 4096
2990
2991 #CHECK: error: {{(instruction requires: high-word)?}}
2992 #CHECK: stch    %r0, 0
2993
2994         stch    %r0, 0
2995
2996 #CHECK: error: invalid operand
2997 #CHECK: stcy    %r0, -524289
2998 #CHECK: error: invalid operand
2999 #CHECK: stcy    %r0, 524288
3000
3001         stcy    %r0, -524289
3002         stcy    %r0, 524288
3003
3004 #CHECK: error: invalid operand
3005 #CHECK: std     %f0, -1
3006 #CHECK: error: invalid operand
3007 #CHECK: std     %f0, 4096
3008
3009         std     %f0, -1
3010         std     %f0, 4096
3011
3012 #CHECK: error: invalid operand
3013 #CHECK: stdy    %f0, -524289
3014 #CHECK: error: invalid operand
3015 #CHECK: stdy    %f0, 524288
3016
3017         stdy    %f0, -524289
3018         stdy    %f0, 524288
3019
3020 #CHECK: error: invalid operand
3021 #CHECK: ste     %f0, -1
3022 #CHECK: error: invalid operand
3023 #CHECK: ste     %f0, 4096
3024
3025         ste     %f0, -1
3026         ste     %f0, 4096
3027
3028 #CHECK: error: invalid operand
3029 #CHECK: stey    %f0, -524289
3030 #CHECK: error: invalid operand
3031 #CHECK: stey    %f0, 524288
3032
3033         stey    %f0, -524289
3034         stey    %f0, 524288
3035
3036 #CHECK: error: invalid operand
3037 #CHECK: stg     %r0, -524289
3038 #CHECK: error: invalid operand
3039 #CHECK: stg     %r0, 524288
3040
3041         stg     %r0, -524289
3042         stg     %r0, 524288
3043
3044 #CHECK: error: offset out of range
3045 #CHECK: stgrl   %r0, -0x1000000002
3046 #CHECK: error: offset out of range
3047 #CHECK: stgrl   %r0, -1
3048 #CHECK: error: offset out of range
3049 #CHECK: stgrl   %r0, 1
3050 #CHECK: error: offset out of range
3051 #CHECK: stgrl   %r0, 0x100000000
3052
3053         stgrl   %r0, -0x1000000002
3054         stgrl   %r0, -1
3055         stgrl   %r0, 1
3056         stgrl   %r0, 0x100000000
3057
3058 #CHECK: error: invalid operand
3059 #CHECK: sth     %r0, -1
3060 #CHECK: error: invalid operand
3061 #CHECK: sth     %r0, 4096
3062
3063         sth     %r0, -1
3064         sth     %r0, 4096
3065
3066 #CHECK: error: {{(instruction requires: high-word)?}}
3067 #CHECK: sthh    %r0, 0
3068
3069         sthh    %r0, 0
3070
3071 #CHECK: error: offset out of range
3072 #CHECK: sthrl   %r0, -0x1000000002
3073 #CHECK: error: offset out of range
3074 #CHECK: sthrl   %r0, -1
3075 #CHECK: error: offset out of range
3076 #CHECK: sthrl   %r0, 1
3077 #CHECK: error: offset out of range
3078 #CHECK: sthrl   %r0, 0x100000000
3079
3080         sthrl   %r0, -0x1000000002
3081         sthrl   %r0, -1
3082         sthrl   %r0, 1
3083         sthrl   %r0, 0x100000000
3084
3085 #CHECK: error: invalid operand
3086 #CHECK: sthy    %r0, -524289
3087 #CHECK: error: invalid operand
3088 #CHECK: sthy    %r0, 524288
3089
3090         sthy    %r0, -524289
3091         sthy    %r0, 524288
3092
3093 #CHECK: error: {{(instruction requires: high-word)?}}
3094 #CHECK: stfh    %r0, 0
3095
3096         stfh    %r0, 0
3097
3098 #CHECK: error: invalid operand
3099 #CHECK: stmg    %r0, %r0, -524289
3100 #CHECK: error: invalid operand
3101 #CHECK: stmg    %r0, %r0, 524288
3102 #CHECK: error: invalid use of indexed addressing
3103 #CHECK: stmg    %r0, %r0, 0(%r1,%r2)
3104
3105         stmg    %r0, %r0, -524289
3106         stmg    %r0, %r0, 524288
3107         stmg    %r0, %r0, 0(%r1,%r2)
3108
3109 #CHECK: error: offset out of range
3110 #CHECK: strl    %r0, -0x1000000002
3111 #CHECK: error: offset out of range
3112 #CHECK: strl    %r0, -1
3113 #CHECK: error: offset out of range
3114 #CHECK: strl    %r0, 1
3115 #CHECK: error: offset out of range
3116 #CHECK: strl    %r0, 0x100000000
3117
3118         strl    %r0, -0x1000000002
3119         strl    %r0, -1
3120         strl    %r0, 1
3121         strl    %r0, 0x100000000
3122
3123 #CHECK: error: invalid operand
3124 #CHECK: strv    %r0, -524289
3125 #CHECK: error: invalid operand
3126 #CHECK: strv    %r0, 524288
3127
3128         strv    %r0, -524289
3129         strv    %r0, 524288
3130
3131 #CHECK: error: invalid operand
3132 #CHECK: strvg   %r0, -524289
3133 #CHECK: error: invalid operand
3134 #CHECK: strvg   %r0, 524288
3135
3136         strvg   %r0, -524289
3137         strvg   %r0, 524288
3138
3139 #CHECK: error: invalid operand
3140 #CHECK: sty     %r0, -524289
3141 #CHECK: error: invalid operand
3142 #CHECK: sty     %r0, 524288
3143
3144         sty     %r0, -524289
3145         sty     %r0, 524288
3146
3147 #CHECK: error: invalid register pair
3148 #CHECK: sxbr    %f0, %f2
3149 #CHECK: error: invalid register pair
3150 #CHECK: sxbr    %f2, %f0
3151
3152         sxbr    %f0, %f2
3153         sxbr    %f2, %f0
3154
3155 #CHECK: error: invalid operand
3156 #CHECK: sy      %r0, -524289
3157 #CHECK: error: invalid operand
3158 #CHECK: sy      %r0, 524288
3159
3160         sy      %r0, -524289
3161         sy      %r0, 524288
3162
3163 #CHECK: error: invalid operand
3164 #CHECK: tm      -1, 0
3165 #CHECK: error: invalid operand
3166 #CHECK: tm      4096, 0
3167 #CHECK: error: invalid use of indexed addressing
3168 #CHECK: tm      0(%r1,%r2), 0
3169 #CHECK: error: invalid operand
3170 #CHECK: tm      0, -1
3171 #CHECK: error: invalid operand
3172 #CHECK: tm      0, 256
3173
3174         tm      -1, 0
3175         tm      4096, 0
3176         tm      0(%r1,%r2), 0
3177         tm      0, -1
3178         tm      0, 256
3179
3180 #CHECK: error: invalid operand
3181 #CHECK: tmhh    %r0, -1
3182 #CHECK: error: invalid operand
3183 #CHECK: tmhh    %r0, 0x10000
3184
3185         tmhh    %r0, -1
3186         tmhh    %r0, 0x10000
3187
3188 #CHECK: error: invalid operand
3189 #CHECK: tmhl    %r0, -1
3190 #CHECK: error: invalid operand
3191 #CHECK: tmhl    %r0, 0x10000
3192
3193         tmhl    %r0, -1
3194         tmhl    %r0, 0x10000
3195
3196 #CHECK: error: invalid operand
3197 #CHECK: tmlh    %r0, -1
3198 #CHECK: error: invalid operand
3199 #CHECK: tmlh    %r0, 0x10000
3200
3201         tmlh    %r0, -1
3202         tmlh    %r0, 0x10000
3203
3204 #CHECK: error: invalid operand
3205 #CHECK: tmll    %r0, -1
3206 #CHECK: error: invalid operand
3207 #CHECK: tmll    %r0, 0x10000
3208
3209         tmll    %r0, -1
3210         tmll    %r0, 0x10000
3211
3212 #CHECK: error: invalid operand
3213 #CHECK: tmy     -524289, 0
3214 #CHECK: error: invalid operand
3215 #CHECK: tmy     524288, 0
3216 #CHECK: error: invalid use of indexed addressing
3217 #CHECK: tmy     0(%r1,%r2), 0
3218 #CHECK: error: invalid operand
3219 #CHECK: tmy     0, -1
3220 #CHECK: error: invalid operand
3221 #CHECK: tmy     0, 256
3222
3223         tmy     -524289, 0
3224         tmy     524288, 0
3225         tmy     0(%r1,%r2), 0
3226         tmy     0, -1
3227         tmy     0, 256
3228
3229 #CHECK: error: invalid operand
3230 #CHECK: x       %r0, -1
3231 #CHECK: error: invalid operand
3232 #CHECK: x       %r0, 4096
3233
3234         x       %r0, -1
3235         x       %r0, 4096
3236
3237 #CHECK: error: missing length in address
3238 #CHECK: xc      0, 0
3239 #CHECK: error: missing length in address
3240 #CHECK: xc      0(%r1), 0(%r1)
3241 #CHECK: error: invalid use of length addressing
3242 #CHECK: xc      0(1,%r1), 0(2,%r1)
3243 #CHECK: error: invalid operand
3244 #CHECK: xc      0(0,%r1), 0(%r1)
3245 #CHECK: error: invalid operand
3246 #CHECK: xc      0(257,%r1), 0(%r1)
3247 #CHECK: error: invalid operand
3248 #CHECK: xc      -1(1,%r1), 0(%r1)
3249 #CHECK: error: invalid operand
3250 #CHECK: xc      4096(1,%r1), 0(%r1)
3251 #CHECK: error: invalid operand
3252 #CHECK: xc      0(1,%r1), -1(%r1)
3253 #CHECK: error: invalid operand
3254 #CHECK: xc      0(1,%r1), 4096(%r1)
3255 #CHECK: error: %r0 used in an address
3256 #CHECK: xc      0(1,%r0), 0(%r1)
3257 #CHECK: error: %r0 used in an address
3258 #CHECK: xc      0(1,%r1), 0(%r0)
3259 #CHECK: error: invalid use of indexed addressing
3260 #CHECK: xc      0(%r1,%r2), 0(%r1)
3261 #CHECK: error: invalid use of indexed addressing
3262 #CHECK: xc      0(1,%r2), 0(%r1,%r2)
3263 #CHECK: error: unknown token in expression
3264 #CHECK: xc      0(-), 0
3265
3266         xc      0, 0
3267         xc      0(%r1), 0(%r1)
3268         xc      0(1,%r1), 0(2,%r1)
3269         xc      0(0,%r1), 0(%r1)
3270         xc      0(257,%r1), 0(%r1)
3271         xc      -1(1,%r1), 0(%r1)
3272         xc      4096(1,%r1), 0(%r1)
3273         xc      0(1,%r1), -1(%r1)
3274         xc      0(1,%r1), 4096(%r1)
3275         xc      0(1,%r0), 0(%r1)
3276         xc      0(1,%r1), 0(%r0)
3277         xc      0(%r1,%r2), 0(%r1)
3278         xc      0(1,%r2), 0(%r1,%r2)
3279         xc      0(-), 0
3280
3281 #CHECK: error: invalid operand
3282 #CHECK: xg      %r0, -524289
3283 #CHECK: error: invalid operand
3284 #CHECK: xg      %r0, 524288
3285
3286         xg      %r0, -524289
3287         xg      %r0, 524288
3288
3289 #CHECK: error: {{(instruction requires: distinct-ops)?}}
3290 #CHECK: xgrk    %r2,%r3,%r4
3291
3292         xgrk    %r2,%r3,%r4
3293
3294 #CHECK: error: invalid operand
3295 #CHECK: xi      -1, 0
3296 #CHECK: error: invalid operand
3297 #CHECK: xi      4096, 0
3298 #CHECK: error: invalid use of indexed addressing
3299 #CHECK: xi      0(%r1,%r2), 0
3300 #CHECK: error: invalid operand
3301 #CHECK: xi      0, -1
3302 #CHECK: error: invalid operand
3303 #CHECK: xi      0, 256
3304
3305         xi      -1, 0
3306         xi      4096, 0
3307         xi      0(%r1,%r2), 0
3308         xi      0, -1
3309         xi      0, 256
3310
3311 #CHECK: error: invalid operand
3312 #CHECK: xihf    %r0, -1
3313 #CHECK: error: invalid operand
3314 #CHECK: xihf    %r0, 1 << 32
3315
3316         xihf    %r0, -1
3317         xihf    %r0, 1 << 32
3318
3319 #CHECK: error: invalid operand
3320 #CHECK: xilf    %r0, -1
3321 #CHECK: error: invalid operand
3322 #CHECK: xilf    %r0, 1 << 32
3323
3324         xilf    %r0, -1
3325         xilf    %r0, 1 << 32
3326
3327 #CHECK: error: invalid operand
3328 #CHECK: xiy     -524289, 0
3329 #CHECK: error: invalid operand
3330 #CHECK: xiy     524288, 0
3331 #CHECK: error: invalid use of indexed addressing
3332 #CHECK: xiy     0(%r1,%r2), 0
3333 #CHECK: error: invalid operand
3334 #CHECK: xiy     0, -1
3335 #CHECK: error: invalid operand
3336 #CHECK: xiy     0, 256
3337
3338         xiy     -524289, 0
3339         xiy     524288, 0
3340         xiy     0(%r1,%r2), 0
3341         xiy     0, -1
3342         xiy     0, 256
3343
3344 #CHECK: error: {{(instruction requires: distinct-ops)?}}
3345 #CHECK: xrk     %r2,%r3,%r4
3346
3347         xrk     %r2,%r3,%r4
3348
3349 #CHECK: error: invalid operand
3350 #CHECK: xy      %r0, -524289
3351 #CHECK: error: invalid operand
3352 #CHECK: xy      %r0, 524288
3353
3354         xy      %r0, -524289
3355         xy      %r0, 524288