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