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