• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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: invalid operand
588#CHECK: cgit     %r0, -32769
589#CHECK: error: invalid operand
590#CHECK: cgit     %r0, 32768
591#CHECK: error: invalid instruction
592#CHECK: cgito    %r0, 0
593#CHECK: error: invalid instruction
594#CHECK: cgitno   %r0, 0
595
596        cgit     %r0, -32769
597        cgit     %r0, 32768
598        cgito    %r0, 0
599        cgitno   %r0, 0
600
601#CHECK: error: offset out of range
602#CHECK: cgrj	%r0, %r0, 0, -0x100002
603#CHECK: error: offset out of range
604#CHECK: cgrj	%r0, %r0, 0, -1
605#CHECK: error: offset out of range
606#CHECK: cgrj	%r0, %r0, 0, 1
607#CHECK: error: offset out of range
608#CHECK: cgrj	%r0, %r0, 0, 0x10000
609
610	cgrj	%r0, %r0, 0, -0x100002
611	cgrj	%r0, %r0, 0, -1
612	cgrj	%r0, %r0, 0, 1
613	cgrj	%r0, %r0, 0, 0x10000
614
615#CHECK: error: invalid instruction
616#CHECK:	cgrjo	%r0, %r0, 0, 0
617#CHECK: error: invalid instruction
618#CHECK:	cgrjno	%r0, %r0, 0, 0
619
620	cgrjo	%r0, %r0, 0, 0
621	cgrjno	%r0, %r0, 0, 0
622
623#CHECK: error: offset out of range
624#CHECK: cgrl	%r0, -0x1000000002
625#CHECK: error: offset out of range
626#CHECK: cgrl	%r0, -1
627#CHECK: error: offset out of range
628#CHECK: cgrl	%r0, 1
629#CHECK: error: offset out of range
630#CHECK: cgrl	%r0, 0x100000000
631
632	cgrl	%r0, -0x1000000002
633	cgrl	%r0, -1
634	cgrl	%r0, 1
635	cgrl	%r0, 0x100000000
636
637#CHECK: error: invalid instruction
638#CHECK: cgrto    %r0, %r0
639#CHECK: error: invalid instruction
640#CHECK: cgrtno   %r0, %r0
641
642        cgrto    %r0, %r0
643        cgrtno   %r0, %r0
644
645#CHECK: error: invalid operand
646#CHECK: cgxbr	%r0, -1, %f0
647#CHECK: error: invalid operand
648#CHECK: cgxbr	%r0, 16, %f0
649#CHECK: error: invalid register pair
650#CHECK: cgxbr	%r0, 0, %f2
651
652	cgxbr	%r0, -1, %f0
653	cgxbr	%r0, 16, %f0
654	cgxbr	%r0, 0, %f2
655
656
657#CHECK: error: invalid operand
658#CHECK: ch	%r0, -1
659#CHECK: error: invalid operand
660#CHECK: ch	%r0, 4096
661
662	ch	%r0, -1
663	ch	%r0, 4096
664
665#CHECK: error: {{(instruction requires: high-word)?}}
666#CHECK: chf	%r0, 0
667
668	chf	%r0, 0
669
670#CHECK: error: invalid operand
671#CHECK: chhsi	-1, 0
672#CHECK: error: invalid operand
673#CHECK: chhsi	4096, 0
674#CHECK: error: invalid use of indexed addressing
675#CHECK: chhsi	0(%r1,%r2), 0
676#CHECK: error: invalid operand
677#CHECK: chhsi	0, -32769
678#CHECK: error: invalid operand
679#CHECK: chhsi	0, 32768
680
681	chhsi	-1, 0
682	chhsi	4096, 0
683	chhsi	0(%r1,%r2), 0
684	chhsi	0, -32769
685	chhsi	0, 32768
686
687#CHECK: error: invalid operand
688#CHECK: chi	%r0, -32769
689#CHECK: error: invalid operand
690#CHECK: chi	%r0, 32768
691#CHECK: error: invalid operand
692#CHECK: chi	%r0, foo
693
694	chi	%r0, -32769
695	chi	%r0, 32768
696	chi	%r0, foo
697
698#CHECK: error: offset out of range
699#CHECK: chrl	%r0, -0x1000000002
700#CHECK: error: offset out of range
701#CHECK: chrl	%r0, -1
702#CHECK: error: offset out of range
703#CHECK: chrl	%r0, 1
704#CHECK: error: offset out of range
705#CHECK: chrl	%r0, 0x100000000
706
707	chrl	%r0, -0x1000000002
708	chrl	%r0, -1
709	chrl	%r0, 1
710	chrl	%r0, 0x100000000
711
712#CHECK: error: invalid operand
713#CHECK: chsi	-1, 0
714#CHECK: error: invalid operand
715#CHECK: chsi	4096, 0
716#CHECK: error: invalid use of indexed addressing
717#CHECK: chsi	0(%r1,%r2), 0
718#CHECK: error: invalid operand
719#CHECK: chsi	0, -32769
720#CHECK: error: invalid operand
721#CHECK: chsi	0, 32768
722
723	chsi	-1, 0
724	chsi	4096, 0
725	chsi	0(%r1,%r2), 0
726	chsi	0, -32769
727	chsi	0, 32768
728
729#CHECK: error: invalid operand
730#CHECK: chy	%r0, -524289
731#CHECK: error: invalid operand
732#CHECK: chy	%r0, 524288
733
734	chy	%r0, -524289
735	chy	%r0, 524288
736
737#CHECK: error: {{(instruction requires: high-word)?}}
738#CHECK: cih	%r0, 0
739
740	cih	%r0, 0
741
742#CHECK: error: invalid operand
743#CHECK: cij	%r0, -129, 0, 0
744#CHECK: error: invalid operand
745#CHECK: cij	%r0, 128, 0, 0
746
747	cij	%r0, -129, 0, 0
748	cij	%r0, 128, 0, 0
749
750#CHECK: error: offset out of range
751#CHECK: cij	%r0, 0, 0, -0x100002
752#CHECK: error: offset out of range
753#CHECK: cij	%r0, 0, 0, -1
754#CHECK: error: offset out of range
755#CHECK: cij	%r0, 0, 0, 1
756#CHECK: error: offset out of range
757#CHECK: cij	%r0, 0, 0, 0x10000
758
759	cij	%r0, 0, 0, -0x100002
760	cij	%r0, 0, 0, -1
761	cij	%r0, 0, 0, 1
762	cij	%r0, 0, 0, 0x10000
763
764#CHECK: error: invalid instruction
765#CHECK:	cijo	%r0, 0, 0, 0
766#CHECK: error: invalid instruction
767#CHECK:	cijno	%r0, 0, 0, 0
768
769	cijo	%r0, 0, 0, 0
770	cijno	%r0, 0, 0, 0
771
772#CHECK: error: invalid operand
773#CHECK: cit     %r0, -32769
774#CHECK: error: invalid operand
775#CHECK: cit     %r0, 32768
776#CHECK: error: invalid instruction
777#CHECK: cito    %r0, 0
778#CHECK: error: invalid instruction
779#CHECK: citno   %r0, 0
780
781        cit     %r0, -32769
782        cit     %r0, 32768
783        cito    %r0, 0
784        citno   %r0, 0
785
786#CHECK: error: invalid operand
787#CHECK: cl	%r0, -1
788#CHECK: error: invalid operand
789#CHECK: cl	%r0, 4096
790
791	cl	%r0, -1
792	cl	%r0, 4096
793
794#CHECK: error: missing length in address
795#CHECK: clc	0, 0
796#CHECK: error: missing length in address
797#CHECK: clc	0(%r1), 0(%r1)
798#CHECK: error: invalid use of length addressing
799#CHECK: clc	0(1,%r1), 0(2,%r1)
800#CHECK: error: invalid operand
801#CHECK: clc	0(0,%r1), 0(%r1)
802#CHECK: error: invalid operand
803#CHECK: clc	0(257,%r1), 0(%r1)
804#CHECK: error: invalid operand
805#CHECK: clc	-1(1,%r1), 0(%r1)
806#CHECK: error: invalid operand
807#CHECK: clc	4096(1,%r1), 0(%r1)
808#CHECK: error: invalid operand
809#CHECK: clc	0(1,%r1), -1(%r1)
810#CHECK: error: invalid operand
811#CHECK: clc	0(1,%r1), 4096(%r1)
812#CHECK: error: %r0 used in an address
813#CHECK: clc	0(1,%r0), 0(%r1)
814#CHECK: error: %r0 used in an address
815#CHECK: clc	0(1,%r1), 0(%r0)
816#CHECK: error: invalid use of indexed addressing
817#CHECK: clc	0(%r1,%r2), 0(%r1)
818#CHECK: error: invalid use of indexed addressing
819#CHECK: clc	0(1,%r2), 0(%r1,%r2)
820#CHECK: error: unknown token in expression
821#CHECK: clc	0(-), 0
822
823	clc	0, 0
824	clc	0(%r1), 0(%r1)
825	clc	0(1,%r1), 0(2,%r1)
826	clc	0(0,%r1), 0(%r1)
827	clc	0(257,%r1), 0(%r1)
828	clc	-1(1,%r1), 0(%r1)
829	clc	4096(1,%r1), 0(%r1)
830	clc	0(1,%r1), -1(%r1)
831	clc	0(1,%r1), 4096(%r1)
832	clc	0(1,%r0), 0(%r1)
833	clc	0(1,%r1), 0(%r0)
834	clc	0(%r1,%r2), 0(%r1)
835	clc	0(1,%r2), 0(%r1,%r2)
836	clc	0(-), 0
837
838#CHECK: error: {{(instruction requires: high-word)?}}
839#CHECK: clhf	%r0, 0
840
841	clhf	%r0, 0
842
843#CHECK: error: {{(instruction requires: fp-extension)?}}
844#CHECK: clfdbr	%r0, 0, %f0, 0
845
846	clfdbr	%r0, 0, %f0, 0
847
848#CHECK: error: {{(instruction requires: fp-extension)?}}
849#CHECK: clfebr	%r0, 0, %f0, 0
850
851	clfebr	%r0, 0, %f0, 0
852
853#CHECK: error: invalid operand
854#CHECK: clfhsi	-1, 0
855#CHECK: error: invalid operand
856#CHECK: clfhsi	4096, 0
857#CHECK: error: invalid use of indexed addressing
858#CHECK: clfhsi	0(%r1,%r2), 0
859#CHECK: error: invalid operand
860#CHECK: clfhsi	0, -1
861#CHECK: error: invalid operand
862#CHECK: clfhsi	0, 65536
863
864	clfhsi	-1, 0
865	clfhsi	4096, 0
866	clfhsi	0(%r1,%r2), 0
867	clfhsi	0, -1
868	clfhsi	0, 65536
869
870#CHECK: error: invalid operand
871#CHECK: clfi	%r0, -1
872#CHECK: error: invalid operand
873#CHECK: clfi	%r0, (1 << 32)
874
875	clfi	%r0, -1
876	clfi	%r0, (1 << 32)
877
878#CHECK: error: invalid operand
879#CHECK: clfit   %r0, -1
880#CHECK: error: invalid operand
881#CHECK: clfit   %r0, 65536
882#CHECK: error: invalid instruction
883#CHECK: clfito  %r0, 0
884#CHECK: error: invalid instruction
885#CHECK: clfitno %r0, 0
886
887        clfit   %r0, -1
888        clfit   %r0, 65536
889        clfito  %r0, 0
890        clfitno %r0, 0
891
892#CHECK: error: {{(instruction requires: fp-extension)?}}
893#CHECK: clfxbr	%r0, 0, %f0, 0
894
895	clfxbr	%r0, 0, %f0, 0
896
897#CHECK: error: invalid operand
898#CHECK: clg	%r0, -524289
899#CHECK: error: invalid operand
900#CHECK: clg	%r0, 524288
901
902	clg	%r0, -524289
903	clg	%r0, 524288
904
905#CHECK: error: invalid operand
906#CHECK: clgit   %r0, -1
907#CHECK: error: invalid operand
908#CHECK: clgit   %r0, 65536
909#CHECK: error: invalid instruction
910#CHECK: clgito  %r0, 0
911#CHECK: error: invalid instruction
912#CHECK: clgitno %r0, 0
913
914        clgit   %r0, -1
915        clgit   %r0, 65536
916        clgito  %r0, 0
917        clgitno %r0, 0
918
919#CHECK: error: {{(instruction requires: fp-extension)?}}
920#CHECK: clgdbr	%r0, 0, %f0, 0
921
922	clgdbr	%r0, 0, %f0, 0
923
924#CHECK: error: {{(instruction requires: fp-extension)?}}
925#CHECK: clgebr	%r0, 0, %f0, 0
926
927	clgebr	%r0, 0, %f0, 0
928
929#CHECK: error: invalid operand
930#CHECK: clgf	%r0, -524289
931#CHECK: error: invalid operand
932#CHECK: clgf	%r0, 524288
933
934	clgf	%r0, -524289
935	clgf	%r0, 524288
936
937#CHECK: error: invalid operand
938#CHECK: clgfi	%r0, -1
939#CHECK: error: invalid operand
940#CHECK: clgfi	%r0, (1 << 32)
941
942	clgfi	%r0, -1
943	clgfi	%r0, (1 << 32)
944
945#CHECK: error: offset out of range
946#CHECK: clgfrl	%r0, -0x1000000002
947#CHECK: error: offset out of range
948#CHECK: clgfrl	%r0, -1
949#CHECK: error: offset out of range
950#CHECK: clgfrl	%r0, 1
951#CHECK: error: offset out of range
952#CHECK: clgfrl	%r0, 0x100000000
953
954	clgfrl	%r0, -0x1000000002
955	clgfrl	%r0, -1
956	clgfrl	%r0, 1
957	clgfrl	%r0, 0x100000000
958
959#CHECK: error: offset out of range
960#CHECK: clghrl	%r0, -0x1000000002
961#CHECK: error: offset out of range
962#CHECK: clghrl	%r0, -1
963#CHECK: error: offset out of range
964#CHECK: clghrl	%r0, 1
965#CHECK: error: offset out of range
966#CHECK: clghrl	%r0, 0x100000000
967
968	clghrl	%r0, -0x1000000002
969	clghrl	%r0, -1
970	clghrl	%r0, 1
971	clghrl	%r0, 0x100000000
972
973#CHECK: error: invalid operand
974#CHECK: clghsi	-1, 0
975#CHECK: error: invalid operand
976#CHECK: clghsi	4096, 0
977#CHECK: error: invalid use of indexed addressing
978#CHECK: clghsi	0(%r1,%r2), 0
979#CHECK: error: invalid operand
980#CHECK: clghsi	0, -1
981#CHECK: error: invalid operand
982#CHECK: clghsi	0, 65536
983
984	clghsi	-1, 0
985	clghsi	4096, 0
986	clghsi	0(%r1,%r2), 0
987	clghsi	0, -1
988	clghsi	0, 65536
989
990#CHECK: error: invalid operand
991#CHECK: clgij	%r0, -1, 0, 0
992#CHECK: error: invalid operand
993#CHECK: clgij	%r0, 256, 0, 0
994
995	clgij	%r0, -1, 0, 0
996	clgij	%r0, 256, 0, 0
997
998#CHECK: error: offset out of range
999#CHECK: clgij	%r0, 0, 0, -0x100002
1000#CHECK: error: offset out of range
1001#CHECK: clgij	%r0, 0, 0, -1
1002#CHECK: error: offset out of range
1003#CHECK: clgij	%r0, 0, 0, 1
1004#CHECK: error: offset out of range
1005#CHECK: clgij	%r0, 0, 0, 0x10000
1006
1007	clgij	%r0, 0, 0, -0x100002
1008	clgij	%r0, 0, 0, -1
1009	clgij	%r0, 0, 0, 1
1010	clgij	%r0, 0, 0, 0x10000
1011
1012#CHECK: error: invalid instruction
1013#CHECK:	clgijo	%r0, 0, 0, 0
1014#CHECK: error: invalid instruction
1015#CHECK:	clgijno	%r0, 0, 0, 0
1016
1017	clgijo	%r0, 0, 0, 0
1018	clgijno	%r0, 0, 0, 0
1019
1020#CHECK: error: offset out of range
1021#CHECK: clgrj	%r0, %r0, 0, -0x100002
1022#CHECK: error: offset out of range
1023#CHECK: clgrj	%r0, %r0, 0, -1
1024#CHECK: error: offset out of range
1025#CHECK: clgrj	%r0, %r0, 0, 1
1026#CHECK: error: offset out of range
1027#CHECK: clgrj	%r0, %r0, 0, 0x10000
1028
1029	clgrj	%r0, %r0, 0, -0x100002
1030	clgrj	%r0, %r0, 0, -1
1031	clgrj	%r0, %r0, 0, 1
1032	clgrj	%r0, %r0, 0, 0x10000
1033
1034#CHECK: error: offset out of range
1035#CHECK: clgrl	%r0, -0x1000000002
1036#CHECK: error: offset out of range
1037#CHECK: clgrl	%r0, -1
1038#CHECK: error: offset out of range
1039#CHECK: clgrl	%r0, 1
1040#CHECK: error: offset out of range
1041#CHECK: clgrl	%r0, 0x100000000
1042
1043	clgrl	%r0, -0x1000000002
1044	clgrl	%r0, -1
1045	clgrl	%r0, 1
1046	clgrl	%r0, 0x100000000
1047
1048#CHECK: error: invalid instruction
1049#CHECK: clgrto    %r0, %r0
1050#CHECK: error: invalid instruction
1051#CHECK: clgrtno   %r0, %r0
1052
1053        clgrto    %r0, %r0
1054        clgrtno   %r0, %r0
1055
1056#CHECK: error: {{(instruction requires: fp-extension)?}}
1057#CHECK: clgxbr	%r0, 0, %f0, 0
1058
1059	clgxbr	%r0, 0, %f0, 0
1060
1061#CHECK: error: invalid operand
1062#CHECK: clhhsi	-1, 0
1063#CHECK: error: invalid operand
1064#CHECK: clhhsi	4096, 0
1065#CHECK: error: invalid use of indexed addressing
1066#CHECK: clhhsi	0(%r1,%r2), 0
1067#CHECK: error: invalid operand
1068#CHECK: clhhsi	0, -1
1069#CHECK: error: invalid operand
1070#CHECK: clhhsi	0, 65536
1071
1072	clhhsi	-1, 0
1073	clhhsi	4096, 0
1074	clhhsi	0(%r1,%r2), 0
1075	clhhsi	0, -1
1076	clhhsi	0, 65536
1077
1078#CHECK: error: offset out of range
1079#CHECK: clhrl	%r0, -0x1000000002
1080#CHECK: error: offset out of range
1081#CHECK: clhrl	%r0, -1
1082#CHECK: error: offset out of range
1083#CHECK: clhrl	%r0, 1
1084#CHECK: error: offset out of range
1085#CHECK: clhrl	%r0, 0x100000000
1086
1087	clhrl	%r0, -0x1000000002
1088	clhrl	%r0, -1
1089	clhrl	%r0, 1
1090	clhrl	%r0, 0x100000000
1091
1092#CHECK: error: invalid operand
1093#CHECK: cli	-1, 0
1094#CHECK: error: invalid operand
1095#CHECK: cli	4096, 0
1096#CHECK: error: invalid use of indexed addressing
1097#CHECK: cli	0(%r1,%r2), 0
1098#CHECK: error: invalid operand
1099#CHECK: cli	0, -1
1100#CHECK: error: invalid operand
1101#CHECK: cli	0, 256
1102
1103	cli	-1, 0
1104	cli	4096, 0
1105	cli	0(%r1,%r2), 0
1106	cli	0, -1
1107	cli	0, 256
1108
1109#CHECK: error: {{(instruction requires: high-word)?}}
1110#CHECK: clih	%r0, 0
1111
1112	clih	%r0, 0
1113
1114#CHECK: error: invalid operand
1115#CHECK: clij	%r0, -1, 0, 0
1116#CHECK: error: invalid operand
1117#CHECK: clij	%r0, 256, 0, 0
1118
1119	clij	%r0, -1, 0, 0
1120	clij	%r0, 256, 0, 0
1121
1122#CHECK: error: offset out of range
1123#CHECK: clij	%r0, 0, 0, -0x100002
1124#CHECK: error: offset out of range
1125#CHECK: clij	%r0, 0, 0, -1
1126#CHECK: error: offset out of range
1127#CHECK: clij	%r0, 0, 0, 1
1128#CHECK: error: offset out of range
1129#CHECK: clij	%r0, 0, 0, 0x10000
1130
1131	clij	%r0, 0, 0, -0x100002
1132	clij	%r0, 0, 0, -1
1133	clij	%r0, 0, 0, 1
1134	clij	%r0, 0, 0, 0x10000
1135
1136#CHECK: error: invalid instruction
1137#CHECK:	clijo	%r0, 0, 0, 0
1138#CHECK: error: invalid instruction
1139#CHECK:	clijno	%r0, 0, 0, 0
1140
1141	clijo	%r0, 0, 0, 0
1142	clijno	%r0, 0, 0, 0
1143
1144#CHECK: error: invalid operand
1145#CHECK: cliy	-524289, 0
1146#CHECK: error: invalid operand
1147#CHECK: cliy	524288, 0
1148#CHECK: error: invalid use of indexed addressing
1149#CHECK: cliy	0(%r1,%r2), 0
1150#CHECK: error: invalid operand
1151#CHECK: cliy	0, -1
1152#CHECK: error: invalid operand
1153#CHECK: cliy	0, 256
1154
1155	cliy	-524289, 0
1156	cliy	524288, 0
1157	cliy	0(%r1,%r2), 0
1158	cliy	0, -1
1159	cliy	0, 256
1160
1161#CHECK: error: offset out of range
1162#CHECK: clrj	%r0, %r0, 0, -0x100002
1163#CHECK: error: offset out of range
1164#CHECK: clrj	%r0, %r0, 0, -1
1165#CHECK: error: offset out of range
1166#CHECK: clrj	%r0, %r0, 0, 1
1167#CHECK: error: offset out of range
1168#CHECK: clrj	%r0, %r0, 0, 0x10000
1169
1170	clrj	%r0, %r0, 0, -0x100002
1171	clrj	%r0, %r0, 0, -1
1172	clrj	%r0, %r0, 0, 1
1173	clrj	%r0, %r0, 0, 0x10000
1174
1175#CHECK: error: invalid instruction
1176#CHECK:	clrjo	%r0, %r0, 0, 0
1177#CHECK: error: invalid instruction
1178#CHECK:	clrjno	%r0, %r0, 0, 0
1179
1180	clrjo	%r0, %r0, 0, 0
1181	clrjno	%r0, %r0, 0, 0
1182
1183#CHECK: error: offset out of range
1184#CHECK: clrl	%r0, -0x1000000002
1185#CHECK: error: offset out of range
1186#CHECK: clrl	%r0, -1
1187#CHECK: error: offset out of range
1188#CHECK: clrl	%r0, 1
1189#CHECK: error: offset out of range
1190#CHECK: clrl	%r0, 0x100000000
1191
1192	clrl	%r0, -0x1000000002
1193	clrl	%r0, -1
1194	clrl	%r0, 1
1195	clrl	%r0, 0x100000000
1196
1197#CHECK: error: invalid instruction
1198#CHECK: clrto    %r0, %r0
1199#CHECK: error: invalid instruction
1200#CHECK: clrtno   %r0, %r0
1201
1202        clrto    %r0, %r0
1203        clrtno   %r0, %r0
1204
1205#CHECK: error: invalid operand
1206#CHECK: cly	%r0, -524289
1207#CHECK: error: invalid operand
1208#CHECK: cly	%r0, 524288
1209
1210	cly	%r0, -524289
1211	cly	%r0, 524288
1212
1213#CHECK: error: offset out of range
1214#CHECK: crj	%r0, %r0, 0, -0x100002
1215#CHECK: error: offset out of range
1216#CHECK: crj	%r0, %r0, 0, -1
1217#CHECK: error: offset out of range
1218#CHECK: crj	%r0, %r0, 0, 1
1219#CHECK: error: offset out of range
1220#CHECK: crj	%r0, %r0, 0, 0x10000
1221
1222	crj	%r0, %r0, 0, -0x100002
1223	crj	%r0, %r0, 0, -1
1224	crj	%r0, %r0, 0, 1
1225	crj	%r0, %r0, 0, 0x10000
1226
1227#CHECK: error: invalid instruction
1228#CHECK:	crjo	%r0, %r0, 0, 0
1229#CHECK: error: invalid instruction
1230#CHECK:	crjno	%r0, %r0, 0, 0
1231
1232	crjo	%r0, %r0, 0, 0
1233	crjno	%r0, %r0, 0, 0
1234
1235#CHECK: error: offset out of range
1236#CHECK: crl	%r0, -0x1000000002
1237#CHECK: error: offset out of range
1238#CHECK: crl	%r0, -1
1239#CHECK: error: offset out of range
1240#CHECK: crl	%r0, 1
1241#CHECK: error: offset out of range
1242#CHECK: crl	%r0, 0x100000000
1243
1244	crl	%r0, -0x1000000002
1245	crl	%r0, -1
1246	crl	%r0, 1
1247	crl	%r0, 0x100000000
1248
1249#CHECK: error: invalid instruction
1250#CHECK: crto    %r0, %r0
1251#CHECK: error: invalid instruction
1252#CHECK: crtno   %r0, %r0
1253
1254        crto    %r0, %r0
1255        crtno   %r0, %r0
1256
1257#CHECK: error: invalid operand
1258#CHECK: cs	%r0, %r0, -1
1259#CHECK: error: invalid operand
1260#CHECK: cs	%r0, %r0, 4096
1261#CHECK: error: invalid use of indexed addressing
1262#CHECK: cs	%r0, %r0, 0(%r1,%r2)
1263
1264	cs	%r0, %r0, -1
1265	cs	%r0, %r0, 4096
1266	cs	%r0, %r0, 0(%r1,%r2)
1267
1268#CHECK: error: invalid operand
1269#CHECK: csg	%r0, %r0, -524289
1270#CHECK: error: invalid operand
1271#CHECK: csg	%r0, %r0, 524288
1272#CHECK: error: invalid use of indexed addressing
1273#CHECK: csg	%r0, %r0, 0(%r1,%r2)
1274
1275	csg	%r0, %r0, -524289
1276	csg	%r0, %r0, 524288
1277	csg	%r0, %r0, 0(%r1,%r2)
1278
1279#CHECK: error: invalid operand
1280#CHECK: csy	%r0, %r0, -524289
1281#CHECK: error: invalid operand
1282#CHECK: csy	%r0, %r0, 524288
1283#CHECK: error: invalid use of indexed addressing
1284#CHECK: csy	%r0, %r0, 0(%r1,%r2)
1285
1286	csy	%r0, %r0, -524289
1287	csy	%r0, %r0, 524288
1288	csy	%r0, %r0, 0(%r1,%r2)
1289
1290#CHECK: error: invalid register pair
1291#CHECK: cxbr	%f0, %f2
1292#CHECK: error: invalid register pair
1293#CHECK: cxbr	%f2, %f0
1294
1295	cxbr	%f0, %f2
1296	cxbr	%f2, %f0
1297
1298#CHECK: error: invalid register pair
1299#CHECK: cxfbr	%f2, %r0
1300
1301	cxfbr	%f2, %r0
1302
1303#CHECK: error: invalid register pair
1304#CHECK: cxgbr	%f2, %r0
1305
1306	cxgbr	%f2, %r0
1307
1308#CHECK: error: {{(instruction requires: fp-extension)?}}
1309#CHECK: cxlfbr	%f0, 0, %r0, 0
1310
1311	cxlfbr	%f0, 0, %r0, 0
1312
1313#CHECK: error: {{(instruction requires: fp-extension)?}}
1314#CHECK: cxlgbr	%f0, 0, %r0, 0
1315
1316	cxlgbr	%f0, 0, %r0, 0
1317
1318#CHECK: error: invalid operand
1319#CHECK: cy	%r0, -524289
1320#CHECK: error: invalid operand
1321#CHECK: cy	%r0, 524288
1322
1323	cy	%r0, -524289
1324	cy	%r0, 524288
1325
1326#CHECK: error: invalid operand
1327#CHECK: ddb	%f0, -1
1328#CHECK: error: invalid operand
1329#CHECK: ddb	%f0, 4096
1330
1331	ddb	%f0, -1
1332	ddb	%f0, 4096
1333
1334#CHECK: error: invalid operand
1335#CHECK: deb	%f0, -1
1336#CHECK: error: invalid operand
1337#CHECK: deb	%f0, 4096
1338
1339	deb	%f0, -1
1340	deb	%f0, 4096
1341
1342#CHECK: error: invalid operand
1343#CHECK: dl	%r0, -524289
1344#CHECK: error: invalid operand
1345#CHECK: dl	%r0, 524288
1346#CHECK: error: invalid register pair
1347#CHECK: dl	%r1, 0
1348
1349	dl	%r0, -524289
1350	dl	%r0, 524288
1351	dl	%r1, 0
1352
1353#CHECK: error: invalid operand
1354#CHECK: dlg	%r0, -524289
1355#CHECK: error: invalid operand
1356#CHECK: dlg	%r0, 524288
1357#CHECK: error: invalid register pair
1358#CHECK: dlg	%r1, 0
1359
1360	dlg	%r0, -524289
1361	dlg	%r0, 524288
1362	dlg	%r1, 0
1363
1364#CHECK: error: invalid register pair
1365#CHECK: dlgr	%r1, %r0
1366
1367	dlgr	%r1, %r0
1368
1369#CHECK: error: invalid register pair
1370#CHECK: dlr	%r1, %r0
1371
1372	dlr	%r1, %r0
1373
1374#CHECK: error: invalid operand
1375#CHECK: dsg	%r0, -524289
1376#CHECK: error: invalid operand
1377#CHECK: dsg	%r0, 524288
1378#CHECK: error: invalid register pair
1379#CHECK: dsg	%r1, 0
1380
1381	dsg	%r0, -524289
1382	dsg	%r0, 524288
1383	dsg	%r1, 0
1384
1385#CHECK: error: invalid operand
1386#CHECK: dsgf	%r0, -524289
1387#CHECK: error: invalid operand
1388#CHECK: dsgf	%r0, 524288
1389#CHECK: error: invalid register pair
1390#CHECK: dsgf	%r1, 0
1391
1392	dsgf	%r0, -524289
1393	dsgf	%r0, 524288
1394	dsgf	%r1, 0
1395
1396#CHECK: error: invalid register pair
1397#CHECK: dsgfr	%r1, %r0
1398
1399	dsgfr	%r1, %r0
1400
1401#CHECK: error: invalid register pair
1402#CHECK: dsgr	%r1, %r0
1403
1404	dsgr	%r1, %r0
1405
1406#CHECK: error: invalid register pair
1407#CHECK: dxbr	%f0, %f2
1408#CHECK: error: invalid register pair
1409#CHECK: dxbr	%f2, %f0
1410
1411	dxbr	%f0, %f2
1412	dxbr	%f2, %f0
1413
1414#CHECK: error: invalid operand
1415#CHECK: ex      %r0, -1
1416#CHECK: error: invalid operand
1417#CHECK: ex      %r0, 4096
1418
1419        ex      %r0, -1
1420        ex      %r0, 4096
1421
1422#CHECK: error: invalid operand
1423#CHECK: fidbr	%f0, -1, %f0
1424#CHECK: error: invalid operand
1425#CHECK: fidbr	%f0, 16, %f0
1426
1427	fidbr	%f0, -1, %f0
1428	fidbr	%f0, 16, %f0
1429
1430#CHECK: error: {{(instruction requires: fp-extension)?}}
1431#CHECK: fidbra	%f0, 0, %f0, 0
1432
1433	fidbra	%f0, 0, %f0, 0
1434
1435#CHECK: error: invalid operand
1436#CHECK: fiebr	%f0, -1, %f0
1437#CHECK: error: invalid operand
1438#CHECK: fiebr	%f0, 16, %f0
1439
1440	fiebr	%f0, -1, %f0
1441	fiebr	%f0, 16, %f0
1442
1443#CHECK: error: {{(instruction requires: fp-extension)?}}
1444#CHECK: fiebra	%f0, 0, %f0, 0
1445
1446	fiebra	%f0, 0, %f0, 0
1447
1448#CHECK: error: invalid operand
1449#CHECK: fixbr	%f0, -1, %f0
1450#CHECK: error: invalid operand
1451#CHECK: fixbr	%f0, 16, %f0
1452#CHECK: error: invalid register pair
1453#CHECK: fixbr	%f0, 0, %f2
1454#CHECK: error: invalid register pair
1455#CHECK: fixbr	%f2, 0, %f0
1456
1457	fixbr	%f0, -1, %f0
1458	fixbr	%f0, 16, %f0
1459	fixbr	%f0, 0, %f2
1460	fixbr	%f2, 0, %f0
1461
1462#CHECK: error: {{(instruction requires: fp-extension)?}}
1463#CHECK: fixbra	%f0, 0, %f0, 0
1464
1465	fixbra	%f0, 0, %f0, 0
1466
1467#CHECK: error: invalid register pair
1468#CHECK: flogr	%r1, %r0
1469
1470	flogr	%r1, %r0
1471
1472#CHECK: error: invalid operand
1473#CHECK: ic	%r0, -1
1474#CHECK: error: invalid operand
1475#CHECK: ic	%r0, 4096
1476
1477	ic	%r0, -1
1478	ic	%r0, 4096
1479
1480#CHECK: error: invalid operand
1481#CHECK: icm	%r0, 0, -1
1482#CHECK: error: invalid operand
1483#CHECK: icm	%r0, 0, 4096
1484#CHECK: error: invalid operand
1485#CHECK: icm	%r0, -1, 0
1486#CHECK: error: invalid operand
1487#CHECK: icm	%r0, 16, 0
1488
1489	icm	%r0, 0, -1
1490	icm	%r0, 0, 4096
1491	icm	%r0, -1, 0
1492	icm	%r0, 16, 0
1493
1494#CHECK: error: invalid operand
1495#CHECK: icmh	%r0, 0, -524289
1496#CHECK: error: invalid operand
1497#CHECK: icmh	%r0, 0, 524288
1498#CHECK: error: invalid operand
1499#CHECK: icmh	%r0, -1, 0
1500#CHECK: error: invalid operand
1501#CHECK: icmh	%r0, 16, 0
1502
1503	icmh	%r0, 0, -524289
1504	icmh	%r0, 0, 524288
1505	icmh	%r0, -1, 0
1506	icmh	%r0, 16, 0
1507
1508#CHECK: error: invalid operand
1509#CHECK: icmy	%r0, 0, -524289
1510#CHECK: error: invalid operand
1511#CHECK: icmy	%r0, 0, 524288
1512#CHECK: error: invalid operand
1513#CHECK: icmy	%r0, -1, 0
1514#CHECK: error: invalid operand
1515#CHECK: icmy	%r0, 16, 0
1516
1517	icmy	%r0, 0, -524289
1518	icmy	%r0, 0, 524288
1519	icmy	%r0, -1, 0
1520	icmy	%r0, 16, 0
1521
1522#CHECK: error: invalid operand
1523#CHECK: icy	%r0, -524289
1524#CHECK: error: invalid operand
1525#CHECK: icy	%r0, 524288
1526
1527	icy	%r0, -524289
1528	icy	%r0, 524288
1529
1530#CHECK: error: invalid operand
1531#CHECK: iihf	%r0, -1
1532#CHECK: error: invalid operand
1533#CHECK: iihf	%r0, 1 << 32
1534
1535	iihf	%r0, -1
1536	iihf	%r0, 1 << 32
1537
1538#CHECK: error: invalid operand
1539#CHECK: iihh	%r0, -1
1540#CHECK: error: invalid operand
1541#CHECK: iihh	%r0, 0x10000
1542
1543	iihh	%r0, -1
1544	iihh	%r0, 0x10000
1545
1546#CHECK: error: invalid operand
1547#CHECK: iihl	%r0, -1
1548#CHECK: error: invalid operand
1549#CHECK: iihl	%r0, 0x10000
1550
1551	iihl	%r0, -1
1552	iihl	%r0, 0x10000
1553
1554#CHECK: error: invalid operand
1555#CHECK: iilf	%r0, -1
1556#CHECK: error: invalid operand
1557#CHECK: iilf	%r0, 1 << 32
1558
1559	iilf	%r0, -1
1560	iilf	%r0, 1 << 32
1561
1562#CHECK: error: invalid operand
1563#CHECK: iilh	%r0, -1
1564#CHECK: error: invalid operand
1565#CHECK: iilh	%r0, 0x10000
1566
1567	iilh	%r0, -1
1568	iilh	%r0, 0x10000
1569
1570#CHECK: error: invalid operand
1571#CHECK: iill	%r0, -1
1572#CHECK: error: invalid operand
1573#CHECK: iill	%r0, 0x10000
1574
1575	iill	%r0, -1
1576	iill	%r0, 0x10000
1577
1578#CHECK: error: invalid operand
1579#CHECK: l	%r0, -1
1580#CHECK: error: invalid operand
1581#CHECK: l	%r0, 4096
1582
1583	l	%r0, -1
1584	l	%r0, 4096
1585
1586#CHECK: error: invalid operand
1587#CHECK: la	%r0, -1
1588#CHECK: error: invalid operand
1589#CHECK: la	%r0, 4096
1590
1591	la	%r0, -1
1592	la	%r0, 4096
1593
1594#CHECK: error: {{(instruction requires: interlocked-access1)?}}
1595#CHECK: laa	%r1, %r2, 100(%r3)
1596	laa	%r1, %r2, 100(%r3)
1597
1598#CHECK: error: {{(instruction requires: interlocked-access1)?}}
1599#CHECK: laag	%r1, %r2, 100(%r3)
1600	laag	%r1, %r2, 100(%r3)
1601
1602#CHECK: error: {{(instruction requires: interlocked-access1)?}}
1603#CHECK: laal	%r1, %r2, 100(%r3)
1604	laal	%r1, %r2, 100(%r3)
1605
1606#CHECK: error: {{(instruction requires: interlocked-access1)?}}
1607#CHECK: laalg	%r1, %r2, 100(%r3)
1608	laalg	%r1, %r2, 100(%r3)
1609
1610#CHECK: error: {{(instruction requires: interlocked-access1)?}}
1611#CHECK: lan	%r1, %r2, 100(%r3)
1612	lan	%r1, %r2, 100(%r3)
1613
1614#CHECK: error: {{(instruction requires: interlocked-access1)?}}
1615#CHECK: lang	%r1, %r2, 100(%r3)
1616	lang	%r1, %r2, 100(%r3)
1617
1618#CHECK: error: {{(instruction requires: interlocked-access1)?}}
1619#CHECK: lao	%r1, %r2, 100(%r3)
1620	lao	%r1, %r2, 100(%r3)
1621
1622#CHECK: error: {{(instruction requires: interlocked-access1)?}}
1623#CHECK: laog	%r1, %r2, 100(%r3)
1624	laog	%r1, %r2, 100(%r3)
1625
1626#CHECK: error: {{(instruction requires: interlocked-access1)?}}
1627#CHECK: lax	%r1, %r2, 100(%r3)
1628	lax	%r1, %r2, 100(%r3)
1629
1630#CHECK: error: {{(instruction requires: interlocked-access1)?}}
1631#CHECK: laxg	%r1, %r2, 100(%r3)
1632	laxg	%r1, %r2, 100(%r3)
1633
1634#CHECK: error: offset out of range
1635#CHECK: larl	%r0, -0x1000000002
1636#CHECK: error: offset out of range
1637#CHECK: larl	%r0, -1
1638#CHECK: error: offset out of range
1639#CHECK: larl	%r0, 1
1640#CHECK: error: offset out of range
1641#CHECK: larl	%r0, 0x100000000
1642
1643	larl	%r0, -0x1000000002
1644	larl	%r0, -1
1645	larl	%r0, 1
1646	larl	%r0, 0x100000000
1647
1648#CHECK: error: invalid operand
1649#CHECK: lay	%r0, -524289
1650#CHECK: error: invalid operand
1651#CHECK: lay	%r0, 524288
1652
1653	lay	%r0, -524289
1654	lay	%r0, 524288
1655
1656#CHECK: error: invalid operand
1657#CHECK: lb	%r0, -524289
1658#CHECK: error: invalid operand
1659#CHECK: lb	%r0, 524288
1660
1661	lb	%r0, -524289
1662	lb	%r0, 524288
1663
1664#CHECK: error: {{(instruction requires: high-word)?}}
1665#CHECK: lbh	%r0, 0
1666
1667	lbh	%r0, 0
1668
1669#CHECK: error: invalid register pair
1670#CHECK: lcxbr	%f0, %f2
1671#CHECK: error: invalid register pair
1672#CHECK: lcxbr	%f2, %f0
1673
1674	lcxbr	%f0, %f2
1675	lcxbr	%f2, %f0
1676
1677#CHECK: error: invalid operand
1678#CHECK: ld	%f0, -1
1679#CHECK: error: invalid operand
1680#CHECK: ld	%f0, 4096
1681
1682	ld	%f0, -1
1683	ld	%f0, 4096
1684
1685#CHECK: error: invalid operand
1686#CHECK: ldeb	%f0, -1
1687#CHECK: error: invalid operand
1688#CHECK: ldeb	%f0, 4096
1689
1690	ldeb	%f0, -1
1691	ldeb	%f0, 4096
1692
1693#CHECK: error: invalid register pair
1694#CHECK: ldxbr	%f0, %f2
1695#CHECK: error: invalid register pair
1696#CHECK: ldxbr	%f2, %f0
1697
1698	ldxbr	%f0, %f2
1699	ldxbr	%f2, %f0
1700
1701#CHECK: error: {{(instruction requires: fp-extension)?}}
1702#CHECK: ldxbra	%f0, 0, %f0, 0
1703
1704	ldxbra	%f0, 0, %f0, 0
1705
1706#CHECK: error: invalid operand
1707#CHECK: ldy	%f0, -524289
1708#CHECK: error: invalid operand
1709#CHECK: ldy	%f0, 524288
1710
1711	ldy	%f0, -524289
1712	ldy	%f0, 524288
1713
1714#CHECK: error: invalid operand
1715#CHECK: le	%f0, -1
1716#CHECK: error: invalid operand
1717#CHECK: le	%f0, 4096
1718
1719	le	%f0, -1
1720	le	%f0, 4096
1721
1722#CHECK: error: {{(instruction requires: fp-extension)?}}
1723#CHECK: ledbra	%f0, 0, %f0, 0
1724
1725	ledbra	%f0, 0, %f0, 0
1726
1727#CHECK: error: invalid register pair
1728#CHECK: lexbr	%f0, %f2
1729#CHECK: error: invalid register pair
1730#CHECK: lexbr	%f2, %f0
1731
1732	lexbr	%f0, %f2
1733	lexbr	%f2, %f0
1734
1735#CHECK: error: {{(instruction requires: fp-extension)?}}
1736#CHECK: lexbra	%f0, 0, %f0, 0
1737
1738	lexbra	%f0, 0, %f0, 0
1739
1740#CHECK: error: invalid operand
1741#CHECK: ley	%f0, -524289
1742#CHECK: error: invalid operand
1743#CHECK: ley	%f0, 524288
1744
1745	ley	%f0, -524289
1746	ley	%f0, 524288
1747
1748#CHECK: error: {{(instruction requires: high-word)?}}
1749#CHECK: lfh	%r0, 0
1750
1751	lfh	%r0, 0
1752
1753#CHECK: error: invalid operand
1754#CHECK: lg	%r0, -524289
1755#CHECK: error: invalid operand
1756#CHECK: lg	%r0, 524288
1757
1758	lg	%r0, -524289
1759	lg	%r0, 524288
1760
1761#CHECK: error: invalid operand
1762#CHECK: lgb	%r0, -524289
1763#CHECK: error: invalid operand
1764#CHECK: lgb	%r0, 524288
1765
1766	lgb	%r0, -524289
1767	lgb	%r0, 524288
1768
1769#CHECK: error: invalid operand
1770#CHECK: lgf	%r0, -524289
1771#CHECK: error: invalid operand
1772#CHECK: lgf	%r0, 524288
1773
1774	lgf	%r0, -524289
1775	lgf	%r0, 524288
1776
1777#CHECK: error: invalid operand
1778#CHECK: lgfi	%r0, (-1 << 31) - 1
1779#CHECK: error: invalid operand
1780#CHECK: lgfi	%r0, (1 << 31)
1781
1782	lgfi	%r0, (-1 << 31) - 1
1783	lgfi	%r0, (1 << 31)
1784
1785#CHECK: error: offset out of range
1786#CHECK: lgfrl	%r0, -0x1000000002
1787#CHECK: error: offset out of range
1788#CHECK: lgfrl	%r0, -1
1789#CHECK: error: offset out of range
1790#CHECK: lgfrl	%r0, 1
1791#CHECK: error: offset out of range
1792#CHECK: lgfrl	%r0, 0x100000000
1793
1794	lgfrl	%r0, -0x1000000002
1795	lgfrl	%r0, -1
1796	lgfrl	%r0, 1
1797	lgfrl	%r0, 0x100000000
1798
1799#CHECK: error: invalid operand
1800#CHECK: lgh	%r0, -524289
1801#CHECK: error: invalid operand
1802#CHECK: lgh	%r0, 524288
1803
1804	lgh	%r0, -524289
1805	lgh	%r0, 524288
1806
1807#CHECK: error: invalid operand
1808#CHECK: lghi	%r0, -32769
1809#CHECK: error: invalid operand
1810#CHECK: lghi	%r0, 32768
1811#CHECK: error: invalid operand
1812#CHECK: lghi	%r0, foo
1813
1814	lghi	%r0, -32769
1815	lghi	%r0, 32768
1816	lghi	%r0, foo
1817
1818#CHECK: error: offset out of range
1819#CHECK: lghrl	%r0, -0x1000000002
1820#CHECK: error: offset out of range
1821#CHECK: lghrl	%r0, -1
1822#CHECK: error: offset out of range
1823#CHECK: lghrl	%r0, 1
1824#CHECK: error: offset out of range
1825#CHECK: lghrl	%r0, 0x100000000
1826
1827	lghrl	%r0, -0x1000000002
1828	lghrl	%r0, -1
1829	lghrl	%r0, 1
1830	lghrl	%r0, 0x100000000
1831
1832#CHECK: error: offset out of range
1833#CHECK: lgrl	%r0, -0x1000000002
1834#CHECK: error: offset out of range
1835#CHECK: lgrl	%r0, -1
1836#CHECK: error: offset out of range
1837#CHECK: lgrl	%r0, 1
1838#CHECK: error: offset out of range
1839#CHECK: lgrl	%r0, 0x100000000
1840
1841	lgrl	%r0, -0x1000000002
1842	lgrl	%r0, -1
1843	lgrl	%r0, 1
1844	lgrl	%r0, 0x100000000
1845
1846#CHECK: error: invalid operand
1847#CHECK: lh	%r0, -1
1848#CHECK: error: invalid operand
1849#CHECK: lh	%r0, 4096
1850
1851	lh	%r0, -1
1852	lh	%r0, 4096
1853
1854#CHECK: error: {{(instruction requires: high-word)?}}
1855#CHECK: lhh	%r0, 0
1856
1857	lhh	%r0, 0
1858
1859#CHECK: error: invalid operand
1860#CHECK: lhi	%r0, -32769
1861#CHECK: error: invalid operand
1862#CHECK: lhi	%r0, 32768
1863#CHECK: error: invalid operand
1864#CHECK: lhi	%r0, foo
1865
1866	lhi	%r0, -32769
1867	lhi	%r0, 32768
1868	lhi	%r0, foo
1869
1870#CHECK: error: offset out of range
1871#CHECK: lhrl	%r0, -0x1000000002
1872#CHECK: error: offset out of range
1873#CHECK: lhrl	%r0, -1
1874#CHECK: error: offset out of range
1875#CHECK: lhrl	%r0, 1
1876#CHECK: error: offset out of range
1877#CHECK: lhrl	%r0, 0x100000000
1878
1879	lhrl	%r0, -0x1000000002
1880	lhrl	%r0, -1
1881	lhrl	%r0, 1
1882	lhrl	%r0, 0x100000000
1883
1884#CHECK: error: invalid operand
1885#CHECK: lhy	%r0, -524289
1886#CHECK: error: invalid operand
1887#CHECK: lhy	%r0, 524288
1888
1889	lhy	%r0, -524289
1890	lhy	%r0, 524288
1891
1892#CHECK: error: invalid operand
1893#CHECK: llc	%r0, -524289
1894#CHECK: error: invalid operand
1895#CHECK: llc	%r0, 524288
1896
1897	llc	%r0, -524289
1898	llc	%r0, 524288
1899
1900#CHECK: error: {{(instruction requires: high-word)?}}
1901#CHECK: llch	%r0, 0
1902
1903	llch	%r0, 0
1904
1905#CHECK: error: invalid operand
1906#CHECK: llgc	%r0, -524289
1907#CHECK: error: invalid operand
1908#CHECK: llgc	%r0, 524288
1909
1910	llgc	%r0, -524289
1911	llgc	%r0, 524288
1912
1913#CHECK: error: invalid operand
1914#CHECK: llgf	%r0, -524289
1915#CHECK: error: invalid operand
1916#CHECK: llgf	%r0, 524288
1917
1918	llgf	%r0, -524289
1919	llgf	%r0, 524288
1920
1921#CHECK: error: offset out of range
1922#CHECK: llgfrl	%r0, -0x1000000002
1923#CHECK: error: offset out of range
1924#CHECK: llgfrl	%r0, -1
1925#CHECK: error: offset out of range
1926#CHECK: llgfrl	%r0, 1
1927#CHECK: error: offset out of range
1928#CHECK: llgfrl	%r0, 0x100000000
1929
1930	llgfrl	%r0, -0x1000000002
1931	llgfrl	%r0, -1
1932	llgfrl	%r0, 1
1933	llgfrl	%r0, 0x100000000
1934
1935#CHECK: error: invalid operand
1936#CHECK: llgh	%r0, -524289
1937#CHECK: error: invalid operand
1938#CHECK: llgh	%r0, 524288
1939
1940	llgh	%r0, -524289
1941	llgh	%r0, 524288
1942
1943#CHECK: error: offset out of range
1944#CHECK: llghrl	%r0, -0x1000000002
1945#CHECK: error: offset out of range
1946#CHECK: llghrl	%r0, -1
1947#CHECK: error: offset out of range
1948#CHECK: llghrl	%r0, 1
1949#CHECK: error: offset out of range
1950#CHECK: llghrl	%r0, 0x100000000
1951
1952	llghrl	%r0, -0x1000000002
1953	llghrl	%r0, -1
1954	llghrl	%r0, 1
1955	llghrl	%r0, 0x100000000
1956
1957#CHECK: error: invalid operand
1958#CHECK: llh	%r0, -524289
1959#CHECK: error: invalid operand
1960#CHECK: llh	%r0, 524288
1961
1962	llh	%r0, -524289
1963	llh	%r0, 524288
1964
1965#CHECK: error: {{(instruction requires: high-word)?}}
1966#CHECK: llhh	%r0, 0
1967
1968	llhh	%r0, 0
1969
1970#CHECK: error: offset out of range
1971#CHECK: llhrl	%r0, -0x1000000002
1972#CHECK: error: offset out of range
1973#CHECK: llhrl	%r0, -1
1974#CHECK: error: offset out of range
1975#CHECK: llhrl	%r0, 1
1976#CHECK: error: offset out of range
1977#CHECK: llhrl	%r0, 0x100000000
1978
1979	llhrl	%r0, -0x1000000002
1980	llhrl	%r0, -1
1981	llhrl	%r0, 1
1982	llhrl	%r0, 0x100000000
1983
1984#CHECK: error: invalid operand
1985#CHECK: llihf	%r0, -1
1986#CHECK: error: invalid operand
1987#CHECK: llihf	%r0, 1 << 32
1988
1989	llihf	%r0, -1
1990	llihf	%r0, 1 << 32
1991
1992#CHECK: error: invalid operand
1993#CHECK: llihh	%r0, -1
1994#CHECK: error: invalid operand
1995#CHECK: llihh	%r0, 0x10000
1996
1997	llihh	%r0, -1
1998	llihh	%r0, 0x10000
1999
2000#CHECK: error: invalid operand
2001#CHECK: llihl	%r0, -1
2002#CHECK: error: invalid operand
2003#CHECK: llihl	%r0, 0x10000
2004
2005	llihl	%r0, -1
2006	llihl	%r0, 0x10000
2007
2008#CHECK: error: invalid operand
2009#CHECK: llilf	%r0, -1
2010#CHECK: error: invalid operand
2011#CHECK: llilf	%r0, 1 << 32
2012
2013	llilf	%r0, -1
2014	llilf	%r0, 1 << 32
2015
2016#CHECK: error: invalid operand
2017#CHECK: llilh	%r0, -1
2018#CHECK: error: invalid operand
2019#CHECK: llilh	%r0, 0x10000
2020
2021	llilh	%r0, -1
2022	llilh	%r0, 0x10000
2023
2024#CHECK: error: invalid operand
2025#CHECK: llill	%r0, -1
2026#CHECK: error: invalid operand
2027#CHECK: llill	%r0, 0x10000
2028
2029	llill	%r0, -1
2030	llill	%r0, 0x10000
2031
2032#CHECK: error: invalid operand
2033#CHECK: lm	%r0, %r0, 4096
2034#CHECK: error: invalid use of indexed addressing
2035#CHECK: lm	%r0, %r0, 0(%r1,%r2)
2036
2037	lm	%r0, %r0, 4096
2038	lm	%r0, %r0, 0(%r1,%r2)
2039
2040#CHECK: error: invalid operand
2041#CHECK: lmg	%r0, %r0, -524289
2042#CHECK: error: invalid operand
2043#CHECK: lmg	%r0, %r0, 524288
2044#CHECK: error: invalid use of indexed addressing
2045#CHECK: lmg	%r0, %r0, 0(%r1,%r2)
2046
2047	lmg	%r0, %r0, -524289
2048	lmg	%r0, %r0, 524288
2049	lmg	%r0, %r0, 0(%r1,%r2)
2050
2051#CHECK: error: invalid operand
2052#CHECK: lmh	%r0, %r0, -524289
2053#CHECK: error: invalid operand
2054#CHECK: lmh	%r0, %r0, 524288
2055#CHECK: error: invalid use of indexed addressing
2056#CHECK: lmh	%r0, %r0, 0(%r1,%r2)
2057
2058	lmh	%r0, %r0, -524289
2059	lmh	%r0, %r0, 524288
2060	lmh	%r0, %r0, 0(%r1,%r2)
2061
2062#CHECK: error: invalid operand
2063#CHECK: lmy	%r0, %r0, -524289
2064#CHECK: error: invalid operand
2065#CHECK: lmy	%r0, %r0, 524288
2066#CHECK: error: invalid use of indexed addressing
2067#CHECK: lmy	%r0, %r0, 0(%r1,%r2)
2068
2069	lmy	%r0, %r0, -524289
2070	lmy	%r0, %r0, 524288
2071	lmy	%r0, %r0, 0(%r1,%r2)
2072
2073#CHECK: error: invalid register pair
2074#CHECK: lnxbr	%f0, %f2
2075#CHECK: error: invalid register pair
2076#CHECK: lnxbr	%f2, %f0
2077
2078	lnxbr	%f0, %f2
2079	lnxbr	%f2, %f0
2080
2081#CHECK: error: invalid register pair
2082#CHECK: lpxbr	%f0, %f2
2083#CHECK: error: invalid register pair
2084#CHECK: lpxbr	%f2, %f0
2085
2086	lpxbr	%f0, %f2
2087	lpxbr	%f2, %f0
2088
2089#CHECK: error: offset out of range
2090#CHECK: lrl	%r0, -0x1000000002
2091#CHECK: error: offset out of range
2092#CHECK: lrl	%r0, -1
2093#CHECK: error: offset out of range
2094#CHECK: lrl	%r0, 1
2095#CHECK: error: offset out of range
2096#CHECK: lrl	%r0, 0x100000000
2097
2098	lrl	%r0, -0x1000000002
2099	lrl	%r0, -1
2100	lrl	%r0, 1
2101	lrl	%r0, 0x100000000
2102
2103#CHECK: error: invalid operand
2104#CHECK: lrv	%r0, -524289
2105#CHECK: error: invalid operand
2106#CHECK: lrv	%r0, 524288
2107
2108	lrv	%r0, -524289
2109	lrv	%r0, 524288
2110
2111#CHECK: error: invalid operand
2112#CHECK: lrvg	%r0, -524289
2113#CHECK: error: invalid operand
2114#CHECK: lrvg	%r0, 524288
2115
2116	lrvg	%r0, -524289
2117	lrvg	%r0, 524288
2118
2119#CHECK: error: invalid operand
2120#CHECK: lt	%r0, -524289
2121#CHECK: error: invalid operand
2122#CHECK: lt	%r0, 524288
2123
2124	lt	%r0, -524289
2125	lt	%r0, 524288
2126
2127#CHECK: error: invalid operand
2128#CHECK: ltg	%r0, -524289
2129#CHECK: error: invalid operand
2130#CHECK: ltg	%r0, 524288
2131
2132	ltg	%r0, -524289
2133	ltg	%r0, 524288
2134
2135#CHECK: error: invalid operand
2136#CHECK: ltgf	%r0, -524289
2137#CHECK: error: invalid operand
2138#CHECK: ltgf	%r0, 524288
2139
2140	ltgf	%r0, -524289
2141	ltgf	%r0, 524288
2142
2143#CHECK: error: invalid register pair
2144#CHECK: ltxbr	%f0, %f14
2145#CHECK: error: invalid register pair
2146#CHECK: ltxbr	%f14, %f0
2147
2148	ltxbr	%f0, %f14
2149	ltxbr	%f14, %f0
2150
2151#CHECK: error: invalid register pair
2152#CHECK: lxr	%f0, %f2
2153#CHECK: error: invalid register pair
2154#CHECK: lxr	%f2, %f0
2155
2156	lxr	%f0, %f2
2157	lxr	%f2, %f0
2158
2159#CHECK: error: invalid operand
2160#CHECK: ly	%r0, -524289
2161#CHECK: error: invalid operand
2162#CHECK: ly	%r0, 524288
2163
2164	ly	%r0, -524289
2165	ly	%r0, 524288
2166
2167#CHECK: error: invalid register pair
2168#CHECK: lzxr	%f2
2169
2170	lzxr	%f2
2171
2172#CHECK: error: invalid operand
2173#CHECK: madb	%f0, %f0, -1
2174#CHECK: error: invalid operand
2175#CHECK: madb	%f0, %f0, 4096
2176
2177	madb	%f0, %f0, -1
2178	madb	%f0, %f0, 4096
2179
2180#CHECK: error: invalid operand
2181#CHECK: maeb	%f0, %f0, -1
2182#CHECK: error: invalid operand
2183#CHECK: maeb	%f0, %f0, 4096
2184
2185	maeb	%f0, %f0, -1
2186	maeb	%f0, %f0, 4096
2187
2188#CHECK: error: invalid operand
2189#CHECK: mdb	%f0, -1
2190#CHECK: error: invalid operand
2191#CHECK: mdb	%f0, 4096
2192
2193	mdb	%f0, -1
2194	mdb	%f0, 4096
2195
2196#CHECK: error: invalid operand
2197#CHECK: mdeb	%f0, -1
2198#CHECK: error: invalid operand
2199#CHECK: mdeb	%f0, 4096
2200
2201	mdeb	%f0, -1
2202	mdeb	%f0, 4096
2203
2204#CHECK: error: invalid operand
2205#CHECK: meeb	%f0, -1
2206#CHECK: error: invalid operand
2207#CHECK: meeb	%f0, 4096
2208
2209	meeb	%f0, -1
2210	meeb	%f0, 4096
2211
2212#CHECK: error: invalid operand
2213#CHECK: mghi	%r0, -32769
2214#CHECK: error: invalid operand
2215#CHECK: mghi	%r0, 32768
2216#CHECK: error: invalid operand
2217#CHECK: mghi	%r0, foo
2218
2219	mghi	%r0, -32769
2220	mghi	%r0, 32768
2221	mghi	%r0, foo
2222
2223#CHECK: error: invalid operand
2224#CHECK: mh	%r0, -1
2225#CHECK: error: invalid operand
2226#CHECK: mh	%r0, 4096
2227
2228	mh	%r0, -1
2229	mh	%r0, 4096
2230
2231#CHECK: error: invalid operand
2232#CHECK: mhi	%r0, -32769
2233#CHECK: error: invalid operand
2234#CHECK: mhi	%r0, 32768
2235#CHECK: error: invalid operand
2236#CHECK: mhi	%r0, foo
2237
2238	mhi	%r0, -32769
2239	mhi	%r0, 32768
2240	mhi	%r0, foo
2241
2242#CHECK: error: invalid operand
2243#CHECK: mhy	%r0, -524289
2244#CHECK: error: invalid operand
2245#CHECK: mhy	%r0, 524288
2246
2247	mhy	%r0, -524289
2248	mhy	%r0, 524288
2249
2250#CHECK: error: invalid operand
2251#CHECK: mlg	%r0, -524289
2252#CHECK: error: invalid operand
2253#CHECK: mlg	%r0, 524288
2254#CHECK: error: invalid register pair
2255#CHECK: mlg	%r1, 0
2256
2257	mlg	%r0, -524289
2258	mlg	%r0, 524288
2259	mlg	%r1, 0
2260
2261#CHECK: error: invalid register pair
2262#CHECK: mlgr	%r1, %r0
2263
2264	mlgr	%r1, %r0
2265
2266#CHECK: error: invalid operand
2267#CHECK: ms	%r0, -1
2268#CHECK: error: invalid operand
2269#CHECK: ms	%r0, 4096
2270
2271	ms	%r0, -1
2272	ms	%r0, 4096
2273
2274#CHECK: error: invalid operand
2275#CHECK: msdb	%f0, %f0, -1
2276#CHECK: error: invalid operand
2277#CHECK: msdb	%f0, %f0, 4096
2278
2279	msdb	%f0, %f0, -1
2280	msdb	%f0, %f0, 4096
2281
2282#CHECK: error: invalid operand
2283#CHECK: mseb	%f0, %f0, -1
2284#CHECK: error: invalid operand
2285#CHECK: mseb	%f0, %f0, 4096
2286
2287	mseb	%f0, %f0, -1
2288	mseb	%f0, %f0, 4096
2289
2290#CHECK: error: invalid operand
2291#CHECK: msfi	%r0, (-1 << 31) - 1
2292#CHECK: error: invalid operand
2293#CHECK: msfi	%r0, (1 << 31)
2294
2295	msfi	%r0, (-1 << 31) - 1
2296	msfi	%r0, (1 << 31)
2297
2298#CHECK: error: invalid operand
2299#CHECK: msg	%r0, -524289
2300#CHECK: error: invalid operand
2301#CHECK: msg	%r0, 524288
2302
2303	msg	%r0, -524289
2304	msg	%r0, 524288
2305
2306#CHECK: error: invalid operand
2307#CHECK: msgf	%r0, -524289
2308#CHECK: error: invalid operand
2309#CHECK: msgf	%r0, 524288
2310
2311	msgf	%r0, -524289
2312	msgf	%r0, 524288
2313
2314#CHECK: error: invalid operand
2315#CHECK: msgfi	%r0, (-1 << 31) - 1
2316#CHECK: error: invalid operand
2317#CHECK: msgfi	%r0, (1 << 31)
2318
2319	msgfi	%r0, (-1 << 31) - 1
2320	msgfi	%r0, (1 << 31)
2321
2322#CHECK: error: invalid operand
2323#CHECK: msy	%r0, -524289
2324#CHECK: error: invalid operand
2325#CHECK: msy	%r0, 524288
2326
2327	msy	%r0, -524289
2328	msy	%r0, 524288
2329
2330#CHECK: error: missing length in address
2331#CHECK: mvc	0, 0
2332#CHECK: error: missing length in address
2333#CHECK: mvc	0(%r1), 0(%r1)
2334#CHECK: error: invalid use of length addressing
2335#CHECK: mvc	0(1,%r1), 0(2,%r1)
2336#CHECK: error: invalid operand
2337#CHECK: mvc	0(0,%r1), 0(%r1)
2338#CHECK: error: invalid operand
2339#CHECK: mvc	0(257,%r1), 0(%r1)
2340#CHECK: error: invalid operand
2341#CHECK: mvc	-1(1,%r1), 0(%r1)
2342#CHECK: error: invalid operand
2343#CHECK: mvc	4096(1,%r1), 0(%r1)
2344#CHECK: error: invalid operand
2345#CHECK: mvc	0(1,%r1), -1(%r1)
2346#CHECK: error: invalid operand
2347#CHECK: mvc	0(1,%r1), 4096(%r1)
2348#CHECK: error: %r0 used in an address
2349#CHECK: mvc	0(1,%r0), 0(%r1)
2350#CHECK: error: %r0 used in an address
2351#CHECK: mvc	0(1,%r1), 0(%r0)
2352#CHECK: error: invalid use of indexed addressing
2353#CHECK: mvc	0(%r1,%r2), 0(%r1)
2354#CHECK: error: invalid use of indexed addressing
2355#CHECK: mvc	0(1,%r2), 0(%r1,%r2)
2356#CHECK: error: unknown token in expression
2357#CHECK: mvc	0(-), 0
2358
2359	mvc	0, 0
2360	mvc	0(%r1), 0(%r1)
2361	mvc	0(1,%r1), 0(2,%r1)
2362	mvc	0(0,%r1), 0(%r1)
2363	mvc	0(257,%r1), 0(%r1)
2364	mvc	-1(1,%r1), 0(%r1)
2365	mvc	4096(1,%r1), 0(%r1)
2366	mvc	0(1,%r1), -1(%r1)
2367	mvc	0(1,%r1), 4096(%r1)
2368	mvc	0(1,%r0), 0(%r1)
2369	mvc	0(1,%r1), 0(%r0)
2370	mvc	0(%r1,%r2), 0(%r1)
2371	mvc	0(1,%r2), 0(%r1,%r2)
2372	mvc	0(-), 0
2373
2374#CHECK: error: invalid operand
2375#CHECK: mvghi	-1, 0
2376#CHECK: error: invalid operand
2377#CHECK: mvghi	4096, 0
2378#CHECK: error: invalid use of indexed addressing
2379#CHECK: mvghi	0(%r1,%r2), 0
2380#CHECK: error: invalid operand
2381#CHECK: mvghi	0, -32769
2382#CHECK: error: invalid operand
2383#CHECK: mvghi	0, 32768
2384
2385	mvghi	-1, 0
2386	mvghi	4096, 0
2387	mvghi	0(%r1,%r2), 0
2388	mvghi	0, -32769
2389	mvghi	0, 32768
2390
2391#CHECK: error: invalid operand
2392#CHECK: mvhhi	-1, 0
2393#CHECK: error: invalid operand
2394#CHECK: mvhhi	4096, 0
2395#CHECK: error: invalid use of indexed addressing
2396#CHECK: mvhhi	0(%r1,%r2), 0
2397#CHECK: error: invalid operand
2398#CHECK: mvhhi	0, -32769
2399#CHECK: error: invalid operand
2400#CHECK: mvhhi	0, 32768
2401
2402	mvhhi	-1, 0
2403	mvhhi	4096, 0
2404	mvhhi	0(%r1,%r2), 0
2405	mvhhi	0, -32769
2406	mvhhi	0, 32768
2407
2408#CHECK: error: invalid operand
2409#CHECK: mvhi	-1, 0
2410#CHECK: error: invalid operand
2411#CHECK: mvhi	4096, 0
2412#CHECK: error: invalid use of indexed addressing
2413#CHECK: mvhi	0(%r1,%r2), 0
2414#CHECK: error: invalid operand
2415#CHECK: mvhi	0, -32769
2416#CHECK: error: invalid operand
2417#CHECK: mvhi	0, 32768
2418
2419	mvhi	-1, 0
2420	mvhi	4096, 0
2421	mvhi	0(%r1,%r2), 0
2422	mvhi	0, -32769
2423	mvhi	0, 32768
2424
2425#CHECK: error: invalid operand
2426#CHECK: mvi	-1, 0
2427#CHECK: error: invalid operand
2428#CHECK: mvi	4096, 0
2429#CHECK: error: invalid use of indexed addressing
2430#CHECK: mvi	0(%r1,%r2), 0
2431#CHECK: error: invalid operand
2432#CHECK: mvi	0, -1
2433#CHECK: error: invalid operand
2434#CHECK: mvi	0, 256
2435
2436	mvi	-1, 0
2437	mvi	4096, 0
2438	mvi	0(%r1,%r2), 0
2439	mvi	0, -1
2440	mvi	0, 256
2441
2442#CHECK: error: invalid operand
2443#CHECK: mviy	-524289, 0
2444#CHECK: error: invalid operand
2445#CHECK: mviy	524288, 0
2446#CHECK: error: invalid use of indexed addressing
2447#CHECK: mviy	0(%r1,%r2), 0
2448#CHECK: error: invalid operand
2449#CHECK: mviy	0, -1
2450#CHECK: error: invalid operand
2451#CHECK: mviy	0, 256
2452
2453	mviy	-524289, 0
2454	mviy	524288, 0
2455	mviy	0(%r1,%r2), 0
2456	mviy	0, -1
2457	mviy	0, 256
2458
2459#CHECK: error: invalid register pair
2460#CHECK: mxbr	%f0, %f2
2461#CHECK: error: invalid register pair
2462#CHECK: mxbr	%f2, %f0
2463
2464	mxbr	%f0, %f2
2465	mxbr	%f2, %f0
2466
2467#CHECK: error: invalid register pair
2468#CHECK: mxdb	%f2, 0
2469#CHECK: error: invalid operand
2470#CHECK: mxdb	%f0, -1
2471#CHECK: error: invalid operand
2472#CHECK: mxdb	%f0, 4096
2473
2474	mxdb	%f2, 0
2475	mxdb	%f0, -1
2476	mxdb	%f0, 4096
2477
2478#CHECK: error: invalid register pair
2479#CHECK: mxdbr	%f2, %f0
2480
2481	mxdbr	%f2, %f0
2482
2483#CHECK: error: invalid operand
2484#CHECK: n	%r0, -1
2485#CHECK: error: invalid operand
2486#CHECK: n	%r0, 4096
2487
2488	n	%r0, -1
2489	n	%r0, 4096
2490
2491#CHECK: error: missing length in address
2492#CHECK: nc	0, 0
2493#CHECK: error: missing length in address
2494#CHECK: nc	0(%r1), 0(%r1)
2495#CHECK: error: invalid use of length addressing
2496#CHECK: nc	0(1,%r1), 0(2,%r1)
2497#CHECK: error: invalid operand
2498#CHECK: nc	0(0,%r1), 0(%r1)
2499#CHECK: error: invalid operand
2500#CHECK: nc	0(257,%r1), 0(%r1)
2501#CHECK: error: invalid operand
2502#CHECK: nc	-1(1,%r1), 0(%r1)
2503#CHECK: error: invalid operand
2504#CHECK: nc	4096(1,%r1), 0(%r1)
2505#CHECK: error: invalid operand
2506#CHECK: nc	0(1,%r1), -1(%r1)
2507#CHECK: error: invalid operand
2508#CHECK: nc	0(1,%r1), 4096(%r1)
2509#CHECK: error: %r0 used in an address
2510#CHECK: nc	0(1,%r0), 0(%r1)
2511#CHECK: error: %r0 used in an address
2512#CHECK: nc	0(1,%r1), 0(%r0)
2513#CHECK: error: invalid use of indexed addressing
2514#CHECK: nc	0(%r1,%r2), 0(%r1)
2515#CHECK: error: invalid use of indexed addressing
2516#CHECK: nc	0(1,%r2), 0(%r1,%r2)
2517#CHECK: error: unknown token in expression
2518#CHECK: nc	0(-), 0
2519
2520	nc	0, 0
2521	nc	0(%r1), 0(%r1)
2522	nc	0(1,%r1), 0(2,%r1)
2523	nc	0(0,%r1), 0(%r1)
2524	nc	0(257,%r1), 0(%r1)
2525	nc	-1(1,%r1), 0(%r1)
2526	nc	4096(1,%r1), 0(%r1)
2527	nc	0(1,%r1), -1(%r1)
2528	nc	0(1,%r1), 4096(%r1)
2529	nc	0(1,%r0), 0(%r1)
2530	nc	0(1,%r1), 0(%r0)
2531	nc	0(%r1,%r2), 0(%r1)
2532	nc	0(1,%r2), 0(%r1,%r2)
2533	nc	0(-), 0
2534
2535#CHECK: error: invalid operand
2536#CHECK: ng	%r0, -524289
2537#CHECK: error: invalid operand
2538#CHECK: ng	%r0, 524288
2539
2540	ng	%r0, -524289
2541	ng	%r0, 524288
2542
2543#CHECK: error: {{(instruction requires: distinct-ops)?}}
2544#CHECK: ngrk	%r2,%r3,%r4
2545
2546	ngrk	%r2,%r3,%r4
2547
2548#CHECK: error: invalid operand
2549#CHECK: ni	-1, 0
2550#CHECK: error: invalid operand
2551#CHECK: ni	4096, 0
2552#CHECK: error: invalid use of indexed addressing
2553#CHECK: ni	0(%r1,%r2), 0
2554#CHECK: error: invalid operand
2555#CHECK: ni	0, -1
2556#CHECK: error: invalid operand
2557#CHECK: ni	0, 256
2558
2559	ni	-1, 0
2560	ni	4096, 0
2561	ni	0(%r1,%r2), 0
2562	ni	0, -1
2563	ni	0, 256
2564
2565#CHECK: error: invalid operand
2566#CHECK: nihf	%r0, -1
2567#CHECK: error: invalid operand
2568#CHECK: nihf	%r0, 1 << 32
2569
2570	nihf	%r0, -1
2571	nihf	%r0, 1 << 32
2572
2573#CHECK: error: invalid operand
2574#CHECK: nihh	%r0, -1
2575#CHECK: error: invalid operand
2576#CHECK: nihh	%r0, 0x10000
2577
2578	nihh	%r0, -1
2579	nihh	%r0, 0x10000
2580
2581#CHECK: error: invalid operand
2582#CHECK: nihl	%r0, -1
2583#CHECK: error: invalid operand
2584#CHECK: nihl	%r0, 0x10000
2585
2586	nihl	%r0, -1
2587	nihl	%r0, 0x10000
2588
2589#CHECK: error: invalid operand
2590#CHECK: nilf	%r0, -1
2591#CHECK: error: invalid operand
2592#CHECK: nilf	%r0, 1 << 32
2593
2594	nilf	%r0, -1
2595	nilf	%r0, 1 << 32
2596
2597#CHECK: error: invalid operand
2598#CHECK: nilh	%r0, -1
2599#CHECK: error: invalid operand
2600#CHECK: nilh	%r0, 0x10000
2601
2602	nilh	%r0, -1
2603	nilh	%r0, 0x10000
2604
2605#CHECK: error: invalid operand
2606#CHECK: nill	%r0, -1
2607#CHECK: error: invalid operand
2608#CHECK: nill	%r0, 0x10000
2609
2610	nill	%r0, -1
2611	nill	%r0, 0x10000
2612
2613#CHECK: error: invalid operand
2614#CHECK: niy	-524289, 0
2615#CHECK: error: invalid operand
2616#CHECK: niy	524288, 0
2617#CHECK: error: invalid use of indexed addressing
2618#CHECK: niy	0(%r1,%r2), 0
2619#CHECK: error: invalid operand
2620#CHECK: niy	0, -1
2621#CHECK: error: invalid operand
2622#CHECK: niy	0, 256
2623
2624	niy	-524289, 0
2625	niy	524288, 0
2626	niy	0(%r1,%r2), 0
2627	niy	0, -1
2628	niy	0, 256
2629
2630#CHECK: error: {{(instruction requires: distinct-ops)?}}
2631#CHECK: nrk	%r2,%r3,%r4
2632
2633	nrk	%r2,%r3,%r4
2634
2635#CHECK: error: invalid operand
2636#CHECK: ny	%r0, -524289
2637#CHECK: error: invalid operand
2638#CHECK: ny	%r0, 524288
2639
2640	ny	%r0, -524289
2641	ny	%r0, 524288
2642
2643#CHECK: error: invalid operand
2644#CHECK: o	%r0, -1
2645#CHECK: error: invalid operand
2646#CHECK: o	%r0, 4096
2647
2648	o	%r0, -1
2649	o	%r0, 4096
2650
2651#CHECK: error: missing length in address
2652#CHECK: oc	0, 0
2653#CHECK: error: missing length in address
2654#CHECK: oc	0(%r1), 0(%r1)
2655#CHECK: error: invalid use of length addressing
2656#CHECK: oc	0(1,%r1), 0(2,%r1)
2657#CHECK: error: invalid operand
2658#CHECK: oc	0(0,%r1), 0(%r1)
2659#CHECK: error: invalid operand
2660#CHECK: oc	0(257,%r1), 0(%r1)
2661#CHECK: error: invalid operand
2662#CHECK: oc	-1(1,%r1), 0(%r1)
2663#CHECK: error: invalid operand
2664#CHECK: oc	4096(1,%r1), 0(%r1)
2665#CHECK: error: invalid operand
2666#CHECK: oc	0(1,%r1), -1(%r1)
2667#CHECK: error: invalid operand
2668#CHECK: oc	0(1,%r1), 4096(%r1)
2669#CHECK: error: %r0 used in an address
2670#CHECK: oc	0(1,%r0), 0(%r1)
2671#CHECK: error: %r0 used in an address
2672#CHECK: oc	0(1,%r1), 0(%r0)
2673#CHECK: error: invalid use of indexed addressing
2674#CHECK: oc	0(%r1,%r2), 0(%r1)
2675#CHECK: error: invalid use of indexed addressing
2676#CHECK: oc	0(1,%r2), 0(%r1,%r2)
2677#CHECK: error: unknown token in expression
2678#CHECK: oc	0(-), 0
2679
2680	oc	0, 0
2681	oc	0(%r1), 0(%r1)
2682	oc	0(1,%r1), 0(2,%r1)
2683	oc	0(0,%r1), 0(%r1)
2684	oc	0(257,%r1), 0(%r1)
2685	oc	-1(1,%r1), 0(%r1)
2686	oc	4096(1,%r1), 0(%r1)
2687	oc	0(1,%r1), -1(%r1)
2688	oc	0(1,%r1), 4096(%r1)
2689	oc	0(1,%r0), 0(%r1)
2690	oc	0(1,%r1), 0(%r0)
2691	oc	0(%r1,%r2), 0(%r1)
2692	oc	0(1,%r2), 0(%r1,%r2)
2693	oc	0(-), 0
2694
2695#CHECK: error: invalid operand
2696#CHECK: og	%r0, -524289
2697#CHECK: error: invalid operand
2698#CHECK: og	%r0, 524288
2699
2700	og	%r0, -524289
2701	og	%r0, 524288
2702
2703#CHECK: error: {{(instruction requires: distinct-ops)?}}
2704#CHECK: ogrk	%r2,%r3,%r4
2705
2706	ogrk	%r2,%r3,%r4
2707
2708#CHECK: error: invalid operand
2709#CHECK: oi	-1, 0
2710#CHECK: error: invalid operand
2711#CHECK: oi	4096, 0
2712#CHECK: error: invalid use of indexed addressing
2713#CHECK: oi	0(%r1,%r2), 0
2714#CHECK: error: invalid operand
2715#CHECK: oi	0, -1
2716#CHECK: error: invalid operand
2717#CHECK: oi	0, 256
2718
2719	oi	-1, 0
2720	oi	4096, 0
2721	oi	0(%r1,%r2), 0
2722	oi	0, -1
2723	oi	0, 256
2724
2725#CHECK: error: invalid operand
2726#CHECK: oihf	%r0, -1
2727#CHECK: error: invalid operand
2728#CHECK: oihf	%r0, 1 << 32
2729
2730	oihf	%r0, -1
2731	oihf	%r0, 1 << 32
2732
2733#CHECK: error: invalid operand
2734#CHECK: oihh	%r0, -1
2735#CHECK: error: invalid operand
2736#CHECK: oihh	%r0, 0x10000
2737
2738	oihh	%r0, -1
2739	oihh	%r0, 0x10000
2740
2741#CHECK: error: invalid operand
2742#CHECK: oihl	%r0, -1
2743#CHECK: error: invalid operand
2744#CHECK: oihl	%r0, 0x10000
2745
2746	oihl	%r0, -1
2747	oihl	%r0, 0x10000
2748
2749#CHECK: error: invalid operand
2750#CHECK: oilf	%r0, -1
2751#CHECK: error: invalid operand
2752#CHECK: oilf	%r0, 1 << 32
2753
2754	oilf	%r0, -1
2755	oilf	%r0, 1 << 32
2756
2757#CHECK: error: invalid operand
2758#CHECK: oilh	%r0, -1
2759#CHECK: error: invalid operand
2760#CHECK: oilh	%r0, 0x10000
2761
2762	oilh	%r0, -1
2763	oilh	%r0, 0x10000
2764
2765#CHECK: error: invalid operand
2766#CHECK: oill	%r0, -1
2767#CHECK: error: invalid operand
2768#CHECK: oill	%r0, 0x10000
2769
2770	oill	%r0, -1
2771	oill	%r0, 0x10000
2772
2773#CHECK: error: invalid operand
2774#CHECK: oiy	-524289, 0
2775#CHECK: error: invalid operand
2776#CHECK: oiy	524288, 0
2777#CHECK: error: invalid use of indexed addressing
2778#CHECK: oiy	0(%r1,%r2), 0
2779#CHECK: error: invalid operand
2780#CHECK: oiy	0, -1
2781#CHECK: error: invalid operand
2782#CHECK: oiy	0, 256
2783
2784	oiy	-524289, 0
2785	oiy	524288, 0
2786	oiy	0(%r1,%r2), 0
2787	oiy	0, -1
2788	oiy	0, 256
2789
2790#CHECK: error: {{(instruction requires: distinct-ops)?}}
2791#CHECK: ork	%r2,%r3,%r4
2792
2793	ork	%r2,%r3,%r4
2794
2795#CHECK: error: invalid operand
2796#CHECK: oy	%r0, -524289
2797#CHECK: error: invalid operand
2798#CHECK: oy	%r0, 524288
2799
2800	oy	%r0, -524289
2801	oy	%r0, 524288
2802
2803#CHECK: error: invalid operand
2804#CHECK: pfd	-1, 0
2805#CHECK: error: invalid operand
2806#CHECK: pfd	16, 0
2807#CHECK: error: invalid operand
2808#CHECK: pfd	1, -524289
2809#CHECK: error: invalid operand
2810#CHECK: pfd	1, 524288
2811
2812	pfd	-1, 0
2813	pfd	16, 0
2814	pfd	1, -524289
2815	pfd	1, 524288
2816
2817#CHECK: error: invalid operand
2818#CHECK: pfdrl	-1, 0
2819#CHECK: error: invalid operand
2820#CHECK: pfdrl	16, 0
2821#CHECK: error: offset out of range
2822#CHECK: pfdrl	1, -0x1000000002
2823#CHECK: error: offset out of range
2824#CHECK: pfdrl	1, -1
2825#CHECK: error: offset out of range
2826#CHECK: pfdrl	1, 1
2827#CHECK: error: offset out of range
2828#CHECK: pfdrl	1, 0x100000000
2829
2830	pfdrl	-1, 0
2831	pfdrl	16, 0
2832	pfdrl	1, -0x1000000002
2833	pfdrl	1, -1
2834	pfdrl	1, 1
2835	pfdrl	1, 0x100000000
2836
2837#CHECK: error: {{(instruction requires: population-count)?}}
2838#CHECK: popcnt	%r0, %r0
2839
2840	popcnt	%r0, %r0
2841
2842#CHECK: error: invalid operand
2843#CHECK: risbg	%r0,%r0,0,0,-1
2844#CHECK: error: invalid operand
2845#CHECK: risbg	%r0,%r0,0,0,64
2846#CHECK: error: invalid operand
2847#CHECK: risbg	%r0,%r0,0,-1,0
2848#CHECK: error: invalid operand
2849#CHECK: risbg	%r0,%r0,0,256,0
2850#CHECK: error: invalid operand
2851#CHECK: risbg	%r0,%r0,-1,0,0
2852#CHECK: error: invalid operand
2853#CHECK: risbg	%r0,%r0,256,0,0
2854
2855	risbg	%r0,%r0,0,0,-1
2856	risbg	%r0,%r0,0,0,64
2857	risbg	%r0,%r0,0,-1,0
2858	risbg	%r0,%r0,0,256,0
2859	risbg	%r0,%r0,-1,0,0
2860	risbg	%r0,%r0,256,0,0
2861
2862#CHECK: error: {{(instruction requires: high-word)?}}
2863#CHECK: risbhg	%r1, %r2, 0, 0, 0
2864
2865	risbhg	%r1, %r2, 0, 0, 0
2866
2867#CHECK: error: {{(instruction requires: high-word)?}}
2868#CHECK: risblg	%r1, %r2, 0, 0, 0
2869
2870	risblg	%r1, %r2, 0, 0, 0
2871
2872#CHECK: error: invalid operand
2873#CHECK: rnsbg	%r0,%r0,0,0,-1
2874#CHECK: error: invalid operand
2875#CHECK: rnsbg	%r0,%r0,0,0,64
2876#CHECK: error: invalid operand
2877#CHECK: rnsbg	%r0,%r0,0,-1,0
2878#CHECK: error: invalid operand
2879#CHECK: rnsbg	%r0,%r0,0,256,0
2880#CHECK: error: invalid operand
2881#CHECK: rnsbg	%r0,%r0,-1,0,0
2882#CHECK: error: invalid operand
2883#CHECK: rnsbg	%r0,%r0,256,0,0
2884
2885	rnsbg	%r0,%r0,0,0,-1
2886	rnsbg	%r0,%r0,0,0,64
2887	rnsbg	%r0,%r0,0,-1,0
2888	rnsbg	%r0,%r0,0,256,0
2889	rnsbg	%r0,%r0,-1,0,0
2890	rnsbg	%r0,%r0,256,0,0
2891
2892#CHECK: error: invalid operand
2893#CHECK: rosbg	%r0,%r0,0,0,-1
2894#CHECK: error: invalid operand
2895#CHECK: rosbg	%r0,%r0,0,0,64
2896#CHECK: error: invalid operand
2897#CHECK: rosbg	%r0,%r0,0,-1,0
2898#CHECK: error: invalid operand
2899#CHECK: rosbg	%r0,%r0,0,256,0
2900#CHECK: error: invalid operand
2901#CHECK: rosbg	%r0,%r0,-1,0,0
2902#CHECK: error: invalid operand
2903#CHECK: rosbg	%r0,%r0,256,0,0
2904
2905	rosbg	%r0,%r0,0,0,-1
2906	rosbg	%r0,%r0,0,0,64
2907	rosbg	%r0,%r0,0,-1,0
2908	rosbg	%r0,%r0,0,256,0
2909	rosbg	%r0,%r0,-1,0,0
2910	rosbg	%r0,%r0,256,0,0
2911
2912#CHECK: error: invalid operand
2913#CHECK: rxsbg	%r0,%r0,0,0,-1
2914#CHECK: error: invalid operand
2915#CHECK: rxsbg	%r0,%r0,0,0,64
2916#CHECK: error: invalid operand
2917#CHECK: rxsbg	%r0,%r0,0,-1,0
2918#CHECK: error: invalid operand
2919#CHECK: rxsbg	%r0,%r0,0,256,0
2920#CHECK: error: invalid operand
2921#CHECK: rxsbg	%r0,%r0,-1,0,0
2922#CHECK: error: invalid operand
2923#CHECK: rxsbg	%r0,%r0,256,0,0
2924
2925	rxsbg	%r0,%r0,0,0,-1
2926	rxsbg	%r0,%r0,0,0,64
2927	rxsbg	%r0,%r0,0,-1,0
2928	rxsbg	%r0,%r0,0,256,0
2929	rxsbg	%r0,%r0,-1,0,0
2930	rxsbg	%r0,%r0,256,0,0
2931
2932#CHECK: error: invalid operand
2933#CHECK: rll	%r0,%r0,-524289
2934#CHECK: error: invalid operand
2935#CHECK: rll	%r0,%r0,524288
2936#CHECK: error: %r0 used in an address
2937#CHECK: rll	%r0,%r0,0(%r0)
2938#CHECK: error: invalid use of indexed addressing
2939#CHECK: rll	%r0,%r0,0(%r1,%r2)
2940
2941	rll	%r0,%r0,-524289
2942	rll	%r0,%r0,524288
2943	rll	%r0,%r0,0(%r0)
2944	rll	%r0,%r0,0(%r1,%r2)
2945
2946#CHECK: error: invalid operand
2947#CHECK: rllg	%r0,%r0,-524289
2948#CHECK: error: invalid operand
2949#CHECK: rllg	%r0,%r0,524288
2950#CHECK: error: %r0 used in an address
2951#CHECK: rllg	%r0,%r0,0(%r0)
2952#CHECK: error: invalid use of indexed addressing
2953#CHECK: rllg	%r0,%r0,0(%r1,%r2)
2954
2955	rllg	%r0,%r0,-524289
2956	rllg	%r0,%r0,524288
2957	rllg	%r0,%r0,0(%r0)
2958	rllg	%r0,%r0,0(%r1,%r2)
2959
2960#CHECK: error: invalid operand
2961#CHECK: s	%r0, -1
2962#CHECK: error: invalid operand
2963#CHECK: s	%r0, 4096
2964
2965	s	%r0, -1
2966	s	%r0, 4096
2967
2968#CHECK: error: invalid operand
2969#CHECK: sdb	%f0, -1
2970#CHECK: error: invalid operand
2971#CHECK: sdb	%f0, 4096
2972
2973	sdb	%f0, -1
2974	sdb	%f0, 4096
2975
2976#CHECK: error: invalid operand
2977#CHECK: seb	%f0, -1
2978#CHECK: error: invalid operand
2979#CHECK: seb	%f0, 4096
2980
2981	seb	%f0, -1
2982	seb	%f0, 4096
2983
2984#CHECK: error: invalid operand
2985#CHECK: sg	%r0, -524289
2986#CHECK: error: invalid operand
2987#CHECK: sg	%r0, 524288
2988
2989	sg	%r0, -524289
2990	sg	%r0, 524288
2991
2992#CHECK: error: invalid operand
2993#CHECK: sgf	%r0, -524289
2994#CHECK: error: invalid operand
2995#CHECK: sgf	%r0, 524288
2996
2997	sgf	%r0, -524289
2998	sgf	%r0, 524288
2999
3000#CHECK: error: {{(instruction requires: distinct-ops)?}}
3001#CHECK: sgrk	%r2,%r3,%r4
3002
3003	sgrk	%r2,%r3,%r4
3004
3005#CHECK: error: invalid operand
3006#CHECK: sh	%r0, -1
3007#CHECK: error: invalid operand
3008#CHECK: sh	%r0, 4096
3009
3010	sh	%r0, -1
3011	sh	%r0, 4096
3012
3013#CHECK: error: invalid operand
3014#CHECK: shy	%r0, -524289
3015#CHECK: error: invalid operand
3016#CHECK: shy	%r0, 524288
3017
3018	shy	%r0, -524289
3019	shy	%r0, 524288
3020
3021#CHECK: error: invalid operand
3022#CHECK: sl	%r0, -1
3023#CHECK: error: invalid operand
3024#CHECK: sl	%r0, 4096
3025
3026	sl	%r0, -1
3027	sl	%r0, 4096
3028
3029#CHECK: error: invalid operand
3030#CHECK: slb	%r0, -524289
3031#CHECK: error: invalid operand
3032#CHECK: slb	%r0, 524288
3033
3034	slb	%r0, -524289
3035	slb	%r0, 524288
3036
3037#CHECK: error: invalid operand
3038#CHECK: slbg	%r0, -524289
3039#CHECK: error: invalid operand
3040#CHECK: slbg	%r0, 524288
3041
3042	slbg	%r0, -524289
3043	slbg	%r0, 524288
3044
3045#CHECK: error: invalid operand
3046#CHECK: slfi	%r0, -1
3047#CHECK: error: invalid operand
3048#CHECK: slfi	%r0, (1 << 32)
3049
3050	slfi	%r0, -1
3051	slfi	%r0, (1 << 32)
3052
3053#CHECK: error: invalid operand
3054#CHECK: slg	%r0, -524289
3055#CHECK: error: invalid operand
3056#CHECK: slg	%r0, 524288
3057
3058	slg	%r0, -524289
3059	slg	%r0, 524288
3060
3061#CHECK: error: invalid operand
3062#CHECK: slgf	%r0, -524289
3063#CHECK: error: invalid operand
3064#CHECK: slgf	%r0, 524288
3065
3066	slgf	%r0, -524289
3067	slgf	%r0, 524288
3068
3069#CHECK: error: invalid operand
3070#CHECK: slgfi	%r0, -1
3071#CHECK: error: invalid operand
3072#CHECK: slgfi	%r0, (1 << 32)
3073
3074	slgfi	%r0, -1
3075	slgfi	%r0, (1 << 32)
3076
3077#CHECK: error: {{(instruction requires: distinct-ops)?}}
3078#CHECK: slgrk	%r2,%r3,%r4
3079
3080	slgrk	%r2,%r3,%r4
3081
3082#CHECK: error: invalid operand
3083#CHECK: sla	%r0,-1
3084#CHECK: error: invalid operand
3085#CHECK: sla	%r0,4096
3086#CHECK: error: %r0 used in an address
3087#CHECK: sla	%r0,0(%r0)
3088#CHECK: error: invalid use of indexed addressing
3089#CHECK: sla	%r0,0(%r1,%r2)
3090
3091	sla	%r0,-1
3092	sla	%r0,4096
3093	sla	%r0,0(%r0)
3094	sla	%r0,0(%r1,%r2)
3095
3096#CHECK: error: {{(instruction requires: distinct-ops)?}}
3097#CHECK: slak	%r2,%r3,4(%r5)
3098
3099	slak	%r2,%r3,4(%r5)
3100
3101#CHECK: error: invalid operand
3102#CHECK: sll	%r0,-1
3103#CHECK: error: invalid operand
3104#CHECK: sll	%r0,4096
3105#CHECK: error: %r0 used in an address
3106#CHECK: sll	%r0,0(%r0)
3107#CHECK: error: invalid use of indexed addressing
3108#CHECK: sll	%r0,0(%r1,%r2)
3109
3110	sll	%r0,-1
3111	sll	%r0,4096
3112	sll	%r0,0(%r0)
3113	sll	%r0,0(%r1,%r2)
3114
3115#CHECK: error: invalid operand
3116#CHECK: sllg	%r0,%r0,-524289
3117#CHECK: error: invalid operand
3118#CHECK: sllg	%r0,%r0,524288
3119#CHECK: error: %r0 used in an address
3120#CHECK: sllg	%r0,%r0,0(%r0)
3121#CHECK: error: invalid use of indexed addressing
3122#CHECK: sllg	%r0,%r0,0(%r1,%r2)
3123
3124	sllg	%r0,%r0,-524289
3125	sllg	%r0,%r0,524288
3126	sllg	%r0,%r0,0(%r0)
3127	sllg	%r0,%r0,0(%r1,%r2)
3128
3129#CHECK: error: {{(instruction requires: distinct-ops)?}}
3130#CHECK: sllk	%r2,%r3,4(%r5)
3131
3132	sllk	%r2,%r3,4(%r5)
3133
3134#CHECK: error: {{(instruction requires: distinct-ops)?}}
3135#CHECK: slrk	%r2,%r3,%r4
3136
3137	slrk	%r2,%r3,%r4
3138
3139#CHECK: error: invalid operand
3140#CHECK: sly	%r0, -524289
3141#CHECK: error: invalid operand
3142#CHECK: sly	%r0, 524288
3143
3144	sly	%r0, -524289
3145	sly	%r0, 524288
3146
3147#CHECK: error: invalid operand
3148#CHECK: sqdb	%f0, -1
3149#CHECK: error: invalid operand
3150#CHECK: sqdb	%f0, 4096
3151
3152	sqdb	%f0, -1
3153	sqdb	%f0, 4096
3154
3155#CHECK: error: invalid operand
3156#CHECK: sqeb	%f0, -1
3157#CHECK: error: invalid operand
3158#CHECK: sqeb	%f0, 4096
3159
3160	sqeb	%f0, -1
3161	sqeb	%f0, 4096
3162
3163#CHECK: error: invalid register pair
3164#CHECK: sqxbr	%f0, %f2
3165#CHECK: error: invalid register pair
3166#CHECK: sqxbr	%f2, %f0
3167
3168	sqxbr	%f0, %f2
3169	sqxbr	%f2, %f0
3170
3171#CHECK: error: invalid operand
3172#CHECK: sra	%r0,-1
3173#CHECK: error: invalid operand
3174#CHECK: sra	%r0,4096
3175#CHECK: error: %r0 used in an address
3176#CHECK: sra	%r0,0(%r0)
3177#CHECK: error: invalid use of indexed addressing
3178#CHECK: sra	%r0,0(%r1,%r2)
3179
3180	sra	%r0,-1
3181	sra	%r0,4096
3182	sra	%r0,0(%r0)
3183	sra	%r0,0(%r1,%r2)
3184
3185#CHECK: error: invalid operand
3186#CHECK: srag	%r0,%r0,-524289
3187#CHECK: error: invalid operand
3188#CHECK: srag	%r0,%r0,524288
3189#CHECK: error: %r0 used in an address
3190#CHECK: srag	%r0,%r0,0(%r0)
3191#CHECK: error: invalid use of indexed addressing
3192#CHECK: srag	%r0,%r0,0(%r1,%r2)
3193
3194	srag	%r0,%r0,-524289
3195	srag	%r0,%r0,524288
3196	srag	%r0,%r0,0(%r0)
3197	srag	%r0,%r0,0(%r1,%r2)
3198
3199#CHECK: error: {{(instruction requires: distinct-ops)?}}
3200#CHECK: srak	%r2,%r3,4(%r5)
3201
3202	srak	%r2,%r3,4(%r5)
3203
3204#CHECK: error: {{(instruction requires: distinct-ops)?}}
3205#CHECK: srk	%r2,%r3,%r4
3206
3207	srk	%r2,%r3,%r4
3208
3209#CHECK: error: invalid operand
3210#CHECK: srl	%r0,-1
3211#CHECK: error: invalid operand
3212#CHECK: srl	%r0,4096
3213#CHECK: error: %r0 used in an address
3214#CHECK: srl	%r0,0(%r0)
3215#CHECK: error: invalid use of indexed addressing
3216#CHECK: srl	%r0,0(%r1,%r2)
3217
3218	srl	%r0,-1
3219	srl	%r0,4096
3220	srl	%r0,0(%r0)
3221	srl	%r0,0(%r1,%r2)
3222
3223#CHECK: error: invalid operand
3224#CHECK: srlg	%r0,%r0,-524289
3225#CHECK: error: invalid operand
3226#CHECK: srlg	%r0,%r0,524288
3227#CHECK: error: %r0 used in an address
3228#CHECK: srlg	%r0,%r0,0(%r0)
3229#CHECK: error: invalid use of indexed addressing
3230#CHECK: srlg	%r0,%r0,0(%r1,%r2)
3231
3232	srlg	%r0,%r0,-524289
3233	srlg	%r0,%r0,524288
3234	srlg	%r0,%r0,0(%r0)
3235	srlg	%r0,%r0,0(%r1,%r2)
3236
3237#CHECK: error: {{(instruction requires: distinct-ops)?}}
3238#CHECK: srlk	%r2,%r3,4(%r5)
3239
3240	srlk	%r2,%r3,4(%r5)
3241
3242#CHECK: error: invalid operand
3243#CHECK: st	%r0, -1
3244#CHECK: error: invalid operand
3245#CHECK: st	%r0, 4096
3246
3247	st	%r0, -1
3248	st	%r0, 4096
3249
3250#CHECK: error: invalid operand
3251#CHECK: stc	%r0, -1
3252#CHECK: error: invalid operand
3253#CHECK: stc	%r0, 4096
3254
3255	stc	%r0, -1
3256	stc	%r0, 4096
3257
3258#CHECK: error: {{(instruction requires: high-word)?}}
3259#CHECK: stch	%r0, 0
3260
3261	stch	%r0, 0
3262
3263#CHECK: error: invalid operand
3264#CHECK: stcy	%r0, -524289
3265#CHECK: error: invalid operand
3266#CHECK: stcy	%r0, 524288
3267
3268	stcy	%r0, -524289
3269	stcy	%r0, 524288
3270
3271#CHECK: error: invalid operand
3272#CHECK: std	%f0, -1
3273#CHECK: error: invalid operand
3274#CHECK: std	%f0, 4096
3275
3276	std	%f0, -1
3277	std	%f0, 4096
3278
3279#CHECK: error: invalid operand
3280#CHECK: stdy	%f0, -524289
3281#CHECK: error: invalid operand
3282#CHECK: stdy	%f0, 524288
3283
3284	stdy	%f0, -524289
3285	stdy	%f0, 524288
3286
3287#CHECK: error: invalid operand
3288#CHECK: ste	%f0, -1
3289#CHECK: error: invalid operand
3290#CHECK: ste	%f0, 4096
3291
3292	ste	%f0, -1
3293	ste	%f0, 4096
3294
3295#CHECK: error: invalid operand
3296#CHECK: stey	%f0, -524289
3297#CHECK: error: invalid operand
3298#CHECK: stey	%f0, 524288
3299
3300	stey	%f0, -524289
3301	stey	%f0, 524288
3302
3303#CHECK: error: invalid operand
3304#CHECK: stg	%r0, -524289
3305#CHECK: error: invalid operand
3306#CHECK: stg	%r0, 524288
3307
3308	stg	%r0, -524289
3309	stg	%r0, 524288
3310
3311#CHECK: error: offset out of range
3312#CHECK: stgrl	%r0, -0x1000000002
3313#CHECK: error: offset out of range
3314#CHECK: stgrl	%r0, -1
3315#CHECK: error: offset out of range
3316#CHECK: stgrl	%r0, 1
3317#CHECK: error: offset out of range
3318#CHECK: stgrl	%r0, 0x100000000
3319
3320	stgrl	%r0, -0x1000000002
3321	stgrl	%r0, -1
3322	stgrl	%r0, 1
3323	stgrl	%r0, 0x100000000
3324
3325#CHECK: error: invalid operand
3326#CHECK: sth	%r0, -1
3327#CHECK: error: invalid operand
3328#CHECK: sth	%r0, 4096
3329
3330	sth	%r0, -1
3331	sth	%r0, 4096
3332
3333#CHECK: error: {{(instruction requires: high-word)?}}
3334#CHECK: sthh	%r0, 0
3335
3336	sthh	%r0, 0
3337
3338#CHECK: error: offset out of range
3339#CHECK: sthrl	%r0, -0x1000000002
3340#CHECK: error: offset out of range
3341#CHECK: sthrl	%r0, -1
3342#CHECK: error: offset out of range
3343#CHECK: sthrl	%r0, 1
3344#CHECK: error: offset out of range
3345#CHECK: sthrl	%r0, 0x100000000
3346
3347	sthrl	%r0, -0x1000000002
3348	sthrl	%r0, -1
3349	sthrl	%r0, 1
3350	sthrl	%r0, 0x100000000
3351
3352#CHECK: error: invalid operand
3353#CHECK: sthy	%r0, -524289
3354#CHECK: error: invalid operand
3355#CHECK: sthy	%r0, 524288
3356
3357	sthy	%r0, -524289
3358	sthy	%r0, 524288
3359
3360#CHECK: error: {{(instruction requires: high-word)?}}
3361#CHECK: stfh	%r0, 0
3362
3363	stfh	%r0, 0
3364
3365#CHECK: error: invalid operand
3366#CHECK: stm	%r0, %r0, 4096
3367#CHECK: error: invalid use of indexed addressing
3368#CHECK: stm	%r0, %r0, 0(%r1,%r2)
3369
3370	stm	%r0, %r0, 4096
3371	stm	%r0, %r0, 0(%r1,%r2)
3372
3373#CHECK: error: invalid operand
3374#CHECK: stmg	%r0, %r0, -524289
3375#CHECK: error: invalid operand
3376#CHECK: stmg	%r0, %r0, 524288
3377#CHECK: error: invalid use of indexed addressing
3378#CHECK: stmg	%r0, %r0, 0(%r1,%r2)
3379
3380	stmg	%r0, %r0, -524289
3381	stmg	%r0, %r0, 524288
3382	stmg	%r0, %r0, 0(%r1,%r2)
3383
3384#CHECK: error: invalid operand
3385#CHECK: stmh	%r0, %r0, -524289
3386#CHECK: error: invalid operand
3387#CHECK: stmh	%r0, %r0, 524288
3388#CHECK: error: invalid use of indexed addressing
3389#CHECK: stmh	%r0, %r0, 0(%r1,%r2)
3390
3391	stmh	%r0, %r0, -524289
3392	stmh	%r0, %r0, 524288
3393	stmh	%r0, %r0, 0(%r1,%r2)
3394
3395#CHECK: error: invalid operand
3396#CHECK: stmy	%r0, %r0, -524289
3397#CHECK: error: invalid operand
3398#CHECK: stmy	%r0, %r0, 524288
3399#CHECK: error: invalid use of indexed addressing
3400#CHECK: stmy	%r0, %r0, 0(%r1,%r2)
3401
3402	stmy	%r0, %r0, -524289
3403	stmy	%r0, %r0, 524288
3404	stmy	%r0, %r0, 0(%r1,%r2)
3405
3406#CHECK: error: offset out of range
3407#CHECK: strl	%r0, -0x1000000002
3408#CHECK: error: offset out of range
3409#CHECK: strl	%r0, -1
3410#CHECK: error: offset out of range
3411#CHECK: strl	%r0, 1
3412#CHECK: error: offset out of range
3413#CHECK: strl	%r0, 0x100000000
3414
3415	strl	%r0, -0x1000000002
3416	strl	%r0, -1
3417	strl	%r0, 1
3418	strl	%r0, 0x100000000
3419
3420#CHECK: error: invalid operand
3421#CHECK: strv	%r0, -524289
3422#CHECK: error: invalid operand
3423#CHECK: strv	%r0, 524288
3424
3425	strv	%r0, -524289
3426	strv	%r0, 524288
3427
3428#CHECK: error: invalid operand
3429#CHECK: strvg	%r0, -524289
3430#CHECK: error: invalid operand
3431#CHECK: strvg	%r0, 524288
3432
3433	strvg	%r0, -524289
3434	strvg	%r0, 524288
3435
3436#CHECK: error: invalid operand
3437#CHECK: sty	%r0, -524289
3438#CHECK: error: invalid operand
3439#CHECK: sty	%r0, 524288
3440
3441	sty	%r0, -524289
3442	sty	%r0, 524288
3443
3444#CHECK: error: invalid register pair
3445#CHECK: sxbr	%f0, %f2
3446#CHECK: error: invalid register pair
3447#CHECK: sxbr	%f2, %f0
3448
3449	sxbr	%f0, %f2
3450	sxbr	%f2, %f0
3451
3452#CHECK: error: invalid operand
3453#CHECK: sy	%r0, -524289
3454#CHECK: error: invalid operand
3455#CHECK: sy	%r0, 524288
3456
3457	sy	%r0, -524289
3458	sy	%r0, 524288
3459
3460#CHECK: error: invalid operand
3461#CHECK: tcdb	%f0, -1
3462#CHECK: error: invalid operand
3463#CHECK: tcdb	%f0, 4096
3464
3465	tcdb	%f0, -1
3466	tcdb	%f0, 4096
3467
3468#CHECK: error: invalid operand
3469#CHECK: tceb	%f0, -1
3470#CHECK: error: invalid operand
3471#CHECK: tceb	%f0, 4096
3472
3473	tceb	%f0, -1
3474	tceb	%f0, 4096
3475
3476#CHECK: error: invalid operand
3477#CHECK: tcxb	%f0, -1
3478#CHECK: error: invalid operand
3479#CHECK: tcxb	%f0, 4096
3480
3481	tcxb	%f0, -1
3482	tcxb	%f0, 4096
3483
3484#CHECK: error: invalid operand
3485#CHECK: tm	-1, 0
3486#CHECK: error: invalid operand
3487#CHECK: tm	4096, 0
3488#CHECK: error: invalid use of indexed addressing
3489#CHECK: tm	0(%r1,%r2), 0
3490#CHECK: error: invalid operand
3491#CHECK: tm	0, -1
3492#CHECK: error: invalid operand
3493#CHECK: tm	0, 256
3494
3495	tm	-1, 0
3496	tm	4096, 0
3497	tm	0(%r1,%r2), 0
3498	tm	0, -1
3499	tm	0, 256
3500
3501#CHECK: error: invalid operand
3502#CHECK: tmhh	%r0, -1
3503#CHECK: error: invalid operand
3504#CHECK: tmhh	%r0, 0x10000
3505
3506	tmhh	%r0, -1
3507	tmhh	%r0, 0x10000
3508
3509#CHECK: error: invalid operand
3510#CHECK: tmhl	%r0, -1
3511#CHECK: error: invalid operand
3512#CHECK: tmhl	%r0, 0x10000
3513
3514	tmhl	%r0, -1
3515	tmhl	%r0, 0x10000
3516
3517#CHECK: error: invalid operand
3518#CHECK: tmh	%r0, -1
3519#CHECK: error: invalid operand
3520#CHECK: tmh	%r0, 0x10000
3521
3522	tmh	%r0, -1
3523	tmh	%r0, 0x10000
3524
3525#CHECK: error: invalid operand
3526#CHECK: tmlh	%r0, -1
3527#CHECK: error: invalid operand
3528#CHECK: tmlh	%r0, 0x10000
3529
3530	tmlh	%r0, -1
3531	tmlh	%r0, 0x10000
3532
3533#CHECK: error: invalid operand
3534#CHECK: tml	%r0, -1
3535#CHECK: error: invalid operand
3536#CHECK: tml	%r0, 0x10000
3537
3538	tml	%r0, -1
3539	tml	%r0, 0x10000
3540
3541#CHECK: error: invalid operand
3542#CHECK: tmll	%r0, -1
3543#CHECK: error: invalid operand
3544#CHECK: tmll	%r0, 0x10000
3545
3546	tmll	%r0, -1
3547	tmll	%r0, 0x10000
3548
3549#CHECK: error: invalid operand
3550#CHECK: tmy	-524289, 0
3551#CHECK: error: invalid operand
3552#CHECK: tmy	524288, 0
3553#CHECK: error: invalid use of indexed addressing
3554#CHECK: tmy	0(%r1,%r2), 0
3555#CHECK: error: invalid operand
3556#CHECK: tmy	0, -1
3557#CHECK: error: invalid operand
3558#CHECK: tmy	0, 256
3559
3560	tmy	-524289, 0
3561	tmy	524288, 0
3562	tmy	0(%r1,%r2), 0
3563	tmy	0, -1
3564	tmy	0, 256
3565
3566#CHECK: error: invalid operand
3567#CHECK: x	%r0, -1
3568#CHECK: error: invalid operand
3569#CHECK: x	%r0, 4096
3570
3571	x	%r0, -1
3572	x	%r0, 4096
3573
3574#CHECK: error: missing length in address
3575#CHECK: xc	0, 0
3576#CHECK: error: missing length in address
3577#CHECK: xc	0(%r1), 0(%r1)
3578#CHECK: error: invalid use of length addressing
3579#CHECK: xc	0(1,%r1), 0(2,%r1)
3580#CHECK: error: invalid operand
3581#CHECK: xc	0(0,%r1), 0(%r1)
3582#CHECK: error: invalid operand
3583#CHECK: xc	0(257,%r1), 0(%r1)
3584#CHECK: error: invalid operand
3585#CHECK: xc	-1(1,%r1), 0(%r1)
3586#CHECK: error: invalid operand
3587#CHECK: xc	4096(1,%r1), 0(%r1)
3588#CHECK: error: invalid operand
3589#CHECK: xc	0(1,%r1), -1(%r1)
3590#CHECK: error: invalid operand
3591#CHECK: xc	0(1,%r1), 4096(%r1)
3592#CHECK: error: %r0 used in an address
3593#CHECK: xc	0(1,%r0), 0(%r1)
3594#CHECK: error: %r0 used in an address
3595#CHECK: xc	0(1,%r1), 0(%r0)
3596#CHECK: error: invalid use of indexed addressing
3597#CHECK: xc	0(%r1,%r2), 0(%r1)
3598#CHECK: error: invalid use of indexed addressing
3599#CHECK: xc	0(1,%r2), 0(%r1,%r2)
3600#CHECK: error: unknown token in expression
3601#CHECK: xc	0(-), 0
3602
3603	xc	0, 0
3604	xc	0(%r1), 0(%r1)
3605	xc	0(1,%r1), 0(2,%r1)
3606	xc	0(0,%r1), 0(%r1)
3607	xc	0(257,%r1), 0(%r1)
3608	xc	-1(1,%r1), 0(%r1)
3609	xc	4096(1,%r1), 0(%r1)
3610	xc	0(1,%r1), -1(%r1)
3611	xc	0(1,%r1), 4096(%r1)
3612	xc	0(1,%r0), 0(%r1)
3613	xc	0(1,%r1), 0(%r0)
3614	xc	0(%r1,%r2), 0(%r1)
3615	xc	0(1,%r2), 0(%r1,%r2)
3616	xc	0(-), 0
3617
3618#CHECK: error: invalid operand
3619#CHECK: xg	%r0, -524289
3620#CHECK: error: invalid operand
3621#CHECK: xg	%r0, 524288
3622
3623	xg	%r0, -524289
3624	xg	%r0, 524288
3625
3626#CHECK: error: {{(instruction requires: distinct-ops)?}}
3627#CHECK: xgrk	%r2,%r3,%r4
3628
3629	xgrk	%r2,%r3,%r4
3630
3631#CHECK: error: invalid operand
3632#CHECK: xi	-1, 0
3633#CHECK: error: invalid operand
3634#CHECK: xi	4096, 0
3635#CHECK: error: invalid use of indexed addressing
3636#CHECK: xi	0(%r1,%r2), 0
3637#CHECK: error: invalid operand
3638#CHECK: xi	0, -1
3639#CHECK: error: invalid operand
3640#CHECK: xi	0, 256
3641
3642	xi	-1, 0
3643	xi	4096, 0
3644	xi	0(%r1,%r2), 0
3645	xi	0, -1
3646	xi	0, 256
3647
3648#CHECK: error: invalid operand
3649#CHECK: xihf	%r0, -1
3650#CHECK: error: invalid operand
3651#CHECK: xihf	%r0, 1 << 32
3652
3653	xihf	%r0, -1
3654	xihf	%r0, 1 << 32
3655
3656#CHECK: error: invalid operand
3657#CHECK: xilf	%r0, -1
3658#CHECK: error: invalid operand
3659#CHECK: xilf	%r0, 1 << 32
3660
3661	xilf	%r0, -1
3662	xilf	%r0, 1 << 32
3663
3664#CHECK: error: invalid operand
3665#CHECK: xiy	-524289, 0
3666#CHECK: error: invalid operand
3667#CHECK: xiy	524288, 0
3668#CHECK: error: invalid use of indexed addressing
3669#CHECK: xiy	0(%r1,%r2), 0
3670#CHECK: error: invalid operand
3671#CHECK: xiy	0, -1
3672#CHECK: error: invalid operand
3673#CHECK: xiy	0, 256
3674
3675	xiy	-524289, 0
3676	xiy	524288, 0
3677	xiy	0(%r1,%r2), 0
3678	xiy	0, -1
3679	xiy	0, 256
3680
3681#CHECK: error: {{(instruction requires: distinct-ops)?}}
3682#CHECK: xrk	%r2,%r3,%r4
3683
3684	xrk	%r2,%r3,%r4
3685
3686#CHECK: error: invalid operand
3687#CHECK: xy	%r0, -524289
3688#CHECK: error: invalid operand
3689#CHECK: xy	%r0, 524288
3690
3691	xy	%r0, -524289
3692	xy	%r0, 524288
3693