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