[SystemZ] Add STOC and STOCG
[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 register pair
1596 #CHECK: lxr     %f0, %f2
1597 #CHECK: error: invalid register pair
1598 #CHECK: lxr     %f2, %f0
1599
1600         lxr     %f0, %f2
1601         lxr     %f2, %f0
1602
1603 #CHECK: error: invalid operand
1604 #CHECK: ly      %r0, -524289
1605 #CHECK: error: invalid operand
1606 #CHECK: ly      %r0, 524288
1607
1608         ly      %r0, -524289
1609         ly      %r0, 524288
1610
1611 #CHECK: error: invalid register pair
1612 #CHECK: lzxr    %f2
1613
1614         lzxr    %f2
1615
1616 #CHECK: error: invalid operand
1617 #CHECK: madb    %f0, %f0, -1
1618 #CHECK: error: invalid operand
1619 #CHECK: madb    %f0, %f0, 4096
1620
1621         madb    %f0, %f0, -1
1622         madb    %f0, %f0, 4096
1623
1624 #CHECK: error: invalid operand
1625 #CHECK: maeb    %f0, %f0, -1
1626 #CHECK: error: invalid operand
1627 #CHECK: maeb    %f0, %f0, 4096
1628
1629         maeb    %f0, %f0, -1
1630         maeb    %f0, %f0, 4096
1631
1632 #CHECK: error: invalid operand
1633 #CHECK: mdb     %f0, -1
1634 #CHECK: error: invalid operand
1635 #CHECK: mdb     %f0, 4096
1636
1637         mdb     %f0, -1
1638         mdb     %f0, 4096
1639
1640 #CHECK: error: invalid operand
1641 #CHECK: mdeb    %f0, -1
1642 #CHECK: error: invalid operand
1643 #CHECK: mdeb    %f0, 4096
1644
1645         mdeb    %f0, -1
1646         mdeb    %f0, 4096
1647
1648 #CHECK: error: invalid operand
1649 #CHECK: meeb    %f0, -1
1650 #CHECK: error: invalid operand
1651 #CHECK: meeb    %f0, 4096
1652
1653         meeb    %f0, -1
1654         meeb    %f0, 4096
1655
1656 #CHECK: error: invalid operand
1657 #CHECK: mghi    %r0, -32769
1658 #CHECK: error: invalid operand
1659 #CHECK: mghi    %r0, 32768
1660 #CHECK: error: invalid operand
1661 #CHECK: mghi    %r0, foo
1662
1663         mghi    %r0, -32769
1664         mghi    %r0, 32768
1665         mghi    %r0, foo
1666
1667 #CHECK: error: invalid operand
1668 #CHECK: mh      %r0, -1
1669 #CHECK: error: invalid operand
1670 #CHECK: mh      %r0, 4096
1671
1672         mh      %r0, -1
1673         mh      %r0, 4096
1674
1675 #CHECK: error: invalid operand
1676 #CHECK: mhi     %r0, -32769
1677 #CHECK: error: invalid operand
1678 #CHECK: mhi     %r0, 32768
1679 #CHECK: error: invalid operand
1680 #CHECK: mhi     %r0, foo
1681
1682         mhi     %r0, -32769
1683         mhi     %r0, 32768
1684         mhi     %r0, foo
1685
1686 #CHECK: error: invalid operand
1687 #CHECK: mhy     %r0, -524289
1688 #CHECK: error: invalid operand
1689 #CHECK: mhy     %r0, 524288
1690
1691         mhy     %r0, -524289
1692         mhy     %r0, 524288
1693
1694 #CHECK: error: invalid operand
1695 #CHECK: mlg     %r0, -524289
1696 #CHECK: error: invalid operand
1697 #CHECK: mlg     %r0, 524288
1698 #CHECK: error: invalid register pair
1699 #CHECK: mlg     %r1, 0
1700
1701         mlg     %r0, -524289
1702         mlg     %r0, 524288
1703         mlg     %r1, 0
1704
1705 #CHECK: error: invalid register pair
1706 #CHECK: mlgr    %r1, %r0
1707
1708         mlgr    %r1, %r0
1709
1710 #CHECK: error: invalid operand
1711 #CHECK: ms      %r0, -1
1712 #CHECK: error: invalid operand
1713 #CHECK: ms      %r0, 4096
1714
1715         ms      %r0, -1
1716         ms      %r0, 4096
1717
1718 #CHECK: error: invalid operand
1719 #CHECK: msdb    %f0, %f0, -1
1720 #CHECK: error: invalid operand
1721 #CHECK: msdb    %f0, %f0, 4096
1722
1723         msdb    %f0, %f0, -1
1724         msdb    %f0, %f0, 4096
1725
1726 #CHECK: error: invalid operand
1727 #CHECK: mseb    %f0, %f0, -1
1728 #CHECK: error: invalid operand
1729 #CHECK: mseb    %f0, %f0, 4096
1730
1731         mseb    %f0, %f0, -1
1732         mseb    %f0, %f0, 4096
1733
1734 #CHECK: error: invalid operand
1735 #CHECK: msfi    %r0, (-1 << 31) - 1
1736 #CHECK: error: invalid operand
1737 #CHECK: msfi    %r0, (1 << 31)
1738
1739         msfi    %r0, (-1 << 31) - 1
1740         msfi    %r0, (1 << 31)
1741
1742 #CHECK: error: invalid operand
1743 #CHECK: msg     %r0, -524289
1744 #CHECK: error: invalid operand
1745 #CHECK: msg     %r0, 524288
1746
1747         msg     %r0, -524289
1748         msg     %r0, 524288
1749
1750 #CHECK: error: invalid operand
1751 #CHECK: msgf    %r0, -524289
1752 #CHECK: error: invalid operand
1753 #CHECK: msgf    %r0, 524288
1754
1755         msgf    %r0, -524289
1756         msgf    %r0, 524288
1757
1758 #CHECK: error: invalid operand
1759 #CHECK: msgfi   %r0, (-1 << 31) - 1
1760 #CHECK: error: invalid operand
1761 #CHECK: msgfi   %r0, (1 << 31)
1762
1763         msgfi   %r0, (-1 << 31) - 1
1764         msgfi   %r0, (1 << 31)
1765
1766 #CHECK: error: invalid operand
1767 #CHECK: msy     %r0, -524289
1768 #CHECK: error: invalid operand
1769 #CHECK: msy     %r0, 524288
1770
1771         msy     %r0, -524289
1772         msy     %r0, 524288
1773
1774 #CHECK: error: missing length in address
1775 #CHECK: mvc     0, 0
1776 #CHECK: error: missing length in address
1777 #CHECK: mvc     0(%r1), 0(%r1)
1778 #CHECK: error: invalid use of length addressing
1779 #CHECK: mvc     0(1,%r1), 0(2,%r1)
1780 #CHECK: error: invalid operand
1781 #CHECK: mvc     0(0,%r1), 0(%r1)
1782 #CHECK: error: invalid operand
1783 #CHECK: mvc     0(257,%r1), 0(%r1)
1784 #CHECK: error: invalid operand
1785 #CHECK: mvc     -1(1,%r1), 0(%r1)
1786 #CHECK: error: invalid operand
1787 #CHECK: mvc     4096(1,%r1), 0(%r1)
1788 #CHECK: error: invalid operand
1789 #CHECK: mvc     0(1,%r1), -1(%r1)
1790 #CHECK: error: invalid operand
1791 #CHECK: mvc     0(1,%r1), 4096(%r1)
1792 #CHECK: error: %r0 used in an address
1793 #CHECK: mvc     0(1,%r0), 0(%r1)
1794 #CHECK: error: %r0 used in an address
1795 #CHECK: mvc     0(1,%r1), 0(%r0)
1796 #CHECK: error: invalid use of indexed addressing
1797 #CHECK: mvc     0(%r1,%r2), 0(%r1)
1798 #CHECK: error: invalid use of indexed addressing
1799 #CHECK: mvc     0(1,%r2), 0(%r1,%r2)
1800 #CHECK: error: unknown token in expression
1801 #CHECK: mvc     0(-), 0
1802
1803         mvc     0, 0
1804         mvc     0(%r1), 0(%r1)
1805         mvc     0(1,%r1), 0(2,%r1)
1806         mvc     0(0,%r1), 0(%r1)
1807         mvc     0(257,%r1), 0(%r1)
1808         mvc     -1(1,%r1), 0(%r1)
1809         mvc     4096(1,%r1), 0(%r1)
1810         mvc     0(1,%r1), -1(%r1)
1811         mvc     0(1,%r1), 4096(%r1)
1812         mvc     0(1,%r0), 0(%r1)
1813         mvc     0(1,%r1), 0(%r0)
1814         mvc     0(%r1,%r2), 0(%r1)
1815         mvc     0(1,%r2), 0(%r1,%r2)
1816         mvc     0(-), 0
1817
1818 #CHECK: error: invalid operand
1819 #CHECK: mvghi   -1, 0
1820 #CHECK: error: invalid operand
1821 #CHECK: mvghi   4096, 0
1822 #CHECK: error: invalid use of indexed addressing
1823 #CHECK: mvghi   0(%r1,%r2), 0
1824 #CHECK: error: invalid operand
1825 #CHECK: mvghi   0, -32769
1826 #CHECK: error: invalid operand
1827 #CHECK: mvghi   0, 32768
1828
1829         mvghi   -1, 0
1830         mvghi   4096, 0
1831         mvghi   0(%r1,%r2), 0
1832         mvghi   0, -32769
1833         mvghi   0, 32768
1834
1835 #CHECK: error: invalid operand
1836 #CHECK: mvhhi   -1, 0
1837 #CHECK: error: invalid operand
1838 #CHECK: mvhhi   4096, 0
1839 #CHECK: error: invalid use of indexed addressing
1840 #CHECK: mvhhi   0(%r1,%r2), 0
1841 #CHECK: error: invalid operand
1842 #CHECK: mvhhi   0, -32769
1843 #CHECK: error: invalid operand
1844 #CHECK: mvhhi   0, 32768
1845
1846         mvhhi   -1, 0
1847         mvhhi   4096, 0
1848         mvhhi   0(%r1,%r2), 0
1849         mvhhi   0, -32769
1850         mvhhi   0, 32768
1851
1852 #CHECK: error: invalid operand
1853 #CHECK: mvhi    -1, 0
1854 #CHECK: error: invalid operand
1855 #CHECK: mvhi    4096, 0
1856 #CHECK: error: invalid use of indexed addressing
1857 #CHECK: mvhi    0(%r1,%r2), 0
1858 #CHECK: error: invalid operand
1859 #CHECK: mvhi    0, -32769
1860 #CHECK: error: invalid operand
1861 #CHECK: mvhi    0, 32768
1862
1863         mvhi    -1, 0
1864         mvhi    4096, 0
1865         mvhi    0(%r1,%r2), 0
1866         mvhi    0, -32769
1867         mvhi    0, 32768
1868
1869 #CHECK: error: invalid operand
1870 #CHECK: mvi     -1, 0
1871 #CHECK: error: invalid operand
1872 #CHECK: mvi     4096, 0
1873 #CHECK: error: invalid use of indexed addressing
1874 #CHECK: mvi     0(%r1,%r2), 0
1875 #CHECK: error: invalid operand
1876 #CHECK: mvi     0, -1
1877 #CHECK: error: invalid operand
1878 #CHECK: mvi     0, 256
1879
1880         mvi     -1, 0
1881         mvi     4096, 0
1882         mvi     0(%r1,%r2), 0
1883         mvi     0, -1
1884         mvi     0, 256
1885
1886 #CHECK: error: invalid operand
1887 #CHECK: mviy    -524289, 0
1888 #CHECK: error: invalid operand
1889 #CHECK: mviy    524288, 0
1890 #CHECK: error: invalid use of indexed addressing
1891 #CHECK: mviy    0(%r1,%r2), 0
1892 #CHECK: error: invalid operand
1893 #CHECK: mviy    0, -1
1894 #CHECK: error: invalid operand
1895 #CHECK: mviy    0, 256
1896
1897         mviy    -524289, 0
1898         mviy    524288, 0
1899         mviy    0(%r1,%r2), 0
1900         mviy    0, -1
1901         mviy    0, 256
1902
1903 #CHECK: error: invalid register pair
1904 #CHECK: mxbr    %f0, %f2
1905 #CHECK: error: invalid register pair
1906 #CHECK: mxbr    %f2, %f0
1907
1908         mxbr    %f0, %f2
1909         mxbr    %f2, %f0
1910
1911 #CHECK: error: invalid register pair
1912 #CHECK: mxdb    %f2, 0
1913 #CHECK: error: invalid operand
1914 #CHECK: mxdb    %f0, -1
1915 #CHECK: error: invalid operand
1916 #CHECK: mxdb    %f0, 4096
1917
1918         mxdb    %f2, 0
1919         mxdb    %f0, -1
1920         mxdb    %f0, 4096
1921
1922 #CHECK: error: invalid register pair
1923 #CHECK: mxdbr   %f2, %f0
1924
1925         mxdbr   %f2, %f0
1926
1927 #CHECK: error: invalid operand
1928 #CHECK: n       %r0, -1
1929 #CHECK: error: invalid operand
1930 #CHECK: n       %r0, 4096
1931
1932         n       %r0, -1
1933         n       %r0, 4096
1934
1935 #CHECK: error: invalid operand
1936 #CHECK: ng      %r0, -524289
1937 #CHECK: error: invalid operand
1938 #CHECK: ng      %r0, 524288
1939
1940         ng      %r0, -524289
1941         ng      %r0, 524288
1942
1943 #CHECK: error: {{(instruction requires: distinct-ops)?}}
1944 #CHECK: ngrk    %r2,%r3,%r4
1945
1946         ngrk    %r2,%r3,%r4
1947
1948 #CHECK: error: invalid operand
1949 #CHECK: ni      -1, 0
1950 #CHECK: error: invalid operand
1951 #CHECK: ni      4096, 0
1952 #CHECK: error: invalid use of indexed addressing
1953 #CHECK: ni      0(%r1,%r2), 0
1954 #CHECK: error: invalid operand
1955 #CHECK: ni      0, -1
1956 #CHECK: error: invalid operand
1957 #CHECK: ni      0, 256
1958
1959         ni      -1, 0
1960         ni      4096, 0
1961         ni      0(%r1,%r2), 0
1962         ni      0, -1
1963         ni      0, 256
1964
1965 #CHECK: error: invalid operand
1966 #CHECK: nihf    %r0, -1
1967 #CHECK: error: invalid operand
1968 #CHECK: nihf    %r0, 1 << 32
1969
1970         nihf    %r0, -1
1971         nihf    %r0, 1 << 32
1972
1973 #CHECK: error: invalid operand
1974 #CHECK: nihh    %r0, -1
1975 #CHECK: error: invalid operand
1976 #CHECK: nihh    %r0, 0x10000
1977
1978         nihh    %r0, -1
1979         nihh    %r0, 0x10000
1980
1981 #CHECK: error: invalid operand
1982 #CHECK: nihl    %r0, -1
1983 #CHECK: error: invalid operand
1984 #CHECK: nihl    %r0, 0x10000
1985
1986         nihl    %r0, -1
1987         nihl    %r0, 0x10000
1988
1989 #CHECK: error: invalid operand
1990 #CHECK: nilf    %r0, -1
1991 #CHECK: error: invalid operand
1992 #CHECK: nilf    %r0, 1 << 32
1993
1994         nilf    %r0, -1
1995         nilf    %r0, 1 << 32
1996
1997 #CHECK: error: invalid operand
1998 #CHECK: nilh    %r0, -1
1999 #CHECK: error: invalid operand
2000 #CHECK: nilh    %r0, 0x10000
2001
2002         nilh    %r0, -1
2003         nilh    %r0, 0x10000
2004
2005 #CHECK: error: invalid operand
2006 #CHECK: nill    %r0, -1
2007 #CHECK: error: invalid operand
2008 #CHECK: nill    %r0, 0x10000
2009
2010         nill    %r0, -1
2011         nill    %r0, 0x10000
2012
2013 #CHECK: error: invalid operand
2014 #CHECK: niy     -524289, 0
2015 #CHECK: error: invalid operand
2016 #CHECK: niy     524288, 0
2017 #CHECK: error: invalid use of indexed addressing
2018 #CHECK: niy     0(%r1,%r2), 0
2019 #CHECK: error: invalid operand
2020 #CHECK: niy     0, -1
2021 #CHECK: error: invalid operand
2022 #CHECK: niy     0, 256
2023
2024         niy     -524289, 0
2025         niy     524288, 0
2026         niy     0(%r1,%r2), 0
2027         niy     0, -1
2028         niy     0, 256
2029
2030 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2031 #CHECK: nrk     %r2,%r3,%r4
2032
2033         nrk     %r2,%r3,%r4
2034
2035 #CHECK: error: invalid operand
2036 #CHECK: ny      %r0, -524289
2037 #CHECK: error: invalid operand
2038 #CHECK: ny      %r0, 524288
2039
2040         ny      %r0, -524289
2041         ny      %r0, 524288
2042
2043 #CHECK: error: invalid operand
2044 #CHECK: o       %r0, -1
2045 #CHECK: error: invalid operand
2046 #CHECK: o       %r0, 4096
2047
2048         o       %r0, -1
2049         o       %r0, 4096
2050
2051 #CHECK: error: invalid operand
2052 #CHECK: og      %r0, -524289
2053 #CHECK: error: invalid operand
2054 #CHECK: og      %r0, 524288
2055
2056         og      %r0, -524289
2057         og      %r0, 524288
2058
2059 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2060 #CHECK: ogrk    %r2,%r3,%r4
2061
2062         ogrk    %r2,%r3,%r4
2063
2064 #CHECK: error: invalid operand
2065 #CHECK: oi      -1, 0
2066 #CHECK: error: invalid operand
2067 #CHECK: oi      4096, 0
2068 #CHECK: error: invalid use of indexed addressing
2069 #CHECK: oi      0(%r1,%r2), 0
2070 #CHECK: error: invalid operand
2071 #CHECK: oi      0, -1
2072 #CHECK: error: invalid operand
2073 #CHECK: oi      0, 256
2074
2075         oi      -1, 0
2076         oi      4096, 0
2077         oi      0(%r1,%r2), 0
2078         oi      0, -1
2079         oi      0, 256
2080
2081 #CHECK: error: invalid operand
2082 #CHECK: oihf    %r0, -1
2083 #CHECK: error: invalid operand
2084 #CHECK: oihf    %r0, 1 << 32
2085
2086         oihf    %r0, -1
2087         oihf    %r0, 1 << 32
2088
2089 #CHECK: error: invalid operand
2090 #CHECK: oihh    %r0, -1
2091 #CHECK: error: invalid operand
2092 #CHECK: oihh    %r0, 0x10000
2093
2094         oihh    %r0, -1
2095         oihh    %r0, 0x10000
2096
2097 #CHECK: error: invalid operand
2098 #CHECK: oihl    %r0, -1
2099 #CHECK: error: invalid operand
2100 #CHECK: oihl    %r0, 0x10000
2101
2102         oihl    %r0, -1
2103         oihl    %r0, 0x10000
2104
2105 #CHECK: error: invalid operand
2106 #CHECK: oilf    %r0, -1
2107 #CHECK: error: invalid operand
2108 #CHECK: oilf    %r0, 1 << 32
2109
2110         oilf    %r0, -1
2111         oilf    %r0, 1 << 32
2112
2113 #CHECK: error: invalid operand
2114 #CHECK: oilh    %r0, -1
2115 #CHECK: error: invalid operand
2116 #CHECK: oilh    %r0, 0x10000
2117
2118         oilh    %r0, -1
2119         oilh    %r0, 0x10000
2120
2121 #CHECK: error: invalid operand
2122 #CHECK: oill    %r0, -1
2123 #CHECK: error: invalid operand
2124 #CHECK: oill    %r0, 0x10000
2125
2126         oill    %r0, -1
2127         oill    %r0, 0x10000
2128
2129 #CHECK: error: invalid operand
2130 #CHECK: oiy     -524289, 0
2131 #CHECK: error: invalid operand
2132 #CHECK: oiy     524288, 0
2133 #CHECK: error: invalid use of indexed addressing
2134 #CHECK: oiy     0(%r1,%r2), 0
2135 #CHECK: error: invalid operand
2136 #CHECK: oiy     0, -1
2137 #CHECK: error: invalid operand
2138 #CHECK: oiy     0, 256
2139
2140         oiy     -524289, 0
2141         oiy     524288, 0
2142         oiy     0(%r1,%r2), 0
2143         oiy     0, -1
2144         oiy     0, 256
2145
2146 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2147 #CHECK: ork     %r2,%r3,%r4
2148
2149         ork     %r2,%r3,%r4
2150
2151 #CHECK: error: invalid operand
2152 #CHECK: oy      %r0, -524289
2153 #CHECK: error: invalid operand
2154 #CHECK: oy      %r0, 524288
2155
2156         oy      %r0, -524289
2157         oy      %r0, 524288
2158
2159 #CHECK: error: invalid operand
2160 #CHECK: risbg   %r0,%r0,0,0,-1
2161 #CHECK: error: invalid operand
2162 #CHECK: risbg   %r0,%r0,0,0,64
2163 #CHECK: error: invalid operand
2164 #CHECK: risbg   %r0,%r0,0,-1,0
2165 #CHECK: error: invalid operand
2166 #CHECK: risbg   %r0,%r0,0,256,0
2167 #CHECK: error: invalid operand
2168 #CHECK: risbg   %r0,%r0,-1,0,0
2169 #CHECK: error: invalid operand
2170 #CHECK: risbg   %r0,%r0,256,0,0
2171
2172         risbg   %r0,%r0,0,0,-1
2173         risbg   %r0,%r0,0,0,64
2174         risbg   %r0,%r0,0,-1,0
2175         risbg   %r0,%r0,0,256,0
2176         risbg   %r0,%r0,-1,0,0
2177         risbg   %r0,%r0,256,0,0
2178
2179 #CHECK: error: invalid operand
2180 #CHECK: rnsbg   %r0,%r0,0,0,-1
2181 #CHECK: error: invalid operand
2182 #CHECK: rnsbg   %r0,%r0,0,0,64
2183 #CHECK: error: invalid operand
2184 #CHECK: rnsbg   %r0,%r0,0,-1,0
2185 #CHECK: error: invalid operand
2186 #CHECK: rnsbg   %r0,%r0,0,256,0
2187 #CHECK: error: invalid operand
2188 #CHECK: rnsbg   %r0,%r0,-1,0,0
2189 #CHECK: error: invalid operand
2190 #CHECK: rnsbg   %r0,%r0,256,0,0
2191
2192         rnsbg   %r0,%r0,0,0,-1
2193         rnsbg   %r0,%r0,0,0,64
2194         rnsbg   %r0,%r0,0,-1,0
2195         rnsbg   %r0,%r0,0,256,0
2196         rnsbg   %r0,%r0,-1,0,0
2197         rnsbg   %r0,%r0,256,0,0
2198
2199 #CHECK: error: invalid operand
2200 #CHECK: rosbg   %r0,%r0,0,0,-1
2201 #CHECK: error: invalid operand
2202 #CHECK: rosbg   %r0,%r0,0,0,64
2203 #CHECK: error: invalid operand
2204 #CHECK: rosbg   %r0,%r0,0,-1,0
2205 #CHECK: error: invalid operand
2206 #CHECK: rosbg   %r0,%r0,0,256,0
2207 #CHECK: error: invalid operand
2208 #CHECK: rosbg   %r0,%r0,-1,0,0
2209 #CHECK: error: invalid operand
2210 #CHECK: rosbg   %r0,%r0,256,0,0
2211
2212         rosbg   %r0,%r0,0,0,-1
2213         rosbg   %r0,%r0,0,0,64
2214         rosbg   %r0,%r0,0,-1,0
2215         rosbg   %r0,%r0,0,256,0
2216         rosbg   %r0,%r0,-1,0,0
2217         rosbg   %r0,%r0,256,0,0
2218
2219 #CHECK: error: invalid operand
2220 #CHECK: rxsbg   %r0,%r0,0,0,-1
2221 #CHECK: error: invalid operand
2222 #CHECK: rxsbg   %r0,%r0,0,0,64
2223 #CHECK: error: invalid operand
2224 #CHECK: rxsbg   %r0,%r0,0,-1,0
2225 #CHECK: error: invalid operand
2226 #CHECK: rxsbg   %r0,%r0,0,256,0
2227 #CHECK: error: invalid operand
2228 #CHECK: rxsbg   %r0,%r0,-1,0,0
2229 #CHECK: error: invalid operand
2230 #CHECK: rxsbg   %r0,%r0,256,0,0
2231
2232         rxsbg   %r0,%r0,0,0,-1
2233         rxsbg   %r0,%r0,0,0,64
2234         rxsbg   %r0,%r0,0,-1,0
2235         rxsbg   %r0,%r0,0,256,0
2236         rxsbg   %r0,%r0,-1,0,0
2237         rxsbg   %r0,%r0,256,0,0
2238
2239 #CHECK: error: invalid operand
2240 #CHECK: rll     %r0,%r0,-524289
2241 #CHECK: error: invalid operand
2242 #CHECK: rll     %r0,%r0,524288
2243 #CHECK: error: %r0 used in an address
2244 #CHECK: rll     %r0,%r0,0(%r0)
2245 #CHECK: error: invalid use of indexed addressing
2246 #CHECK: rll     %r0,%r0,0(%r1,%r2)
2247
2248         rll     %r0,%r0,-524289
2249         rll     %r0,%r0,524288
2250         rll     %r0,%r0,0(%r0)
2251         rll     %r0,%r0,0(%r1,%r2)
2252
2253 #CHECK: error: invalid operand
2254 #CHECK: rllg    %r0,%r0,-524289
2255 #CHECK: error: invalid operand
2256 #CHECK: rllg    %r0,%r0,524288
2257 #CHECK: error: %r0 used in an address
2258 #CHECK: rllg    %r0,%r0,0(%r0)
2259 #CHECK: error: invalid use of indexed addressing
2260 #CHECK: rllg    %r0,%r0,0(%r1,%r2)
2261
2262         rllg    %r0,%r0,-524289
2263         rllg    %r0,%r0,524288
2264         rllg    %r0,%r0,0(%r0)
2265         rllg    %r0,%r0,0(%r1,%r2)
2266
2267 #CHECK: error: invalid operand
2268 #CHECK: s       %r0, -1
2269 #CHECK: error: invalid operand
2270 #CHECK: s       %r0, 4096
2271
2272         s       %r0, -1
2273         s       %r0, 4096
2274
2275 #CHECK: error: invalid operand
2276 #CHECK: sdb     %f0, -1
2277 #CHECK: error: invalid operand
2278 #CHECK: sdb     %f0, 4096
2279
2280         sdb     %f0, -1
2281         sdb     %f0, 4096
2282
2283 #CHECK: error: invalid operand
2284 #CHECK: seb     %f0, -1
2285 #CHECK: error: invalid operand
2286 #CHECK: seb     %f0, 4096
2287
2288         seb     %f0, -1
2289         seb     %f0, 4096
2290
2291 #CHECK: error: invalid operand
2292 #CHECK: sg      %r0, -524289
2293 #CHECK: error: invalid operand
2294 #CHECK: sg      %r0, 524288
2295
2296         sg      %r0, -524289
2297         sg      %r0, 524288
2298
2299 #CHECK: error: invalid operand
2300 #CHECK: sgf     %r0, -524289
2301 #CHECK: error: invalid operand
2302 #CHECK: sgf     %r0, 524288
2303
2304         sgf     %r0, -524289
2305         sgf     %r0, 524288
2306
2307 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2308 #CHECK: sgrk    %r2,%r3,%r4
2309
2310         sgrk    %r2,%r3,%r4
2311
2312 #CHECK: error: invalid operand
2313 #CHECK: sh      %r0, -1
2314 #CHECK: error: invalid operand
2315 #CHECK: sh      %r0, 4096
2316
2317         sh      %r0, -1
2318         sh      %r0, 4096
2319
2320 #CHECK: error: invalid operand
2321 #CHECK: shy     %r0, -524289
2322 #CHECK: error: invalid operand
2323 #CHECK: shy     %r0, 524288
2324
2325         shy     %r0, -524289
2326         shy     %r0, 524288
2327
2328 #CHECK: error: invalid operand
2329 #CHECK: sl      %r0, -1
2330 #CHECK: error: invalid operand
2331 #CHECK: sl      %r0, 4096
2332
2333         sl      %r0, -1
2334         sl      %r0, 4096
2335
2336 #CHECK: error: invalid operand
2337 #CHECK: slb     %r0, -524289
2338 #CHECK: error: invalid operand
2339 #CHECK: slb     %r0, 524288
2340
2341         slb     %r0, -524289
2342         slb     %r0, 524288
2343
2344 #CHECK: error: invalid operand
2345 #CHECK: slbg    %r0, -524289
2346 #CHECK: error: invalid operand
2347 #CHECK: slbg    %r0, 524288
2348
2349         slbg    %r0, -524289
2350         slbg    %r0, 524288
2351
2352 #CHECK: error: invalid operand
2353 #CHECK: slfi    %r0, -1
2354 #CHECK: error: invalid operand
2355 #CHECK: slfi    %r0, (1 << 32)
2356
2357         slfi    %r0, -1
2358         slfi    %r0, (1 << 32)
2359
2360 #CHECK: error: invalid operand
2361 #CHECK: slg     %r0, -524289
2362 #CHECK: error: invalid operand
2363 #CHECK: slg     %r0, 524288
2364
2365         slg     %r0, -524289
2366         slg     %r0, 524288
2367
2368 #CHECK: error: invalid operand
2369 #CHECK: slgf    %r0, -524289
2370 #CHECK: error: invalid operand
2371 #CHECK: slgf    %r0, 524288
2372
2373         slgf    %r0, -524289
2374         slgf    %r0, 524288
2375
2376 #CHECK: error: invalid operand
2377 #CHECK: slgfi   %r0, -1
2378 #CHECK: error: invalid operand
2379 #CHECK: slgfi   %r0, (1 << 32)
2380
2381         slgfi   %r0, -1
2382         slgfi   %r0, (1 << 32)
2383
2384 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2385 #CHECK: slgrk   %r2,%r3,%r4
2386
2387         slgrk   %r2,%r3,%r4
2388
2389 #CHECK: error: invalid operand
2390 #CHECK: sll     %r0,-1
2391 #CHECK: error: invalid operand
2392 #CHECK: sll     %r0,4096
2393 #CHECK: error: %r0 used in an address
2394 #CHECK: sll     %r0,0(%r0)
2395 #CHECK: error: invalid use of indexed addressing
2396 #CHECK: sll     %r0,0(%r1,%r2)
2397
2398         sll     %r0,-1
2399         sll     %r0,4096
2400         sll     %r0,0(%r0)
2401         sll     %r0,0(%r1,%r2)
2402
2403 #CHECK: error: invalid operand
2404 #CHECK: sllg    %r0,%r0,-524289
2405 #CHECK: error: invalid operand
2406 #CHECK: sllg    %r0,%r0,524288
2407 #CHECK: error: %r0 used in an address
2408 #CHECK: sllg    %r0,%r0,0(%r0)
2409 #CHECK: error: invalid use of indexed addressing
2410 #CHECK: sllg    %r0,%r0,0(%r1,%r2)
2411
2412         sllg    %r0,%r0,-524289
2413         sllg    %r0,%r0,524288
2414         sllg    %r0,%r0,0(%r0)
2415         sllg    %r0,%r0,0(%r1,%r2)
2416
2417 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2418 #CHECK: sllk    %r2,%r3,4(%r5)
2419
2420         sllk    %r2,%r3,4(%r5)
2421
2422 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2423 #CHECK: slrk    %r2,%r3,%r4
2424
2425         slrk    %r2,%r3,%r4
2426
2427 #CHECK: error: invalid operand
2428 #CHECK: sly     %r0, -524289
2429 #CHECK: error: invalid operand
2430 #CHECK: sly     %r0, 524288
2431
2432         sly     %r0, -524289
2433         sly     %r0, 524288
2434
2435 #CHECK: error: invalid operand
2436 #CHECK: sqdb    %f0, -1
2437 #CHECK: error: invalid operand
2438 #CHECK: sqdb    %f0, 4096
2439
2440         sqdb    %f0, -1
2441         sqdb    %f0, 4096
2442
2443 #CHECK: error: invalid operand
2444 #CHECK: sqeb    %f0, -1
2445 #CHECK: error: invalid operand
2446 #CHECK: sqeb    %f0, 4096
2447
2448         sqeb    %f0, -1
2449         sqeb    %f0, 4096
2450
2451 #CHECK: error: invalid register pair
2452 #CHECK: sqxbr   %f0, %f2
2453 #CHECK: error: invalid register pair
2454 #CHECK: sqxbr   %f2, %f0
2455
2456         sqxbr   %f0, %f2
2457         sqxbr   %f2, %f0
2458
2459 #CHECK: error: invalid operand
2460 #CHECK: sra     %r0,-1
2461 #CHECK: error: invalid operand
2462 #CHECK: sra     %r0,4096
2463 #CHECK: error: %r0 used in an address
2464 #CHECK: sra     %r0,0(%r0)
2465 #CHECK: error: invalid use of indexed addressing
2466 #CHECK: sra     %r0,0(%r1,%r2)
2467
2468         sra     %r0,-1
2469         sra     %r0,4096
2470         sra     %r0,0(%r0)
2471         sra     %r0,0(%r1,%r2)
2472
2473 #CHECK: error: invalid operand
2474 #CHECK: srag    %r0,%r0,-524289
2475 #CHECK: error: invalid operand
2476 #CHECK: srag    %r0,%r0,524288
2477 #CHECK: error: %r0 used in an address
2478 #CHECK: srag    %r0,%r0,0(%r0)
2479 #CHECK: error: invalid use of indexed addressing
2480 #CHECK: srag    %r0,%r0,0(%r1,%r2)
2481
2482         srag    %r0,%r0,-524289
2483         srag    %r0,%r0,524288
2484         srag    %r0,%r0,0(%r0)
2485         srag    %r0,%r0,0(%r1,%r2)
2486
2487 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2488 #CHECK: srak    %r2,%r3,4(%r5)
2489
2490         srak    %r2,%r3,4(%r5)
2491
2492 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2493 #CHECK: srk     %r2,%r3,%r4
2494
2495         srk     %r2,%r3,%r4
2496
2497 #CHECK: error: invalid operand
2498 #CHECK: srl     %r0,-1
2499 #CHECK: error: invalid operand
2500 #CHECK: srl     %r0,4096
2501 #CHECK: error: %r0 used in an address
2502 #CHECK: srl     %r0,0(%r0)
2503 #CHECK: error: invalid use of indexed addressing
2504 #CHECK: srl     %r0,0(%r1,%r2)
2505
2506         srl     %r0,-1
2507         srl     %r0,4096
2508         srl     %r0,0(%r0)
2509         srl     %r0,0(%r1,%r2)
2510
2511 #CHECK: error: invalid operand
2512 #CHECK: srlg    %r0,%r0,-524289
2513 #CHECK: error: invalid operand
2514 #CHECK: srlg    %r0,%r0,524288
2515 #CHECK: error: %r0 used in an address
2516 #CHECK: srlg    %r0,%r0,0(%r0)
2517 #CHECK: error: invalid use of indexed addressing
2518 #CHECK: srlg    %r0,%r0,0(%r1,%r2)
2519
2520         srlg    %r0,%r0,-524289
2521         srlg    %r0,%r0,524288
2522         srlg    %r0,%r0,0(%r0)
2523         srlg    %r0,%r0,0(%r1,%r2)
2524
2525 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2526 #CHECK: srlk    %r2,%r3,4(%r5)
2527
2528         srlk    %r2,%r3,4(%r5)
2529
2530 #CHECK: error: invalid operand
2531 #CHECK: st      %r0, -1
2532 #CHECK: error: invalid operand
2533 #CHECK: st      %r0, 4096
2534
2535         st      %r0, -1
2536         st      %r0, 4096
2537
2538 #CHECK: error: invalid operand
2539 #CHECK: stc     %r0, -1
2540 #CHECK: error: invalid operand
2541 #CHECK: stc     %r0, 4096
2542
2543         stc     %r0, -1
2544         stc     %r0, 4096
2545
2546 #CHECK: error: invalid operand
2547 #CHECK: stcy    %r0, -524289
2548 #CHECK: error: invalid operand
2549 #CHECK: stcy    %r0, 524288
2550
2551         stcy    %r0, -524289
2552         stcy    %r0, 524288
2553
2554 #CHECK: error: invalid operand
2555 #CHECK: std     %f0, -1
2556 #CHECK: error: invalid operand
2557 #CHECK: std     %f0, 4096
2558
2559         std     %f0, -1
2560         std     %f0, 4096
2561
2562 #CHECK: error: invalid operand
2563 #CHECK: stdy    %f0, -524289
2564 #CHECK: error: invalid operand
2565 #CHECK: stdy    %f0, 524288
2566
2567         stdy    %f0, -524289
2568         stdy    %f0, 524288
2569
2570 #CHECK: error: invalid operand
2571 #CHECK: ste     %f0, -1
2572 #CHECK: error: invalid operand
2573 #CHECK: ste     %f0, 4096
2574
2575         ste     %f0, -1
2576         ste     %f0, 4096
2577
2578 #CHECK: error: invalid operand
2579 #CHECK: stey    %f0, -524289
2580 #CHECK: error: invalid operand
2581 #CHECK: stey    %f0, 524288
2582
2583         stey    %f0, -524289
2584         stey    %f0, 524288
2585
2586 #CHECK: error: invalid operand
2587 #CHECK: stg     %r0, -524289
2588 #CHECK: error: invalid operand
2589 #CHECK: stg     %r0, 524288
2590
2591         stg     %r0, -524289
2592         stg     %r0, 524288
2593
2594 #CHECK: error: offset out of range
2595 #CHECK: stgrl   %r0, -0x1000000002
2596 #CHECK: error: offset out of range
2597 #CHECK: stgrl   %r0, -1
2598 #CHECK: error: offset out of range
2599 #CHECK: stgrl   %r0, 1
2600 #CHECK: error: offset out of range
2601 #CHECK: stgrl   %r0, 0x100000000
2602
2603         stgrl   %r0, -0x1000000002
2604         stgrl   %r0, -1
2605         stgrl   %r0, 1
2606         stgrl   %r0, 0x100000000
2607
2608 #CHECK: error: invalid operand
2609 #CHECK: sth     %r0, -1
2610 #CHECK: error: invalid operand
2611 #CHECK: sth     %r0, 4096
2612
2613         sth     %r0, -1
2614         sth     %r0, 4096
2615
2616 #CHECK: error: offset out of range
2617 #CHECK: sthrl   %r0, -0x1000000002
2618 #CHECK: error: offset out of range
2619 #CHECK: sthrl   %r0, -1
2620 #CHECK: error: offset out of range
2621 #CHECK: sthrl   %r0, 1
2622 #CHECK: error: offset out of range
2623 #CHECK: sthrl   %r0, 0x100000000
2624
2625         sthrl   %r0, -0x1000000002
2626         sthrl   %r0, -1
2627         sthrl   %r0, 1
2628         sthrl   %r0, 0x100000000
2629
2630 #CHECK: error: invalid operand
2631 #CHECK: sthy    %r0, -524289
2632 #CHECK: error: invalid operand
2633 #CHECK: sthy    %r0, 524288
2634
2635         sthy    %r0, -524289
2636         sthy    %r0, 524288
2637
2638 #CHECK: error: invalid operand
2639 #CHECK: stmg    %r0, %r0, -524289
2640 #CHECK: error: invalid operand
2641 #CHECK: stmg    %r0, %r0, 524288
2642 #CHECK: error: invalid use of indexed addressing
2643 #CHECK: stmg    %r0, %r0, 0(%r1,%r2)
2644
2645         stmg    %r0, %r0, -524289
2646         stmg    %r0, %r0, 524288
2647         stmg    %r0, %r0, 0(%r1,%r2)
2648
2649 #CHECK: error: offset out of range
2650 #CHECK: strl    %r0, -0x1000000002
2651 #CHECK: error: offset out of range
2652 #CHECK: strl    %r0, -1
2653 #CHECK: error: offset out of range
2654 #CHECK: strl    %r0, 1
2655 #CHECK: error: offset out of range
2656 #CHECK: strl    %r0, 0x100000000
2657
2658         strl    %r0, -0x1000000002
2659         strl    %r0, -1
2660         strl    %r0, 1
2661         strl    %r0, 0x100000000
2662
2663 #CHECK: error: invalid operand
2664 #CHECK: strv    %r0, -524289
2665 #CHECK: error: invalid operand
2666 #CHECK: strv    %r0, 524288
2667
2668         strv    %r0, -524289
2669         strv    %r0, 524288
2670
2671 #CHECK: error: invalid operand
2672 #CHECK: strvg   %r0, -524289
2673 #CHECK: error: invalid operand
2674 #CHECK: strvg   %r0, 524288
2675
2676         strvg   %r0, -524289
2677         strvg   %r0, 524288
2678
2679 #CHECK: error: invalid operand
2680 #CHECK: sty     %r0, -524289
2681 #CHECK: error: invalid operand
2682 #CHECK: sty     %r0, 524288
2683
2684         sty     %r0, -524289
2685         sty     %r0, 524288
2686
2687 #CHECK: error: invalid register pair
2688 #CHECK: sxbr    %f0, %f2
2689 #CHECK: error: invalid register pair
2690 #CHECK: sxbr    %f2, %f0
2691
2692         sxbr    %f0, %f2
2693         sxbr    %f2, %f0
2694
2695 #CHECK: error: invalid operand
2696 #CHECK: sy      %r0, -524289
2697 #CHECK: error: invalid operand
2698 #CHECK: sy      %r0, 524288
2699
2700         sy      %r0, -524289
2701         sy      %r0, 524288
2702
2703 #CHECK: error: invalid operand
2704 #CHECK: x       %r0, -1
2705 #CHECK: error: invalid operand
2706 #CHECK: x       %r0, 4096
2707
2708         x       %r0, -1
2709         x       %r0, 4096
2710
2711 #CHECK: error: invalid operand
2712 #CHECK: xg      %r0, -524289
2713 #CHECK: error: invalid operand
2714 #CHECK: xg      %r0, 524288
2715
2716         xg      %r0, -524289
2717         xg      %r0, 524288
2718
2719 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2720 #CHECK: xgrk    %r2,%r3,%r4
2721
2722         xgrk    %r2,%r3,%r4
2723
2724 #CHECK: error: invalid operand
2725 #CHECK: xi      -1, 0
2726 #CHECK: error: invalid operand
2727 #CHECK: xi      4096, 0
2728 #CHECK: error: invalid use of indexed addressing
2729 #CHECK: xi      0(%r1,%r2), 0
2730 #CHECK: error: invalid operand
2731 #CHECK: xi      0, -1
2732 #CHECK: error: invalid operand
2733 #CHECK: xi      0, 256
2734
2735         xi      -1, 0
2736         xi      4096, 0
2737         xi      0(%r1,%r2), 0
2738         xi      0, -1
2739         xi      0, 256
2740
2741 #CHECK: error: invalid operand
2742 #CHECK: xihf    %r0, -1
2743 #CHECK: error: invalid operand
2744 #CHECK: xihf    %r0, 1 << 32
2745
2746         xihf    %r0, -1
2747         xihf    %r0, 1 << 32
2748
2749 #CHECK: error: invalid operand
2750 #CHECK: xilf    %r0, -1
2751 #CHECK: error: invalid operand
2752 #CHECK: xilf    %r0, 1 << 32
2753
2754         xilf    %r0, -1
2755         xilf    %r0, 1 << 32
2756
2757 #CHECK: error: invalid operand
2758 #CHECK: xiy     -524289, 0
2759 #CHECK: error: invalid operand
2760 #CHECK: xiy     524288, 0
2761 #CHECK: error: invalid use of indexed addressing
2762 #CHECK: xiy     0(%r1,%r2), 0
2763 #CHECK: error: invalid operand
2764 #CHECK: xiy     0, -1
2765 #CHECK: error: invalid operand
2766 #CHECK: xiy     0, 256
2767
2768         xiy     -524289, 0
2769         xiy     524288, 0
2770         xiy     0(%r1,%r2), 0
2771         xiy     0, -1
2772         xiy     0, 256
2773
2774 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2775 #CHECK: xrk     %r2,%r3,%r4
2776
2777         xrk     %r2,%r3,%r4
2778
2779 #CHECK: error: invalid operand
2780 #CHECK: xy      %r0, -524289
2781 #CHECK: error: invalid operand
2782 #CHECK: xy      %r0, 524288
2783
2784         xy      %r0, -524289
2785         xy      %r0, 524288