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