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