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