Taints the non-acquire RMW's store address with the load part
[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: {{(instruction requires: population-count)?}}
2670 #CHECK: popcnt  %r0, %r0
2671
2672         popcnt  %r0, %r0
2673
2674 #CHECK: error: invalid operand
2675 #CHECK: risbg   %r0,%r0,0,0,-1
2676 #CHECK: error: invalid operand
2677 #CHECK: risbg   %r0,%r0,0,0,64
2678 #CHECK: error: invalid operand
2679 #CHECK: risbg   %r0,%r0,0,-1,0
2680 #CHECK: error: invalid operand
2681 #CHECK: risbg   %r0,%r0,0,256,0
2682 #CHECK: error: invalid operand
2683 #CHECK: risbg   %r0,%r0,-1,0,0
2684 #CHECK: error: invalid operand
2685 #CHECK: risbg   %r0,%r0,256,0,0
2686
2687         risbg   %r0,%r0,0,0,-1
2688         risbg   %r0,%r0,0,0,64
2689         risbg   %r0,%r0,0,-1,0
2690         risbg   %r0,%r0,0,256,0
2691         risbg   %r0,%r0,-1,0,0
2692         risbg   %r0,%r0,256,0,0
2693
2694 #CHECK: error: {{(instruction requires: high-word)?}}
2695 #CHECK: risbhg  %r1, %r2, 0, 0, 0
2696
2697         risbhg  %r1, %r2, 0, 0, 0
2698
2699 #CHECK: error: {{(instruction requires: high-word)?}}
2700 #CHECK: risblg  %r1, %r2, 0, 0, 0
2701
2702         risblg  %r1, %r2, 0, 0, 0
2703
2704 #CHECK: error: invalid operand
2705 #CHECK: rnsbg   %r0,%r0,0,0,-1
2706 #CHECK: error: invalid operand
2707 #CHECK: rnsbg   %r0,%r0,0,0,64
2708 #CHECK: error: invalid operand
2709 #CHECK: rnsbg   %r0,%r0,0,-1,0
2710 #CHECK: error: invalid operand
2711 #CHECK: rnsbg   %r0,%r0,0,256,0
2712 #CHECK: error: invalid operand
2713 #CHECK: rnsbg   %r0,%r0,-1,0,0
2714 #CHECK: error: invalid operand
2715 #CHECK: rnsbg   %r0,%r0,256,0,0
2716
2717         rnsbg   %r0,%r0,0,0,-1
2718         rnsbg   %r0,%r0,0,0,64
2719         rnsbg   %r0,%r0,0,-1,0
2720         rnsbg   %r0,%r0,0,256,0
2721         rnsbg   %r0,%r0,-1,0,0
2722         rnsbg   %r0,%r0,256,0,0
2723
2724 #CHECK: error: invalid operand
2725 #CHECK: rosbg   %r0,%r0,0,0,-1
2726 #CHECK: error: invalid operand
2727 #CHECK: rosbg   %r0,%r0,0,0,64
2728 #CHECK: error: invalid operand
2729 #CHECK: rosbg   %r0,%r0,0,-1,0
2730 #CHECK: error: invalid operand
2731 #CHECK: rosbg   %r0,%r0,0,256,0
2732 #CHECK: error: invalid operand
2733 #CHECK: rosbg   %r0,%r0,-1,0,0
2734 #CHECK: error: invalid operand
2735 #CHECK: rosbg   %r0,%r0,256,0,0
2736
2737         rosbg   %r0,%r0,0,0,-1
2738         rosbg   %r0,%r0,0,0,64
2739         rosbg   %r0,%r0,0,-1,0
2740         rosbg   %r0,%r0,0,256,0
2741         rosbg   %r0,%r0,-1,0,0
2742         rosbg   %r0,%r0,256,0,0
2743
2744 #CHECK: error: invalid operand
2745 #CHECK: rxsbg   %r0,%r0,0,0,-1
2746 #CHECK: error: invalid operand
2747 #CHECK: rxsbg   %r0,%r0,0,0,64
2748 #CHECK: error: invalid operand
2749 #CHECK: rxsbg   %r0,%r0,0,-1,0
2750 #CHECK: error: invalid operand
2751 #CHECK: rxsbg   %r0,%r0,0,256,0
2752 #CHECK: error: invalid operand
2753 #CHECK: rxsbg   %r0,%r0,-1,0,0
2754 #CHECK: error: invalid operand
2755 #CHECK: rxsbg   %r0,%r0,256,0,0
2756
2757         rxsbg   %r0,%r0,0,0,-1
2758         rxsbg   %r0,%r0,0,0,64
2759         rxsbg   %r0,%r0,0,-1,0
2760         rxsbg   %r0,%r0,0,256,0
2761         rxsbg   %r0,%r0,-1,0,0
2762         rxsbg   %r0,%r0,256,0,0
2763
2764 #CHECK: error: invalid operand
2765 #CHECK: rll     %r0,%r0,-524289
2766 #CHECK: error: invalid operand
2767 #CHECK: rll     %r0,%r0,524288
2768 #CHECK: error: %r0 used in an address
2769 #CHECK: rll     %r0,%r0,0(%r0)
2770 #CHECK: error: invalid use of indexed addressing
2771 #CHECK: rll     %r0,%r0,0(%r1,%r2)
2772
2773         rll     %r0,%r0,-524289
2774         rll     %r0,%r0,524288
2775         rll     %r0,%r0,0(%r0)
2776         rll     %r0,%r0,0(%r1,%r2)
2777
2778 #CHECK: error: invalid operand
2779 #CHECK: rllg    %r0,%r0,-524289
2780 #CHECK: error: invalid operand
2781 #CHECK: rllg    %r0,%r0,524288
2782 #CHECK: error: %r0 used in an address
2783 #CHECK: rllg    %r0,%r0,0(%r0)
2784 #CHECK: error: invalid use of indexed addressing
2785 #CHECK: rllg    %r0,%r0,0(%r1,%r2)
2786
2787         rllg    %r0,%r0,-524289
2788         rllg    %r0,%r0,524288
2789         rllg    %r0,%r0,0(%r0)
2790         rllg    %r0,%r0,0(%r1,%r2)
2791
2792 #CHECK: error: invalid operand
2793 #CHECK: s       %r0, -1
2794 #CHECK: error: invalid operand
2795 #CHECK: s       %r0, 4096
2796
2797         s       %r0, -1
2798         s       %r0, 4096
2799
2800 #CHECK: error: invalid operand
2801 #CHECK: sdb     %f0, -1
2802 #CHECK: error: invalid operand
2803 #CHECK: sdb     %f0, 4096
2804
2805         sdb     %f0, -1
2806         sdb     %f0, 4096
2807
2808 #CHECK: error: invalid operand
2809 #CHECK: seb     %f0, -1
2810 #CHECK: error: invalid operand
2811 #CHECK: seb     %f0, 4096
2812
2813         seb     %f0, -1
2814         seb     %f0, 4096
2815
2816 #CHECK: error: invalid operand
2817 #CHECK: sg      %r0, -524289
2818 #CHECK: error: invalid operand
2819 #CHECK: sg      %r0, 524288
2820
2821         sg      %r0, -524289
2822         sg      %r0, 524288
2823
2824 #CHECK: error: invalid operand
2825 #CHECK: sgf     %r0, -524289
2826 #CHECK: error: invalid operand
2827 #CHECK: sgf     %r0, 524288
2828
2829         sgf     %r0, -524289
2830         sgf     %r0, 524288
2831
2832 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2833 #CHECK: sgrk    %r2,%r3,%r4
2834
2835         sgrk    %r2,%r3,%r4
2836
2837 #CHECK: error: invalid operand
2838 #CHECK: sh      %r0, -1
2839 #CHECK: error: invalid operand
2840 #CHECK: sh      %r0, 4096
2841
2842         sh      %r0, -1
2843         sh      %r0, 4096
2844
2845 #CHECK: error: invalid operand
2846 #CHECK: shy     %r0, -524289
2847 #CHECK: error: invalid operand
2848 #CHECK: shy     %r0, 524288
2849
2850         shy     %r0, -524289
2851         shy     %r0, 524288
2852
2853 #CHECK: error: invalid operand
2854 #CHECK: sl      %r0, -1
2855 #CHECK: error: invalid operand
2856 #CHECK: sl      %r0, 4096
2857
2858         sl      %r0, -1
2859         sl      %r0, 4096
2860
2861 #CHECK: error: invalid operand
2862 #CHECK: slb     %r0, -524289
2863 #CHECK: error: invalid operand
2864 #CHECK: slb     %r0, 524288
2865
2866         slb     %r0, -524289
2867         slb     %r0, 524288
2868
2869 #CHECK: error: invalid operand
2870 #CHECK: slbg    %r0, -524289
2871 #CHECK: error: invalid operand
2872 #CHECK: slbg    %r0, 524288
2873
2874         slbg    %r0, -524289
2875         slbg    %r0, 524288
2876
2877 #CHECK: error: invalid operand
2878 #CHECK: slfi    %r0, -1
2879 #CHECK: error: invalid operand
2880 #CHECK: slfi    %r0, (1 << 32)
2881
2882         slfi    %r0, -1
2883         slfi    %r0, (1 << 32)
2884
2885 #CHECK: error: invalid operand
2886 #CHECK: slg     %r0, -524289
2887 #CHECK: error: invalid operand
2888 #CHECK: slg     %r0, 524288
2889
2890         slg     %r0, -524289
2891         slg     %r0, 524288
2892
2893 #CHECK: error: invalid operand
2894 #CHECK: slgf    %r0, -524289
2895 #CHECK: error: invalid operand
2896 #CHECK: slgf    %r0, 524288
2897
2898         slgf    %r0, -524289
2899         slgf    %r0, 524288
2900
2901 #CHECK: error: invalid operand
2902 #CHECK: slgfi   %r0, -1
2903 #CHECK: error: invalid operand
2904 #CHECK: slgfi   %r0, (1 << 32)
2905
2906         slgfi   %r0, -1
2907         slgfi   %r0, (1 << 32)
2908
2909 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2910 #CHECK: slgrk   %r2,%r3,%r4
2911
2912         slgrk   %r2,%r3,%r4
2913
2914 #CHECK: error: invalid operand
2915 #CHECK: sll     %r0,-1
2916 #CHECK: error: invalid operand
2917 #CHECK: sll     %r0,4096
2918 #CHECK: error: %r0 used in an address
2919 #CHECK: sll     %r0,0(%r0)
2920 #CHECK: error: invalid use of indexed addressing
2921 #CHECK: sll     %r0,0(%r1,%r2)
2922
2923         sll     %r0,-1
2924         sll     %r0,4096
2925         sll     %r0,0(%r0)
2926         sll     %r0,0(%r1,%r2)
2927
2928 #CHECK: error: invalid operand
2929 #CHECK: sllg    %r0,%r0,-524289
2930 #CHECK: error: invalid operand
2931 #CHECK: sllg    %r0,%r0,524288
2932 #CHECK: error: %r0 used in an address
2933 #CHECK: sllg    %r0,%r0,0(%r0)
2934 #CHECK: error: invalid use of indexed addressing
2935 #CHECK: sllg    %r0,%r0,0(%r1,%r2)
2936
2937         sllg    %r0,%r0,-524289
2938         sllg    %r0,%r0,524288
2939         sllg    %r0,%r0,0(%r0)
2940         sllg    %r0,%r0,0(%r1,%r2)
2941
2942 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2943 #CHECK: sllk    %r2,%r3,4(%r5)
2944
2945         sllk    %r2,%r3,4(%r5)
2946
2947 #CHECK: error: {{(instruction requires: distinct-ops)?}}
2948 #CHECK: slrk    %r2,%r3,%r4
2949
2950         slrk    %r2,%r3,%r4
2951
2952 #CHECK: error: invalid operand
2953 #CHECK: sly     %r0, -524289
2954 #CHECK: error: invalid operand
2955 #CHECK: sly     %r0, 524288
2956
2957         sly     %r0, -524289
2958         sly     %r0, 524288
2959
2960 #CHECK: error: invalid operand
2961 #CHECK: sqdb    %f0, -1
2962 #CHECK: error: invalid operand
2963 #CHECK: sqdb    %f0, 4096
2964
2965         sqdb    %f0, -1
2966         sqdb    %f0, 4096
2967
2968 #CHECK: error: invalid operand
2969 #CHECK: sqeb    %f0, -1
2970 #CHECK: error: invalid operand
2971 #CHECK: sqeb    %f0, 4096
2972
2973         sqeb    %f0, -1
2974         sqeb    %f0, 4096
2975
2976 #CHECK: error: invalid register pair
2977 #CHECK: sqxbr   %f0, %f2
2978 #CHECK: error: invalid register pair
2979 #CHECK: sqxbr   %f2, %f0
2980
2981         sqxbr   %f0, %f2
2982         sqxbr   %f2, %f0
2983
2984 #CHECK: error: invalid operand
2985 #CHECK: sra     %r0,-1
2986 #CHECK: error: invalid operand
2987 #CHECK: sra     %r0,4096
2988 #CHECK: error: %r0 used in an address
2989 #CHECK: sra     %r0,0(%r0)
2990 #CHECK: error: invalid use of indexed addressing
2991 #CHECK: sra     %r0,0(%r1,%r2)
2992
2993         sra     %r0,-1
2994         sra     %r0,4096
2995         sra     %r0,0(%r0)
2996         sra     %r0,0(%r1,%r2)
2997
2998 #CHECK: error: invalid operand
2999 #CHECK: srag    %r0,%r0,-524289
3000 #CHECK: error: invalid operand
3001 #CHECK: srag    %r0,%r0,524288
3002 #CHECK: error: %r0 used in an address
3003 #CHECK: srag    %r0,%r0,0(%r0)
3004 #CHECK: error: invalid use of indexed addressing
3005 #CHECK: srag    %r0,%r0,0(%r1,%r2)
3006
3007         srag    %r0,%r0,-524289
3008         srag    %r0,%r0,524288
3009         srag    %r0,%r0,0(%r0)
3010         srag    %r0,%r0,0(%r1,%r2)
3011
3012 #CHECK: error: {{(instruction requires: distinct-ops)?}}
3013 #CHECK: srak    %r2,%r3,4(%r5)
3014
3015         srak    %r2,%r3,4(%r5)
3016
3017 #CHECK: error: {{(instruction requires: distinct-ops)?}}
3018 #CHECK: srk     %r2,%r3,%r4
3019
3020         srk     %r2,%r3,%r4
3021
3022 #CHECK: error: invalid operand
3023 #CHECK: srl     %r0,-1
3024 #CHECK: error: invalid operand
3025 #CHECK: srl     %r0,4096
3026 #CHECK: error: %r0 used in an address
3027 #CHECK: srl     %r0,0(%r0)
3028 #CHECK: error: invalid use of indexed addressing
3029 #CHECK: srl     %r0,0(%r1,%r2)
3030
3031         srl     %r0,-1
3032         srl     %r0,4096
3033         srl     %r0,0(%r0)
3034         srl     %r0,0(%r1,%r2)
3035
3036 #CHECK: error: invalid operand
3037 #CHECK: srlg    %r0,%r0,-524289
3038 #CHECK: error: invalid operand
3039 #CHECK: srlg    %r0,%r0,524288
3040 #CHECK: error: %r0 used in an address
3041 #CHECK: srlg    %r0,%r0,0(%r0)
3042 #CHECK: error: invalid use of indexed addressing
3043 #CHECK: srlg    %r0,%r0,0(%r1,%r2)
3044
3045         srlg    %r0,%r0,-524289
3046         srlg    %r0,%r0,524288
3047         srlg    %r0,%r0,0(%r0)
3048         srlg    %r0,%r0,0(%r1,%r2)
3049
3050 #CHECK: error: {{(instruction requires: distinct-ops)?}}
3051 #CHECK: srlk    %r2,%r3,4(%r5)
3052
3053         srlk    %r2,%r3,4(%r5)
3054
3055 #CHECK: error: invalid operand
3056 #CHECK: st      %r0, -1
3057 #CHECK: error: invalid operand
3058 #CHECK: st      %r0, 4096
3059
3060         st      %r0, -1
3061         st      %r0, 4096
3062
3063 #CHECK: error: invalid operand
3064 #CHECK: stc     %r0, -1
3065 #CHECK: error: invalid operand
3066 #CHECK: stc     %r0, 4096
3067
3068         stc     %r0, -1
3069         stc     %r0, 4096
3070
3071 #CHECK: error: {{(instruction requires: high-word)?}}
3072 #CHECK: stch    %r0, 0
3073
3074         stch    %r0, 0
3075
3076 #CHECK: error: invalid operand
3077 #CHECK: stcy    %r0, -524289
3078 #CHECK: error: invalid operand
3079 #CHECK: stcy    %r0, 524288
3080
3081         stcy    %r0, -524289
3082         stcy    %r0, 524288
3083
3084 #CHECK: error: invalid operand
3085 #CHECK: std     %f0, -1
3086 #CHECK: error: invalid operand
3087 #CHECK: std     %f0, 4096
3088
3089         std     %f0, -1
3090         std     %f0, 4096
3091
3092 #CHECK: error: invalid operand
3093 #CHECK: stdy    %f0, -524289
3094 #CHECK: error: invalid operand
3095 #CHECK: stdy    %f0, 524288
3096
3097         stdy    %f0, -524289
3098         stdy    %f0, 524288
3099
3100 #CHECK: error: invalid operand
3101 #CHECK: ste     %f0, -1
3102 #CHECK: error: invalid operand
3103 #CHECK: ste     %f0, 4096
3104
3105         ste     %f0, -1
3106         ste     %f0, 4096
3107
3108 #CHECK: error: invalid operand
3109 #CHECK: stey    %f0, -524289
3110 #CHECK: error: invalid operand
3111 #CHECK: stey    %f0, 524288
3112
3113         stey    %f0, -524289
3114         stey    %f0, 524288
3115
3116 #CHECK: error: invalid operand
3117 #CHECK: stg     %r0, -524289
3118 #CHECK: error: invalid operand
3119 #CHECK: stg     %r0, 524288
3120
3121         stg     %r0, -524289
3122         stg     %r0, 524288
3123
3124 #CHECK: error: offset out of range
3125 #CHECK: stgrl   %r0, -0x1000000002
3126 #CHECK: error: offset out of range
3127 #CHECK: stgrl   %r0, -1
3128 #CHECK: error: offset out of range
3129 #CHECK: stgrl   %r0, 1
3130 #CHECK: error: offset out of range
3131 #CHECK: stgrl   %r0, 0x100000000
3132
3133         stgrl   %r0, -0x1000000002
3134         stgrl   %r0, -1
3135         stgrl   %r0, 1
3136         stgrl   %r0, 0x100000000
3137
3138 #CHECK: error: invalid operand
3139 #CHECK: sth     %r0, -1
3140 #CHECK: error: invalid operand
3141 #CHECK: sth     %r0, 4096
3142
3143         sth     %r0, -1
3144         sth     %r0, 4096
3145
3146 #CHECK: error: {{(instruction requires: high-word)?}}
3147 #CHECK: sthh    %r0, 0
3148
3149         sthh    %r0, 0
3150
3151 #CHECK: error: offset out of range
3152 #CHECK: sthrl   %r0, -0x1000000002
3153 #CHECK: error: offset out of range
3154 #CHECK: sthrl   %r0, -1
3155 #CHECK: error: offset out of range
3156 #CHECK: sthrl   %r0, 1
3157 #CHECK: error: offset out of range
3158 #CHECK: sthrl   %r0, 0x100000000
3159
3160         sthrl   %r0, -0x1000000002
3161         sthrl   %r0, -1
3162         sthrl   %r0, 1
3163         sthrl   %r0, 0x100000000
3164
3165 #CHECK: error: invalid operand
3166 #CHECK: sthy    %r0, -524289
3167 #CHECK: error: invalid operand
3168 #CHECK: sthy    %r0, 524288
3169
3170         sthy    %r0, -524289
3171         sthy    %r0, 524288
3172
3173 #CHECK: error: {{(instruction requires: high-word)?}}
3174 #CHECK: stfh    %r0, 0
3175
3176         stfh    %r0, 0
3177
3178 #CHECK: error: invalid operand
3179 #CHECK: stmg    %r0, %r0, -524289
3180 #CHECK: error: invalid operand
3181 #CHECK: stmg    %r0, %r0, 524288
3182 #CHECK: error: invalid use of indexed addressing
3183 #CHECK: stmg    %r0, %r0, 0(%r1,%r2)
3184
3185         stmg    %r0, %r0, -524289
3186         stmg    %r0, %r0, 524288
3187         stmg    %r0, %r0, 0(%r1,%r2)
3188
3189 #CHECK: error: offset out of range
3190 #CHECK: strl    %r0, -0x1000000002
3191 #CHECK: error: offset out of range
3192 #CHECK: strl    %r0, -1
3193 #CHECK: error: offset out of range
3194 #CHECK: strl    %r0, 1
3195 #CHECK: error: offset out of range
3196 #CHECK: strl    %r0, 0x100000000
3197
3198         strl    %r0, -0x1000000002
3199         strl    %r0, -1
3200         strl    %r0, 1
3201         strl    %r0, 0x100000000
3202
3203 #CHECK: error: invalid operand
3204 #CHECK: strv    %r0, -524289
3205 #CHECK: error: invalid operand
3206 #CHECK: strv    %r0, 524288
3207
3208         strv    %r0, -524289
3209         strv    %r0, 524288
3210
3211 #CHECK: error: invalid operand
3212 #CHECK: strvg   %r0, -524289
3213 #CHECK: error: invalid operand
3214 #CHECK: strvg   %r0, 524288
3215
3216         strvg   %r0, -524289
3217         strvg   %r0, 524288
3218
3219 #CHECK: error: invalid operand
3220 #CHECK: sty     %r0, -524289
3221 #CHECK: error: invalid operand
3222 #CHECK: sty     %r0, 524288
3223
3224         sty     %r0, -524289
3225         sty     %r0, 524288
3226
3227 #CHECK: error: invalid register pair
3228 #CHECK: sxbr    %f0, %f2
3229 #CHECK: error: invalid register pair
3230 #CHECK: sxbr    %f2, %f0
3231
3232         sxbr    %f0, %f2
3233         sxbr    %f2, %f0
3234
3235 #CHECK: error: invalid operand
3236 #CHECK: sy      %r0, -524289
3237 #CHECK: error: invalid operand
3238 #CHECK: sy      %r0, 524288
3239
3240         sy      %r0, -524289
3241         sy      %r0, 524288
3242
3243 #CHECK: error: invalid operand
3244 #CHECK: tm      -1, 0
3245 #CHECK: error: invalid operand
3246 #CHECK: tm      4096, 0
3247 #CHECK: error: invalid use of indexed addressing
3248 #CHECK: tm      0(%r1,%r2), 0
3249 #CHECK: error: invalid operand
3250 #CHECK: tm      0, -1
3251 #CHECK: error: invalid operand
3252 #CHECK: tm      0, 256
3253
3254         tm      -1, 0
3255         tm      4096, 0
3256         tm      0(%r1,%r2), 0
3257         tm      0, -1
3258         tm      0, 256
3259
3260 #CHECK: error: invalid operand
3261 #CHECK: tmhh    %r0, -1
3262 #CHECK: error: invalid operand
3263 #CHECK: tmhh    %r0, 0x10000
3264
3265         tmhh    %r0, -1
3266         tmhh    %r0, 0x10000
3267
3268 #CHECK: error: invalid operand
3269 #CHECK: tmhl    %r0, -1
3270 #CHECK: error: invalid operand
3271 #CHECK: tmhl    %r0, 0x10000
3272
3273         tmhl    %r0, -1
3274         tmhl    %r0, 0x10000
3275
3276 #CHECK: error: invalid operand
3277 #CHECK: tmlh    %r0, -1
3278 #CHECK: error: invalid operand
3279 #CHECK: tmlh    %r0, 0x10000
3280
3281         tmlh    %r0, -1
3282         tmlh    %r0, 0x10000
3283
3284 #CHECK: error: invalid operand
3285 #CHECK: tmll    %r0, -1
3286 #CHECK: error: invalid operand
3287 #CHECK: tmll    %r0, 0x10000
3288
3289         tmll    %r0, -1
3290         tmll    %r0, 0x10000
3291
3292 #CHECK: error: invalid operand
3293 #CHECK: tmy     -524289, 0
3294 #CHECK: error: invalid operand
3295 #CHECK: tmy     524288, 0
3296 #CHECK: error: invalid use of indexed addressing
3297 #CHECK: tmy     0(%r1,%r2), 0
3298 #CHECK: error: invalid operand
3299 #CHECK: tmy     0, -1
3300 #CHECK: error: invalid operand
3301 #CHECK: tmy     0, 256
3302
3303         tmy     -524289, 0
3304         tmy     524288, 0
3305         tmy     0(%r1,%r2), 0
3306         tmy     0, -1
3307         tmy     0, 256
3308
3309 #CHECK: error: invalid operand
3310 #CHECK: x       %r0, -1
3311 #CHECK: error: invalid operand
3312 #CHECK: x       %r0, 4096
3313
3314         x       %r0, -1
3315         x       %r0, 4096
3316
3317 #CHECK: error: missing length in address
3318 #CHECK: xc      0, 0
3319 #CHECK: error: missing length in address
3320 #CHECK: xc      0(%r1), 0(%r1)
3321 #CHECK: error: invalid use of length addressing
3322 #CHECK: xc      0(1,%r1), 0(2,%r1)
3323 #CHECK: error: invalid operand
3324 #CHECK: xc      0(0,%r1), 0(%r1)
3325 #CHECK: error: invalid operand
3326 #CHECK: xc      0(257,%r1), 0(%r1)
3327 #CHECK: error: invalid operand
3328 #CHECK: xc      -1(1,%r1), 0(%r1)
3329 #CHECK: error: invalid operand
3330 #CHECK: xc      4096(1,%r1), 0(%r1)
3331 #CHECK: error: invalid operand
3332 #CHECK: xc      0(1,%r1), -1(%r1)
3333 #CHECK: error: invalid operand
3334 #CHECK: xc      0(1,%r1), 4096(%r1)
3335 #CHECK: error: %r0 used in an address
3336 #CHECK: xc      0(1,%r0), 0(%r1)
3337 #CHECK: error: %r0 used in an address
3338 #CHECK: xc      0(1,%r1), 0(%r0)
3339 #CHECK: error: invalid use of indexed addressing
3340 #CHECK: xc      0(%r1,%r2), 0(%r1)
3341 #CHECK: error: invalid use of indexed addressing
3342 #CHECK: xc      0(1,%r2), 0(%r1,%r2)
3343 #CHECK: error: unknown token in expression
3344 #CHECK: xc      0(-), 0
3345
3346         xc      0, 0
3347         xc      0(%r1), 0(%r1)
3348         xc      0(1,%r1), 0(2,%r1)
3349         xc      0(0,%r1), 0(%r1)
3350         xc      0(257,%r1), 0(%r1)
3351         xc      -1(1,%r1), 0(%r1)
3352         xc      4096(1,%r1), 0(%r1)
3353         xc      0(1,%r1), -1(%r1)
3354         xc      0(1,%r1), 4096(%r1)
3355         xc      0(1,%r0), 0(%r1)
3356         xc      0(1,%r1), 0(%r0)
3357         xc      0(%r1,%r2), 0(%r1)
3358         xc      0(1,%r2), 0(%r1,%r2)
3359         xc      0(-), 0
3360
3361 #CHECK: error: invalid operand
3362 #CHECK: xg      %r0, -524289
3363 #CHECK: error: invalid operand
3364 #CHECK: xg      %r0, 524288
3365
3366         xg      %r0, -524289
3367         xg      %r0, 524288
3368
3369 #CHECK: error: {{(instruction requires: distinct-ops)?}}
3370 #CHECK: xgrk    %r2,%r3,%r4
3371
3372         xgrk    %r2,%r3,%r4
3373
3374 #CHECK: error: invalid operand
3375 #CHECK: xi      -1, 0
3376 #CHECK: error: invalid operand
3377 #CHECK: xi      4096, 0
3378 #CHECK: error: invalid use of indexed addressing
3379 #CHECK: xi      0(%r1,%r2), 0
3380 #CHECK: error: invalid operand
3381 #CHECK: xi      0, -1
3382 #CHECK: error: invalid operand
3383 #CHECK: xi      0, 256
3384
3385         xi      -1, 0
3386         xi      4096, 0
3387         xi      0(%r1,%r2), 0
3388         xi      0, -1
3389         xi      0, 256
3390
3391 #CHECK: error: invalid operand
3392 #CHECK: xihf    %r0, -1
3393 #CHECK: error: invalid operand
3394 #CHECK: xihf    %r0, 1 << 32
3395
3396         xihf    %r0, -1
3397         xihf    %r0, 1 << 32
3398
3399 #CHECK: error: invalid operand
3400 #CHECK: xilf    %r0, -1
3401 #CHECK: error: invalid operand
3402 #CHECK: xilf    %r0, 1 << 32
3403
3404         xilf    %r0, -1
3405         xilf    %r0, 1 << 32
3406
3407 #CHECK: error: invalid operand
3408 #CHECK: xiy     -524289, 0
3409 #CHECK: error: invalid operand
3410 #CHECK: xiy     524288, 0
3411 #CHECK: error: invalid use of indexed addressing
3412 #CHECK: xiy     0(%r1,%r2), 0
3413 #CHECK: error: invalid operand
3414 #CHECK: xiy     0, -1
3415 #CHECK: error: invalid operand
3416 #CHECK: xiy     0, 256
3417
3418         xiy     -524289, 0
3419         xiy     524288, 0
3420         xiy     0(%r1,%r2), 0
3421         xiy     0, -1
3422         xiy     0, 256
3423
3424 #CHECK: error: {{(instruction requires: distinct-ops)?}}
3425 #CHECK: xrk     %r2,%r3,%r4
3426
3427         xrk     %r2,%r3,%r4
3428
3429 #CHECK: error: invalid operand
3430 #CHECK: xy      %r0, -524289
3431 #CHECK: error: invalid operand
3432 #CHECK: xy      %r0, 524288
3433
3434         xy      %r0, -524289
3435         xy      %r0, 524288