OSDN Git Service

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