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