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