insn-bad.s revision d50bcb2162a529534da42748ab4a418bfc9aaf06
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: offset out of range
456#CHECK: cgrj	%r0, %r0, 0, -0x100002
457#CHECK: error: offset out of range
458#CHECK: cgrj	%r0, %r0, 0, -1
459#CHECK: error: offset out of range
460#CHECK: cgrj	%r0, %r0, 0, 1
461#CHECK: error: offset out of range
462#CHECK: cgrj	%r0, %r0, 0, 0x10000
463
464	cgrj	%r0, %r0, 0, -0x100002
465	cgrj	%r0, %r0, 0, -1
466	cgrj	%r0, %r0, 0, 1
467	cgrj	%r0, %r0, 0, 0x10000
468
469#CHECK: error: invalid instruction
470#CHECK:	cgrjo	%r0, %r0, 0, 0
471#CHECK: error: invalid instruction
472#CHECK:	cgrjno	%r0, %r0, 0, 0
473
474	cgrjo	%r0, %r0, 0, 0
475	cgrjno	%r0, %r0, 0, 0
476
477#CHECK: error: offset out of range
478#CHECK: cgrl	%r0, -0x1000000002
479#CHECK: error: offset out of range
480#CHECK: cgrl	%r0, -1
481#CHECK: error: offset out of range
482#CHECK: cgrl	%r0, 1
483#CHECK: error: offset out of range
484#CHECK: cgrl	%r0, 0x100000000
485
486	cgrl	%r0, -0x1000000002
487	cgrl	%r0, -1
488	cgrl	%r0, 1
489	cgrl	%r0, 0x100000000
490
491#CHECK: error: invalid operand
492#CHECK: cgxbr	%r0, -1, %f0
493#CHECK: error: invalid operand
494#CHECK: cgxbr	%r0, 16, %f0
495#CHECK: error: invalid register pair
496#CHECK: cgxbr	%r0, 0, %f2
497
498	cgxbr	%r0, -1, %f0
499	cgxbr	%r0, 16, %f0
500	cgxbr	%r0, 0, %f2
501
502
503#CHECK: error: invalid operand
504#CHECK: ch	%r0, -1
505#CHECK: error: invalid operand
506#CHECK: ch	%r0, 4096
507
508	ch	%r0, -1
509	ch	%r0, 4096
510
511#CHECK: error: invalid operand
512#CHECK: chhsi	-1, 0
513#CHECK: error: invalid operand
514#CHECK: chhsi	4096, 0
515#CHECK: error: invalid use of indexed addressing
516#CHECK: chhsi	0(%r1,%r2), 0
517#CHECK: error: invalid operand
518#CHECK: chhsi	0, -32769
519#CHECK: error: invalid operand
520#CHECK: chhsi	0, 32768
521
522	chhsi	-1, 0
523	chhsi	4096, 0
524	chhsi	0(%r1,%r2), 0
525	chhsi	0, -32769
526	chhsi	0, 32768
527
528#CHECK: error: invalid operand
529#CHECK: chi	%r0, -32769
530#CHECK: error: invalid operand
531#CHECK: chi	%r0, 32768
532#CHECK: error: invalid operand
533#CHECK: chi	%r0, foo
534
535	chi	%r0, -32769
536	chi	%r0, 32768
537	chi	%r0, foo
538
539#CHECK: error: offset out of range
540#CHECK: chrl	%r0, -0x1000000002
541#CHECK: error: offset out of range
542#CHECK: chrl	%r0, -1
543#CHECK: error: offset out of range
544#CHECK: chrl	%r0, 1
545#CHECK: error: offset out of range
546#CHECK: chrl	%r0, 0x100000000
547
548	chrl	%r0, -0x1000000002
549	chrl	%r0, -1
550	chrl	%r0, 1
551	chrl	%r0, 0x100000000
552
553#CHECK: error: invalid operand
554#CHECK: chsi	-1, 0
555#CHECK: error: invalid operand
556#CHECK: chsi	4096, 0
557#CHECK: error: invalid use of indexed addressing
558#CHECK: chsi	0(%r1,%r2), 0
559#CHECK: error: invalid operand
560#CHECK: chsi	0, -32769
561#CHECK: error: invalid operand
562#CHECK: chsi	0, 32768
563
564	chsi	-1, 0
565	chsi	4096, 0
566	chsi	0(%r1,%r2), 0
567	chsi	0, -32769
568	chsi	0, 32768
569
570#CHECK: error: invalid operand
571#CHECK: chy	%r0, -524289
572#CHECK: error: invalid operand
573#CHECK: chy	%r0, 524288
574
575	chy	%r0, -524289
576	chy	%r0, 524288
577
578#CHECK: error: invalid operand
579#CHECK: cl	%r0, -1
580#CHECK: error: invalid operand
581#CHECK: cl	%r0, 4096
582
583	cl	%r0, -1
584	cl	%r0, 4096
585
586#CHECK: error: invalid operand
587#CHECK: clfhsi	-1, 0
588#CHECK: error: invalid operand
589#CHECK: clfhsi	4096, 0
590#CHECK: error: invalid use of indexed addressing
591#CHECK: clfhsi	0(%r1,%r2), 0
592#CHECK: error: invalid operand
593#CHECK: clfhsi	0, -1
594#CHECK: error: invalid operand
595#CHECK: clfhsi	0, 65536
596
597	clfhsi	-1, 0
598	clfhsi	4096, 0
599	clfhsi	0(%r1,%r2), 0
600	clfhsi	0, -1
601	clfhsi	0, 65536
602
603#CHECK: error: invalid operand
604#CHECK: clfi	%r0, -1
605#CHECK: error: invalid operand
606#CHECK: clfi	%r0, (1 << 32)
607
608	clfi	%r0, -1
609	clfi	%r0, (1 << 32)
610
611#CHECK: error: invalid operand
612#CHECK: clg	%r0, -524289
613#CHECK: error: invalid operand
614#CHECK: clg	%r0, 524288
615
616	clg	%r0, -524289
617	clg	%r0, 524288
618
619#CHECK: error: invalid operand
620#CHECK: clgf	%r0, -524289
621#CHECK: error: invalid operand
622#CHECK: clgf	%r0, 524288
623
624	clgf	%r0, -524289
625	clgf	%r0, 524288
626
627#CHECK: error: invalid operand
628#CHECK: clgfi	%r0, -1
629#CHECK: error: invalid operand
630#CHECK: clgfi	%r0, (1 << 32)
631
632	clgfi	%r0, -1
633	clgfi	%r0, (1 << 32)
634
635#CHECK: error: offset out of range
636#CHECK: clgfrl	%r0, -0x1000000002
637#CHECK: error: offset out of range
638#CHECK: clgfrl	%r0, -1
639#CHECK: error: offset out of range
640#CHECK: clgfrl	%r0, 1
641#CHECK: error: offset out of range
642#CHECK: clgfrl	%r0, 0x100000000
643
644	clgfrl	%r0, -0x1000000002
645	clgfrl	%r0, -1
646	clgfrl	%r0, 1
647	clgfrl	%r0, 0x100000000
648
649#CHECK: error: offset out of range
650#CHECK: clghrl	%r0, -0x1000000002
651#CHECK: error: offset out of range
652#CHECK: clghrl	%r0, -1
653#CHECK: error: offset out of range
654#CHECK: clghrl	%r0, 1
655#CHECK: error: offset out of range
656#CHECK: clghrl	%r0, 0x100000000
657
658	clghrl	%r0, -0x1000000002
659	clghrl	%r0, -1
660	clghrl	%r0, 1
661	clghrl	%r0, 0x100000000
662
663#CHECK: error: invalid operand
664#CHECK: clghsi	-1, 0
665#CHECK: error: invalid operand
666#CHECK: clghsi	4096, 0
667#CHECK: error: invalid use of indexed addressing
668#CHECK: clghsi	0(%r1,%r2), 0
669#CHECK: error: invalid operand
670#CHECK: clghsi	0, -1
671#CHECK: error: invalid operand
672#CHECK: clghsi	0, 65536
673
674	clghsi	-1, 0
675	clghsi	4096, 0
676	clghsi	0(%r1,%r2), 0
677	clghsi	0, -1
678	clghsi	0, 65536
679
680#CHECK: error: offset out of range
681#CHECK: clgrl	%r0, -0x1000000002
682#CHECK: error: offset out of range
683#CHECK: clgrl	%r0, -1
684#CHECK: error: offset out of range
685#CHECK: clgrl	%r0, 1
686#CHECK: error: offset out of range
687#CHECK: clgrl	%r0, 0x100000000
688
689	clgrl	%r0, -0x1000000002
690	clgrl	%r0, -1
691	clgrl	%r0, 1
692	clgrl	%r0, 0x100000000
693
694#CHECK: error: invalid operand
695#CHECK: clhhsi	-1, 0
696#CHECK: error: invalid operand
697#CHECK: clhhsi	4096, 0
698#CHECK: error: invalid use of indexed addressing
699#CHECK: clhhsi	0(%r1,%r2), 0
700#CHECK: error: invalid operand
701#CHECK: clhhsi	0, -1
702#CHECK: error: invalid operand
703#CHECK: clhhsi	0, 65536
704
705	clhhsi	-1, 0
706	clhhsi	4096, 0
707	clhhsi	0(%r1,%r2), 0
708	clhhsi	0, -1
709	clhhsi	0, 65536
710
711#CHECK: error: offset out of range
712#CHECK: clhrl	%r0, -0x1000000002
713#CHECK: error: offset out of range
714#CHECK: clhrl	%r0, -1
715#CHECK: error: offset out of range
716#CHECK: clhrl	%r0, 1
717#CHECK: error: offset out of range
718#CHECK: clhrl	%r0, 0x100000000
719
720	clhrl	%r0, -0x1000000002
721	clhrl	%r0, -1
722	clhrl	%r0, 1
723	clhrl	%r0, 0x100000000
724
725#CHECK: error: invalid operand
726#CHECK: cli	-1, 0
727#CHECK: error: invalid operand
728#CHECK: cli	4096, 0
729#CHECK: error: invalid use of indexed addressing
730#CHECK: cli	0(%r1,%r2), 0
731#CHECK: error: invalid operand
732#CHECK: cli	0, -1
733#CHECK: error: invalid operand
734#CHECK: cli	0, 256
735
736	cli	-1, 0
737	cli	4096, 0
738	cli	0(%r1,%r2), 0
739	cli	0, -1
740	cli	0, 256
741
742#CHECK: error: invalid operand
743#CHECK: cliy	-524289, 0
744#CHECK: error: invalid operand
745#CHECK: cliy	524288, 0
746#CHECK: error: invalid use of indexed addressing
747#CHECK: cliy	0(%r1,%r2), 0
748#CHECK: error: invalid operand
749#CHECK: cliy	0, -1
750#CHECK: error: invalid operand
751#CHECK: cliy	0, 256
752
753	cliy	-524289, 0
754	cliy	524288, 0
755	cliy	0(%r1,%r2), 0
756	cliy	0, -1
757	cliy	0, 256
758
759#CHECK: error: offset out of range
760#CHECK: clrl	%r0, -0x1000000002
761#CHECK: error: offset out of range
762#CHECK: clrl	%r0, -1
763#CHECK: error: offset out of range
764#CHECK: clrl	%r0, 1
765#CHECK: error: offset out of range
766#CHECK: clrl	%r0, 0x100000000
767
768	clrl	%r0, -0x1000000002
769	clrl	%r0, -1
770	clrl	%r0, 1
771	clrl	%r0, 0x100000000
772
773#CHECK: error: invalid operand
774#CHECK: cly	%r0, -524289
775#CHECK: error: invalid operand
776#CHECK: cly	%r0, 524288
777
778	cly	%r0, -524289
779	cly	%r0, 524288
780
781#CHECK: error: offset out of range
782#CHECK: crj	%r0, %r0, 0, -0x100002
783#CHECK: error: offset out of range
784#CHECK: crj	%r0, %r0, 0, -1
785#CHECK: error: offset out of range
786#CHECK: crj	%r0, %r0, 0, 1
787#CHECK: error: offset out of range
788#CHECK: crj	%r0, %r0, 0, 0x10000
789
790	crj	%r0, %r0, 0, -0x100002
791	crj	%r0, %r0, 0, -1
792	crj	%r0, %r0, 0, 1
793	crj	%r0, %r0, 0, 0x10000
794
795#CHECK: error: invalid instruction
796#CHECK:	crjo	%r0, %r0, 0, 0
797#CHECK: error: invalid instruction
798#CHECK:	crjno	%r0, %r0, 0, 0
799
800	crjo	%r0, %r0, 0, 0
801	crjno	%r0, %r0, 0, 0
802
803#CHECK: error: offset out of range
804#CHECK: crl	%r0, -0x1000000002
805#CHECK: error: offset out of range
806#CHECK: crl	%r0, -1
807#CHECK: error: offset out of range
808#CHECK: crl	%r0, 1
809#CHECK: error: offset out of range
810#CHECK: crl	%r0, 0x100000000
811
812	crl	%r0, -0x1000000002
813	crl	%r0, -1
814	crl	%r0, 1
815	crl	%r0, 0x100000000
816
817#CHECK: error: invalid operand
818#CHECK: cs	%r0, %r0, -1
819#CHECK: error: invalid operand
820#CHECK: cs	%r0, %r0, 4096
821#CHECK: error: invalid use of indexed addressing
822#CHECK: cs	%r0, %r0, 0(%r1,%r2)
823
824	cs	%r0, %r0, -1
825	cs	%r0, %r0, 4096
826	cs	%r0, %r0, 0(%r1,%r2)
827
828#CHECK: error: invalid operand
829#CHECK: csg	%r0, %r0, -524289
830#CHECK: error: invalid operand
831#CHECK: csg	%r0, %r0, 524288
832#CHECK: error: invalid use of indexed addressing
833#CHECK: csg	%r0, %r0, 0(%r1,%r2)
834
835	csg	%r0, %r0, -524289
836	csg	%r0, %r0, 524288
837	csg	%r0, %r0, 0(%r1,%r2)
838
839#CHECK: error: invalid operand
840#CHECK: csy	%r0, %r0, -524289
841#CHECK: error: invalid operand
842#CHECK: csy	%r0, %r0, 524288
843#CHECK: error: invalid use of indexed addressing
844#CHECK: csy	%r0, %r0, 0(%r1,%r2)
845
846	csy	%r0, %r0, -524289
847	csy	%r0, %r0, 524288
848	csy	%r0, %r0, 0(%r1,%r2)
849
850#CHECK: error: invalid register pair
851#CHECK: cxbr	%f0, %f2
852#CHECK: error: invalid register pair
853#CHECK: cxbr	%f2, %f0
854
855	cxbr	%f0, %f2
856	cxbr	%f2, %f0
857
858#CHECK: error: invalid register pair
859#CHECK: cxfbr	%f2, %r0
860
861	cxfbr	%f2, %r0
862
863#CHECK: error: invalid register pair
864#CHECK: cxgbr	%f2, %r0
865
866	cxgbr	%f2, %r0
867
868#CHECK: error: invalid operand
869#CHECK: cy	%r0, -524289
870#CHECK: error: invalid operand
871#CHECK: cy	%r0, 524288
872
873	cy	%r0, -524289
874	cy	%r0, 524288
875
876#CHECK: error: invalid operand
877#CHECK: ddb	%f0, -1
878#CHECK: error: invalid operand
879#CHECK: ddb	%f0, 4096
880
881	ddb	%f0, -1
882	ddb	%f0, 4096
883
884#CHECK: error: invalid operand
885#CHECK: deb	%f0, -1
886#CHECK: error: invalid operand
887#CHECK: deb	%f0, 4096
888
889	deb	%f0, -1
890	deb	%f0, 4096
891
892#CHECK: error: invalid operand
893#CHECK: dl	%r0, -524289
894#CHECK: error: invalid operand
895#CHECK: dl	%r0, 524288
896#CHECK: error: invalid register pair
897#CHECK: dl	%r1, 0
898
899	dl	%r0, -524289
900	dl	%r0, 524288
901	dl	%r1, 0
902
903#CHECK: error: invalid operand
904#CHECK: dlg	%r0, -524289
905#CHECK: error: invalid operand
906#CHECK: dlg	%r0, 524288
907#CHECK: error: invalid register pair
908#CHECK: dlg	%r1, 0
909
910	dlg	%r0, -524289
911	dlg	%r0, 524288
912	dlg	%r1, 0
913
914#CHECK: error: invalid register pair
915#CHECK: dlgr	%r1, %r0
916
917	dlgr	%r1, %r0
918
919#CHECK: error: invalid register pair
920#CHECK: dlr	%r1, %r0
921
922	dlr	%r1, %r0
923
924#CHECK: error: invalid operand
925#CHECK: dsg	%r0, -524289
926#CHECK: error: invalid operand
927#CHECK: dsg	%r0, 524288
928#CHECK: error: invalid register pair
929#CHECK: dsg	%r1, 0
930
931	dsg	%r0, -524289
932	dsg	%r0, 524288
933	dsg	%r1, 0
934
935#CHECK: error: invalid operand
936#CHECK: dsgf	%r0, -524289
937#CHECK: error: invalid operand
938#CHECK: dsgf	%r0, 524288
939#CHECK: error: invalid register pair
940#CHECK: dsgf	%r1, 0
941
942	dsgf	%r0, -524289
943	dsgf	%r0, 524288
944	dsgf	%r1, 0
945
946#CHECK: error: invalid register pair
947#CHECK: dsgfr	%r1, %r0
948
949	dsgfr	%r1, %r0
950
951#CHECK: error: invalid register pair
952#CHECK: dsgr	%r1, %r0
953
954	dsgr	%r1, %r0
955
956#CHECK: error: invalid register pair
957#CHECK: dxbr	%f0, %f2
958#CHECK: error: invalid register pair
959#CHECK: dxbr	%f2, %f0
960
961	dxbr	%f0, %f2
962	dxbr	%f2, %f0
963
964#CHECK: error: invalid operand
965#CHECK: fidbr	%f0, -1, %f0
966#CHECK: error: invalid operand
967#CHECK: fidbr	%f0, 16, %f0
968
969	fidbr	%f0, -1, %f0
970	fidbr	%f0, 16, %f0
971
972#CHECK: error: invalid operand
973#CHECK: fiebr	%f0, -1, %f0
974#CHECK: error: invalid operand
975#CHECK: fiebr	%f0, 16, %f0
976
977	fiebr	%f0, -1, %f0
978	fiebr	%f0, 16, %f0
979
980#CHECK: error: invalid operand
981#CHECK: fixbr	%f0, -1, %f0
982#CHECK: error: invalid operand
983#CHECK: fixbr	%f0, 16, %f0
984#CHECK: error: invalid register pair
985#CHECK: fixbr	%f0, 0, %f2
986#CHECK: error: invalid register pair
987#CHECK: fixbr	%f2, 0, %f0
988
989	fixbr	%f0, -1, %f0
990	fixbr	%f0, 16, %f0
991	fixbr	%f0, 0, %f2
992	fixbr	%f2, 0, %f0
993
994#CHECK: error: invalid register pair
995#CHECK: flogr	%r1, %r0
996
997	flogr	%r1, %r0
998
999#CHECK: error: invalid operand
1000#CHECK: ic	%r0, -1
1001#CHECK: error: invalid operand
1002#CHECK: ic	%r0, 4096
1003
1004	ic	%r0, -1
1005	ic	%r0, 4096
1006
1007#CHECK: error: invalid operand
1008#CHECK: icy	%r0, -524289
1009#CHECK: error: invalid operand
1010#CHECK: icy	%r0, 524288
1011
1012	icy	%r0, -524289
1013	icy	%r0, 524288
1014
1015#CHECK: error: invalid operand
1016#CHECK: iihf	%r0, -1
1017#CHECK: error: invalid operand
1018#CHECK: iihf	%r0, 1 << 32
1019
1020	iihf	%r0, -1
1021	iihf	%r0, 1 << 32
1022
1023#CHECK: error: invalid operand
1024#CHECK: iihh	%r0, -1
1025#CHECK: error: invalid operand
1026#CHECK: iihh	%r0, 0x10000
1027
1028	iihh	%r0, -1
1029	iihh	%r0, 0x10000
1030
1031#CHECK: error: invalid operand
1032#CHECK: iihl	%r0, -1
1033#CHECK: error: invalid operand
1034#CHECK: iihl	%r0, 0x10000
1035
1036	iihl	%r0, -1
1037	iihl	%r0, 0x10000
1038
1039#CHECK: error: invalid operand
1040#CHECK: iilf	%r0, -1
1041#CHECK: error: invalid operand
1042#CHECK: iilf	%r0, 1 << 32
1043
1044	iilf	%r0, -1
1045	iilf	%r0, 1 << 32
1046
1047#CHECK: error: invalid operand
1048#CHECK: iilh	%r0, -1
1049#CHECK: error: invalid operand
1050#CHECK: iilh	%r0, 0x10000
1051
1052	iilh	%r0, -1
1053	iilh	%r0, 0x10000
1054
1055#CHECK: error: invalid operand
1056#CHECK: iill	%r0, -1
1057#CHECK: error: invalid operand
1058#CHECK: iill	%r0, 0x10000
1059
1060	iill	%r0, -1
1061	iill	%r0, 0x10000
1062
1063#CHECK: error: invalid operand
1064#CHECK: l	%r0, -1
1065#CHECK: error: invalid operand
1066#CHECK: l	%r0, 4096
1067
1068	l	%r0, -1
1069	l	%r0, 4096
1070
1071#CHECK: error: invalid operand
1072#CHECK: la	%r0, -1
1073#CHECK: error: invalid operand
1074#CHECK: la	%r0, 4096
1075
1076	la	%r0, -1
1077	la	%r0, 4096
1078
1079#CHECK: error: offset out of range
1080#CHECK: larl	%r0, -0x1000000002
1081#CHECK: error: offset out of range
1082#CHECK: larl	%r0, -1
1083#CHECK: error: offset out of range
1084#CHECK: larl	%r0, 1
1085#CHECK: error: offset out of range
1086#CHECK: larl	%r0, 0x100000000
1087
1088	larl	%r0, -0x1000000002
1089	larl	%r0, -1
1090	larl	%r0, 1
1091	larl	%r0, 0x100000000
1092
1093#CHECK: error: invalid operand
1094#CHECK: lay	%r0, -524289
1095#CHECK: error: invalid operand
1096#CHECK: lay	%r0, 524288
1097
1098	lay	%r0, -524289
1099	lay	%r0, 524288
1100
1101#CHECK: error: invalid operand
1102#CHECK: lb	%r0, -524289
1103#CHECK: error: invalid operand
1104#CHECK: lb	%r0, 524288
1105
1106	lb	%r0, -524289
1107	lb	%r0, 524288
1108
1109#CHECK: error: invalid register pair
1110#CHECK: lcxbr	%f0, %f2
1111#CHECK: error: invalid register pair
1112#CHECK: lcxbr	%f2, %f0
1113
1114	lcxbr	%f0, %f2
1115	lcxbr	%f2, %f0
1116
1117#CHECK: error: invalid operand
1118#CHECK: ld	%f0, -1
1119#CHECK: error: invalid operand
1120#CHECK: ld	%f0, 4096
1121
1122	ld	%f0, -1
1123	ld	%f0, 4096
1124
1125#CHECK: error: invalid operand
1126#CHECK: ldeb	%f0, -1
1127#CHECK: error: invalid operand
1128#CHECK: ldeb	%f0, 4096
1129
1130	ldeb	%f0, -1
1131	ldeb	%f0, 4096
1132
1133#CHECK: error: invalid register pair
1134#CHECK: ldxbr	%f0, %f2
1135#CHECK: error: invalid register pair
1136#CHECK: ldxbr	%f2, %f0
1137
1138	ldxbr	%f0, %f2
1139	ldxbr	%f2, %f0
1140
1141#CHECK: error: invalid operand
1142#CHECK: ldy	%f0, -524289
1143#CHECK: error: invalid operand
1144#CHECK: ldy	%f0, 524288
1145
1146	ldy	%f0, -524289
1147	ldy	%f0, 524288
1148
1149#CHECK: error: invalid operand
1150#CHECK: le	%f0, -1
1151#CHECK: error: invalid operand
1152#CHECK: le	%f0, 4096
1153
1154	le	%f0, -1
1155	le	%f0, 4096
1156
1157#CHECK: error: invalid register pair
1158#CHECK: lexbr	%f0, %f2
1159#CHECK: error: invalid register pair
1160#CHECK: lexbr	%f2, %f0
1161
1162	lexbr	%f0, %f2
1163	lexbr	%f2, %f0
1164
1165#CHECK: error: invalid operand
1166#CHECK: ley	%f0, -524289
1167#CHECK: error: invalid operand
1168#CHECK: ley	%f0, 524288
1169
1170	ley	%f0, -524289
1171	ley	%f0, 524288
1172
1173#CHECK: error: invalid operand
1174#CHECK: lg	%r0, -524289
1175#CHECK: error: invalid operand
1176#CHECK: lg	%r0, 524288
1177
1178	lg	%r0, -524289
1179	lg	%r0, 524288
1180
1181#CHECK: error: invalid operand
1182#CHECK: lgb	%r0, -524289
1183#CHECK: error: invalid operand
1184#CHECK: lgb	%r0, 524288
1185
1186	lgb	%r0, -524289
1187	lgb	%r0, 524288
1188
1189#CHECK: error: invalid operand
1190#CHECK: lgf	%r0, -524289
1191#CHECK: error: invalid operand
1192#CHECK: lgf	%r0, 524288
1193
1194	lgf	%r0, -524289
1195	lgf	%r0, 524288
1196
1197#CHECK: error: invalid operand
1198#CHECK: lgfi	%r0, (-1 << 31) - 1
1199#CHECK: error: invalid operand
1200#CHECK: lgfi	%r0, (1 << 31)
1201
1202	lgfi	%r0, (-1 << 31) - 1
1203	lgfi	%r0, (1 << 31)
1204
1205#CHECK: error: offset out of range
1206#CHECK: lgfrl	%r0, -0x1000000002
1207#CHECK: error: offset out of range
1208#CHECK: lgfrl	%r0, -1
1209#CHECK: error: offset out of range
1210#CHECK: lgfrl	%r0, 1
1211#CHECK: error: offset out of range
1212#CHECK: lgfrl	%r0, 0x100000000
1213
1214	lgfrl	%r0, -0x1000000002
1215	lgfrl	%r0, -1
1216	lgfrl	%r0, 1
1217	lgfrl	%r0, 0x100000000
1218
1219#CHECK: error: invalid operand
1220#CHECK: lgh	%r0, -524289
1221#CHECK: error: invalid operand
1222#CHECK: lgh	%r0, 524288
1223
1224	lgh	%r0, -524289
1225	lgh	%r0, 524288
1226
1227#CHECK: error: invalid operand
1228#CHECK: lghi	%r0, -32769
1229#CHECK: error: invalid operand
1230#CHECK: lghi	%r0, 32768
1231#CHECK: error: invalid operand
1232#CHECK: lghi	%r0, foo
1233
1234	lghi	%r0, -32769
1235	lghi	%r0, 32768
1236	lghi	%r0, foo
1237
1238#CHECK: error: offset out of range
1239#CHECK: lghrl	%r0, -0x1000000002
1240#CHECK: error: offset out of range
1241#CHECK: lghrl	%r0, -1
1242#CHECK: error: offset out of range
1243#CHECK: lghrl	%r0, 1
1244#CHECK: error: offset out of range
1245#CHECK: lghrl	%r0, 0x100000000
1246
1247	lghrl	%r0, -0x1000000002
1248	lghrl	%r0, -1
1249	lghrl	%r0, 1
1250	lghrl	%r0, 0x100000000
1251
1252#CHECK: error: offset out of range
1253#CHECK: lgrl	%r0, -0x1000000002
1254#CHECK: error: offset out of range
1255#CHECK: lgrl	%r0, -1
1256#CHECK: error: offset out of range
1257#CHECK: lgrl	%r0, 1
1258#CHECK: error: offset out of range
1259#CHECK: lgrl	%r0, 0x100000000
1260
1261	lgrl	%r0, -0x1000000002
1262	lgrl	%r0, -1
1263	lgrl	%r0, 1
1264	lgrl	%r0, 0x100000000
1265
1266#CHECK: error: invalid operand
1267#CHECK: lh	%r0, -1
1268#CHECK: error: invalid operand
1269#CHECK: lh	%r0, 4096
1270
1271	lh	%r0, -1
1272	lh	%r0, 4096
1273
1274#CHECK: error: invalid operand
1275#CHECK: lhi	%r0, -32769
1276#CHECK: error: invalid operand
1277#CHECK: lhi	%r0, 32768
1278#CHECK: error: invalid operand
1279#CHECK: lhi	%r0, foo
1280
1281	lhi	%r0, -32769
1282	lhi	%r0, 32768
1283	lhi	%r0, foo
1284
1285#CHECK: error: offset out of range
1286#CHECK: lhrl	%r0, -0x1000000002
1287#CHECK: error: offset out of range
1288#CHECK: lhrl	%r0, -1
1289#CHECK: error: offset out of range
1290#CHECK: lhrl	%r0, 1
1291#CHECK: error: offset out of range
1292#CHECK: lhrl	%r0, 0x100000000
1293
1294	lhrl	%r0, -0x1000000002
1295	lhrl	%r0, -1
1296	lhrl	%r0, 1
1297	lhrl	%r0, 0x100000000
1298
1299#CHECK: error: invalid operand
1300#CHECK: lhy	%r0, -524289
1301#CHECK: error: invalid operand
1302#CHECK: lhy	%r0, 524288
1303
1304	lhy	%r0, -524289
1305	lhy	%r0, 524288
1306
1307#CHECK: error: invalid operand
1308#CHECK: llc	%r0, -524289
1309#CHECK: error: invalid operand
1310#CHECK: llc	%r0, 524288
1311
1312	llc	%r0, -524289
1313	llc	%r0, 524288
1314
1315#CHECK: error: invalid operand
1316#CHECK: llgc	%r0, -524289
1317#CHECK: error: invalid operand
1318#CHECK: llgc	%r0, 524288
1319
1320	llgc	%r0, -524289
1321	llgc	%r0, 524288
1322
1323#CHECK: error: invalid operand
1324#CHECK: llgf	%r0, -524289
1325#CHECK: error: invalid operand
1326#CHECK: llgf	%r0, 524288
1327
1328	llgf	%r0, -524289
1329	llgf	%r0, 524288
1330
1331#CHECK: error: offset out of range
1332#CHECK: llgfrl	%r0, -0x1000000002
1333#CHECK: error: offset out of range
1334#CHECK: llgfrl	%r0, -1
1335#CHECK: error: offset out of range
1336#CHECK: llgfrl	%r0, 1
1337#CHECK: error: offset out of range
1338#CHECK: llgfrl	%r0, 0x100000000
1339
1340	llgfrl	%r0, -0x1000000002
1341	llgfrl	%r0, -1
1342	llgfrl	%r0, 1
1343	llgfrl	%r0, 0x100000000
1344
1345#CHECK: error: invalid operand
1346#CHECK: llgh	%r0, -524289
1347#CHECK: error: invalid operand
1348#CHECK: llgh	%r0, 524288
1349
1350	llgh	%r0, -524289
1351	llgh	%r0, 524288
1352
1353#CHECK: error: offset out of range
1354#CHECK: llghrl	%r0, -0x1000000002
1355#CHECK: error: offset out of range
1356#CHECK: llghrl	%r0, -1
1357#CHECK: error: offset out of range
1358#CHECK: llghrl	%r0, 1
1359#CHECK: error: offset out of range
1360#CHECK: llghrl	%r0, 0x100000000
1361
1362	llghrl	%r0, -0x1000000002
1363	llghrl	%r0, -1
1364	llghrl	%r0, 1
1365	llghrl	%r0, 0x100000000
1366
1367#CHECK: error: invalid operand
1368#CHECK: llh	%r0, -524289
1369#CHECK: error: invalid operand
1370#CHECK: llh	%r0, 524288
1371
1372	llh	%r0, -524289
1373	llh	%r0, 524288
1374
1375#CHECK: error: offset out of range
1376#CHECK: llhrl	%r0, -0x1000000002
1377#CHECK: error: offset out of range
1378#CHECK: llhrl	%r0, -1
1379#CHECK: error: offset out of range
1380#CHECK: llhrl	%r0, 1
1381#CHECK: error: offset out of range
1382#CHECK: llhrl	%r0, 0x100000000
1383
1384	llhrl	%r0, -0x1000000002
1385	llhrl	%r0, -1
1386	llhrl	%r0, 1
1387	llhrl	%r0, 0x100000000
1388
1389#CHECK: error: invalid operand
1390#CHECK: llihf	%r0, -1
1391#CHECK: error: invalid operand
1392#CHECK: llihf	%r0, 1 << 32
1393
1394	llihf	%r0, -1
1395	llihf	%r0, 1 << 32
1396
1397#CHECK: error: invalid operand
1398#CHECK: llihh	%r0, -1
1399#CHECK: error: invalid operand
1400#CHECK: llihh	%r0, 0x10000
1401
1402	llihh	%r0, -1
1403	llihh	%r0, 0x10000
1404
1405#CHECK: error: invalid operand
1406#CHECK: llihl	%r0, -1
1407#CHECK: error: invalid operand
1408#CHECK: llihl	%r0, 0x10000
1409
1410	llihl	%r0, -1
1411	llihl	%r0, 0x10000
1412
1413#CHECK: error: invalid operand
1414#CHECK: llilf	%r0, -1
1415#CHECK: error: invalid operand
1416#CHECK: llilf	%r0, 1 << 32
1417
1418	llilf	%r0, -1
1419	llilf	%r0, 1 << 32
1420
1421#CHECK: error: invalid operand
1422#CHECK: llilh	%r0, -1
1423#CHECK: error: invalid operand
1424#CHECK: llilh	%r0, 0x10000
1425
1426	llilh	%r0, -1
1427	llilh	%r0, 0x10000
1428
1429#CHECK: error: invalid operand
1430#CHECK: llill	%r0, -1
1431#CHECK: error: invalid operand
1432#CHECK: llill	%r0, 0x10000
1433
1434	llill	%r0, -1
1435	llill	%r0, 0x10000
1436
1437#CHECK: error: invalid operand
1438#CHECK: lmg	%r0, %r0, -524289
1439#CHECK: error: invalid operand
1440#CHECK: lmg	%r0, %r0, 524288
1441#CHECK: error: invalid use of indexed addressing
1442#CHECK: lmg	%r0, %r0, 0(%r1,%r2)
1443
1444	lmg	%r0, %r0, -524289
1445	lmg	%r0, %r0, 524288
1446	lmg	%r0, %r0, 0(%r1,%r2)
1447
1448#CHECK: error: invalid register pair
1449#CHECK: lnxbr	%f0, %f2
1450#CHECK: error: invalid register pair
1451#CHECK: lnxbr	%f2, %f0
1452
1453	lnxbr	%f0, %f2
1454	lnxbr	%f2, %f0
1455
1456#CHECK: error: invalid register pair
1457#CHECK: lpxbr	%f0, %f2
1458#CHECK: error: invalid register pair
1459#CHECK: lpxbr	%f2, %f0
1460
1461	lpxbr	%f0, %f2
1462	lpxbr	%f2, %f0
1463
1464#CHECK: error: offset out of range
1465#CHECK: lrl	%r0, -0x1000000002
1466#CHECK: error: offset out of range
1467#CHECK: lrl	%r0, -1
1468#CHECK: error: offset out of range
1469#CHECK: lrl	%r0, 1
1470#CHECK: error: offset out of range
1471#CHECK: lrl	%r0, 0x100000000
1472
1473	lrl	%r0, -0x1000000002
1474	lrl	%r0, -1
1475	lrl	%r0, 1
1476	lrl	%r0, 0x100000000
1477
1478#CHECK: error: invalid operand
1479#CHECK: lrv	%r0, -524289
1480#CHECK: error: invalid operand
1481#CHECK: lrv	%r0, 524288
1482
1483	lrv	%r0, -524289
1484	lrv	%r0, 524288
1485
1486#CHECK: error: invalid operand
1487#CHECK: lrvg	%r0, -524289
1488#CHECK: error: invalid operand
1489#CHECK: lrvg	%r0, 524288
1490
1491	lrvg	%r0, -524289
1492	lrvg	%r0, 524288
1493
1494#CHECK: error: invalid register pair
1495#CHECK: lxr	%f0, %f2
1496#CHECK: error: invalid register pair
1497#CHECK: lxr	%f2, %f0
1498
1499	lxr	%f0, %f2
1500	lxr	%f2, %f0
1501
1502#CHECK: error: invalid operand
1503#CHECK: ly	%r0, -524289
1504#CHECK: error: invalid operand
1505#CHECK: ly	%r0, 524288
1506
1507	ly	%r0, -524289
1508	ly	%r0, 524288
1509
1510#CHECK: error: invalid register pair
1511#CHECK: lzxr	%f2
1512
1513	lzxr	%f2
1514
1515#CHECK: error: invalid operand
1516#CHECK: madb	%f0, %f0, -1
1517#CHECK: error: invalid operand
1518#CHECK: madb	%f0, %f0, 4096
1519
1520	madb	%f0, %f0, -1
1521	madb	%f0, %f0, 4096
1522
1523#CHECK: error: invalid operand
1524#CHECK: maeb	%f0, %f0, -1
1525#CHECK: error: invalid operand
1526#CHECK: maeb	%f0, %f0, 4096
1527
1528	maeb	%f0, %f0, -1
1529	maeb	%f0, %f0, 4096
1530
1531#CHECK: error: invalid operand
1532#CHECK: mdb	%f0, -1
1533#CHECK: error: invalid operand
1534#CHECK: mdb	%f0, 4096
1535
1536	mdb	%f0, -1
1537	mdb	%f0, 4096
1538
1539#CHECK: error: invalid operand
1540#CHECK: mdeb	%f0, -1
1541#CHECK: error: invalid operand
1542#CHECK: mdeb	%f0, 4096
1543
1544	mdeb	%f0, -1
1545	mdeb	%f0, 4096
1546
1547#CHECK: error: invalid operand
1548#CHECK: meeb	%f0, -1
1549#CHECK: error: invalid operand
1550#CHECK: meeb	%f0, 4096
1551
1552	meeb	%f0, -1
1553	meeb	%f0, 4096
1554
1555#CHECK: error: invalid operand
1556#CHECK: mghi	%r0, -32769
1557#CHECK: error: invalid operand
1558#CHECK: mghi	%r0, 32768
1559#CHECK: error: invalid operand
1560#CHECK: mghi	%r0, foo
1561
1562	mghi	%r0, -32769
1563	mghi	%r0, 32768
1564	mghi	%r0, foo
1565
1566#CHECK: error: invalid operand
1567#CHECK: mh	%r0, -1
1568#CHECK: error: invalid operand
1569#CHECK: mh	%r0, 4096
1570
1571	mh	%r0, -1
1572	mh	%r0, 4096
1573
1574#CHECK: error: invalid operand
1575#CHECK: mhi	%r0, -32769
1576#CHECK: error: invalid operand
1577#CHECK: mhi	%r0, 32768
1578#CHECK: error: invalid operand
1579#CHECK: mhi	%r0, foo
1580
1581	mhi	%r0, -32769
1582	mhi	%r0, 32768
1583	mhi	%r0, foo
1584
1585#CHECK: error: invalid operand
1586#CHECK: mhy	%r0, -524289
1587#CHECK: error: invalid operand
1588#CHECK: mhy	%r0, 524288
1589
1590	mhy	%r0, -524289
1591	mhy	%r0, 524288
1592
1593#CHECK: error: invalid operand
1594#CHECK: mlg	%r0, -524289
1595#CHECK: error: invalid operand
1596#CHECK: mlg	%r0, 524288
1597#CHECK: error: invalid register pair
1598#CHECK: mlg	%r1, 0
1599
1600	mlg	%r0, -524289
1601	mlg	%r0, 524288
1602	mlg	%r1, 0
1603
1604#CHECK: error: invalid register pair
1605#CHECK: mlgr	%r1, %r0
1606
1607	mlgr	%r1, %r0
1608
1609#CHECK: error: invalid operand
1610#CHECK: ms	%r0, -1
1611#CHECK: error: invalid operand
1612#CHECK: ms	%r0, 4096
1613
1614	ms	%r0, -1
1615	ms	%r0, 4096
1616
1617#CHECK: error: invalid operand
1618#CHECK: msdb	%f0, %f0, -1
1619#CHECK: error: invalid operand
1620#CHECK: msdb	%f0, %f0, 4096
1621
1622	msdb	%f0, %f0, -1
1623	msdb	%f0, %f0, 4096
1624
1625#CHECK: error: invalid operand
1626#CHECK: mseb	%f0, %f0, -1
1627#CHECK: error: invalid operand
1628#CHECK: mseb	%f0, %f0, 4096
1629
1630	mseb	%f0, %f0, -1
1631	mseb	%f0, %f0, 4096
1632
1633#CHECK: error: invalid operand
1634#CHECK: msfi	%r0, (-1 << 31) - 1
1635#CHECK: error: invalid operand
1636#CHECK: msfi	%r0, (1 << 31)
1637
1638	msfi	%r0, (-1 << 31) - 1
1639	msfi	%r0, (1 << 31)
1640
1641#CHECK: error: invalid operand
1642#CHECK: msg	%r0, -524289
1643#CHECK: error: invalid operand
1644#CHECK: msg	%r0, 524288
1645
1646	msg	%r0, -524289
1647	msg	%r0, 524288
1648
1649#CHECK: error: invalid operand
1650#CHECK: msgf	%r0, -524289
1651#CHECK: error: invalid operand
1652#CHECK: msgf	%r0, 524288
1653
1654	msgf	%r0, -524289
1655	msgf	%r0, 524288
1656
1657#CHECK: error: invalid operand
1658#CHECK: msgfi	%r0, (-1 << 31) - 1
1659#CHECK: error: invalid operand
1660#CHECK: msgfi	%r0, (1 << 31)
1661
1662	msgfi	%r0, (-1 << 31) - 1
1663	msgfi	%r0, (1 << 31)
1664
1665#CHECK: error: invalid operand
1666#CHECK: msy	%r0, -524289
1667#CHECK: error: invalid operand
1668#CHECK: msy	%r0, 524288
1669
1670	msy	%r0, -524289
1671	msy	%r0, 524288
1672
1673#CHECK: error: invalid operand
1674#CHECK: mvghi	-1, 0
1675#CHECK: error: invalid operand
1676#CHECK: mvghi	4096, 0
1677#CHECK: error: invalid use of indexed addressing
1678#CHECK: mvghi	0(%r1,%r2), 0
1679#CHECK: error: invalid operand
1680#CHECK: mvghi	0, -32769
1681#CHECK: error: invalid operand
1682#CHECK: mvghi	0, 32768
1683
1684	mvghi	-1, 0
1685	mvghi	4096, 0
1686	mvghi	0(%r1,%r2), 0
1687	mvghi	0, -32769
1688	mvghi	0, 32768
1689
1690#CHECK: error: invalid operand
1691#CHECK: mvhhi	-1, 0
1692#CHECK: error: invalid operand
1693#CHECK: mvhhi	4096, 0
1694#CHECK: error: invalid use of indexed addressing
1695#CHECK: mvhhi	0(%r1,%r2), 0
1696#CHECK: error: invalid operand
1697#CHECK: mvhhi	0, -32769
1698#CHECK: error: invalid operand
1699#CHECK: mvhhi	0, 32768
1700
1701	mvhhi	-1, 0
1702	mvhhi	4096, 0
1703	mvhhi	0(%r1,%r2), 0
1704	mvhhi	0, -32769
1705	mvhhi	0, 32768
1706
1707#CHECK: error: invalid operand
1708#CHECK: mvhi	-1, 0
1709#CHECK: error: invalid operand
1710#CHECK: mvhi	4096, 0
1711#CHECK: error: invalid use of indexed addressing
1712#CHECK: mvhi	0(%r1,%r2), 0
1713#CHECK: error: invalid operand
1714#CHECK: mvhi	0, -32769
1715#CHECK: error: invalid operand
1716#CHECK: mvhi	0, 32768
1717
1718	mvhi	-1, 0
1719	mvhi	4096, 0
1720	mvhi	0(%r1,%r2), 0
1721	mvhi	0, -32769
1722	mvhi	0, 32768
1723
1724#CHECK: error: invalid operand
1725#CHECK: mvi	-1, 0
1726#CHECK: error: invalid operand
1727#CHECK: mvi	4096, 0
1728#CHECK: error: invalid use of indexed addressing
1729#CHECK: mvi	0(%r1,%r2), 0
1730#CHECK: error: invalid operand
1731#CHECK: mvi	0, -1
1732#CHECK: error: invalid operand
1733#CHECK: mvi	0, 256
1734
1735	mvi	-1, 0
1736	mvi	4096, 0
1737	mvi	0(%r1,%r2), 0
1738	mvi	0, -1
1739	mvi	0, 256
1740
1741#CHECK: error: invalid operand
1742#CHECK: mviy	-524289, 0
1743#CHECK: error: invalid operand
1744#CHECK: mviy	524288, 0
1745#CHECK: error: invalid use of indexed addressing
1746#CHECK: mviy	0(%r1,%r2), 0
1747#CHECK: error: invalid operand
1748#CHECK: mviy	0, -1
1749#CHECK: error: invalid operand
1750#CHECK: mviy	0, 256
1751
1752	mviy	-524289, 0
1753	mviy	524288, 0
1754	mviy	0(%r1,%r2), 0
1755	mviy	0, -1
1756	mviy	0, 256
1757
1758#CHECK: error: invalid register pair
1759#CHECK: mxbr	%f0, %f2
1760#CHECK: error: invalid register pair
1761#CHECK: mxbr	%f2, %f0
1762
1763	mxbr	%f0, %f2
1764	mxbr	%f2, %f0
1765
1766#CHECK: error: invalid register pair
1767#CHECK: mxdb	%f2, 0
1768#CHECK: error: invalid operand
1769#CHECK: mxdb	%f0, -1
1770#CHECK: error: invalid operand
1771#CHECK: mxdb	%f0, 4096
1772
1773	mxdb	%f2, 0
1774	mxdb	%f0, -1
1775	mxdb	%f0, 4096
1776
1777#CHECK: error: invalid register pair
1778#CHECK: mxdbr	%f2, %f0
1779
1780	mxdbr	%f2, %f0
1781
1782#CHECK: error: invalid operand
1783#CHECK: n	%r0, -1
1784#CHECK: error: invalid operand
1785#CHECK: n	%r0, 4096
1786
1787	n	%r0, -1
1788	n	%r0, 4096
1789
1790#CHECK: error: invalid operand
1791#CHECK: ng	%r0, -524289
1792#CHECK: error: invalid operand
1793#CHECK: ng	%r0, 524288
1794
1795	ng	%r0, -524289
1796	ng	%r0, 524288
1797
1798#CHECK: error: invalid operand
1799#CHECK: ni	-1, 0
1800#CHECK: error: invalid operand
1801#CHECK: ni	4096, 0
1802#CHECK: error: invalid use of indexed addressing
1803#CHECK: ni	0(%r1,%r2), 0
1804#CHECK: error: invalid operand
1805#CHECK: ni	0, -1
1806#CHECK: error: invalid operand
1807#CHECK: ni	0, 256
1808
1809	ni	-1, 0
1810	ni	4096, 0
1811	ni	0(%r1,%r2), 0
1812	ni	0, -1
1813	ni	0, 256
1814
1815#CHECK: error: invalid operand
1816#CHECK: nihf	%r0, -1
1817#CHECK: error: invalid operand
1818#CHECK: nihf	%r0, 1 << 32
1819
1820	nihf	%r0, -1
1821	nihf	%r0, 1 << 32
1822
1823#CHECK: error: invalid operand
1824#CHECK: nihh	%r0, -1
1825#CHECK: error: invalid operand
1826#CHECK: nihh	%r0, 0x10000
1827
1828	nihh	%r0, -1
1829	nihh	%r0, 0x10000
1830
1831#CHECK: error: invalid operand
1832#CHECK: nihl	%r0, -1
1833#CHECK: error: invalid operand
1834#CHECK: nihl	%r0, 0x10000
1835
1836	nihl	%r0, -1
1837	nihl	%r0, 0x10000
1838
1839#CHECK: error: invalid operand
1840#CHECK: nilf	%r0, -1
1841#CHECK: error: invalid operand
1842#CHECK: nilf	%r0, 1 << 32
1843
1844	nilf	%r0, -1
1845	nilf	%r0, 1 << 32
1846
1847#CHECK: error: invalid operand
1848#CHECK: nilh	%r0, -1
1849#CHECK: error: invalid operand
1850#CHECK: nilh	%r0, 0x10000
1851
1852	nilh	%r0, -1
1853	nilh	%r0, 0x10000
1854
1855#CHECK: error: invalid operand
1856#CHECK: nill	%r0, -1
1857#CHECK: error: invalid operand
1858#CHECK: nill	%r0, 0x10000
1859
1860	nill	%r0, -1
1861	nill	%r0, 0x10000
1862
1863#CHECK: error: invalid operand
1864#CHECK: niy	-524289, 0
1865#CHECK: error: invalid operand
1866#CHECK: niy	524288, 0
1867#CHECK: error: invalid use of indexed addressing
1868#CHECK: niy	0(%r1,%r2), 0
1869#CHECK: error: invalid operand
1870#CHECK: niy	0, -1
1871#CHECK: error: invalid operand
1872#CHECK: niy	0, 256
1873
1874	niy	-524289, 0
1875	niy	524288, 0
1876	niy	0(%r1,%r2), 0
1877	niy	0, -1
1878	niy	0, 256
1879
1880#CHECK: error: invalid operand
1881#CHECK: ny	%r0, -524289
1882#CHECK: error: invalid operand
1883#CHECK: ny	%r0, 524288
1884
1885	ny	%r0, -524289
1886	ny	%r0, 524288
1887
1888#CHECK: error: invalid operand
1889#CHECK: o	%r0, -1
1890#CHECK: error: invalid operand
1891#CHECK: o	%r0, 4096
1892
1893	o	%r0, -1
1894	o	%r0, 4096
1895
1896#CHECK: error: invalid operand
1897#CHECK: og	%r0, -524289
1898#CHECK: error: invalid operand
1899#CHECK: og	%r0, 524288
1900
1901	og	%r0, -524289
1902	og	%r0, 524288
1903
1904#CHECK: error: invalid operand
1905#CHECK: oi	-1, 0
1906#CHECK: error: invalid operand
1907#CHECK: oi	4096, 0
1908#CHECK: error: invalid use of indexed addressing
1909#CHECK: oi	0(%r1,%r2), 0
1910#CHECK: error: invalid operand
1911#CHECK: oi	0, -1
1912#CHECK: error: invalid operand
1913#CHECK: oi	0, 256
1914
1915	oi	-1, 0
1916	oi	4096, 0
1917	oi	0(%r1,%r2), 0
1918	oi	0, -1
1919	oi	0, 256
1920
1921#CHECK: error: invalid operand
1922#CHECK: oihf	%r0, -1
1923#CHECK: error: invalid operand
1924#CHECK: oihf	%r0, 1 << 32
1925
1926	oihf	%r0, -1
1927	oihf	%r0, 1 << 32
1928
1929#CHECK: error: invalid operand
1930#CHECK: oihh	%r0, -1
1931#CHECK: error: invalid operand
1932#CHECK: oihh	%r0, 0x10000
1933
1934	oihh	%r0, -1
1935	oihh	%r0, 0x10000
1936
1937#CHECK: error: invalid operand
1938#CHECK: oihl	%r0, -1
1939#CHECK: error: invalid operand
1940#CHECK: oihl	%r0, 0x10000
1941
1942	oihl	%r0, -1
1943	oihl	%r0, 0x10000
1944
1945#CHECK: error: invalid operand
1946#CHECK: oilf	%r0, -1
1947#CHECK: error: invalid operand
1948#CHECK: oilf	%r0, 1 << 32
1949
1950	oilf	%r0, -1
1951	oilf	%r0, 1 << 32
1952
1953#CHECK: error: invalid operand
1954#CHECK: oilh	%r0, -1
1955#CHECK: error: invalid operand
1956#CHECK: oilh	%r0, 0x10000
1957
1958	oilh	%r0, -1
1959	oilh	%r0, 0x10000
1960
1961#CHECK: error: invalid operand
1962#CHECK: oill	%r0, -1
1963#CHECK: error: invalid operand
1964#CHECK: oill	%r0, 0x10000
1965
1966	oill	%r0, -1
1967	oill	%r0, 0x10000
1968
1969#CHECK: error: invalid operand
1970#CHECK: oiy	-524289, 0
1971#CHECK: error: invalid operand
1972#CHECK: oiy	524288, 0
1973#CHECK: error: invalid use of indexed addressing
1974#CHECK: oiy	0(%r1,%r2), 0
1975#CHECK: error: invalid operand
1976#CHECK: oiy	0, -1
1977#CHECK: error: invalid operand
1978#CHECK: oiy	0, 256
1979
1980	oiy	-524289, 0
1981	oiy	524288, 0
1982	oiy	0(%r1,%r2), 0
1983	oiy	0, -1
1984	oiy	0, 256
1985
1986#CHECK: error: invalid operand
1987#CHECK: oy	%r0, -524289
1988#CHECK: error: invalid operand
1989#CHECK: oy	%r0, 524288
1990
1991	oy	%r0, -524289
1992	oy	%r0, 524288
1993
1994#CHECK: error: invalid operand
1995#CHECK: risbg	%r0,%r0,0,0,-1
1996#CHECK: error: invalid operand
1997#CHECK: risbg	%r0,%r0,0,0,64
1998#CHECK: error: invalid operand
1999#CHECK: risbg	%r0,%r0,0,-1,0
2000#CHECK: error: invalid operand
2001#CHECK: risbg	%r0,%r0,0,64,0
2002#CHECK: error: invalid operand
2003#CHECK: risbg	%r0,%r0,-1,0,0
2004#CHECK: error: invalid operand
2005#CHECK: risbg	%r0,%r0,64,0,0
2006
2007	risbg	%r0,%r0,0,0,-1
2008	risbg	%r0,%r0,0,0,64
2009	risbg	%r0,%r0,0,-1,0
2010	risbg	%r0,%r0,0,64,0
2011	risbg	%r0,%r0,-1,0,0
2012	risbg	%r0,%r0,64,0,0
2013
2014#CHECK: error: invalid operand
2015#CHECK: rll	%r0,%r0,-524289
2016#CHECK: error: invalid operand
2017#CHECK: rll	%r0,%r0,524288
2018#CHECK: error: %r0 used in an address
2019#CHECK: rll	%r0,%r0,0(%r0)
2020#CHECK: error: invalid use of indexed addressing
2021#CHECK: rll	%r0,%r0,0(%r1,%r2)
2022
2023	rll	%r0,%r0,-524289
2024	rll	%r0,%r0,524288
2025	rll	%r0,%r0,0(%r0)
2026	rll	%r0,%r0,0(%r1,%r2)
2027
2028#CHECK: error: invalid operand
2029#CHECK: rllg	%r0,%r0,-524289
2030#CHECK: error: invalid operand
2031#CHECK: rllg	%r0,%r0,524288
2032#CHECK: error: %r0 used in an address
2033#CHECK: rllg	%r0,%r0,0(%r0)
2034#CHECK: error: invalid use of indexed addressing
2035#CHECK: rllg	%r0,%r0,0(%r1,%r2)
2036
2037	rllg	%r0,%r0,-524289
2038	rllg	%r0,%r0,524288
2039	rllg	%r0,%r0,0(%r0)
2040	rllg	%r0,%r0,0(%r1,%r2)
2041
2042#CHECK: error: invalid operand
2043#CHECK: s	%r0, -1
2044#CHECK: error: invalid operand
2045#CHECK: s	%r0, 4096
2046
2047	s	%r0, -1
2048	s	%r0, 4096
2049
2050#CHECK: error: invalid operand
2051#CHECK: sdb	%f0, -1
2052#CHECK: error: invalid operand
2053#CHECK: sdb	%f0, 4096
2054
2055	sdb	%f0, -1
2056	sdb	%f0, 4096
2057
2058#CHECK: error: invalid operand
2059#CHECK: seb	%f0, -1
2060#CHECK: error: invalid operand
2061#CHECK: seb	%f0, 4096
2062
2063	seb	%f0, -1
2064	seb	%f0, 4096
2065
2066#CHECK: error: invalid operand
2067#CHECK: sg	%r0, -524289
2068#CHECK: error: invalid operand
2069#CHECK: sg	%r0, 524288
2070
2071	sg	%r0, -524289
2072	sg	%r0, 524288
2073
2074#CHECK: error: invalid operand
2075#CHECK: sgf	%r0, -524289
2076#CHECK: error: invalid operand
2077#CHECK: sgf	%r0, 524288
2078
2079	sgf	%r0, -524289
2080	sgf	%r0, 524288
2081
2082#CHECK: error: invalid operand
2083#CHECK: sh	%r0, -1
2084#CHECK: error: invalid operand
2085#CHECK: sh	%r0, 4096
2086
2087	sh	%r0, -1
2088	sh	%r0, 4096
2089
2090#CHECK: error: invalid operand
2091#CHECK: shy	%r0, -524289
2092#CHECK: error: invalid operand
2093#CHECK: shy	%r0, 524288
2094
2095	shy	%r0, -524289
2096	shy	%r0, 524288
2097
2098#CHECK: error: invalid operand
2099#CHECK: sl	%r0, -1
2100#CHECK: error: invalid operand
2101#CHECK: sl	%r0, 4096
2102
2103	sl	%r0, -1
2104	sl	%r0, 4096
2105
2106#CHECK: error: invalid operand
2107#CHECK: slb	%r0, -524289
2108#CHECK: error: invalid operand
2109#CHECK: slb	%r0, 524288
2110
2111	slb	%r0, -524289
2112	slb	%r0, 524288
2113
2114#CHECK: error: invalid operand
2115#CHECK: slbg	%r0, -524289
2116#CHECK: error: invalid operand
2117#CHECK: slbg	%r0, 524288
2118
2119	slbg	%r0, -524289
2120	slbg	%r0, 524288
2121
2122#CHECK: error: invalid operand
2123#CHECK: slfi	%r0, -1
2124#CHECK: error: invalid operand
2125#CHECK: slfi	%r0, (1 << 32)
2126
2127	slfi	%r0, -1
2128	slfi	%r0, (1 << 32)
2129
2130#CHECK: error: invalid operand
2131#CHECK: slg	%r0, -524289
2132#CHECK: error: invalid operand
2133#CHECK: slg	%r0, 524288
2134
2135	slg	%r0, -524289
2136	slg	%r0, 524288
2137
2138#CHECK: error: invalid operand
2139#CHECK: slgf	%r0, -524289
2140#CHECK: error: invalid operand
2141#CHECK: slgf	%r0, 524288
2142
2143	slgf	%r0, -524289
2144	slgf	%r0, 524288
2145
2146#CHECK: error: invalid operand
2147#CHECK: slgfi	%r0, -1
2148#CHECK: error: invalid operand
2149#CHECK: slgfi	%r0, (1 << 32)
2150
2151	slgfi	%r0, -1
2152	slgfi	%r0, (1 << 32)
2153
2154#CHECK: error: invalid operand
2155#CHECK: sll	%r0,-1
2156#CHECK: error: invalid operand
2157#CHECK: sll	%r0,4096
2158#CHECK: error: %r0 used in an address
2159#CHECK: sll	%r0,0(%r0)
2160#CHECK: error: invalid use of indexed addressing
2161#CHECK: sll	%r0,0(%r1,%r2)
2162
2163	sll	%r0,-1
2164	sll	%r0,4096
2165	sll	%r0,0(%r0)
2166	sll	%r0,0(%r1,%r2)
2167
2168#CHECK: error: invalid operand
2169#CHECK: sllg	%r0,%r0,-524289
2170#CHECK: error: invalid operand
2171#CHECK: sllg	%r0,%r0,524288
2172#CHECK: error: %r0 used in an address
2173#CHECK: sllg	%r0,%r0,0(%r0)
2174#CHECK: error: invalid use of indexed addressing
2175#CHECK: sllg	%r0,%r0,0(%r1,%r2)
2176
2177	sllg	%r0,%r0,-524289
2178	sllg	%r0,%r0,524288
2179	sllg	%r0,%r0,0(%r0)
2180	sllg	%r0,%r0,0(%r1,%r2)
2181
2182#CHECK: error: invalid operand
2183#CHECK: sly	%r0, -524289
2184#CHECK: error: invalid operand
2185#CHECK: sly	%r0, 524288
2186
2187	sly	%r0, -524289
2188	sly	%r0, 524288
2189
2190#CHECK: error: invalid operand
2191#CHECK: sqdb	%f0, -1
2192#CHECK: error: invalid operand
2193#CHECK: sqdb	%f0, 4096
2194
2195	sqdb	%f0, -1
2196	sqdb	%f0, 4096
2197
2198#CHECK: error: invalid operand
2199#CHECK: sqeb	%f0, -1
2200#CHECK: error: invalid operand
2201#CHECK: sqeb	%f0, 4096
2202
2203	sqeb	%f0, -1
2204	sqeb	%f0, 4096
2205
2206#CHECK: error: invalid register pair
2207#CHECK: sqxbr	%f0, %f2
2208#CHECK: error: invalid register pair
2209#CHECK: sqxbr	%f2, %f0
2210
2211	sqxbr	%f0, %f2
2212	sqxbr	%f2, %f0
2213
2214#CHECK: error: invalid operand
2215#CHECK: sra	%r0,-1
2216#CHECK: error: invalid operand
2217#CHECK: sra	%r0,4096
2218#CHECK: error: %r0 used in an address
2219#CHECK: sra	%r0,0(%r0)
2220#CHECK: error: invalid use of indexed addressing
2221#CHECK: sra	%r0,0(%r1,%r2)
2222
2223	sra	%r0,-1
2224	sra	%r0,4096
2225	sra	%r0,0(%r0)
2226	sra	%r0,0(%r1,%r2)
2227
2228#CHECK: error: invalid operand
2229#CHECK: srag	%r0,%r0,-524289
2230#CHECK: error: invalid operand
2231#CHECK: srag	%r0,%r0,524288
2232#CHECK: error: %r0 used in an address
2233#CHECK: srag	%r0,%r0,0(%r0)
2234#CHECK: error: invalid use of indexed addressing
2235#CHECK: srag	%r0,%r0,0(%r1,%r2)
2236
2237	srag	%r0,%r0,-524289
2238	srag	%r0,%r0,524288
2239	srag	%r0,%r0,0(%r0)
2240	srag	%r0,%r0,0(%r1,%r2)
2241
2242#CHECK: error: invalid operand
2243#CHECK: srl	%r0,-1
2244#CHECK: error: invalid operand
2245#CHECK: srl	%r0,4096
2246#CHECK: error: %r0 used in an address
2247#CHECK: srl	%r0,0(%r0)
2248#CHECK: error: invalid use of indexed addressing
2249#CHECK: srl	%r0,0(%r1,%r2)
2250
2251	srl	%r0,-1
2252	srl	%r0,4096
2253	srl	%r0,0(%r0)
2254	srl	%r0,0(%r1,%r2)
2255
2256#CHECK: error: invalid operand
2257#CHECK: srlg	%r0,%r0,-524289
2258#CHECK: error: invalid operand
2259#CHECK: srlg	%r0,%r0,524288
2260#CHECK: error: %r0 used in an address
2261#CHECK: srlg	%r0,%r0,0(%r0)
2262#CHECK: error: invalid use of indexed addressing
2263#CHECK: srlg	%r0,%r0,0(%r1,%r2)
2264
2265	srlg	%r0,%r0,-524289
2266	srlg	%r0,%r0,524288
2267	srlg	%r0,%r0,0(%r0)
2268	srlg	%r0,%r0,0(%r1,%r2)
2269
2270#CHECK: error: invalid operand
2271#CHECK: st	%r0, -1
2272#CHECK: error: invalid operand
2273#CHECK: st	%r0, 4096
2274
2275	st	%r0, -1
2276	st	%r0, 4096
2277
2278#CHECK: error: invalid operand
2279#CHECK: stc	%r0, -1
2280#CHECK: error: invalid operand
2281#CHECK: stc	%r0, 4096
2282
2283	stc	%r0, -1
2284	stc	%r0, 4096
2285
2286#CHECK: error: invalid operand
2287#CHECK: stcy	%r0, -524289
2288#CHECK: error: invalid operand
2289#CHECK: stcy	%r0, 524288
2290
2291	stcy	%r0, -524289
2292	stcy	%r0, 524288
2293
2294#CHECK: error: invalid operand
2295#CHECK: std	%f0, -1
2296#CHECK: error: invalid operand
2297#CHECK: std	%f0, 4096
2298
2299	std	%f0, -1
2300	std	%f0, 4096
2301
2302#CHECK: error: invalid operand
2303#CHECK: stdy	%f0, -524289
2304#CHECK: error: invalid operand
2305#CHECK: stdy	%f0, 524288
2306
2307	stdy	%f0, -524289
2308	stdy	%f0, 524288
2309
2310#CHECK: error: invalid operand
2311#CHECK: ste	%f0, -1
2312#CHECK: error: invalid operand
2313#CHECK: ste	%f0, 4096
2314
2315	ste	%f0, -1
2316	ste	%f0, 4096
2317
2318#CHECK: error: invalid operand
2319#CHECK: stey	%f0, -524289
2320#CHECK: error: invalid operand
2321#CHECK: stey	%f0, 524288
2322
2323	stey	%f0, -524289
2324	stey	%f0, 524288
2325
2326#CHECK: error: invalid operand
2327#CHECK: stg	%r0, -524289
2328#CHECK: error: invalid operand
2329#CHECK: stg	%r0, 524288
2330
2331	stg	%r0, -524289
2332	stg	%r0, 524288
2333
2334#CHECK: error: offset out of range
2335#CHECK: stgrl	%r0, -0x1000000002
2336#CHECK: error: offset out of range
2337#CHECK: stgrl	%r0, -1
2338#CHECK: error: offset out of range
2339#CHECK: stgrl	%r0, 1
2340#CHECK: error: offset out of range
2341#CHECK: stgrl	%r0, 0x100000000
2342
2343	stgrl	%r0, -0x1000000002
2344	stgrl	%r0, -1
2345	stgrl	%r0, 1
2346	stgrl	%r0, 0x100000000
2347
2348#CHECK: error: invalid operand
2349#CHECK: sth	%r0, -1
2350#CHECK: error: invalid operand
2351#CHECK: sth	%r0, 4096
2352
2353	sth	%r0, -1
2354	sth	%r0, 4096
2355
2356#CHECK: error: offset out of range
2357#CHECK: sthrl	%r0, -0x1000000002
2358#CHECK: error: offset out of range
2359#CHECK: sthrl	%r0, -1
2360#CHECK: error: offset out of range
2361#CHECK: sthrl	%r0, 1
2362#CHECK: error: offset out of range
2363#CHECK: sthrl	%r0, 0x100000000
2364
2365	sthrl	%r0, -0x1000000002
2366	sthrl	%r0, -1
2367	sthrl	%r0, 1
2368	sthrl	%r0, 0x100000000
2369
2370#CHECK: error: invalid operand
2371#CHECK: sthy	%r0, -524289
2372#CHECK: error: invalid operand
2373#CHECK: sthy	%r0, 524288
2374
2375	sthy	%r0, -524289
2376	sthy	%r0, 524288
2377
2378#CHECK: error: invalid operand
2379#CHECK: stmg	%r0, %r0, -524289
2380#CHECK: error: invalid operand
2381#CHECK: stmg	%r0, %r0, 524288
2382#CHECK: error: invalid use of indexed addressing
2383#CHECK: stmg	%r0, %r0, 0(%r1,%r2)
2384
2385	stmg	%r0, %r0, -524289
2386	stmg	%r0, %r0, 524288
2387	stmg	%r0, %r0, 0(%r1,%r2)
2388
2389#CHECK: error: offset out of range
2390#CHECK: strl	%r0, -0x1000000002
2391#CHECK: error: offset out of range
2392#CHECK: strl	%r0, -1
2393#CHECK: error: offset out of range
2394#CHECK: strl	%r0, 1
2395#CHECK: error: offset out of range
2396#CHECK: strl	%r0, 0x100000000
2397
2398	strl	%r0, -0x1000000002
2399	strl	%r0, -1
2400	strl	%r0, 1
2401	strl	%r0, 0x100000000
2402
2403#CHECK: error: invalid operand
2404#CHECK: strv	%r0, -524289
2405#CHECK: error: invalid operand
2406#CHECK: strv	%r0, 524288
2407
2408	strv	%r0, -524289
2409	strv	%r0, 524288
2410
2411#CHECK: error: invalid operand
2412#CHECK: strvg	%r0, -524289
2413#CHECK: error: invalid operand
2414#CHECK: strvg	%r0, 524288
2415
2416	strvg	%r0, -524289
2417	strvg	%r0, 524288
2418
2419#CHECK: error: invalid operand
2420#CHECK: sty	%r0, -524289
2421#CHECK: error: invalid operand
2422#CHECK: sty	%r0, 524288
2423
2424	sty	%r0, -524289
2425	sty	%r0, 524288
2426
2427#CHECK: error: invalid register pair
2428#CHECK: sxbr	%f0, %f2
2429#CHECK: error: invalid register pair
2430#CHECK: sxbr	%f2, %f0
2431
2432	sxbr	%f0, %f2
2433	sxbr	%f2, %f0
2434
2435#CHECK: error: invalid operand
2436#CHECK: sy	%r0, -524289
2437#CHECK: error: invalid operand
2438#CHECK: sy	%r0, 524288
2439
2440	sy	%r0, -524289
2441	sy	%r0, 524288
2442
2443#CHECK: error: invalid operand
2444#CHECK: x	%r0, -1
2445#CHECK: error: invalid operand
2446#CHECK: x	%r0, 4096
2447
2448	x	%r0, -1
2449	x	%r0, 4096
2450
2451#CHECK: error: invalid operand
2452#CHECK: xg	%r0, -524289
2453#CHECK: error: invalid operand
2454#CHECK: xg	%r0, 524288
2455
2456	xg	%r0, -524289
2457	xg	%r0, 524288
2458
2459#CHECK: error: invalid operand
2460#CHECK: xi	-1, 0
2461#CHECK: error: invalid operand
2462#CHECK: xi	4096, 0
2463#CHECK: error: invalid use of indexed addressing
2464#CHECK: xi	0(%r1,%r2), 0
2465#CHECK: error: invalid operand
2466#CHECK: xi	0, -1
2467#CHECK: error: invalid operand
2468#CHECK: xi	0, 256
2469
2470	xi	-1, 0
2471	xi	4096, 0
2472	xi	0(%r1,%r2), 0
2473	xi	0, -1
2474	xi	0, 256
2475
2476#CHECK: error: invalid operand
2477#CHECK: xihf	%r0, -1
2478#CHECK: error: invalid operand
2479#CHECK: xihf	%r0, 1 << 32
2480
2481	xihf	%r0, -1
2482	xihf	%r0, 1 << 32
2483
2484#CHECK: error: invalid operand
2485#CHECK: xilf	%r0, -1
2486#CHECK: error: invalid operand
2487#CHECK: xilf	%r0, 1 << 32
2488
2489	xilf	%r0, -1
2490	xilf	%r0, 1 << 32
2491
2492#CHECK: error: invalid operand
2493#CHECK: xiy	-524289, 0
2494#CHECK: error: invalid operand
2495#CHECK: xiy	524288, 0
2496#CHECK: error: invalid use of indexed addressing
2497#CHECK: xiy	0(%r1,%r2), 0
2498#CHECK: error: invalid operand
2499#CHECK: xiy	0, -1
2500#CHECK: error: invalid operand
2501#CHECK: xiy	0, 256
2502
2503	xiy	-524289, 0
2504	xiy	524288, 0
2505	xiy	0(%r1,%r2), 0
2506	xiy	0, -1
2507	xiy	0, 256
2508
2509#CHECK: error: invalid operand
2510#CHECK: xy	%r0, -524289
2511#CHECK: error: invalid operand
2512#CHECK: xy	%r0, 524288
2513
2514	xy	%r0, -524289
2515	xy	%r0, 524288
2516