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