]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/MC/SystemZ/insn-bad.s
Vendor import of llvm release_34 branch r197841 (effectively, 3.4 RC3):
[FreeBSD/FreeBSD.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: offset out of range
1397 #CHECK: larl    %r0, -0x1000000002
1398 #CHECK: error: offset out of range
1399 #CHECK: larl    %r0, -1
1400 #CHECK: error: offset out of range
1401 #CHECK: larl    %r0, 1
1402 #CHECK: error: offset out of range
1403 #CHECK: larl    %r0, 0x100000000
1404
1405         larl    %r0, -0x1000000002
1406         larl    %r0, -1
1407         larl    %r0, 1
1408         larl    %r0, 0x100000000
1409
1410 #CHECK: error: invalid operand
1411 #CHECK: lay     %r0, -524289
1412 #CHECK: error: invalid operand
1413 #CHECK: lay     %r0, 524288
1414
1415         lay     %r0, -524289
1416         lay     %r0, 524288
1417
1418 #CHECK: error: invalid operand
1419 #CHECK: lb      %r0, -524289
1420 #CHECK: error: invalid operand
1421 #CHECK: lb      %r0, 524288
1422
1423         lb      %r0, -524289
1424         lb      %r0, 524288
1425
1426 #CHECK: error: {{(instruction requires: high-word)?}}
1427 #CHECK: lbh     %r0, 0
1428
1429         lbh     %r0, 0
1430
1431 #CHECK: error: invalid register pair
1432 #CHECK: lcxbr   %f0, %f2
1433 #CHECK: error: invalid register pair
1434 #CHECK: lcxbr   %f2, %f0
1435
1436         lcxbr   %f0, %f2
1437         lcxbr   %f2, %f0
1438
1439 #CHECK: error: invalid operand
1440 #CHECK: ld      %f0, -1
1441 #CHECK: error: invalid operand
1442 #CHECK: ld      %f0, 4096
1443
1444         ld      %f0, -1
1445         ld      %f0, 4096
1446
1447 #CHECK: error: invalid operand
1448 #CHECK: ldeb    %f0, -1
1449 #CHECK: error: invalid operand
1450 #CHECK: ldeb    %f0, 4096
1451
1452         ldeb    %f0, -1
1453         ldeb    %f0, 4096
1454
1455 #CHECK: error: invalid register pair
1456 #CHECK: ldxbr   %f0, %f2
1457 #CHECK: error: invalid register pair
1458 #CHECK: ldxbr   %f2, %f0
1459
1460         ldxbr   %f0, %f2
1461         ldxbr   %f2, %f0
1462
1463 #CHECK: error: invalid operand
1464 #CHECK: ldy     %f0, -524289
1465 #CHECK: error: invalid operand
1466 #CHECK: ldy     %f0, 524288
1467
1468         ldy     %f0, -524289
1469         ldy     %f0, 524288
1470
1471 #CHECK: error: invalid operand
1472 #CHECK: le      %f0, -1
1473 #CHECK: error: invalid operand
1474 #CHECK: le      %f0, 4096
1475
1476         le      %f0, -1
1477         le      %f0, 4096
1478
1479 #CHECK: error: invalid register pair
1480 #CHECK: lexbr   %f0, %f2
1481 #CHECK: error: invalid register pair
1482 #CHECK: lexbr   %f2, %f0
1483
1484         lexbr   %f0, %f2
1485         lexbr   %f2, %f0
1486
1487 #CHECK: error: invalid operand
1488 #CHECK: ley     %f0, -524289
1489 #CHECK: error: invalid operand
1490 #CHECK: ley     %f0, 524288
1491
1492         ley     %f0, -524289
1493         ley     %f0, 524288
1494
1495 #CHECK: error: {{(instruction requires: high-word)?}}
1496 #CHECK: lfh     %r0, 0
1497
1498         lfh     %r0, 0
1499
1500 #CHECK: error: invalid operand
1501 #CHECK: lg      %r0, -524289
1502 #CHECK: error: invalid operand
1503 #CHECK: lg      %r0, 524288
1504
1505         lg      %r0, -524289
1506         lg      %r0, 524288
1507
1508 #CHECK: error: invalid operand
1509 #CHECK: lgb     %r0, -524289
1510 #CHECK: error: invalid operand
1511 #CHECK: lgb     %r0, 524288
1512
1513         lgb     %r0, -524289
1514         lgb     %r0, 524288
1515
1516 #CHECK: error: invalid operand
1517 #CHECK: lgf     %r0, -524289
1518 #CHECK: error: invalid operand
1519 #CHECK: lgf     %r0, 524288
1520
1521         lgf     %r0, -524289
1522         lgf     %r0, 524288
1523
1524 #CHECK: error: invalid operand
1525 #CHECK: lgfi    %r0, (-1 << 31) - 1
1526 #CHECK: error: invalid operand
1527 #CHECK: lgfi    %r0, (1 << 31)
1528
1529         lgfi    %r0, (-1 << 31) - 1
1530         lgfi    %r0, (1 << 31)
1531
1532 #CHECK: error: offset out of range
1533 #CHECK: lgfrl   %r0, -0x1000000002
1534 #CHECK: error: offset out of range
1535 #CHECK: lgfrl   %r0, -1
1536 #CHECK: error: offset out of range
1537 #CHECK: lgfrl   %r0, 1
1538 #CHECK: error: offset out of range
1539 #CHECK: lgfrl   %r0, 0x100000000
1540
1541         lgfrl   %r0, -0x1000000002
1542         lgfrl   %r0, -1
1543         lgfrl   %r0, 1
1544         lgfrl   %r0, 0x100000000
1545
1546 #CHECK: error: invalid operand
1547 #CHECK: lgh     %r0, -524289
1548 #CHECK: error: invalid operand
1549 #CHECK: lgh     %r0, 524288
1550
1551         lgh     %r0, -524289
1552         lgh     %r0, 524288
1553
1554 #CHECK: error: invalid operand
1555 #CHECK: lghi    %r0, -32769
1556 #CHECK: error: invalid operand
1557 #CHECK: lghi    %r0, 32768
1558 #CHECK: error: invalid operand
1559 #CHECK: lghi    %r0, foo
1560
1561         lghi    %r0, -32769
1562         lghi    %r0, 32768
1563         lghi    %r0, foo
1564
1565 #CHECK: error: offset out of range
1566 #CHECK: lghrl   %r0, -0x1000000002
1567 #CHECK: error: offset out of range
1568 #CHECK: lghrl   %r0, -1
1569 #CHECK: error: offset out of range
1570 #CHECK: lghrl   %r0, 1
1571 #CHECK: error: offset out of range
1572 #CHECK: lghrl   %r0, 0x100000000
1573
1574         lghrl   %r0, -0x1000000002
1575         lghrl   %r0, -1
1576         lghrl   %r0, 1
1577         lghrl   %r0, 0x100000000
1578
1579 #CHECK: error: offset out of range
1580 #CHECK: lgrl    %r0, -0x1000000002
1581 #CHECK: error: offset out of range
1582 #CHECK: lgrl    %r0, -1
1583 #CHECK: error: offset out of range
1584 #CHECK: lgrl    %r0, 1
1585 #CHECK: error: offset out of range
1586 #CHECK: lgrl    %r0, 0x100000000
1587
1588         lgrl    %r0, -0x1000000002
1589         lgrl    %r0, -1
1590         lgrl    %r0, 1
1591         lgrl    %r0, 0x100000000
1592
1593 #CHECK: error: invalid operand
1594 #CHECK: lh      %r0, -1
1595 #CHECK: error: invalid operand
1596 #CHECK: lh      %r0, 4096
1597
1598         lh      %r0, -1
1599         lh      %r0, 4096
1600
1601 #CHECK: error: {{(instruction requires: high-word)?}}
1602 #CHECK: lhh     %r0, 0
1603
1604         lhh     %r0, 0
1605
1606 #CHECK: error: invalid operand
1607 #CHECK: lhi     %r0, -32769
1608 #CHECK: error: invalid operand
1609 #CHECK: lhi     %r0, 32768
1610 #CHECK: error: invalid operand
1611 #CHECK: lhi     %r0, foo
1612
1613         lhi     %r0, -32769
1614         lhi     %r0, 32768
1615         lhi     %r0, foo
1616
1617 #CHECK: error: offset out of range
1618 #CHECK: lhrl    %r0, -0x1000000002
1619 #CHECK: error: offset out of range
1620 #CHECK: lhrl    %r0, -1
1621 #CHECK: error: offset out of range
1622 #CHECK: lhrl    %r0, 1
1623 #CHECK: error: offset out of range
1624 #CHECK: lhrl    %r0, 0x100000000
1625
1626         lhrl    %r0, -0x1000000002
1627         lhrl    %r0, -1
1628         lhrl    %r0, 1
1629         lhrl    %r0, 0x100000000
1630
1631 #CHECK: error: invalid operand
1632 #CHECK: lhy     %r0, -524289
1633 #CHECK: error: invalid operand
1634 #CHECK: lhy     %r0, 524288
1635
1636         lhy     %r0, -524289
1637         lhy     %r0, 524288
1638
1639 #CHECK: error: invalid operand
1640 #CHECK: llc     %r0, -524289
1641 #CHECK: error: invalid operand
1642 #CHECK: llc     %r0, 524288
1643
1644         llc     %r0, -524289
1645         llc     %r0, 524288
1646
1647 #CHECK: error: {{(instruction requires: high-word)?}}
1648 #CHECK: llch    %r0, 0
1649
1650         llch    %r0, 0
1651
1652 #CHECK: error: invalid operand
1653 #CHECK: llgc    %r0, -524289
1654 #CHECK: error: invalid operand
1655 #CHECK: llgc    %r0, 524288
1656
1657         llgc    %r0, -524289
1658         llgc    %r0, 524288
1659
1660 #CHECK: error: invalid operand
1661 #CHECK: llgf    %r0, -524289
1662 #CHECK: error: invalid operand
1663 #CHECK: llgf    %r0, 524288
1664
1665         llgf    %r0, -524289
1666         llgf    %r0, 524288
1667
1668 #CHECK: error: offset out of range
1669 #CHECK: llgfrl  %r0, -0x1000000002
1670 #CHECK: error: offset out of range
1671 #CHECK: llgfrl  %r0, -1
1672 #CHECK: error: offset out of range
1673 #CHECK: llgfrl  %r0, 1
1674 #CHECK: error: offset out of range
1675 #CHECK: llgfrl  %r0, 0x100000000
1676
1677         llgfrl  %r0, -0x1000000002
1678         llgfrl  %r0, -1
1679         llgfrl  %r0, 1
1680         llgfrl  %r0, 0x100000000
1681
1682 #CHECK: error: invalid operand
1683 #CHECK: llgh    %r0, -524289
1684 #CHECK: error: invalid operand
1685 #CHECK: llgh    %r0, 524288
1686
1687         llgh    %r0, -524289
1688         llgh    %r0, 524288
1689
1690 #CHECK: error: offset out of range
1691 #CHECK: llghrl  %r0, -0x1000000002
1692 #CHECK: error: offset out of range
1693 #CHECK: llghrl  %r0, -1
1694 #CHECK: error: offset out of range
1695 #CHECK: llghrl  %r0, 1
1696 #CHECK: error: offset out of range
1697 #CHECK: llghrl  %r0, 0x100000000
1698
1699         llghrl  %r0, -0x1000000002
1700         llghrl  %r0, -1
1701         llghrl  %r0, 1
1702         llghrl  %r0, 0x100000000
1703
1704 #CHECK: error: invalid operand
1705 #CHECK: llh     %r0, -524289
1706 #CHECK: error: invalid operand
1707 #CHECK: llh     %r0, 524288
1708
1709         llh     %r0, -524289
1710         llh     %r0, 524288
1711
1712 #CHECK: error: {{(instruction requires: high-word)?}}
1713 #CHECK: llhh    %r0, 0
1714
1715         llhh    %r0, 0
1716
1717 #CHECK: error: offset out of range
1718 #CHECK: llhrl   %r0, -0x1000000002
1719 #CHECK: error: offset out of range
1720 #CHECK: llhrl   %r0, -1
1721 #CHECK: error: offset out of range
1722 #CHECK: llhrl   %r0, 1
1723 #CHECK: error: offset out of range
1724 #CHECK: llhrl   %r0, 0x100000000
1725
1726         llhrl   %r0, -0x1000000002
1727         llhrl   %r0, -1
1728         llhrl   %r0, 1
1729         llhrl   %r0, 0x100000000
1730
1731 #CHECK: error: invalid operand
1732 #CHECK: llihf   %r0, -1
1733 #CHECK: error: invalid operand
1734 #CHECK: llihf   %r0, 1 << 32
1735
1736         llihf   %r0, -1
1737         llihf   %r0, 1 << 32
1738
1739 #CHECK: error: invalid operand
1740 #CHECK: llihh   %r0, -1
1741 #CHECK: error: invalid operand
1742 #CHECK: llihh   %r0, 0x10000
1743
1744         llihh   %r0, -1
1745         llihh   %r0, 0x10000
1746
1747 #CHECK: error: invalid operand
1748 #CHECK: llihl   %r0, -1
1749 #CHECK: error: invalid operand
1750 #CHECK: llihl   %r0, 0x10000
1751
1752         llihl   %r0, -1
1753         llihl   %r0, 0x10000
1754
1755 #CHECK: error: invalid operand
1756 #CHECK: llilf   %r0, -1
1757 #CHECK: error: invalid operand
1758 #CHECK: llilf   %r0, 1 << 32
1759
1760         llilf   %r0, -1
1761         llilf   %r0, 1 << 32
1762
1763 #CHECK: error: invalid operand
1764 #CHECK: llilh   %r0, -1
1765 #CHECK: error: invalid operand
1766 #CHECK: llilh   %r0, 0x10000
1767
1768         llilh   %r0, -1
1769         llilh   %r0, 0x10000
1770
1771 #CHECK: error: invalid operand
1772 #CHECK: llill   %r0, -1
1773 #CHECK: error: invalid operand
1774 #CHECK: llill   %r0, 0x10000
1775
1776         llill   %r0, -1
1777         llill   %r0, 0x10000
1778
1779 #CHECK: error: invalid operand
1780 #CHECK: lmg     %r0, %r0, -524289
1781 #CHECK: error: invalid operand
1782 #CHECK: lmg     %r0, %r0, 524288
1783 #CHECK: error: invalid use of indexed addressing
1784 #CHECK: lmg     %r0, %r0, 0(%r1,%r2)
1785
1786         lmg     %r0, %r0, -524289
1787         lmg     %r0, %r0, 524288
1788         lmg     %r0, %r0, 0(%r1,%r2)
1789
1790 #CHECK: error: invalid register pair
1791 #CHECK: lnxbr   %f0, %f2
1792 #CHECK: error: invalid register pair
1793 #CHECK: lnxbr   %f2, %f0
1794
1795         lnxbr   %f0, %f2
1796         lnxbr   %f2, %f0
1797
1798 #CHECK: error: invalid register pair
1799 #CHECK: lpxbr   %f0, %f2
1800 #CHECK: error: invalid register pair
1801 #CHECK: lpxbr   %f2, %f0
1802
1803         lpxbr   %f0, %f2
1804         lpxbr   %f2, %f0
1805
1806 #CHECK: error: offset out of range
1807 #CHECK: lrl     %r0, -0x1000000002
1808 #CHECK: error: offset out of range
1809 #CHECK: lrl     %r0, -1
1810 #CHECK: error: offset out of range
1811 #CHECK: lrl     %r0, 1
1812 #CHECK: error: offset out of range
1813 #CHECK: lrl     %r0, 0x100000000
1814
1815         lrl     %r0, -0x1000000002
1816         lrl     %r0, -1
1817         lrl     %r0, 1
1818         lrl     %r0, 0x100000000
1819
1820 #CHECK: error: invalid operand
1821 #CHECK: lrv     %r0, -524289
1822 #CHECK: error: invalid operand
1823 #CHECK: lrv     %r0, 524288
1824
1825         lrv     %r0, -524289
1826         lrv     %r0, 524288
1827
1828 #CHECK: error: invalid operand
1829 #CHECK: lrvg    %r0, -524289
1830 #CHECK: error: invalid operand
1831 #CHECK: lrvg    %r0, 524288
1832
1833         lrvg    %r0, -524289
1834         lrvg    %r0, 524288
1835
1836 #CHECK: error: invalid operand
1837 #CHECK: lt      %r0, -524289
1838 #CHECK: error: invalid operand
1839 #CHECK: lt      %r0, 524288
1840
1841         lt      %r0, -524289
1842         lt      %r0, 524288
1843
1844 #CHECK: error: invalid operand
1845 #CHECK: ltg     %r0, -524289
1846 #CHECK: error: invalid operand
1847 #CHECK: ltg     %r0, 524288
1848
1849         ltg     %r0, -524289
1850         ltg     %r0, 524288
1851
1852 #CHECK: error: invalid operand
1853 #CHECK: ltgf    %r0, -524289
1854 #CHECK: error: invalid operand
1855 #CHECK: ltgf    %r0, 524288
1856
1857         ltgf    %r0, -524289
1858         ltgf    %r0, 524288
1859
1860 #CHECK: error: invalid register pair
1861 #CHECK: ltxbr   %f0, %f14
1862 #CHECK: error: invalid register pair
1863 #CHECK: ltxbr   %f14, %f0
1864
1865         ltxbr   %f0, %f14
1866         ltxbr   %f14, %f0
1867
1868 #CHECK: error: invalid register pair
1869 #CHECK: lxr     %f0, %f2
1870 #CHECK: error: invalid register pair
1871 #CHECK: lxr     %f2, %f0
1872
1873         lxr     %f0, %f2
1874         lxr     %f2, %f0
1875
1876 #CHECK: error: invalid operand
1877 #CHECK: ly      %r0, -524289
1878 #CHECK: error: invalid operand
1879 #CHECK: ly      %r0, 524288
1880
1881         ly      %r0, -524289
1882         ly      %r0, 524288
1883
1884 #CHECK: error: invalid register pair
1885 #CHECK: lzxr    %f2
1886
1887         lzxr    %f2
1888
1889 #CHECK: error: invalid operand
1890 #CHECK: madb    %f0, %f0, -1
1891 #CHECK: error: invalid operand
1892 #CHECK: madb    %f0, %f0, 4096
1893
1894         madb    %f0, %f0, -1
1895         madb    %f0, %f0, 4096
1896
1897 #CHECK: error: invalid operand
1898 #CHECK: maeb    %f0, %f0, -1
1899 #CHECK: error: invalid operand
1900 #CHECK: maeb    %f0, %f0, 4096
1901
1902         maeb    %f0, %f0, -1
1903         maeb    %f0, %f0, 4096
1904
1905 #CHECK: error: invalid operand
1906 #CHECK: mdb     %f0, -1
1907 #CHECK: error: invalid operand
1908 #CHECK: mdb     %f0, 4096
1909
1910         mdb     %f0, -1
1911         mdb     %f0, 4096
1912
1913 #CHECK: error: invalid operand
1914 #CHECK: mdeb    %f0, -1
1915 #CHECK: error: invalid operand
1916 #CHECK: mdeb    %f0, 4096
1917
1918         mdeb    %f0, -1
1919         mdeb    %f0, 4096
1920
1921 #CHECK: error: invalid operand
1922 #CHECK: meeb    %f0, -1
1923 #CHECK: error: invalid operand
1924 #CHECK: meeb    %f0, 4096
1925
1926         meeb    %f0, -1
1927         meeb    %f0, 4096
1928
1929 #CHECK: error: invalid operand
1930 #CHECK: mghi    %r0, -32769
1931 #CHECK: error: invalid operand
1932 #CHECK: mghi    %r0, 32768
1933 #CHECK: error: invalid operand
1934 #CHECK: mghi    %r0, foo
1935
1936         mghi    %r0, -32769
1937         mghi    %r0, 32768
1938         mghi    %r0, foo
1939
1940 #CHECK: error: invalid operand
1941 #CHECK: mh      %r0, -1
1942 #CHECK: error: invalid operand
1943 #CHECK: mh      %r0, 4096
1944
1945         mh      %r0, -1
1946         mh      %r0, 4096
1947
1948 #CHECK: error: invalid operand
1949 #CHECK: mhi     %r0, -32769
1950 #CHECK: error: invalid operand
1951 #CHECK: mhi     %r0, 32768
1952 #CHECK: error: invalid operand
1953 #CHECK: mhi     %r0, foo
1954
1955         mhi     %r0, -32769
1956         mhi     %r0, 32768
1957         mhi     %r0, foo
1958
1959 #CHECK: error: invalid operand
1960 #CHECK: mhy     %r0, -524289
1961 #CHECK: error: invalid operand
1962 #CHECK: mhy     %r0, 524288
1963
1964         mhy     %r0, -524289
1965         mhy     %r0, 524288
1966
1967 #CHECK: error: invalid operand
1968 #CHECK: mlg     %r0, -524289
1969 #CHECK: error: invalid operand
1970 #CHECK: mlg     %r0, 524288
1971 #CHECK: error: invalid register pair
1972 #CHECK: mlg     %r1, 0
1973
1974         mlg     %r0, -524289
1975         mlg     %r0, 524288
1976         mlg     %r1, 0
1977
1978 #CHECK: error: invalid register pair
1979 #CHECK: mlgr    %r1, %r0
1980
1981         mlgr    %r1, %r0
1982
1983 #CHECK: error: invalid operand
1984 #CHECK: ms      %r0, -1
1985 #CHECK: error: invalid operand
1986 #CHECK: ms      %r0, 4096
1987
1988         ms      %r0, -1
1989         ms      %r0, 4096
1990
1991 #CHECK: error: invalid operand
1992 #CHECK: msdb    %f0, %f0, -1
1993 #CHECK: error: invalid operand
1994 #CHECK: msdb    %f0, %f0, 4096
1995
1996         msdb    %f0, %f0, -1
1997         msdb    %f0, %f0, 4096
1998
1999 #CHECK: error: invalid operand
2000 #CHECK: mseb    %f0, %f0, -1
2001 #CHECK: error: invalid operand
2002 #CHECK: mseb    %f0, %f0, 4096
2003
2004         mseb    %f0, %f0, -1
2005         mseb    %f0, %f0, 4096
2006
2007 #CHECK: error: invalid operand
2008 #CHECK: msfi    %r0, (-1 << 31) - 1
2009 #CHECK: error: invalid operand
2010 #CHECK: msfi    %r0, (1 << 31)
2011
2012         msfi    %r0, (-1 << 31) - 1
2013         msfi    %r0, (1 << 31)
2014
2015 #CHECK: error: invalid operand
2016 #CHECK: msg     %r0, -524289
2017 #CHECK: error: invalid operand
2018 #CHECK: msg     %r0, 524288
2019
2020         msg     %r0, -524289
2021         msg     %r0, 524288
2022
2023 #CHECK: error: invalid operand
2024 #CHECK: msgf    %r0, -524289
2025 #CHECK: error: invalid operand
2026 #CHECK: msgf    %r0, 524288
2027
2028         msgf    %r0, -524289
2029         msgf    %r0, 524288
2030
2031 #CHECK: error: invalid operand
2032 #CHECK: msgfi   %r0, (-1 << 31) - 1
2033 #CHECK: error: invalid operand
2034 #CHECK: msgfi   %r0, (1 << 31)
2035
2036         msgfi   %r0, (-1 << 31) - 1
2037         msgfi   %r0, (1 << 31)
2038
2039 #CHECK: error: invalid operand
2040 #CHECK: msy     %r0, -524289
2041 #CHECK: error: invalid operand
2042 #CHECK: msy     %r0, 524288
2043
2044         msy     %r0, -524289
2045         msy     %r0, 524288
2046
2047 #CHECK: error: missing length in address
2048 #CHECK: mvc     0, 0
2049 #CHECK: error: missing length in address
2050 #CHECK: mvc     0(%r1), 0(%r1)
2051 #CHECK: error: invalid use of length addressing
2052 #CHECK: mvc     0(1,%r1), 0(2,%r1)
2053 #CHECK: error: invalid operand
2054 #CHECK: mvc     0(0,%r1), 0(%r1)
2055 #CHECK: error: invalid operand
2056 #CHECK: mvc     0(257,%r1), 0(%r1)
2057 #CHECK: error: invalid operand
2058 #CHECK: mvc     -1(1,%r1), 0(%r1)
2059 #CHECK: error: invalid operand
2060 #CHECK: mvc     4096(1,%r1), 0(%r1)
2061 #CHECK: error: invalid operand
2062 #CHECK: mvc     0(1,%r1), -1(%r1)
2063 #CHECK: error: invalid operand
2064 #CHECK: mvc     0(1,%r1), 4096(%r1)
2065 #CHECK: error: %r0 used in an address
2066 #CHECK: mvc     0(1,%r0), 0(%r1)
2067 #CHECK: error: %r0 used in an address
2068 #CHECK: mvc     0(1,%r1), 0(%r0)
2069 #CHECK: error: invalid use of indexed addressing
2070 #CHECK: mvc     0(%r1,%r2), 0(%r1)
2071 #CHECK: error: invalid use of indexed addressing
2072 #CHECK: mvc     0(1,%r2), 0(%r1,%r2)
2073 #CHECK: error: unknown token in expression
2074 #CHECK: mvc     0(-), 0
2075
2076         mvc     0, 0
2077         mvc     0(%r1), 0(%r1)
2078         mvc     0(1,%r1), 0(2,%r1)
2079         mvc     0(0,%r1), 0(%r1)
2080         mvc     0(257,%r1), 0(%r1)
2081         mvc     -1(1,%r1), 0(%r1)
2082         mvc     4096(1,%r1), 0(%r1)
2083         mvc     0(1,%r1), -1(%r1)
2084         mvc     0(1,%r1), 4096(%r1)
2085         mvc     0(1,%r0), 0(%r1)
2086         mvc     0(1,%r1), 0(%r0)
2087         mvc     0(%r1,%r2), 0(%r1)
2088         mvc     0(1,%r2), 0(%r1,%r2)
2089         mvc     0(-), 0
2090
2091 #CHECK: error: invalid operand
2092 #CHECK: mvghi   -1, 0
2093 #CHECK: error: invalid operand
2094 #CHECK: mvghi   4096, 0
2095 #CHECK: error: invalid use of indexed addressing
2096 #CHECK: mvghi   0(%r1,%r2), 0
2097 #CHECK: error: invalid operand
2098 #CHECK: mvghi   0, -32769
2099 #CHECK: error: invalid operand
2100 #CHECK: mvghi   0, 32768
2101
2102         mvghi   -1, 0
2103         mvghi   4096, 0
2104         mvghi   0(%r1,%r2), 0
2105         mvghi   0, -32769
2106         mvghi   0, 32768
2107
2108 #CHECK: error: invalid operand
2109 #CHECK: mvhhi   -1, 0
2110 #CHECK: error: invalid operand
2111 #CHECK: mvhhi   4096, 0
2112 #CHECK: error: invalid use of indexed addressing
2113 #CHECK: mvhhi   0(%r1,%r2), 0
2114 #CHECK: error: invalid operand
2115 #CHECK: mvhhi   0, -32769
2116 #CHECK: error: invalid operand
2117 #CHECK: mvhhi   0, 32768
2118
2119         mvhhi   -1, 0
2120         mvhhi   4096, 0
2121         mvhhi   0(%r1,%r2), 0
2122         mvhhi   0, -32769
2123         mvhhi   0, 32768
2124
2125 #CHECK: error: invalid operand
2126 #CHECK: mvhi    -1, 0
2127 #CHECK: error: invalid operand
2128 #CHECK: mvhi    4096, 0
2129 #CHECK: error: invalid use of indexed addressing
2130 #CHECK: mvhi    0(%r1,%r2), 0
2131 #CHECK: error: invalid operand
2132 #CHECK: mvhi    0, -32769
2133 #CHECK: error: invalid operand
2134 #CHECK: mvhi    0, 32768
2135
2136         mvhi    -1, 0
2137         mvhi    4096, 0
2138         mvhi    0(%r1,%r2), 0
2139         mvhi    0, -32769
2140         mvhi    0, 32768
2141
2142 #CHECK: error: invalid operand
2143 #CHECK: mvi     -1, 0
2144 #CHECK: error: invalid operand
2145 #CHECK: mvi     4096, 0
2146 #CHECK: error: invalid use of indexed addressing
2147 #CHECK: mvi     0(%r1,%r2), 0
2148 #CHECK: error: invalid operand
2149 #CHECK: mvi     0, -1
2150 #CHECK: error: invalid operand
2151 #CHECK: mvi     0, 256
2152
2153         mvi     -1, 0
2154         mvi     4096, 0
2155         mvi     0(%r1,%r2), 0
2156         mvi     0, -1
2157         mvi     0, 256
2158
2159 #CHECK: error: invalid operand
2160 #CHECK: mviy    -524289, 0
2161 #CHECK: error: invalid operand
2162 #CHECK: mviy    524288, 0
2163 #CHECK: error: invalid use of indexed addressing
2164 #CHECK: mviy    0(%r1,%r2), 0
2165 #CHECK: error: invalid operand
2166 #CHECK: mviy    0, -1
2167 #CHECK: error: invalid operand
2168 #CHECK: mviy    0, 256
2169
2170         mviy    -524289, 0
2171         mviy    524288, 0
2172         mviy    0(%r1,%r2), 0
2173         mviy    0, -1
2174         mviy    0, 256
2175
2176 #CHECK: error: invalid register pair
2177 #CHECK: mxbr    %f0, %f2
2178 #CHECK: error: invalid register pair
2179 #CHECK: mxbr    %f2, %f0
2180
2181         mxbr    %f0, %f2
2182         mxbr    %f2, %f0
2183
2184 #CHECK: error: invalid register pair
2185 #CHECK: mxdb    %f2, 0
2186 #CHECK: error: invalid operand
2187 #CHECK: mxdb    %f0, -1
2188 #CHECK: error: invalid operand
2189 #CHECK: mxdb    %f0, 4096
2190
2191         mxdb    %f2, 0
2192         mxdb    %f0, -1
2193         mxdb    %f0, 4096
2194
2195 #CHECK: error: invalid register pair
2196 #CHECK: mxdbr   %f2, %f0
2197
2198         mxdbr   %f2, %f0
2199
2200 #CHECK: error: invalid operand
2201 #CHECK: n       %r0, -1
2202 #CHECK: error: invalid operand
2203 #CHECK: n       %r0, 4096
2204
2205         n       %r0, -1
2206         n       %r0, 4096
2207
2208 #CHECK: error: missing length in address
2209 #CHECK: nc      0, 0
2210 #CHECK: error: missing length in address
2211 #CHECK: nc      0(%r1), 0(%r1)
2212 #CHECK: error: invalid use of length addressing
2213 #CHECK: nc      0(1,%r1), 0(2,%r1)
2214 #CHECK: error: invalid operand
2215 #CHECK: nc      0(0,%r1), 0(%r1)
2216 #CHECK: error: invalid operand
2217 #CHECK: nc      0(257,%r1), 0(%r1)
2218 #CHECK: error: invalid operand
2219 #CHECK: nc      -1(1,%r1), 0(%r1)
2220 #CHECK: error: invalid operand
2221 #CHECK: nc      4096(1,%r1), 0(%r1)
2222 #CHECK: error: invalid operand
2223 #CHECK: nc      0(1,%r1), -1(%r1)
2224 #CHECK: error: invalid operand
2225 #CHECK: nc      0(1,%r1), 4096(%r1)
2226 #CHECK: error: %r0 used in an address
2227 #CHECK: nc      0(1,%r0), 0(%r1)
2228 #CHECK: error: %r0 used in an address
2229 #CHECK: nc      0(1,%r1), 0(%r0)
2230 #CHECK: error: invalid use of indexed addressing
2231 #CHECK: nc      0(%r1,%r2), 0(%r1)
2232 #CHECK: error: invalid use of indexed addressing
2233 #CHECK: nc      0(1,%r2), 0(%r1,%r2)
2234 #CHECK: error: unknown token in expression
2235 #CHECK: nc      0(-), 0
2236
2237         nc      0, 0
2238         nc      0(%r1), 0(%r1)
2239         nc      0(1,%r1), 0(2,%r1)
2240         nc      0(0,%r1), 0(%r1)
2241         nc      0(257,%r1), 0(%r1)
2242         nc      -1(1,%r1), 0(%r1)
2243         nc      4096(1,%r1), 0(%r1)
2244         nc      0(1,%r1), -1(%r1)
2245         nc      0(1,%r1), 4096(%r1)
2246         nc      0(1,%r0), 0(%r1)
2247         nc      0(1,%r1), 0(%r0)
2248         nc      0(%r1,%r2), 0(%r1)
2249         nc      0(1,%r2), 0(%r1,%r2)
2250         nc      0(-), 0
2251
2252 #CHECK: error: invalid operand
2253 #CHECK: ng      %r0, -524289
2254 #CHECK: error: invalid operand
2255 #CHECK: ng      %r0, 524288
2256
2257         ng      %r0, -524289
2258         ng      %r0, 524288
2259
2260 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2261 #CHECK: ngrk    %r2,%r3,%r4
2262
2263         ngrk    %r2,%r3,%r4
2264
2265 #CHECK: error: invalid operand
2266 #CHECK: ni      -1, 0
2267 #CHECK: error: invalid operand
2268 #CHECK: ni      4096, 0
2269 #CHECK: error: invalid use of indexed addressing
2270 #CHECK: ni      0(%r1,%r2), 0
2271 #CHECK: error: invalid operand
2272 #CHECK: ni      0, -1
2273 #CHECK: error: invalid operand
2274 #CHECK: ni      0, 256
2275
2276         ni      -1, 0
2277         ni      4096, 0
2278         ni      0(%r1,%r2), 0
2279         ni      0, -1
2280         ni      0, 256
2281
2282 #CHECK: error: invalid operand
2283 #CHECK: nihf    %r0, -1
2284 #CHECK: error: invalid operand
2285 #CHECK: nihf    %r0, 1 << 32
2286
2287         nihf    %r0, -1
2288         nihf    %r0, 1 << 32
2289
2290 #CHECK: error: invalid operand
2291 #CHECK: nihh    %r0, -1
2292 #CHECK: error: invalid operand
2293 #CHECK: nihh    %r0, 0x10000
2294
2295         nihh    %r0, -1
2296         nihh    %r0, 0x10000
2297
2298 #CHECK: error: invalid operand
2299 #CHECK: nihl    %r0, -1
2300 #CHECK: error: invalid operand
2301 #CHECK: nihl    %r0, 0x10000
2302
2303         nihl    %r0, -1
2304         nihl    %r0, 0x10000
2305
2306 #CHECK: error: invalid operand
2307 #CHECK: nilf    %r0, -1
2308 #CHECK: error: invalid operand
2309 #CHECK: nilf    %r0, 1 << 32
2310
2311         nilf    %r0, -1
2312         nilf    %r0, 1 << 32
2313
2314 #CHECK: error: invalid operand
2315 #CHECK: nilh    %r0, -1
2316 #CHECK: error: invalid operand
2317 #CHECK: nilh    %r0, 0x10000
2318
2319         nilh    %r0, -1
2320         nilh    %r0, 0x10000
2321
2322 #CHECK: error: invalid operand
2323 #CHECK: nill    %r0, -1
2324 #CHECK: error: invalid operand
2325 #CHECK: nill    %r0, 0x10000
2326
2327         nill    %r0, -1
2328         nill    %r0, 0x10000
2329
2330 #CHECK: error: invalid operand
2331 #CHECK: niy     -524289, 0
2332 #CHECK: error: invalid operand
2333 #CHECK: niy     524288, 0
2334 #CHECK: error: invalid use of indexed addressing
2335 #CHECK: niy     0(%r1,%r2), 0
2336 #CHECK: error: invalid operand
2337 #CHECK: niy     0, -1
2338 #CHECK: error: invalid operand
2339 #CHECK: niy     0, 256
2340
2341         niy     -524289, 0
2342         niy     524288, 0
2343         niy     0(%r1,%r2), 0
2344         niy     0, -1
2345         niy     0, 256
2346
2347 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2348 #CHECK: nrk     %r2,%r3,%r4
2349
2350         nrk     %r2,%r3,%r4
2351
2352 #CHECK: error: invalid operand
2353 #CHECK: ny      %r0, -524289
2354 #CHECK: error: invalid operand
2355 #CHECK: ny      %r0, 524288
2356
2357         ny      %r0, -524289
2358         ny      %r0, 524288
2359
2360 #CHECK: error: invalid operand
2361 #CHECK: o       %r0, -1
2362 #CHECK: error: invalid operand
2363 #CHECK: o       %r0, 4096
2364
2365         o       %r0, -1
2366         o       %r0, 4096
2367
2368 #CHECK: error: missing length in address
2369 #CHECK: oc      0, 0
2370 #CHECK: error: missing length in address
2371 #CHECK: oc      0(%r1), 0(%r1)
2372 #CHECK: error: invalid use of length addressing
2373 #CHECK: oc      0(1,%r1), 0(2,%r1)
2374 #CHECK: error: invalid operand
2375 #CHECK: oc      0(0,%r1), 0(%r1)
2376 #CHECK: error: invalid operand
2377 #CHECK: oc      0(257,%r1), 0(%r1)
2378 #CHECK: error: invalid operand
2379 #CHECK: oc      -1(1,%r1), 0(%r1)
2380 #CHECK: error: invalid operand
2381 #CHECK: oc      4096(1,%r1), 0(%r1)
2382 #CHECK: error: invalid operand
2383 #CHECK: oc      0(1,%r1), -1(%r1)
2384 #CHECK: error: invalid operand
2385 #CHECK: oc      0(1,%r1), 4096(%r1)
2386 #CHECK: error: %r0 used in an address
2387 #CHECK: oc      0(1,%r0), 0(%r1)
2388 #CHECK: error: %r0 used in an address
2389 #CHECK: oc      0(1,%r1), 0(%r0)
2390 #CHECK: error: invalid use of indexed addressing
2391 #CHECK: oc      0(%r1,%r2), 0(%r1)
2392 #CHECK: error: invalid use of indexed addressing
2393 #CHECK: oc      0(1,%r2), 0(%r1,%r2)
2394 #CHECK: error: unknown token in expression
2395 #CHECK: oc      0(-), 0
2396
2397         oc      0, 0
2398         oc      0(%r1), 0(%r1)
2399         oc      0(1,%r1), 0(2,%r1)
2400         oc      0(0,%r1), 0(%r1)
2401         oc      0(257,%r1), 0(%r1)
2402         oc      -1(1,%r1), 0(%r1)
2403         oc      4096(1,%r1), 0(%r1)
2404         oc      0(1,%r1), -1(%r1)
2405         oc      0(1,%r1), 4096(%r1)
2406         oc      0(1,%r0), 0(%r1)
2407         oc      0(1,%r1), 0(%r0)
2408         oc      0(%r1,%r2), 0(%r1)
2409         oc      0(1,%r2), 0(%r1,%r2)
2410         oc      0(-), 0
2411
2412 #CHECK: error: invalid operand
2413 #CHECK: og      %r0, -524289
2414 #CHECK: error: invalid operand
2415 #CHECK: og      %r0, 524288
2416
2417         og      %r0, -524289
2418         og      %r0, 524288
2419
2420 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2421 #CHECK: ogrk    %r2,%r3,%r4
2422
2423         ogrk    %r2,%r3,%r4
2424
2425 #CHECK: error: invalid operand
2426 #CHECK: oi      -1, 0
2427 #CHECK: error: invalid operand
2428 #CHECK: oi      4096, 0
2429 #CHECK: error: invalid use of indexed addressing
2430 #CHECK: oi      0(%r1,%r2), 0
2431 #CHECK: error: invalid operand
2432 #CHECK: oi      0, -1
2433 #CHECK: error: invalid operand
2434 #CHECK: oi      0, 256
2435
2436         oi      -1, 0
2437         oi      4096, 0
2438         oi      0(%r1,%r2), 0
2439         oi      0, -1
2440         oi      0, 256
2441
2442 #CHECK: error: invalid operand
2443 #CHECK: oihf    %r0, -1
2444 #CHECK: error: invalid operand
2445 #CHECK: oihf    %r0, 1 << 32
2446
2447         oihf    %r0, -1
2448         oihf    %r0, 1 << 32
2449
2450 #CHECK: error: invalid operand
2451 #CHECK: oihh    %r0, -1
2452 #CHECK: error: invalid operand
2453 #CHECK: oihh    %r0, 0x10000
2454
2455         oihh    %r0, -1
2456         oihh    %r0, 0x10000
2457
2458 #CHECK: error: invalid operand
2459 #CHECK: oihl    %r0, -1
2460 #CHECK: error: invalid operand
2461 #CHECK: oihl    %r0, 0x10000
2462
2463         oihl    %r0, -1
2464         oihl    %r0, 0x10000
2465
2466 #CHECK: error: invalid operand
2467 #CHECK: oilf    %r0, -1
2468 #CHECK: error: invalid operand
2469 #CHECK: oilf    %r0, 1 << 32
2470
2471         oilf    %r0, -1
2472         oilf    %r0, 1 << 32
2473
2474 #CHECK: error: invalid operand
2475 #CHECK: oilh    %r0, -1
2476 #CHECK: error: invalid operand
2477 #CHECK: oilh    %r0, 0x10000
2478
2479         oilh    %r0, -1
2480         oilh    %r0, 0x10000
2481
2482 #CHECK: error: invalid operand
2483 #CHECK: oill    %r0, -1
2484 #CHECK: error: invalid operand
2485 #CHECK: oill    %r0, 0x10000
2486
2487         oill    %r0, -1
2488         oill    %r0, 0x10000
2489
2490 #CHECK: error: invalid operand
2491 #CHECK: oiy     -524289, 0
2492 #CHECK: error: invalid operand
2493 #CHECK: oiy     524288, 0
2494 #CHECK: error: invalid use of indexed addressing
2495 #CHECK: oiy     0(%r1,%r2), 0
2496 #CHECK: error: invalid operand
2497 #CHECK: oiy     0, -1
2498 #CHECK: error: invalid operand
2499 #CHECK: oiy     0, 256
2500
2501         oiy     -524289, 0
2502         oiy     524288, 0
2503         oiy     0(%r1,%r2), 0
2504         oiy     0, -1
2505         oiy     0, 256
2506
2507 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2508 #CHECK: ork     %r2,%r3,%r4
2509
2510         ork     %r2,%r3,%r4
2511
2512 #CHECK: error: invalid operand
2513 #CHECK: oy      %r0, -524289
2514 #CHECK: error: invalid operand
2515 #CHECK: oy      %r0, 524288
2516
2517         oy      %r0, -524289
2518         oy      %r0, 524288
2519
2520 #CHECK: error: invalid operand
2521 #CHECK: pfd     -1, 0
2522 #CHECK: error: invalid operand
2523 #CHECK: pfd     16, 0
2524 #CHECK: error: invalid operand
2525 #CHECK: pfd     1, -524289
2526 #CHECK: error: invalid operand
2527 #CHECK: pfd     1, 524288
2528
2529         pfd     -1, 0
2530         pfd     16, 0
2531         pfd     1, -524289
2532         pfd     1, 524288
2533
2534 #CHECK: error: invalid operand
2535 #CHECK: pfdrl   -1, 0
2536 #CHECK: error: invalid operand
2537 #CHECK: pfdrl   16, 0
2538 #CHECK: error: offset out of range
2539 #CHECK: pfdrl   1, -0x1000000002
2540 #CHECK: error: offset out of range
2541 #CHECK: pfdrl   1, -1
2542 #CHECK: error: offset out of range
2543 #CHECK: pfdrl   1, 1
2544 #CHECK: error: offset out of range
2545 #CHECK: pfdrl   1, 0x100000000
2546
2547         pfdrl   -1, 0
2548         pfdrl   16, 0
2549         pfdrl   1, -0x1000000002
2550         pfdrl   1, -1
2551         pfdrl   1, 1
2552         pfdrl   1, 0x100000000
2553
2554 #CHECK: error: invalid operand
2555 #CHECK: risbg   %r0,%r0,0,0,-1
2556 #CHECK: error: invalid operand
2557 #CHECK: risbg   %r0,%r0,0,0,64
2558 #CHECK: error: invalid operand
2559 #CHECK: risbg   %r0,%r0,0,-1,0
2560 #CHECK: error: invalid operand
2561 #CHECK: risbg   %r0,%r0,0,256,0
2562 #CHECK: error: invalid operand
2563 #CHECK: risbg   %r0,%r0,-1,0,0
2564 #CHECK: error: invalid operand
2565 #CHECK: risbg   %r0,%r0,256,0,0
2566
2567         risbg   %r0,%r0,0,0,-1
2568         risbg   %r0,%r0,0,0,64
2569         risbg   %r0,%r0,0,-1,0
2570         risbg   %r0,%r0,0,256,0
2571         risbg   %r0,%r0,-1,0,0
2572         risbg   %r0,%r0,256,0,0
2573
2574 #CHECK: error: {{(instruction requires: high-word)?}}
2575 #CHECK: risbhg  %r1, %r2, 0, 0, 0
2576
2577         risbhg  %r1, %r2, 0, 0, 0
2578
2579 #CHECK: error: {{(instruction requires: high-word)?}}
2580 #CHECK: risblg  %r1, %r2, 0, 0, 0
2581
2582         risblg  %r1, %r2, 0, 0, 0
2583
2584 #CHECK: error: invalid operand
2585 #CHECK: rnsbg   %r0,%r0,0,0,-1
2586 #CHECK: error: invalid operand
2587 #CHECK: rnsbg   %r0,%r0,0,0,64
2588 #CHECK: error: invalid operand
2589 #CHECK: rnsbg   %r0,%r0,0,-1,0
2590 #CHECK: error: invalid operand
2591 #CHECK: rnsbg   %r0,%r0,0,256,0
2592 #CHECK: error: invalid operand
2593 #CHECK: rnsbg   %r0,%r0,-1,0,0
2594 #CHECK: error: invalid operand
2595 #CHECK: rnsbg   %r0,%r0,256,0,0
2596
2597         rnsbg   %r0,%r0,0,0,-1
2598         rnsbg   %r0,%r0,0,0,64
2599         rnsbg   %r0,%r0,0,-1,0
2600         rnsbg   %r0,%r0,0,256,0
2601         rnsbg   %r0,%r0,-1,0,0
2602         rnsbg   %r0,%r0,256,0,0
2603
2604 #CHECK: error: invalid operand
2605 #CHECK: rosbg   %r0,%r0,0,0,-1
2606 #CHECK: error: invalid operand
2607 #CHECK: rosbg   %r0,%r0,0,0,64
2608 #CHECK: error: invalid operand
2609 #CHECK: rosbg   %r0,%r0,0,-1,0
2610 #CHECK: error: invalid operand
2611 #CHECK: rosbg   %r0,%r0,0,256,0
2612 #CHECK: error: invalid operand
2613 #CHECK: rosbg   %r0,%r0,-1,0,0
2614 #CHECK: error: invalid operand
2615 #CHECK: rosbg   %r0,%r0,256,0,0
2616
2617         rosbg   %r0,%r0,0,0,-1
2618         rosbg   %r0,%r0,0,0,64
2619         rosbg   %r0,%r0,0,-1,0
2620         rosbg   %r0,%r0,0,256,0
2621         rosbg   %r0,%r0,-1,0,0
2622         rosbg   %r0,%r0,256,0,0
2623
2624 #CHECK: error: invalid operand
2625 #CHECK: rxsbg   %r0,%r0,0,0,-1
2626 #CHECK: error: invalid operand
2627 #CHECK: rxsbg   %r0,%r0,0,0,64
2628 #CHECK: error: invalid operand
2629 #CHECK: rxsbg   %r0,%r0,0,-1,0
2630 #CHECK: error: invalid operand
2631 #CHECK: rxsbg   %r0,%r0,0,256,0
2632 #CHECK: error: invalid operand
2633 #CHECK: rxsbg   %r0,%r0,-1,0,0
2634 #CHECK: error: invalid operand
2635 #CHECK: rxsbg   %r0,%r0,256,0,0
2636
2637         rxsbg   %r0,%r0,0,0,-1
2638         rxsbg   %r0,%r0,0,0,64
2639         rxsbg   %r0,%r0,0,-1,0
2640         rxsbg   %r0,%r0,0,256,0
2641         rxsbg   %r0,%r0,-1,0,0
2642         rxsbg   %r0,%r0,256,0,0
2643
2644 #CHECK: error: invalid operand
2645 #CHECK: rll     %r0,%r0,-524289
2646 #CHECK: error: invalid operand
2647 #CHECK: rll     %r0,%r0,524288
2648 #CHECK: error: %r0 used in an address
2649 #CHECK: rll     %r0,%r0,0(%r0)
2650 #CHECK: error: invalid use of indexed addressing
2651 #CHECK: rll     %r0,%r0,0(%r1,%r2)
2652
2653         rll     %r0,%r0,-524289
2654         rll     %r0,%r0,524288
2655         rll     %r0,%r0,0(%r0)
2656         rll     %r0,%r0,0(%r1,%r2)
2657
2658 #CHECK: error: invalid operand
2659 #CHECK: rllg    %r0,%r0,-524289
2660 #CHECK: error: invalid operand
2661 #CHECK: rllg    %r0,%r0,524288
2662 #CHECK: error: %r0 used in an address
2663 #CHECK: rllg    %r0,%r0,0(%r0)
2664 #CHECK: error: invalid use of indexed addressing
2665 #CHECK: rllg    %r0,%r0,0(%r1,%r2)
2666
2667         rllg    %r0,%r0,-524289
2668         rllg    %r0,%r0,524288
2669         rllg    %r0,%r0,0(%r0)
2670         rllg    %r0,%r0,0(%r1,%r2)
2671
2672 #CHECK: error: invalid operand
2673 #CHECK: s       %r0, -1
2674 #CHECK: error: invalid operand
2675 #CHECK: s       %r0, 4096
2676
2677         s       %r0, -1
2678         s       %r0, 4096
2679
2680 #CHECK: error: invalid operand
2681 #CHECK: sdb     %f0, -1
2682 #CHECK: error: invalid operand
2683 #CHECK: sdb     %f0, 4096
2684
2685         sdb     %f0, -1
2686         sdb     %f0, 4096
2687
2688 #CHECK: error: invalid operand
2689 #CHECK: seb     %f0, -1
2690 #CHECK: error: invalid operand
2691 #CHECK: seb     %f0, 4096
2692
2693         seb     %f0, -1
2694         seb     %f0, 4096
2695
2696 #CHECK: error: invalid operand
2697 #CHECK: sg      %r0, -524289
2698 #CHECK: error: invalid operand
2699 #CHECK: sg      %r0, 524288
2700
2701         sg      %r0, -524289
2702         sg      %r0, 524288
2703
2704 #CHECK: error: invalid operand
2705 #CHECK: sgf     %r0, -524289
2706 #CHECK: error: invalid operand
2707 #CHECK: sgf     %r0, 524288
2708
2709         sgf     %r0, -524289
2710         sgf     %r0, 524288
2711
2712 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2713 #CHECK: sgrk    %r2,%r3,%r4
2714
2715         sgrk    %r2,%r3,%r4
2716
2717 #CHECK: error: invalid operand
2718 #CHECK: sh      %r0, -1
2719 #CHECK: error: invalid operand
2720 #CHECK: sh      %r0, 4096
2721
2722         sh      %r0, -1
2723         sh      %r0, 4096
2724
2725 #CHECK: error: invalid operand
2726 #CHECK: shy     %r0, -524289
2727 #CHECK: error: invalid operand
2728 #CHECK: shy     %r0, 524288
2729
2730         shy     %r0, -524289
2731         shy     %r0, 524288
2732
2733 #CHECK: error: invalid operand
2734 #CHECK: sl      %r0, -1
2735 #CHECK: error: invalid operand
2736 #CHECK: sl      %r0, 4096
2737
2738         sl      %r0, -1
2739         sl      %r0, 4096
2740
2741 #CHECK: error: invalid operand
2742 #CHECK: slb     %r0, -524289
2743 #CHECK: error: invalid operand
2744 #CHECK: slb     %r0, 524288
2745
2746         slb     %r0, -524289
2747         slb     %r0, 524288
2748
2749 #CHECK: error: invalid operand
2750 #CHECK: slbg    %r0, -524289
2751 #CHECK: error: invalid operand
2752 #CHECK: slbg    %r0, 524288
2753
2754         slbg    %r0, -524289
2755         slbg    %r0, 524288
2756
2757 #CHECK: error: invalid operand
2758 #CHECK: slfi    %r0, -1
2759 #CHECK: error: invalid operand
2760 #CHECK: slfi    %r0, (1 << 32)
2761
2762         slfi    %r0, -1
2763         slfi    %r0, (1 << 32)
2764
2765 #CHECK: error: invalid operand
2766 #CHECK: slg     %r0, -524289
2767 #CHECK: error: invalid operand
2768 #CHECK: slg     %r0, 524288
2769
2770         slg     %r0, -524289
2771         slg     %r0, 524288
2772
2773 #CHECK: error: invalid operand
2774 #CHECK: slgf    %r0, -524289
2775 #CHECK: error: invalid operand
2776 #CHECK: slgf    %r0, 524288
2777
2778         slgf    %r0, -524289
2779         slgf    %r0, 524288
2780
2781 #CHECK: error: invalid operand
2782 #CHECK: slgfi   %r0, -1
2783 #CHECK: error: invalid operand
2784 #CHECK: slgfi   %r0, (1 << 32)
2785
2786         slgfi   %r0, -1
2787         slgfi   %r0, (1 << 32)
2788
2789 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2790 #CHECK: slgrk   %r2,%r3,%r4
2791
2792         slgrk   %r2,%r3,%r4
2793
2794 #CHECK: error: invalid operand
2795 #CHECK: sll     %r0,-1
2796 #CHECK: error: invalid operand
2797 #CHECK: sll     %r0,4096
2798 #CHECK: error: %r0 used in an address
2799 #CHECK: sll     %r0,0(%r0)
2800 #CHECK: error: invalid use of indexed addressing
2801 #CHECK: sll     %r0,0(%r1,%r2)
2802
2803         sll     %r0,-1
2804         sll     %r0,4096
2805         sll     %r0,0(%r0)
2806         sll     %r0,0(%r1,%r2)
2807
2808 #CHECK: error: invalid operand
2809 #CHECK: sllg    %r0,%r0,-524289
2810 #CHECK: error: invalid operand
2811 #CHECK: sllg    %r0,%r0,524288
2812 #CHECK: error: %r0 used in an address
2813 #CHECK: sllg    %r0,%r0,0(%r0)
2814 #CHECK: error: invalid use of indexed addressing
2815 #CHECK: sllg    %r0,%r0,0(%r1,%r2)
2816
2817         sllg    %r0,%r0,-524289
2818         sllg    %r0,%r0,524288
2819         sllg    %r0,%r0,0(%r0)
2820         sllg    %r0,%r0,0(%r1,%r2)
2821
2822 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2823 #CHECK: sllk    %r2,%r3,4(%r5)
2824
2825         sllk    %r2,%r3,4(%r5)
2826
2827 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2828 #CHECK: slrk    %r2,%r3,%r4
2829
2830         slrk    %r2,%r3,%r4
2831
2832 #CHECK: error: invalid operand
2833 #CHECK: sly     %r0, -524289
2834 #CHECK: error: invalid operand
2835 #CHECK: sly     %r0, 524288
2836
2837         sly     %r0, -524289
2838         sly     %r0, 524288
2839
2840 #CHECK: error: invalid operand
2841 #CHECK: sqdb    %f0, -1
2842 #CHECK: error: invalid operand
2843 #CHECK: sqdb    %f0, 4096
2844
2845         sqdb    %f0, -1
2846         sqdb    %f0, 4096
2847
2848 #CHECK: error: invalid operand
2849 #CHECK: sqeb    %f0, -1
2850 #CHECK: error: invalid operand
2851 #CHECK: sqeb    %f0, 4096
2852
2853         sqeb    %f0, -1
2854         sqeb    %f0, 4096
2855
2856 #CHECK: error: invalid register pair
2857 #CHECK: sqxbr   %f0, %f2
2858 #CHECK: error: invalid register pair
2859 #CHECK: sqxbr   %f2, %f0
2860
2861         sqxbr   %f0, %f2
2862         sqxbr   %f2, %f0
2863
2864 #CHECK: error: invalid operand
2865 #CHECK: sra     %r0,-1
2866 #CHECK: error: invalid operand
2867 #CHECK: sra     %r0,4096
2868 #CHECK: error: %r0 used in an address
2869 #CHECK: sra     %r0,0(%r0)
2870 #CHECK: error: invalid use of indexed addressing
2871 #CHECK: sra     %r0,0(%r1,%r2)
2872
2873         sra     %r0,-1
2874         sra     %r0,4096
2875         sra     %r0,0(%r0)
2876         sra     %r0,0(%r1,%r2)
2877
2878 #CHECK: error: invalid operand
2879 #CHECK: srag    %r0,%r0,-524289
2880 #CHECK: error: invalid operand
2881 #CHECK: srag    %r0,%r0,524288
2882 #CHECK: error: %r0 used in an address
2883 #CHECK: srag    %r0,%r0,0(%r0)
2884 #CHECK: error: invalid use of indexed addressing
2885 #CHECK: srag    %r0,%r0,0(%r1,%r2)
2886
2887         srag    %r0,%r0,-524289
2888         srag    %r0,%r0,524288
2889         srag    %r0,%r0,0(%r0)
2890         srag    %r0,%r0,0(%r1,%r2)
2891
2892 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2893 #CHECK: srak    %r2,%r3,4(%r5)
2894
2895         srak    %r2,%r3,4(%r5)
2896
2897 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2898 #CHECK: srk     %r2,%r3,%r4
2899
2900         srk     %r2,%r3,%r4
2901
2902 #CHECK: error: invalid operand
2903 #CHECK: srl     %r0,-1
2904 #CHECK: error: invalid operand
2905 #CHECK: srl     %r0,4096
2906 #CHECK: error: %r0 used in an address
2907 #CHECK: srl     %r0,0(%r0)
2908 #CHECK: error: invalid use of indexed addressing
2909 #CHECK: srl     %r0,0(%r1,%r2)
2910
2911         srl     %r0,-1
2912         srl     %r0,4096
2913         srl     %r0,0(%r0)
2914         srl     %r0,0(%r1,%r2)
2915
2916 #CHECK: error: invalid operand
2917 #CHECK: srlg    %r0,%r0,-524289
2918 #CHECK: error: invalid operand
2919 #CHECK: srlg    %r0,%r0,524288
2920 #CHECK: error: %r0 used in an address
2921 #CHECK: srlg    %r0,%r0,0(%r0)
2922 #CHECK: error: invalid use of indexed addressing
2923 #CHECK: srlg    %r0,%r0,0(%r1,%r2)
2924
2925         srlg    %r0,%r0,-524289
2926         srlg    %r0,%r0,524288
2927         srlg    %r0,%r0,0(%r0)
2928         srlg    %r0,%r0,0(%r1,%r2)
2929
2930 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2931 #CHECK: srlk    %r2,%r3,4(%r5)
2932
2933         srlk    %r2,%r3,4(%r5)
2934
2935 #CHECK: error: invalid operand
2936 #CHECK: st      %r0, -1
2937 #CHECK: error: invalid operand
2938 #CHECK: st      %r0, 4096
2939
2940         st      %r0, -1
2941         st      %r0, 4096
2942
2943 #CHECK: error: invalid operand
2944 #CHECK: stc     %r0, -1
2945 #CHECK: error: invalid operand
2946 #CHECK: stc     %r0, 4096
2947
2948         stc     %r0, -1
2949         stc     %r0, 4096
2950
2951 #CHECK: error: {{(instruction requires: high-word)?}}
2952 #CHECK: stch    %r0, 0
2953
2954         stch    %r0, 0
2955
2956 #CHECK: error: invalid operand
2957 #CHECK: stcy    %r0, -524289
2958 #CHECK: error: invalid operand
2959 #CHECK: stcy    %r0, 524288
2960
2961         stcy    %r0, -524289
2962         stcy    %r0, 524288
2963
2964 #CHECK: error: invalid operand
2965 #CHECK: std     %f0, -1
2966 #CHECK: error: invalid operand
2967 #CHECK: std     %f0, 4096
2968
2969         std     %f0, -1
2970         std     %f0, 4096
2971
2972 #CHECK: error: invalid operand
2973 #CHECK: stdy    %f0, -524289
2974 #CHECK: error: invalid operand
2975 #CHECK: stdy    %f0, 524288
2976
2977         stdy    %f0, -524289
2978         stdy    %f0, 524288
2979
2980 #CHECK: error: invalid operand
2981 #CHECK: ste     %f0, -1
2982 #CHECK: error: invalid operand
2983 #CHECK: ste     %f0, 4096
2984
2985         ste     %f0, -1
2986         ste     %f0, 4096
2987
2988 #CHECK: error: invalid operand
2989 #CHECK: stey    %f0, -524289
2990 #CHECK: error: invalid operand
2991 #CHECK: stey    %f0, 524288
2992
2993         stey    %f0, -524289
2994         stey    %f0, 524288
2995
2996 #CHECK: error: invalid operand
2997 #CHECK: stg     %r0, -524289
2998 #CHECK: error: invalid operand
2999 #CHECK: stg     %r0, 524288
3000
3001         stg     %r0, -524289
3002         stg     %r0, 524288
3003
3004 #CHECK: error: offset out of range
3005 #CHECK: stgrl   %r0, -0x1000000002
3006 #CHECK: error: offset out of range
3007 #CHECK: stgrl   %r0, -1
3008 #CHECK: error: offset out of range
3009 #CHECK: stgrl   %r0, 1
3010 #CHECK: error: offset out of range
3011 #CHECK: stgrl   %r0, 0x100000000
3012
3013         stgrl   %r0, -0x1000000002
3014         stgrl   %r0, -1
3015         stgrl   %r0, 1
3016         stgrl   %r0, 0x100000000
3017
3018 #CHECK: error: invalid operand
3019 #CHECK: sth     %r0, -1
3020 #CHECK: error: invalid operand
3021 #CHECK: sth     %r0, 4096
3022
3023         sth     %r0, -1
3024         sth     %r0, 4096
3025
3026 #CHECK: error: {{(instruction requires: high-word)?}}
3027 #CHECK: sthh    %r0, 0
3028
3029         sthh    %r0, 0
3030
3031 #CHECK: error: offset out of range
3032 #CHECK: sthrl   %r0, -0x1000000002
3033 #CHECK: error: offset out of range
3034 #CHECK: sthrl   %r0, -1
3035 #CHECK: error: offset out of range
3036 #CHECK: sthrl   %r0, 1
3037 #CHECK: error: offset out of range
3038 #CHECK: sthrl   %r0, 0x100000000
3039
3040         sthrl   %r0, -0x1000000002
3041         sthrl   %r0, -1
3042         sthrl   %r0, 1
3043         sthrl   %r0, 0x100000000
3044
3045 #CHECK: error: invalid operand
3046 #CHECK: sthy    %r0, -524289
3047 #CHECK: error: invalid operand
3048 #CHECK: sthy    %r0, 524288
3049
3050         sthy    %r0, -524289
3051         sthy    %r0, 524288
3052
3053 #CHECK: error: {{(instruction requires: high-word)?}}
3054 #CHECK: stfh    %r0, 0
3055
3056         stfh    %r0, 0
3057
3058 #CHECK: error: invalid operand
3059 #CHECK: stmg    %r0, %r0, -524289
3060 #CHECK: error: invalid operand
3061 #CHECK: stmg    %r0, %r0, 524288
3062 #CHECK: error: invalid use of indexed addressing
3063 #CHECK: stmg    %r0, %r0, 0(%r1,%r2)
3064
3065         stmg    %r0, %r0, -524289
3066         stmg    %r0, %r0, 524288
3067         stmg    %r0, %r0, 0(%r1,%r2)
3068
3069 #CHECK: error: offset out of range
3070 #CHECK: strl    %r0, -0x1000000002
3071 #CHECK: error: offset out of range
3072 #CHECK: strl    %r0, -1
3073 #CHECK: error: offset out of range
3074 #CHECK: strl    %r0, 1
3075 #CHECK: error: offset out of range
3076 #CHECK: strl    %r0, 0x100000000
3077
3078         strl    %r0, -0x1000000002
3079         strl    %r0, -1
3080         strl    %r0, 1
3081         strl    %r0, 0x100000000
3082
3083 #CHECK: error: invalid operand
3084 #CHECK: strv    %r0, -524289
3085 #CHECK: error: invalid operand
3086 #CHECK: strv    %r0, 524288
3087
3088         strv    %r0, -524289
3089         strv    %r0, 524288
3090
3091 #CHECK: error: invalid operand
3092 #CHECK: strvg   %r0, -524289
3093 #CHECK: error: invalid operand
3094 #CHECK: strvg   %r0, 524288
3095
3096         strvg   %r0, -524289
3097         strvg   %r0, 524288
3098
3099 #CHECK: error: invalid operand
3100 #CHECK: sty     %r0, -524289
3101 #CHECK: error: invalid operand
3102 #CHECK: sty     %r0, 524288
3103
3104         sty     %r0, -524289
3105         sty     %r0, 524288
3106
3107 #CHECK: error: invalid register pair
3108 #CHECK: sxbr    %f0, %f2
3109 #CHECK: error: invalid register pair
3110 #CHECK: sxbr    %f2, %f0
3111
3112         sxbr    %f0, %f2
3113         sxbr    %f2, %f0
3114
3115 #CHECK: error: invalid operand
3116 #CHECK: sy      %r0, -524289
3117 #CHECK: error: invalid operand
3118 #CHECK: sy      %r0, 524288
3119
3120         sy      %r0, -524289
3121         sy      %r0, 524288
3122
3123 #CHECK: error: invalid operand
3124 #CHECK: tm      -1, 0
3125 #CHECK: error: invalid operand
3126 #CHECK: tm      4096, 0
3127 #CHECK: error: invalid use of indexed addressing
3128 #CHECK: tm      0(%r1,%r2), 0
3129 #CHECK: error: invalid operand
3130 #CHECK: tm      0, -1
3131 #CHECK: error: invalid operand
3132 #CHECK: tm      0, 256
3133
3134         tm      -1, 0
3135         tm      4096, 0
3136         tm      0(%r1,%r2), 0
3137         tm      0, -1
3138         tm      0, 256
3139
3140 #CHECK: error: invalid operand
3141 #CHECK: tmhh    %r0, -1
3142 #CHECK: error: invalid operand
3143 #CHECK: tmhh    %r0, 0x10000
3144
3145         tmhh    %r0, -1
3146         tmhh    %r0, 0x10000
3147
3148 #CHECK: error: invalid operand
3149 #CHECK: tmhl    %r0, -1
3150 #CHECK: error: invalid operand
3151 #CHECK: tmhl    %r0, 0x10000
3152
3153         tmhl    %r0, -1
3154         tmhl    %r0, 0x10000
3155
3156 #CHECK: error: invalid operand
3157 #CHECK: tmlh    %r0, -1
3158 #CHECK: error: invalid operand
3159 #CHECK: tmlh    %r0, 0x10000
3160
3161         tmlh    %r0, -1
3162         tmlh    %r0, 0x10000
3163
3164 #CHECK: error: invalid operand
3165 #CHECK: tmll    %r0, -1
3166 #CHECK: error: invalid operand
3167 #CHECK: tmll    %r0, 0x10000
3168
3169         tmll    %r0, -1
3170         tmll    %r0, 0x10000
3171
3172 #CHECK: error: invalid operand
3173 #CHECK: tmy     -524289, 0
3174 #CHECK: error: invalid operand
3175 #CHECK: tmy     524288, 0
3176 #CHECK: error: invalid use of indexed addressing
3177 #CHECK: tmy     0(%r1,%r2), 0
3178 #CHECK: error: invalid operand
3179 #CHECK: tmy     0, -1
3180 #CHECK: error: invalid operand
3181 #CHECK: tmy     0, 256
3182
3183         tmy     -524289, 0
3184         tmy     524288, 0
3185         tmy     0(%r1,%r2), 0
3186         tmy     0, -1
3187         tmy     0, 256
3188
3189 #CHECK: error: invalid operand
3190 #CHECK: x       %r0, -1
3191 #CHECK: error: invalid operand
3192 #CHECK: x       %r0, 4096
3193
3194         x       %r0, -1
3195         x       %r0, 4096
3196
3197 #CHECK: error: missing length in address
3198 #CHECK: xc      0, 0
3199 #CHECK: error: missing length in address
3200 #CHECK: xc      0(%r1), 0(%r1)
3201 #CHECK: error: invalid use of length addressing
3202 #CHECK: xc      0(1,%r1), 0(2,%r1)
3203 #CHECK: error: invalid operand
3204 #CHECK: xc      0(0,%r1), 0(%r1)
3205 #CHECK: error: invalid operand
3206 #CHECK: xc      0(257,%r1), 0(%r1)
3207 #CHECK: error: invalid operand
3208 #CHECK: xc      -1(1,%r1), 0(%r1)
3209 #CHECK: error: invalid operand
3210 #CHECK: xc      4096(1,%r1), 0(%r1)
3211 #CHECK: error: invalid operand
3212 #CHECK: xc      0(1,%r1), -1(%r1)
3213 #CHECK: error: invalid operand
3214 #CHECK: xc      0(1,%r1), 4096(%r1)
3215 #CHECK: error: %r0 used in an address
3216 #CHECK: xc      0(1,%r0), 0(%r1)
3217 #CHECK: error: %r0 used in an address
3218 #CHECK: xc      0(1,%r1), 0(%r0)
3219 #CHECK: error: invalid use of indexed addressing
3220 #CHECK: xc      0(%r1,%r2), 0(%r1)
3221 #CHECK: error: invalid use of indexed addressing
3222 #CHECK: xc      0(1,%r2), 0(%r1,%r2)
3223 #CHECK: error: unknown token in expression
3224 #CHECK: xc      0(-), 0
3225
3226         xc      0, 0
3227         xc      0(%r1), 0(%r1)
3228         xc      0(1,%r1), 0(2,%r1)
3229         xc      0(0,%r1), 0(%r1)
3230         xc      0(257,%r1), 0(%r1)
3231         xc      -1(1,%r1), 0(%r1)
3232         xc      4096(1,%r1), 0(%r1)
3233         xc      0(1,%r1), -1(%r1)
3234         xc      0(1,%r1), 4096(%r1)
3235         xc      0(1,%r0), 0(%r1)
3236         xc      0(1,%r1), 0(%r0)
3237         xc      0(%r1,%r2), 0(%r1)
3238         xc      0(1,%r2), 0(%r1,%r2)
3239         xc      0(-), 0
3240
3241 #CHECK: error: invalid operand
3242 #CHECK: xg      %r0, -524289
3243 #CHECK: error: invalid operand
3244 #CHECK: xg      %r0, 524288
3245
3246         xg      %r0, -524289
3247         xg      %r0, 524288
3248
3249 #CHECK: error: {{(instruction requires: distinct-ops)?}}
3250 #CHECK: xgrk    %r2,%r3,%r4
3251
3252         xgrk    %r2,%r3,%r4
3253
3254 #CHECK: error: invalid operand
3255 #CHECK: xi      -1, 0
3256 #CHECK: error: invalid operand
3257 #CHECK: xi      4096, 0
3258 #CHECK: error: invalid use of indexed addressing
3259 #CHECK: xi      0(%r1,%r2), 0
3260 #CHECK: error: invalid operand
3261 #CHECK: xi      0, -1
3262 #CHECK: error: invalid operand
3263 #CHECK: xi      0, 256
3264
3265         xi      -1, 0
3266         xi      4096, 0
3267         xi      0(%r1,%r2), 0
3268         xi      0, -1
3269         xi      0, 256
3270
3271 #CHECK: error: invalid operand
3272 #CHECK: xihf    %r0, -1
3273 #CHECK: error: invalid operand
3274 #CHECK: xihf    %r0, 1 << 32
3275
3276         xihf    %r0, -1
3277         xihf    %r0, 1 << 32
3278
3279 #CHECK: error: invalid operand
3280 #CHECK: xilf    %r0, -1
3281 #CHECK: error: invalid operand
3282 #CHECK: xilf    %r0, 1 << 32
3283
3284         xilf    %r0, -1
3285         xilf    %r0, 1 << 32
3286
3287 #CHECK: error: invalid operand
3288 #CHECK: xiy     -524289, 0
3289 #CHECK: error: invalid operand
3290 #CHECK: xiy     524288, 0
3291 #CHECK: error: invalid use of indexed addressing
3292 #CHECK: xiy     0(%r1,%r2), 0
3293 #CHECK: error: invalid operand
3294 #CHECK: xiy     0, -1
3295 #CHECK: error: invalid operand
3296 #CHECK: xiy     0, 256
3297
3298         xiy     -524289, 0
3299         xiy     524288, 0
3300         xiy     0(%r1,%r2), 0
3301         xiy     0, -1
3302         xiy     0, 256
3303
3304 #CHECK: error: {{(instruction requires: distinct-ops)?}}
3305 #CHECK: xrk     %r2,%r3,%r4
3306
3307         xrk     %r2,%r3,%r4
3308
3309 #CHECK: error: invalid operand
3310 #CHECK: xy      %r0, -524289
3311 #CHECK: error: invalid operand
3312 #CHECK: xy      %r0, 524288
3313
3314         xy      %r0, -524289
3315         xy      %r0, 524288