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