OSDN Git Service

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