1# For z10 only.
2# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z10 < %s 2> %t
3# RUN: FileCheck < %t %s
4# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=arch8 < %s 2> %t
5# RUN: FileCheck < %t %s
6
7#CHECK: error: invalid operand
8#CHECK: a	%r0, -1
9#CHECK: error: invalid operand
10#CHECK: a	%r0, 4096
11
12	a	%r0, -1
13	a	%r0, 4096
14
15#CHECK: error: invalid operand
16#CHECK: ad	%f0, -1
17#CHECK: error: invalid operand
18#CHECK: ad	%f0, 4096
19
20	ad	%f0, -1
21	ad	%f0, 4096
22
23#CHECK: error: invalid operand
24#CHECK: adb	%f0, -1
25#CHECK: error: invalid operand
26#CHECK: adb	%f0, 4096
27
28	adb	%f0, -1
29	adb	%f0, 4096
30
31#CHECK: error: instruction requires: fp-extension
32#CHECK: adtra	%f0, %f0, %f0, 0
33
34	adtra	%f0, %f0, %f0, 0
35
36#CHECK: error: invalid operand
37#CHECK: ae	%f0, -1
38#CHECK: error: invalid operand
39#CHECK: ae	%f0, 4096
40
41	ae	%f0, -1
42	ae	%f0, 4096
43
44#CHECK: error: invalid operand
45#CHECK: aeb	%f0, -1
46#CHECK: error: invalid operand
47#CHECK: aeb	%f0, 4096
48
49	aeb	%f0, -1
50	aeb	%f0, 4096
51
52#CHECK: error: invalid operand
53#CHECK: afi	%r0, (-1 << 31) - 1
54#CHECK: error: invalid operand
55#CHECK: afi	%r0, (1 << 31)
56
57	afi	%r0, (-1 << 31) - 1
58	afi	%r0, (1 << 31)
59
60#CHECK: error: invalid operand
61#CHECK: ag	%r0, -524289
62#CHECK: error: invalid operand
63#CHECK: ag	%r0, 524288
64
65	ag	%r0, -524289
66	ag	%r0, 524288
67
68#CHECK: error: invalid operand
69#CHECK: agf	%r0, -524289
70#CHECK: error: invalid operand
71#CHECK: agf	%r0, 524288
72
73	agf	%r0, -524289
74	agf	%r0, 524288
75
76#CHECK: error: invalid operand
77#CHECK: agfi	%r0, (-1 << 31) - 1
78#CHECK: error: invalid operand
79#CHECK: agfi	%r0, (1 << 31)
80
81	agfi	%r0, (-1 << 31) - 1
82	agfi	%r0, (1 << 31)
83
84#CHECK: error: invalid operand
85#CHECK: aghi	%r0, -32769
86#CHECK: error: invalid operand
87#CHECK: aghi	%r0, 32768
88#CHECK: error: invalid operand
89#CHECK: aghi	%r0, foo
90
91	aghi	%r0, -32769
92	aghi	%r0, 32768
93	aghi	%r0, foo
94
95#CHECK: error: instruction requires: distinct-ops
96#CHECK: aghik	%r1, %r2, 3
97
98	aghik	%r1, %r2, 3
99
100#CHECK: error: instruction requires: distinct-ops
101#CHECK: agrk	%r2,%r3,%r4
102
103	agrk	%r2,%r3,%r4
104
105#CHECK: error: invalid operand
106#CHECK: agsi	-524289, 0
107#CHECK: error: invalid operand
108#CHECK: agsi	524288, 0
109#CHECK: error: invalid use of indexed addressing
110#CHECK: agsi	0(%r1,%r2), 0
111#CHECK: error: invalid operand
112#CHECK: agsi	0, -129
113#CHECK: error: invalid operand
114#CHECK: agsi	0, 128
115
116	agsi	-524289, 0
117	agsi	524288, 0
118	agsi	0(%r1,%r2), 0
119	agsi	0, -129
120	agsi	0, 128
121
122#CHECK: error: invalid operand
123#CHECK: ah	%r0, -1
124#CHECK: error: invalid operand
125#CHECK: ah	%r0, 4096
126
127	ah	%r0, -1
128	ah	%r0, 4096
129
130#CHECK: error: instruction requires: high-word
131#CHECK: ahhhr	%r0, %r0, %r0
132
133	ahhhr	%r0, %r0, %r0
134
135#CHECK: error: instruction requires: high-word
136#CHECK: ahhlr	%r0, %r0, %r0
137
138	ahhlr	%r0, %r0, %r0
139
140#CHECK: error: invalid operand
141#CHECK: ahi	%r0, -32769
142#CHECK: error: invalid operand
143#CHECK: ahi	%r0, 32768
144#CHECK: error: invalid operand
145#CHECK: ahi	%r0, foo
146
147	ahi	%r0, -32769
148	ahi	%r0, 32768
149	ahi	%r0, foo
150
151#CHECK: error: instruction requires: distinct-ops
152#CHECK: ahik	%r1, %r2, 3
153
154	ahik	%r1, %r2, 3
155
156#CHECK: error: invalid operand
157#CHECK: ahy	%r0, -524289
158#CHECK: error: invalid operand
159#CHECK: ahy	%r0, 524288
160
161	ahy	%r0, -524289
162	ahy	%r0, 524288
163
164#CHECK: error: instruction requires: high-word
165#CHECK: aih	%r0, 0
166
167	aih	%r0, 0
168
169#CHECK: error: invalid operand
170#CHECK: al	%r0, -1
171#CHECK: error: invalid operand
172#CHECK: al	%r0, 4096
173
174	al	%r0, -1
175	al	%r0, 4096
176
177#CHECK: error: invalid operand
178#CHECK: alc	%r0, -524289
179#CHECK: error: invalid operand
180#CHECK: alc	%r0, 524288
181
182	alc	%r0, -524289
183	alc	%r0, 524288
184
185#CHECK: error: invalid operand
186#CHECK: alcg	%r0, -524289
187#CHECK: error: invalid operand
188#CHECK: alcg	%r0, 524288
189
190	alcg	%r0, -524289
191	alcg	%r0, 524288
192
193#CHECK: error: invalid operand
194#CHECK: alfi	%r0, -1
195#CHECK: error: invalid operand
196#CHECK: alfi	%r0, (1 << 32)
197
198	alfi	%r0, -1
199	alfi	%r0, (1 << 32)
200
201#CHECK: error: invalid operand
202#CHECK: alg	%r0, -524289
203#CHECK: error: invalid operand
204#CHECK: alg	%r0, 524288
205
206	alg	%r0, -524289
207	alg	%r0, 524288
208
209#CHECK: error: invalid operand
210#CHECK: algf	%r0, -524289
211#CHECK: error: invalid operand
212#CHECK: algf	%r0, 524288
213
214	algf	%r0, -524289
215	algf	%r0, 524288
216
217#CHECK: error: invalid operand
218#CHECK: algfi	%r0, -1
219#CHECK: error: invalid operand
220#CHECK: algfi	%r0, (1 << 32)
221
222	algfi	%r0, -1
223	algfi	%r0, (1 << 32)
224
225#CHECK: error: instruction requires: distinct-ops
226#CHECK: alghsik	%r1, %r2, 3
227
228	alghsik	%r1, %r2, 3
229
230#CHECK: error: instruction requires: distinct-ops
231#CHECK: algrk	%r2,%r3,%r4
232
233	algrk	%r2,%r3,%r4
234
235#CHECK: error: instruction requires: high-word
236#CHECK: alhhhr	%r0, %r0, %r0
237
238	alhhhr	%r0, %r0, %r0
239
240#CHECK: error: instruction requires: high-word
241#CHECK: alhhlr	%r0, %r0, %r0
242
243	alhhlr	%r0, %r0, %r0
244
245#CHECK: error: instruction requires: distinct-ops
246#CHECK: alhsik	%r1, %r2, 3
247
248	alhsik	%r1, %r2, 3
249
250#CHECK: error: instruction requires: distinct-ops
251#CHECK: alrk	%r2,%r3,%r4
252
253	alrk	%r2,%r3,%r4
254
255#CHECK: error: invalid operand
256#CHECK: algsi	-524289, 0
257#CHECK: error: invalid operand
258#CHECK: algsi	524288, 0
259#CHECK: error: invalid use of indexed addressing
260#CHECK: algsi	0(%r1,%r2), 0
261#CHECK: error: invalid operand
262#CHECK: algsi	0, -129
263#CHECK: error: invalid operand
264#CHECK: algsi	0, 128
265
266	algsi	-524289, 0
267	algsi	524288, 0
268	algsi	0(%r1,%r2), 0
269	algsi	0, -129
270	algsi	0, 128
271
272#CHECK: error: invalid operand
273#CHECK: alsi	-524289, 0
274#CHECK: error: invalid operand
275#CHECK: alsi	524288, 0
276#CHECK: error: invalid use of indexed addressing
277#CHECK: alsi	0(%r1,%r2), 0
278#CHECK: error: invalid operand
279#CHECK: alsi	0, -129
280#CHECK: error: invalid operand
281#CHECK: alsi	0, 128
282
283	alsi	-524289, 0
284	alsi	524288, 0
285	alsi	0(%r1,%r2), 0
286	alsi	0, -129
287	alsi	0, 128
288
289#CHECK: error: instruction requires: high-word
290#CHECK: alsih	%r0, 0
291
292	alsih	%r0, 0
293
294#CHECK: error: instruction requires: high-word
295#CHECK: alsihn	%r0, 0
296
297	alsihn	%r0, 0
298
299#CHECK: error: invalid operand
300#CHECK: aly	%r0, -524289
301#CHECK: error: invalid operand
302#CHECK: aly	%r0, 524288
303
304	aly	%r0, -524289
305	aly	%r0, 524288
306
307#CHECK: error: missing length in address
308#CHECK: ap	0, 0(1)
309#CHECK: error: missing length in address
310#CHECK: ap	0(1), 0
311#CHECK: error: missing length in address
312#CHECK: ap	0(%r1), 0(1,%r1)
313#CHECK: error: missing length in address
314#CHECK: ap	0(1,%r1), 0(%r1)
315#CHECK: error: invalid operand
316#CHECK: ap	0(0,%r1), 0(1,%r1)
317#CHECK: error: invalid operand
318#CHECK: ap	0(1,%r1), 0(0,%r1)
319#CHECK: error: invalid operand
320#CHECK: ap	0(17,%r1), 0(1,%r1)
321#CHECK: error: invalid operand
322#CHECK: ap	0(1,%r1), 0(17,%r1)
323#CHECK: error: invalid operand
324#CHECK: ap	-1(1,%r1), 0(1,%r1)
325#CHECK: error: invalid operand
326#CHECK: ap	4096(1,%r1), 0(1,%r1)
327#CHECK: error: invalid operand
328#CHECK: ap	0(1,%r1), -1(1,%r1)
329#CHECK: error: invalid operand
330#CHECK: ap	0(1,%r1), 4096(1,%r1)
331#CHECK: error: %r0 used in an address
332#CHECK: ap	0(1,%r0), 0(1,%r1)
333#CHECK: error: %r0 used in an address
334#CHECK: ap	0(1,%r1), 0(1,%r0)
335#CHECK: error: invalid use of indexed addressing
336#CHECK: ap	0(%r1,%r2), 0(1,%r1)
337#CHECK: error: invalid use of indexed addressing
338#CHECK: ap	0(1,%r2), 0(%r1,%r2)
339#CHECK: error: unknown token in expression
340#CHECK: ap	0(-), 0(1)
341
342	ap	0, 0(1)
343	ap	0(1), 0
344	ap	0(%r1), 0(1,%r1)
345	ap	0(1,%r1), 0(%r1)
346	ap	0(0,%r1), 0(1,%r1)
347	ap	0(1,%r1), 0(0,%r1)
348	ap	0(17,%r1), 0(1,%r1)
349	ap	0(1,%r1), 0(17,%r1)
350	ap	-1(1,%r1), 0(1,%r1)
351	ap	4096(1,%r1), 0(1,%r1)
352	ap	0(1,%r1), -1(1,%r1)
353	ap	0(1,%r1), 4096(1,%r1)
354	ap	0(1,%r0), 0(1,%r1)
355	ap	0(1,%r1), 0(1,%r0)
356	ap	0(%r1,%r2), 0(1,%r1)
357	ap	0(1,%r2), 0(%r1,%r2)
358	ap	0(-), 0(1)
359
360#CHECK: error: instruction requires: distinct-ops
361#CHECK: ark	%r2,%r3,%r4
362
363	ark	%r2,%r3,%r4
364
365#CHECK: error: invalid operand
366#CHECK: asi	-524289, 0
367#CHECK: error: invalid operand
368#CHECK: asi	524288, 0
369#CHECK: error: invalid use of indexed addressing
370#CHECK: asi	0(%r1,%r2), 0
371#CHECK: error: invalid operand
372#CHECK: asi	0, -129
373#CHECK: error: invalid operand
374#CHECK: asi	0, 128
375
376	asi	-524289, 0
377	asi	524288, 0
378	asi	0(%r1,%r2), 0
379	asi	0, -129
380	asi	0, 128
381
382#CHECK: error: invalid operand
383#CHECK: au	%f0, -1
384#CHECK: error: invalid operand
385#CHECK: au	%f0, 4096
386
387	au	%f0, -1
388	au	%f0, 4096
389
390#CHECK: error: invalid operand
391#CHECK: aw	%f0, -1
392#CHECK: error: invalid operand
393#CHECK: aw	%f0, 4096
394
395	aw	%f0, -1
396	aw	%f0, 4096
397
398#CHECK: error: invalid register pair
399#CHECK: axbr	%f0, %f2
400#CHECK: error: invalid register pair
401#CHECK: axbr	%f2, %f0
402
403	axbr	%f0, %f2
404	axbr	%f2, %f0
405
406#CHECK: error: invalid register pair
407#CHECK: axr	%f0, %f2
408#CHECK: error: invalid register pair
409#CHECK: axr	%f2, %f0
410
411	axr	%f0, %f2
412	axr	%f2, %f0
413
414#CHECK: error: invalid register pair
415#CHECK: axtr	%f0, %f0, %f2
416#CHECK: error: invalid register pair
417#CHECK: axtr	%f0, %f2, %f0
418#CHECK: error: invalid register pair
419#CHECK: axtr	%f2, %f0, %f0
420
421	axtr	%f0, %f0, %f2
422	axtr	%f0, %f2, %f0
423	axtr	%f2, %f0, %f0
424
425#CHECK: error: instruction requires: fp-extension
426#CHECK: axtra	%f0, %f0, %f0, 0
427
428	axtra	%f0, %f0, %f0, 0
429
430#CHECK: error: invalid operand
431#CHECK: ay	%r0, -524289
432#CHECK: error: invalid operand
433#CHECK: ay	%r0, 524288
434
435	ay	%r0, -524289
436	ay	%r0, 524288
437
438#CHECK: error: invalid operand
439#CHECK: bal	%r0, -1
440#CHECK: error: invalid operand
441#CHECK: bal	%r0, 4096
442
443	bal	%r0, -1
444	bal	%r0, 4096
445
446#CHECK: error: invalid operand
447#CHECK: bas	%r0, -1
448#CHECK: error: invalid operand
449#CHECK: bas	%r0, 4096
450
451	bas	%r0, -1
452	bas	%r0, 4096
453
454#CHECK: error: invalid operand
455#CHECK: bc	-1, 0(%r1)
456#CHECK: error: invalid operand
457#CHECK: bc	16, 0(%r1)
458#CHECK: error: invalid operand
459#CHECK: bc	0, -1
460#CHECK: error: invalid operand
461#CHECK: bc	0, 4096
462
463	bc	-1, 0(%r1)
464	bc	16, 0(%r1)
465	bc	0, -1
466	bc	0, 4096
467
468#CHECK: error: invalid operand
469#CHECK: bcr	-1, %r1
470#CHECK: error: invalid operand
471#CHECK: bcr	16, %r1
472
473	bcr	-1, %r1
474	bcr	16, %r1
475
476#CHECK: error: invalid operand
477#CHECK: bct	%r0, -1
478#CHECK: error: invalid operand
479#CHECK: bct	%r0, 4096
480
481	bct	%r0, -1
482	bct	%r0, 4096
483
484#CHECK: error: invalid operand
485#CHECK: bctg	%r0, -524289
486#CHECK: error: invalid operand
487#CHECK: bctg	%r0, 524288
488
489	bctg	%r0, -524289
490	bctg	%r0, 524288
491
492#CHECK: error: offset out of range
493#CHECK: bras	%r0, -0x100002
494#CHECK: error: offset out of range
495#CHECK: bras	%r0, -1
496#CHECK: error: offset out of range
497#CHECK: bras	%r0, 1
498#CHECK: error: offset out of range
499#CHECK: bras	%r0, 0x10000
500
501	bras	%r0, -0x100002
502	bras	%r0, -1
503	bras	%r0, 1
504	bras	%r0, 0x10000
505
506#CHECK: error: offset out of range
507#CHECK: brasl	%r0, -0x1000000002
508#CHECK: error: offset out of range
509#CHECK: brasl	%r0, -1
510#CHECK: error: offset out of range
511#CHECK: brasl	%r0, 1
512#CHECK: error: offset out of range
513#CHECK: brasl	%r0, 0x100000000
514
515	brasl	%r0, -0x1000000002
516	brasl	%r0, -1
517	brasl	%r0, 1
518	brasl	%r0, 0x100000000
519
520#CHECK: error: offset out of range
521#CHECK: brc	0, -0x100002
522#CHECK: error: offset out of range
523#CHECK: brc	0, -1
524#CHECK: error: offset out of range
525#CHECK: brc	0, 1
526#CHECK: error: offset out of range
527#CHECK: brc	0, 0x10000
528
529	brc	0, -0x100002
530	brc	0, -1
531	brc	0, 1
532	brc	0, 0x10000
533
534#CHECK: error: invalid operand
535#CHECK: brc	foo, bar
536#CHECK: error: invalid operand
537#CHECK: brc	-1, bar
538#CHECK: error: invalid operand
539#CHECK: brc	16, bar
540
541	brc	foo, bar
542	brc	-1, bar
543	brc	16, bar
544
545#CHECK: error: offset out of range
546#CHECK: brcl	0, -0x1000000002
547#CHECK: error: offset out of range
548#CHECK: brcl	0, -1
549#CHECK: error: offset out of range
550#CHECK: brcl	0, 1
551#CHECK: error: offset out of range
552#CHECK: brcl	0, 0x100000000
553
554	brcl	0, -0x1000000002
555	brcl	0, -1
556	brcl	0, 1
557	brcl	0, 0x100000000
558
559#CHECK: error: invalid operand
560#CHECK: brcl	foo, bar
561#CHECK: error: invalid operand
562#CHECK: brcl	-1, bar
563#CHECK: error: invalid operand
564#CHECK: brcl	16, bar
565
566	brcl	foo, bar
567	brcl	-1, bar
568	brcl	16, bar
569
570#CHECK: error: offset out of range
571#CHECK: brct	%r0, -0x100002
572#CHECK: error: offset out of range
573#CHECK: brct	%r0, -1
574#CHECK: error: offset out of range
575#CHECK: brct	%r0, 1
576#CHECK: error: offset out of range
577#CHECK: brct	%r0, 0x10000
578
579	brct	%r0, -0x100002
580	brct	%r0, -1
581	brct	%r0, 1
582	brct	%r0, 0x10000
583
584#CHECK: error: offset out of range
585#CHECK: brctg	%r0, -0x100002
586#CHECK: error: offset out of range
587#CHECK: brctg	%r0, -1
588#CHECK: error: offset out of range
589#CHECK: brctg	%r0, 1
590#CHECK: error: offset out of range
591#CHECK: brctg	%r0, 0x10000
592
593	brctg	%r0, -0x100002
594	brctg	%r0, -1
595	brctg	%r0, 1
596	brctg	%r0, 0x10000
597
598#CHECK: error: instruction requires: high-word
599#CHECK: brcth	%r0, 0
600
601	brcth	%r0, 0
602
603#CHECK: error: offset out of range
604#CHECK: brxh	%r0, %r2, -0x100002
605#CHECK: error: offset out of range
606#CHECK: brxh	%r0, %r2, -1
607#CHECK: error: offset out of range
608#CHECK: brxh	%r0, %r2, 1
609#CHECK: error: offset out of range
610#CHECK: brxh	%r0, %r2, 0x10000
611
612	brxh	%r0, %r2, -0x100002
613	brxh	%r0, %r2, -1
614	brxh	%r0, %r2, 1
615	brxh	%r0, %r2, 0x10000
616
617#CHECK: error: offset out of range
618#CHECK: brxhg	%r0, %r2, -0x100002
619#CHECK: error: offset out of range
620#CHECK: brxhg	%r0, %r2, -1
621#CHECK: error: offset out of range
622#CHECK: brxhg	%r0, %r2, 1
623#CHECK: error: offset out of range
624#CHECK: brxhg	%r0, %r2, 0x10000
625
626	brxhg	%r0, %r2, -0x100002
627	brxhg	%r0, %r2, -1
628	brxhg	%r0, %r2, 1
629	brxhg	%r0, %r2, 0x10000
630
631#CHECK: error: offset out of range
632#CHECK: brxle	%r0, %r2, -0x100002
633#CHECK: error: offset out of range
634#CHECK: brxle	%r0, %r2, -1
635#CHECK: error: offset out of range
636#CHECK: brxle	%r0, %r2, 1
637#CHECK: error: offset out of range
638#CHECK: brxle	%r0, %r2, 0x10000
639
640	brxle	%r0, %r2, -0x100002
641	brxle	%r0, %r2, -1
642	brxle	%r0, %r2, 1
643	brxle	%r0, %r2, 0x10000
644
645#CHECK: error: offset out of range
646#CHECK: brxlg	%r0, %r2, -0x100002
647#CHECK: error: offset out of range
648#CHECK: brxlg	%r0, %r2, -1
649#CHECK: error: offset out of range
650#CHECK: brxlg	%r0, %r2, 1
651#CHECK: error: offset out of range
652#CHECK: brxlg	%r0, %r2, 0x10000
653
654	brxlg	%r0, %r2, -0x100002
655	brxlg	%r0, %r2, -1
656	brxlg	%r0, %r2, 1
657	brxlg	%r0, %r2, 0x10000
658
659#CHECK: error: invalid operand
660#CHECK: bxh	%r0, %r0, 4096
661#CHECK: error: invalid use of indexed addressing
662#CHECK: bxh	%r0, %r0, 0(%r1,%r2)
663
664	bxh	%r0, %r0, 4096
665	bxh	%r0, %r0, 0(%r1,%r2)
666
667#CHECK: error: invalid operand
668#CHECK: bxhg	%r0, %r0, -524289
669#CHECK: error: invalid operand
670#CHECK: bxhg	%r0, %r0, 524288
671#CHECK: error: invalid use of indexed addressing
672#CHECK: bxhg	%r0, %r0, 0(%r1,%r2)
673
674	bxhg	%r0, %r0, -524289
675	bxhg	%r0, %r0, 524288
676	bxhg	%r0, %r0, 0(%r1,%r2)
677
678#CHECK: error: invalid operand
679#CHECK: bxle	%r0, %r0, 4096
680#CHECK: error: invalid use of indexed addressing
681#CHECK: bxle	%r0, %r0, 0(%r1,%r2)
682
683	bxle	%r0, %r0, 4096
684	bxle	%r0, %r0, 0(%r1,%r2)
685
686#CHECK: error: invalid operand
687#CHECK: bxleg	%r0, %r0, -524289
688#CHECK: error: invalid operand
689#CHECK: bxleg	%r0, %r0, 524288
690#CHECK: error: invalid use of indexed addressing
691#CHECK: bxleg	%r0, %r0, 0(%r1,%r2)
692
693	bxleg	%r0, %r0, -524289
694	bxleg	%r0, %r0, 524288
695	bxleg	%r0, %r0, 0(%r1,%r2)
696
697#CHECK: error: invalid operand
698#CHECK: c	%r0, -1
699#CHECK: error: invalid operand
700#CHECK: c	%r0, 4096
701
702	c	%r0, -1
703	c	%r0, 4096
704
705#CHECK: error: invalid operand
706#CHECK: cd	%f0, -1
707#CHECK: error: invalid operand
708#CHECK: cd	%f0, 4096
709
710	cd	%f0, -1
711	cd	%f0, 4096
712
713#CHECK: error: invalid operand
714#CHECK: cdb	%f0, -1
715#CHECK: error: invalid operand
716#CHECK: cdb	%f0, 4096
717
718	cdb	%f0, -1
719	cdb	%f0, 4096
720
721#CHECK: error: instruction requires: fp-extension
722#CHECK: cdfbra	%f0, 0, %r0, 0
723
724	cdfbra	%f0, 0, %r0, 0
725
726#CHECK: error: instruction requires: fp-extension
727#CHECK: cdftr	%f0, 0, %r0, 0
728
729	cdftr	%f0, 0, %r0, 0
730
731#CHECK: error: instruction requires: fp-extension
732#CHECK: cdgbra	%f0, 0, %r0, 0
733
734	cdgbra	%f0, 0, %r0, 0
735
736#CHECK: error: instruction requires: fp-extension
737#CHECK: cdgtra	%f0, 0, %r0, 0
738
739	cdgtra	%f0, 0, %r0, 0
740
741#CHECK: error: instruction requires: fp-extension
742#CHECK: cdlfbr	%f0, 0, %r0, 0
743
744	cdlfbr	%f0, 0, %r0, 0
745
746#CHECK: error: instruction requires: fp-extension
747#CHECK: cdlftr	%f0, 0, %r0, 0
748
749	cdlftr	%f0, 0, %r0, 0
750
751#CHECK: error: instruction requires: fp-extension
752#CHECK: cdlgbr	%f0, 0, %r0, 0
753
754	cdlgbr	%f0, 0, %r0, 0
755
756#CHECK: error: instruction requires: fp-extension
757#CHECK: cdlgtr	%f0, 0, %r0, 0
758
759	cdlgtr	%f0, 0, %r0, 0
760
761#CHECK: error: invalid register pair
762#CHECK: cds	%r1, %r0, 0
763#CHECK: error: invalid register pair
764#CHECK: cds	%r0, %r1, 0
765#CHECK: error: invalid operand
766#CHECK: cds	%r0, %r0, -1
767#CHECK: error: invalid operand
768#CHECK: cds	%r0, %r0, 4096
769#CHECK: error: invalid use of indexed addressing
770#CHECK: cds	%r0, %r0, 0(%r1,%r2)
771
772	cds	%r1, %r0, 0
773	cds	%r0, %r1, 0
774	cds	%r0, %r0, -1
775	cds	%r0, %r0, 4096
776	cds	%r0, %r0, 0(%r1,%r2)
777
778#CHECK: error: invalid register pair
779#CHECK: cdsg	%r1, %r0, 0
780#CHECK: error: invalid register pair
781#CHECK: cdsg	%r0, %r1, 0
782#CHECK: error: invalid operand
783#CHECK: cdsg	%r0, %r0, -524289
784#CHECK: error: invalid operand
785#CHECK: cdsg	%r0, %r0, 524288
786#CHECK: error: invalid use of indexed addressing
787#CHECK: cdsg	%r0, %r0, 0(%r1,%r2)
788
789	cdsg	%r1, %r0, 0
790	cdsg	%r0, %r1, 0
791	cdsg	%r0, %r0, -524289
792	cdsg	%r0, %r0, 524288
793	cdsg	%r0, %r0, 0(%r1,%r2)
794
795#CHECK: error: invalid register pair
796#CHECK: cdsy	%r1, %r0, 0
797#CHECK: error: invalid register pair
798#CHECK: cdsy	%r0, %r1, 0
799#CHECK: error: invalid operand
800#CHECK: cdsy	%r0, %r0, -524289
801#CHECK: error: invalid operand
802#CHECK: cdsy	%r0, %r0, 524288
803#CHECK: error: invalid use of indexed addressing
804#CHECK: cdsy	%r0, %r0, 0(%r1,%r2)
805
806	cdsy	%r1, %r0, 0
807	cdsy	%r0, %r1, 0
808	cdsy	%r0, %r0, -524289
809	cdsy	%r0, %r0, 524288
810	cdsy	%r0, %r0, 0(%r1,%r2)
811
812#CHECK: error: invalid operand
813#CHECK: ce	%f0, -1
814#CHECK: error: invalid operand
815#CHECK: ce	%f0, 4096
816
817	ce	%f0, -1
818	ce	%f0, 4096
819
820#CHECK: error: invalid operand
821#CHECK: ceb	%f0, -1
822#CHECK: error: invalid operand
823#CHECK: ceb	%f0, 4096
824
825	ceb	%f0, -1
826	ceb	%f0, 4096
827
828#CHECK: error: instruction requires: fp-extension
829#CHECK: cefbra	%f0, 0, %r0, 0
830
831	cefbra	%f0, 0, %r0, 0
832
833#CHECK: error: instruction requires: fp-extension
834#CHECK: cegbra	%f0, 0, %r0, 0
835
836	cegbra	%f0, 0, %r0, 0
837
838#CHECK: error: instruction requires: fp-extension
839#CHECK: celfbr	%f0, 0, %r0, 0
840
841	celfbr	%f0, 0, %r0, 0
842
843#CHECK: error: instruction requires: fp-extension
844#CHECK: celgbr	%f0, 0, %r0, 0
845
846	celgbr	%f0, 0, %r0, 0
847
848#CHECK: error: invalid register pair
849#CHECK: cextr	%f0, %f2
850#CHECK: error: invalid register pair
851#CHECK: cextr	%f2, %f0
852
853	cextr	%f0, %f2
854	cextr	%f2, %f0
855
856#CHECK: error: invalid operand
857#CHECK: cfc	-1
858#CHECK: error: invalid operand
859#CHECK: cfc	4096
860#CHECK: error: invalid use of indexed addressing
861#CHECK: cfc	0(%r1,%r2)
862
863	cfc	-1
864	cfc	4096
865	cfc	0(%r1,%r2)
866
867#CHECK: error: invalid operand
868#CHECK: cfdbr	%r0, -1, %f0
869#CHECK: error: invalid operand
870#CHECK: cfdbr	%r0, 16, %f0
871
872	cfdbr	%r0, -1, %f0
873	cfdbr	%r0, 16, %f0
874
875#CHECK: error: instruction requires: fp-extension
876#CHECK: cfdbra	%r0, 0, %f0, 0
877
878	cfdbra	%r0, 0, %f0, 0
879
880#CHECK: error: instruction requires: fp-extension
881#CHECK: cfdtr	%r0, 0, %f0, 0
882
883	cfdtr	%r0, 0, %f0, 0
884
885#CHECK: error: invalid operand
886#CHECK: cfebr	%r0, -1, %f0
887#CHECK: error: invalid operand
888#CHECK: cfebr	%r0, 16, %f0
889
890	cfebr	%r0, -1, %f0
891	cfebr	%r0, 16, %f0
892
893#CHECK: error: instruction requires: fp-extension
894#CHECK: cfebra	%r0, 0, %f0, 0
895
896	cfebra	%r0, 0, %f0, 0
897
898#CHECK: error: invalid operand
899#CHECK: cfi	%r0, (-1 << 31) - 1
900#CHECK: error: invalid operand
901#CHECK: cfi	%r0, (1 << 31)
902
903	cfi	%r0, (-1 << 31) - 1
904	cfi	%r0, (1 << 31)
905
906#CHECK: error: invalid operand
907#CHECK: cfxbr	%r0, -1, %f0
908#CHECK: error: invalid operand
909#CHECK: cfxbr	%r0, 16, %f0
910#CHECK: error: invalid register pair
911#CHECK: cfxbr	%r0, 0, %f2
912
913	cfxbr	%r0, -1, %f0
914	cfxbr	%r0, 16, %f0
915	cfxbr	%r0, 0, %f2
916
917#CHECK: error: instruction requires: fp-extension
918#CHECK: cfxbra	%r0, 0, %f0, 0
919
920	cfxbra	%r0, 0, %f0, 0
921
922#CHECK: error: instruction requires: fp-extension
923#CHECK: cfxtr	%r0, 0, %f0, 0
924
925	cfxtr	%r0, 0, %f0, 0
926
927#CHECK: error: invalid operand
928#CHECK: cfxr	%r0, -1, %f0
929#CHECK: error: invalid operand
930#CHECK: cfxr	%r0, 16, %f0
931#CHECK: error: invalid register pair
932#CHECK: cfxr	%r0, 0, %f2
933
934	cfxr	%r0, -1, %f0
935	cfxr	%r0, 16, %f0
936	cfxr	%r0, 0, %f2
937
938#CHECK: error: invalid operand
939#CHECK: cg	%r0, -524289
940#CHECK: error: invalid operand
941#CHECK: cg	%r0, 524288
942
943	cg	%r0, -524289
944	cg	%r0, 524288
945
946#CHECK: error: invalid operand
947#CHECK: cgdbr	%r0, -1, %f0
948#CHECK: error: invalid operand
949#CHECK: cgdbr	%r0, 16, %f0
950
951	cgdbr	%r0, -1, %f0
952	cgdbr	%r0, 16, %f0
953
954#CHECK: error: instruction requires: fp-extension
955#CHECK: cgdbra	%r0, 0, %f0, 0
956
957	cgdbra	%r0, 0, %f0, 0
958
959#CHECK: error: invalid operand
960#CHECK: cgdtr	%r0, -1, %f0
961#CHECK: error: invalid operand
962#CHECK: cgdtr	%r0, 16, %f0
963
964	cgdtr	%r0, -1, %f0
965	cgdtr	%r0, 16, %f0
966
967#CHECK: error: instruction requires: fp-extension
968#CHECK: cgdtra	%r0, 0, %f0, 0
969
970	cgdtra	%r0, 0, %f0, 0
971
972#CHECK: error: invalid operand
973#CHECK: cgebr	%r0, -1, %f0
974#CHECK: error: invalid operand
975#CHECK: cgebr	%r0, 16, %f0
976
977	cgebr	%r0, -1, %f0
978	cgebr	%r0, 16, %f0
979
980#CHECK: error: instruction requires: fp-extension
981#CHECK: cgebra	%r0, 0, %f0, 0
982
983	cgebra	%r0, 0, %f0, 0
984
985#CHECK: error: invalid operand
986#CHECK: cgf	%r0, -524289
987#CHECK: error: invalid operand
988#CHECK: cgf	%r0, 524288
989
990	cgf	%r0, -524289
991	cgf	%r0, 524288
992
993#CHECK: error: invalid operand
994#CHECK: cgfi	%r0, (-1 << 31) - 1
995#CHECK: error: invalid operand
996#CHECK: cgfi	%r0, (1 << 31)
997
998	cgfi	%r0, (-1 << 31) - 1
999	cgfi	%r0, (1 << 31)
1000
1001#CHECK: error: offset out of range
1002#CHECK: cgfrl	%r0, -0x1000000002
1003#CHECK: error: offset out of range
1004#CHECK: cgfrl	%r0, -1
1005#CHECK: error: offset out of range
1006#CHECK: cgfrl	%r0, 1
1007#CHECK: error: offset out of range
1008#CHECK: cgfrl	%r0, 0x100000000
1009
1010	cgfrl	%r0, -0x1000000002
1011	cgfrl	%r0, -1
1012	cgfrl	%r0, 1
1013	cgfrl	%r0, 0x100000000
1014
1015#CHECK: error: invalid operand
1016#CHECK: cgh	%r0, -524289
1017#CHECK: error: invalid operand
1018#CHECK: cgh	%r0, 524288
1019
1020	cgh	%r0, -524289
1021	cgh	%r0, 524288
1022
1023#CHECK: error: invalid operand
1024#CHECK: cghi	%r0, -32769
1025#CHECK: error: invalid operand
1026#CHECK: cghi	%r0, 32768
1027#CHECK: error: invalid operand
1028#CHECK: cghi	%r0, foo
1029
1030	cghi	%r0, -32769
1031	cghi	%r0, 32768
1032	cghi	%r0, foo
1033
1034#CHECK: error: offset out of range
1035#CHECK: cghrl	%r0, -0x1000000002
1036#CHECK: error: offset out of range
1037#CHECK: cghrl	%r0, -1
1038#CHECK: error: offset out of range
1039#CHECK: cghrl	%r0, 1
1040#CHECK: error: offset out of range
1041#CHECK: cghrl	%r0, 0x100000000
1042
1043	cghrl	%r0, -0x1000000002
1044	cghrl	%r0, -1
1045	cghrl	%r0, 1
1046	cghrl	%r0, 0x100000000
1047
1048#CHECK: error: invalid operand
1049#CHECK: cghsi	-1, 0
1050#CHECK: error: invalid operand
1051#CHECK: cghsi	4096, 0
1052#CHECK: error: invalid use of indexed addressing
1053#CHECK: cghsi	0(%r1,%r2), 0
1054#CHECK: error: invalid operand
1055#CHECK: cghsi	0, -32769
1056#CHECK: error: invalid operand
1057#CHECK: cghsi	0, 32768
1058
1059	cghsi	-1, 0
1060	cghsi	4096, 0
1061	cghsi	0(%r1,%r2), 0
1062	cghsi	0, -32769
1063	cghsi	0, 32768
1064
1065#CHECK: error: invalid operand
1066#CHECK: cgij	%r0, -129, 0, 0
1067#CHECK: error: invalid operand
1068#CHECK: cgij	%r0, 128, 0, 0
1069
1070	cgij	%r0, -129, 0, 0
1071	cgij	%r0, 128, 0, 0
1072
1073#CHECK: error: offset out of range
1074#CHECK: cgij	%r0, 0, 0, -0x100002
1075#CHECK: error: offset out of range
1076#CHECK: cgij	%r0, 0, 0, -1
1077#CHECK: error: offset out of range
1078#CHECK: cgij	%r0, 0, 0, 1
1079#CHECK: error: offset out of range
1080#CHECK: cgij	%r0, 0, 0, 0x10000
1081
1082	cgij	%r0, 0, 0, -0x100002
1083	cgij	%r0, 0, 0, -1
1084	cgij	%r0, 0, 0, 1
1085	cgij	%r0, 0, 0, 0x10000
1086
1087#CHECK: error: invalid instruction
1088#CHECK:	cgijno	%r0, 0, 0, 0
1089#CHECK: error: invalid instruction
1090#CHECK:	cgijo	%r0, 0, 0, 0
1091
1092	cgijno	%r0, 0, 0, 0
1093	cgijo	%r0, 0, 0, 0
1094
1095#CHECK: error: invalid operand
1096#CHECK: cgit     %r0, -32769
1097#CHECK: error: invalid operand
1098#CHECK: cgit     %r0, 32768
1099#CHECK: error: invalid instruction
1100#CHECK: cgitno   %r0, 0
1101#CHECK: error: invalid instruction
1102#CHECK: cgito    %r0, 0
1103
1104        cgit     %r0, -32769
1105        cgit     %r0, 32768
1106        cgitno   %r0, 0
1107        cgito    %r0, 0
1108
1109#CHECK: error: offset out of range
1110#CHECK: cgrj	%r0, %r0, 0, -0x100002
1111#CHECK: error: offset out of range
1112#CHECK: cgrj	%r0, %r0, 0, -1
1113#CHECK: error: offset out of range
1114#CHECK: cgrj	%r0, %r0, 0, 1
1115#CHECK: error: offset out of range
1116#CHECK: cgrj	%r0, %r0, 0, 0x10000
1117
1118	cgrj	%r0, %r0, 0, -0x100002
1119	cgrj	%r0, %r0, 0, -1
1120	cgrj	%r0, %r0, 0, 1
1121	cgrj	%r0, %r0, 0, 0x10000
1122
1123#CHECK: error: invalid instruction
1124#CHECK:	cgrjno	%r0, %r0, 0, 0
1125#CHECK: error: invalid instruction
1126#CHECK:	cgrjo	%r0, %r0, 0, 0
1127
1128	cgrjno	%r0, %r0, 0, 0
1129	cgrjo	%r0, %r0, 0, 0
1130
1131#CHECK: error: offset out of range
1132#CHECK: cgrl	%r0, -0x1000000002
1133#CHECK: error: offset out of range
1134#CHECK: cgrl	%r0, -1
1135#CHECK: error: offset out of range
1136#CHECK: cgrl	%r0, 1
1137#CHECK: error: offset out of range
1138#CHECK: cgrl	%r0, 0x100000000
1139
1140	cgrl	%r0, -0x1000000002
1141	cgrl	%r0, -1
1142	cgrl	%r0, 1
1143	cgrl	%r0, 0x100000000
1144
1145#CHECK: error: invalid instruction
1146#CHECK: cgrtno   %r0, %r0
1147#CHECK: error: invalid instruction
1148#CHECK: cgrto    %r0, %r0
1149
1150        cgrtno   %r0, %r0
1151        cgrto    %r0, %r0
1152
1153#CHECK: error: invalid operand
1154#CHECK: cgxbr	%r0, -1, %f0
1155#CHECK: error: invalid operand
1156#CHECK: cgxbr	%r0, 16, %f0
1157#CHECK: error: invalid register pair
1158#CHECK: cgxbr	%r0, 0, %f2
1159
1160	cgxbr	%r0, -1, %f0
1161	cgxbr	%r0, 16, %f0
1162	cgxbr	%r0, 0, %f2
1163
1164#CHECK: error: instruction requires: fp-extension
1165#CHECK: cgxbra	%r0, 0, %f0, 0
1166
1167	cgxbra	%r0, 0, %f0, 0
1168
1169#CHECK: error: invalid operand
1170#CHECK: cgxtr	%r0, -1, %f0
1171#CHECK: error: invalid operand
1172#CHECK: cgxtr	%r0, 16, %f0
1173#CHECK: error: invalid register pair
1174#CHECK: cgxtr	%r0, 0, %f2
1175
1176	cgxtr	%r0, -1, %f0
1177	cgxtr	%r0, 16, %f0
1178	cgxtr	%r0, 0, %f2
1179
1180#CHECK: error: instruction requires: fp-extension
1181#CHECK: cgxtra	%r0, 0, %f0, 0
1182
1183	cgxtra	%r0, 0, %f0, 0
1184
1185#CHECK: error: invalid operand
1186#CHECK: cgxr	%r0, -1, %f0
1187#CHECK: error: invalid operand
1188#CHECK: cgxr	%r0, 16, %f0
1189#CHECK: error: invalid register pair
1190#CHECK: cgxr	%r0, 0, %f2
1191
1192	cgxr	%r0, -1, %f0
1193	cgxr	%r0, 16, %f0
1194	cgxr	%r0, 0, %f2
1195
1196#CHECK: error: invalid operand
1197#CHECK: ch	%r0, -1
1198#CHECK: error: invalid operand
1199#CHECK: ch	%r0, 4096
1200
1201	ch	%r0, -1
1202	ch	%r0, 4096
1203
1204#CHECK: error: instruction requires: high-word
1205#CHECK: chf	%r0, 0
1206
1207	chf	%r0, 0
1208
1209#CHECK: error: instruction requires: high-word
1210#CHECK: chhr	%r0, %r0
1211
1212	chhr	%r0, %r0
1213
1214#CHECK: error: invalid operand
1215#CHECK: chhsi	-1, 0
1216#CHECK: error: invalid operand
1217#CHECK: chhsi	4096, 0
1218#CHECK: error: invalid use of indexed addressing
1219#CHECK: chhsi	0(%r1,%r2), 0
1220#CHECK: error: invalid operand
1221#CHECK: chhsi	0, -32769
1222#CHECK: error: invalid operand
1223#CHECK: chhsi	0, 32768
1224
1225	chhsi	-1, 0
1226	chhsi	4096, 0
1227	chhsi	0(%r1,%r2), 0
1228	chhsi	0, -32769
1229	chhsi	0, 32768
1230
1231#CHECK: error: invalid operand
1232#CHECK: chi	%r0, -32769
1233#CHECK: error: invalid operand
1234#CHECK: chi	%r0, 32768
1235#CHECK: error: invalid operand
1236#CHECK: chi	%r0, foo
1237
1238	chi	%r0, -32769
1239	chi	%r0, 32768
1240	chi	%r0, foo
1241
1242#CHECK: error: instruction requires: high-word
1243#CHECK: chlr	%r0, %r0
1244
1245	chlr	%r0, %r0
1246
1247#CHECK: error: offset out of range
1248#CHECK: chrl	%r0, -0x1000000002
1249#CHECK: error: offset out of range
1250#CHECK: chrl	%r0, -1
1251#CHECK: error: offset out of range
1252#CHECK: chrl	%r0, 1
1253#CHECK: error: offset out of range
1254#CHECK: chrl	%r0, 0x100000000
1255
1256	chrl	%r0, -0x1000000002
1257	chrl	%r0, -1
1258	chrl	%r0, 1
1259	chrl	%r0, 0x100000000
1260
1261#CHECK: error: invalid operand
1262#CHECK: chsi	-1, 0
1263#CHECK: error: invalid operand
1264#CHECK: chsi	4096, 0
1265#CHECK: error: invalid use of indexed addressing
1266#CHECK: chsi	0(%r1,%r2), 0
1267#CHECK: error: invalid operand
1268#CHECK: chsi	0, -32769
1269#CHECK: error: invalid operand
1270#CHECK: chsi	0, 32768
1271
1272	chsi	-1, 0
1273	chsi	4096, 0
1274	chsi	0(%r1,%r2), 0
1275	chsi	0, -32769
1276	chsi	0, 32768
1277
1278#CHECK: error: invalid operand
1279#CHECK: chy	%r0, -524289
1280#CHECK: error: invalid operand
1281#CHECK: chy	%r0, 524288
1282
1283	chy	%r0, -524289
1284	chy	%r0, 524288
1285
1286#CHECK: error: instruction requires: high-word
1287#CHECK: cih	%r0, 0
1288
1289	cih	%r0, 0
1290
1291#CHECK: error: invalid operand
1292#CHECK: cij	%r0, -129, 0, 0
1293#CHECK: error: invalid operand
1294#CHECK: cij	%r0, 128, 0, 0
1295
1296	cij	%r0, -129, 0, 0
1297	cij	%r0, 128, 0, 0
1298
1299#CHECK: error: offset out of range
1300#CHECK: cij	%r0, 0, 0, -0x100002
1301#CHECK: error: offset out of range
1302#CHECK: cij	%r0, 0, 0, -1
1303#CHECK: error: offset out of range
1304#CHECK: cij	%r0, 0, 0, 1
1305#CHECK: error: offset out of range
1306#CHECK: cij	%r0, 0, 0, 0x10000
1307
1308	cij	%r0, 0, 0, -0x100002
1309	cij	%r0, 0, 0, -1
1310	cij	%r0, 0, 0, 1
1311	cij	%r0, 0, 0, 0x10000
1312
1313#CHECK: error: invalid instruction
1314#CHECK:	cijno	%r0, 0, 0, 0
1315#CHECK: error: invalid instruction
1316#CHECK:	cijo	%r0, 0, 0, 0
1317
1318	cijno	%r0, 0, 0, 0
1319	cijo	%r0, 0, 0, 0
1320
1321#CHECK: error: invalid operand
1322#CHECK: cit     %r0, -32769
1323#CHECK: error: invalid operand
1324#CHECK: cit     %r0, 32768
1325#CHECK: error: invalid instruction
1326#CHECK: citno   %r0, 0
1327#CHECK: error: invalid instruction
1328#CHECK: cito    %r0, 0
1329
1330        cit     %r0, -32769
1331        cit     %r0, 32768
1332        citno   %r0, 0
1333        cito    %r0, 0
1334
1335#CHECK: error: invalid register pair
1336#CHECK: cksm	%r0, %r1
1337
1338	cksm	%r0, %r1
1339
1340#CHECK: error: invalid operand
1341#CHECK: cl	%r0, -1
1342#CHECK: error: invalid operand
1343#CHECK: cl	%r0, 4096
1344
1345	cl	%r0, -1
1346	cl	%r0, 4096
1347
1348#CHECK: error: missing length in address
1349#CHECK: clc	0, 0
1350#CHECK: error: missing length in address
1351#CHECK: clc	0(%r1), 0(%r1)
1352#CHECK: error: invalid use of length addressing
1353#CHECK: clc	0(1,%r1), 0(2,%r1)
1354#CHECK: error: invalid operand
1355#CHECK: clc	0(0,%r1), 0(%r1)
1356#CHECK: error: invalid operand
1357#CHECK: clc	0(257,%r1), 0(%r1)
1358#CHECK: error: invalid operand
1359#CHECK: clc	-1(1,%r1), 0(%r1)
1360#CHECK: error: invalid operand
1361#CHECK: clc	4096(1,%r1), 0(%r1)
1362#CHECK: error: invalid operand
1363#CHECK: clc	0(1,%r1), -1(%r1)
1364#CHECK: error: invalid operand
1365#CHECK: clc	0(1,%r1), 4096(%r1)
1366#CHECK: error: %r0 used in an address
1367#CHECK: clc	0(1,%r0), 0(%r1)
1368#CHECK: error: %r0 used in an address
1369#CHECK: clc	0(1,%r1), 0(%r0)
1370#CHECK: error: invalid use of indexed addressing
1371#CHECK: clc	0(%r1,%r2), 0(%r1)
1372#CHECK: error: invalid use of indexed addressing
1373#CHECK: clc	0(1,%r2), 0(%r1,%r2)
1374#CHECK: error: unknown token in expression
1375#CHECK: clc	0(-), 0
1376
1377	clc	0, 0
1378	clc	0(%r1), 0(%r1)
1379	clc	0(1,%r1), 0(2,%r1)
1380	clc	0(0,%r1), 0(%r1)
1381	clc	0(257,%r1), 0(%r1)
1382	clc	-1(1,%r1), 0(%r1)
1383	clc	4096(1,%r1), 0(%r1)
1384	clc	0(1,%r1), -1(%r1)
1385	clc	0(1,%r1), 4096(%r1)
1386	clc	0(1,%r0), 0(%r1)
1387	clc	0(1,%r1), 0(%r0)
1388	clc	0(%r1,%r2), 0(%r1)
1389	clc	0(1,%r2), 0(%r1,%r2)
1390	clc	0(-), 0
1391
1392#CHECK: error: invalid register pair
1393#CHECK: clcl	%r1, %r0
1394#CHECK: error: invalid register pair
1395#CHECK: clcl	%r0, %r1
1396
1397	clcl	%r1, %r0
1398	clcl	%r0, %r1
1399
1400#CHECK: error: invalid register pair
1401#CHECK: clcle	%r1, %r0
1402#CHECK: error: invalid register pair
1403#CHECK: clcle	%r0, %r1
1404#CHECK: error: invalid operand
1405#CHECK: clcle	%r0, %r0, -1
1406#CHECK: error: invalid operand
1407#CHECK: clcle	%r0, %r0, 4096
1408
1409	clcle	%r1, %r0, 0
1410	clcle	%r0, %r1, 0
1411	clcle	%r0, %r0, -1
1412	clcle	%r0, %r0, 4096
1413
1414#CHECK: error: invalid register pair
1415#CHECK: clclu	%r1, %r0
1416#CHECK: error: invalid register pair
1417#CHECK: clclu	%r0, %r1
1418#CHECK: error: invalid operand
1419#CHECK: clclu	%r0, %r0, -524289
1420#CHECK: error: invalid operand
1421#CHECK: clclu	%r0, %r0, 524288
1422
1423	clclu	%r1, %r0, 0
1424	clclu	%r0, %r1, 0
1425	clclu	%r0, %r0, -524289
1426	clclu	%r0, %r0, 524288
1427
1428#CHECK: error: instruction requires: fp-extension
1429#CHECK: clfdbr	%r0, 0, %f0, 0
1430
1431	clfdbr	%r0, 0, %f0, 0
1432
1433#CHECK: error: instruction requires: fp-extension
1434#CHECK: clfdtr	%r0, 0, %f0, 0
1435
1436	clfdtr	%r0, 0, %f0, 0
1437
1438#CHECK: error: instruction requires: fp-extension
1439#CHECK: clfebr	%r0, 0, %f0, 0
1440
1441	clfebr	%r0, 0, %f0, 0
1442
1443#CHECK: error: invalid operand
1444#CHECK: clfhsi	-1, 0
1445#CHECK: error: invalid operand
1446#CHECK: clfhsi	4096, 0
1447#CHECK: error: invalid use of indexed addressing
1448#CHECK: clfhsi	0(%r1,%r2), 0
1449#CHECK: error: invalid operand
1450#CHECK: clfhsi	0, -1
1451#CHECK: error: invalid operand
1452#CHECK: clfhsi	0, 65536
1453
1454	clfhsi	-1, 0
1455	clfhsi	4096, 0
1456	clfhsi	0(%r1,%r2), 0
1457	clfhsi	0, -1
1458	clfhsi	0, 65536
1459
1460#CHECK: error: invalid operand
1461#CHECK: clfi	%r0, -1
1462#CHECK: error: invalid operand
1463#CHECK: clfi	%r0, (1 << 32)
1464
1465	clfi	%r0, -1
1466	clfi	%r0, (1 << 32)
1467
1468#CHECK: error: invalid operand
1469#CHECK: clfit   %r0, -1
1470#CHECK: error: invalid operand
1471#CHECK: clfit   %r0, 65536
1472#CHECK: error: invalid instruction
1473#CHECK: clfitno %r0, 0
1474#CHECK: error: invalid instruction
1475#CHECK: clfito  %r0, 0
1476
1477        clfit   %r0, -1
1478        clfit   %r0, 65536
1479        clfitno %r0, 0
1480        clfito  %r0, 0
1481
1482#CHECK: error: instruction requires: fp-extension
1483#CHECK: clfxbr	%r0, 0, %f0, 0
1484
1485	clfxbr	%r0, 0, %f0, 0
1486
1487#CHECK: error: instruction requires: fp-extension
1488#CHECK: clfxtr	%r0, 0, %f0, 0
1489
1490	clfxtr	%r0, 0, %f0, 0
1491
1492#CHECK: error: invalid operand
1493#CHECK: clg	%r0, -524289
1494#CHECK: error: invalid operand
1495#CHECK: clg	%r0, 524288
1496
1497	clg	%r0, -524289
1498	clg	%r0, 524288
1499
1500#CHECK: error: instruction requires: fp-extension
1501#CHECK: clgdbr	%r0, 0, %f0, 0
1502
1503	clgdbr	%r0, 0, %f0, 0
1504
1505#CHECK: error: instruction requires: fp-extension
1506#CHECK: clgdtr	%r0, 0, %f0, 0
1507
1508	clgdtr	%r0, 0, %f0, 0
1509
1510#CHECK: error: instruction requires: fp-extension
1511#CHECK: clgebr	%r0, 0, %f0, 0
1512
1513	clgebr	%r0, 0, %f0, 0
1514
1515#CHECK: error: invalid operand
1516#CHECK: clgf	%r0, -524289
1517#CHECK: error: invalid operand
1518#CHECK: clgf	%r0, 524288
1519
1520	clgf	%r0, -524289
1521	clgf	%r0, 524288
1522
1523#CHECK: error: invalid operand
1524#CHECK: clgfi	%r0, -1
1525#CHECK: error: invalid operand
1526#CHECK: clgfi	%r0, (1 << 32)
1527
1528	clgfi	%r0, -1
1529	clgfi	%r0, (1 << 32)
1530
1531#CHECK: error: offset out of range
1532#CHECK: clgfrl	%r0, -0x1000000002
1533#CHECK: error: offset out of range
1534#CHECK: clgfrl	%r0, -1
1535#CHECK: error: offset out of range
1536#CHECK: clgfrl	%r0, 1
1537#CHECK: error: offset out of range
1538#CHECK: clgfrl	%r0, 0x100000000
1539
1540	clgfrl	%r0, -0x1000000002
1541	clgfrl	%r0, -1
1542	clgfrl	%r0, 1
1543	clgfrl	%r0, 0x100000000
1544
1545#CHECK: error: offset out of range
1546#CHECK: clghrl	%r0, -0x1000000002
1547#CHECK: error: offset out of range
1548#CHECK: clghrl	%r0, -1
1549#CHECK: error: offset out of range
1550#CHECK: clghrl	%r0, 1
1551#CHECK: error: offset out of range
1552#CHECK: clghrl	%r0, 0x100000000
1553
1554	clghrl	%r0, -0x1000000002
1555	clghrl	%r0, -1
1556	clghrl	%r0, 1
1557	clghrl	%r0, 0x100000000
1558
1559#CHECK: error: invalid operand
1560#CHECK: clghsi	-1, 0
1561#CHECK: error: invalid operand
1562#CHECK: clghsi	4096, 0
1563#CHECK: error: invalid use of indexed addressing
1564#CHECK: clghsi	0(%r1,%r2), 0
1565#CHECK: error: invalid operand
1566#CHECK: clghsi	0, -1
1567#CHECK: error: invalid operand
1568#CHECK: clghsi	0, 65536
1569
1570	clghsi	-1, 0
1571	clghsi	4096, 0
1572	clghsi	0(%r1,%r2), 0
1573	clghsi	0, -1
1574	clghsi	0, 65536
1575
1576#CHECK: error: invalid operand
1577#CHECK: clgij	%r0, -1, 0, 0
1578#CHECK: error: invalid operand
1579#CHECK: clgij	%r0, 256, 0, 0
1580
1581	clgij	%r0, -1, 0, 0
1582	clgij	%r0, 256, 0, 0
1583
1584#CHECK: error: offset out of range
1585#CHECK: clgij	%r0, 0, 0, -0x100002
1586#CHECK: error: offset out of range
1587#CHECK: clgij	%r0, 0, 0, -1
1588#CHECK: error: offset out of range
1589#CHECK: clgij	%r0, 0, 0, 1
1590#CHECK: error: offset out of range
1591#CHECK: clgij	%r0, 0, 0, 0x10000
1592
1593	clgij	%r0, 0, 0, -0x100002
1594	clgij	%r0, 0, 0, -1
1595	clgij	%r0, 0, 0, 1
1596	clgij	%r0, 0, 0, 0x10000
1597
1598#CHECK: error: invalid instruction
1599#CHECK:	clgijno	%r0, 0, 0, 0
1600#CHECK: error: invalid instruction
1601#CHECK:	clgijo	%r0, 0, 0, 0
1602
1603	clgijno	%r0, 0, 0, 0
1604	clgijo	%r0, 0, 0, 0
1605
1606#CHECK: error: invalid operand
1607#CHECK: clgit   %r0, -1
1608#CHECK: error: invalid operand
1609#CHECK: clgit   %r0, 65536
1610#CHECK: error: invalid instruction
1611#CHECK: clgitno %r0, 0
1612#CHECK: error: invalid instruction
1613#CHECK: clgito  %r0, 0
1614
1615        clgit   %r0, -1
1616        clgit   %r0, 65536
1617        clgitno %r0, 0
1618        clgito  %r0, 0
1619
1620#CHECK: error: offset out of range
1621#CHECK: clgrj	%r0, %r0, 0, -0x100002
1622#CHECK: error: offset out of range
1623#CHECK: clgrj	%r0, %r0, 0, -1
1624#CHECK: error: offset out of range
1625#CHECK: clgrj	%r0, %r0, 0, 1
1626#CHECK: error: offset out of range
1627#CHECK: clgrj	%r0, %r0, 0, 0x10000
1628
1629	clgrj	%r0, %r0, 0, -0x100002
1630	clgrj	%r0, %r0, 0, -1
1631	clgrj	%r0, %r0, 0, 1
1632	clgrj	%r0, %r0, 0, 0x10000
1633
1634#CHECK: error: offset out of range
1635#CHECK: clgrl	%r0, -0x1000000002
1636#CHECK: error: offset out of range
1637#CHECK: clgrl	%r0, -1
1638#CHECK: error: offset out of range
1639#CHECK: clgrl	%r0, 1
1640#CHECK: error: offset out of range
1641#CHECK: clgrl	%r0, 0x100000000
1642
1643	clgrl	%r0, -0x1000000002
1644	clgrl	%r0, -1
1645	clgrl	%r0, 1
1646	clgrl	%r0, 0x100000000
1647
1648#CHECK: error: invalid instruction
1649#CHECK: clgrtno   %r0, %r0
1650#CHECK: error: invalid instruction
1651#CHECK: clgrto    %r0, %r0
1652
1653        clgrtno   %r0, %r0
1654        clgrto    %r0, %r0
1655
1656#CHECK: error: instruction requires: fp-extension
1657#CHECK: clgxbr	%r0, 0, %f0, 0
1658
1659	clgxbr	%r0, 0, %f0, 0
1660
1661#CHECK: error: instruction requires: fp-extension
1662#CHECK: clgxtr	%r0, 0, %f0, 0
1663
1664	clgxtr	%r0, 0, %f0, 0
1665
1666#CHECK: error: instruction requires: high-word
1667#CHECK: clhf	%r0, 0
1668
1669	clhf	%r0, 0
1670
1671#CHECK: error: instruction requires: high-word
1672#CHECK: clhhr	%r0, %r0
1673
1674	clhhr	%r0, %r0
1675
1676#CHECK: error: invalid operand
1677#CHECK: clhhsi	-1, 0
1678#CHECK: error: invalid operand
1679#CHECK: clhhsi	4096, 0
1680#CHECK: error: invalid use of indexed addressing
1681#CHECK: clhhsi	0(%r1,%r2), 0
1682#CHECK: error: invalid operand
1683#CHECK: clhhsi	0, -1
1684#CHECK: error: invalid operand
1685#CHECK: clhhsi	0, 65536
1686
1687	clhhsi	-1, 0
1688	clhhsi	4096, 0
1689	clhhsi	0(%r1,%r2), 0
1690	clhhsi	0, -1
1691	clhhsi	0, 65536
1692
1693#CHECK: error: instruction requires: high-word
1694#CHECK: clhlr	%r0, %r0
1695
1696	clhlr	%r0, %r0
1697
1698#CHECK: error: offset out of range
1699#CHECK: clhrl	%r0, -0x1000000002
1700#CHECK: error: offset out of range
1701#CHECK: clhrl	%r0, -1
1702#CHECK: error: offset out of range
1703#CHECK: clhrl	%r0, 1
1704#CHECK: error: offset out of range
1705#CHECK: clhrl	%r0, 0x100000000
1706
1707	clhrl	%r0, -0x1000000002
1708	clhrl	%r0, -1
1709	clhrl	%r0, 1
1710	clhrl	%r0, 0x100000000
1711
1712#CHECK: error: invalid operand
1713#CHECK: cli	-1, 0
1714#CHECK: error: invalid operand
1715#CHECK: cli	4096, 0
1716#CHECK: error: invalid use of indexed addressing
1717#CHECK: cli	0(%r1,%r2), 0
1718#CHECK: error: invalid operand
1719#CHECK: cli	0, -1
1720#CHECK: error: invalid operand
1721#CHECK: cli	0, 256
1722
1723	cli	-1, 0
1724	cli	4096, 0
1725	cli	0(%r1,%r2), 0
1726	cli	0, -1
1727	cli	0, 256
1728
1729#CHECK: error: instruction requires: high-word
1730#CHECK: clih	%r0, 0
1731
1732	clih	%r0, 0
1733
1734#CHECK: error: invalid operand
1735#CHECK: clij	%r0, -1, 0, 0
1736#CHECK: error: invalid operand
1737#CHECK: clij	%r0, 256, 0, 0
1738
1739	clij	%r0, -1, 0, 0
1740	clij	%r0, 256, 0, 0
1741
1742#CHECK: error: offset out of range
1743#CHECK: clij	%r0, 0, 0, -0x100002
1744#CHECK: error: offset out of range
1745#CHECK: clij	%r0, 0, 0, -1
1746#CHECK: error: offset out of range
1747#CHECK: clij	%r0, 0, 0, 1
1748#CHECK: error: offset out of range
1749#CHECK: clij	%r0, 0, 0, 0x10000
1750
1751	clij	%r0, 0, 0, -0x100002
1752	clij	%r0, 0, 0, -1
1753	clij	%r0, 0, 0, 1
1754	clij	%r0, 0, 0, 0x10000
1755
1756#CHECK: error: invalid instruction
1757#CHECK:	clijno	%r0, 0, 0, 0
1758#CHECK: error: invalid instruction
1759#CHECK:	clijo	%r0, 0, 0, 0
1760
1761	clijno	%r0, 0, 0, 0
1762	clijo	%r0, 0, 0, 0
1763
1764#CHECK: error: invalid operand
1765#CHECK: cliy	-524289, 0
1766#CHECK: error: invalid operand
1767#CHECK: cliy	524288, 0
1768#CHECK: error: invalid use of indexed addressing
1769#CHECK: cliy	0(%r1,%r2), 0
1770#CHECK: error: invalid operand
1771#CHECK: cliy	0, -1
1772#CHECK: error: invalid operand
1773#CHECK: cliy	0, 256
1774
1775	cliy	-524289, 0
1776	cliy	524288, 0
1777	cliy	0(%r1,%r2), 0
1778	cliy	0, -1
1779	cliy	0, 256
1780
1781#CHECK: error: invalid operand
1782#CHECK: clm	%r0, 0, -1
1783#CHECK: error: invalid operand
1784#CHECK: clm	%r0, 0, 4096
1785#CHECK: error: invalid operand
1786#CHECK: clm	%r0, -1, 0
1787#CHECK: error: invalid operand
1788#CHECK: clm	%r0, 16, 0
1789
1790	clm	%r0, 0, -1
1791	clm	%r0, 0, 4096
1792	clm	%r0, -1, 0
1793	clm	%r0, 16, 0
1794
1795#CHECK: error: invalid operand
1796#CHECK: clmh	%r0, 0, -524289
1797#CHECK: error: invalid operand
1798#CHECK: clmh	%r0, 0, 524288
1799#CHECK: error: invalid operand
1800#CHECK: clmh	%r0, -1, 0
1801#CHECK: error: invalid operand
1802#CHECK: clmh	%r0, 16, 0
1803
1804	clmh	%r0, 0, -524289
1805	clmh	%r0, 0, 524288
1806	clmh	%r0, -1, 0
1807	clmh	%r0, 16, 0
1808
1809#CHECK: error: invalid operand
1810#CHECK: clmy	%r0, 0, -524289
1811#CHECK: error: invalid operand
1812#CHECK: clmy	%r0, 0, 524288
1813#CHECK: error: invalid operand
1814#CHECK: clmy	%r0, -1, 0
1815#CHECK: error: invalid operand
1816#CHECK: clmy	%r0, 16, 0
1817
1818	clmy	%r0, 0, -524289
1819	clmy	%r0, 0, 524288
1820	clmy	%r0, -1, 0
1821	clmy	%r0, 16, 0
1822
1823#CHECK: error: offset out of range
1824#CHECK: clrj	%r0, %r0, 0, -0x100002
1825#CHECK: error: offset out of range
1826#CHECK: clrj	%r0, %r0, 0, -1
1827#CHECK: error: offset out of range
1828#CHECK: clrj	%r0, %r0, 0, 1
1829#CHECK: error: offset out of range
1830#CHECK: clrj	%r0, %r0, 0, 0x10000
1831
1832	clrj	%r0, %r0, 0, -0x100002
1833	clrj	%r0, %r0, 0, -1
1834	clrj	%r0, %r0, 0, 1
1835	clrj	%r0, %r0, 0, 0x10000
1836
1837#CHECK: error: invalid instruction
1838#CHECK:	clrjno	%r0, %r0, 0, 0
1839#CHECK: error: invalid instruction
1840#CHECK:	clrjo	%r0, %r0, 0, 0
1841
1842	clrjno	%r0, %r0, 0, 0
1843	clrjo	%r0, %r0, 0, 0
1844
1845#CHECK: error: offset out of range
1846#CHECK: clrl	%r0, -0x1000000002
1847#CHECK: error: offset out of range
1848#CHECK: clrl	%r0, -1
1849#CHECK: error: offset out of range
1850#CHECK: clrl	%r0, 1
1851#CHECK: error: offset out of range
1852#CHECK: clrl	%r0, 0x100000000
1853
1854	clrl	%r0, -0x1000000002
1855	clrl	%r0, -1
1856	clrl	%r0, 1
1857	clrl	%r0, 0x100000000
1858
1859#CHECK: error: invalid instruction
1860#CHECK: clrtno   %r0, %r0
1861#CHECK: error: invalid instruction
1862#CHECK: clrto    %r0, %r0
1863
1864        clrtno   %r0, %r0
1865        clrto    %r0, %r0
1866
1867#CHECK: error: invalid operand
1868#CHECK: cly	%r0, -524289
1869#CHECK: error: invalid operand
1870#CHECK: cly	%r0, 524288
1871
1872	cly	%r0, -524289
1873	cly	%r0, 524288
1874
1875#CHECK: error: invalid register pair
1876#CHECK: cmpsc	%r1, %r0
1877#CHECK: error: invalid register pair
1878#CHECK: cmpsc	%r0, %r1
1879
1880	cmpsc	%r1, %r0
1881	cmpsc	%r0, %r1
1882
1883#CHECK: error: missing length in address
1884#CHECK: cp	0, 0(1)
1885#CHECK: error: missing length in address
1886#CHECK: cp	0(1), 0
1887#CHECK: error: missing length in address
1888#CHECK: cp	0(%r1), 0(1,%r1)
1889#CHECK: error: missing length in address
1890#CHECK: cp	0(1,%r1), 0(%r1)
1891#CHECK: error: invalid operand
1892#CHECK: cp	0(0,%r1), 0(1,%r1)
1893#CHECK: error: invalid operand
1894#CHECK: cp	0(1,%r1), 0(0,%r1)
1895#CHECK: error: invalid operand
1896#CHECK: cp	0(17,%r1), 0(1,%r1)
1897#CHECK: error: invalid operand
1898#CHECK: cp	0(1,%r1), 0(17,%r1)
1899#CHECK: error: invalid operand
1900#CHECK: cp	-1(1,%r1), 0(1,%r1)
1901#CHECK: error: invalid operand
1902#CHECK: cp	4096(1,%r1), 0(1,%r1)
1903#CHECK: error: invalid operand
1904#CHECK: cp	0(1,%r1), -1(1,%r1)
1905#CHECK: error: invalid operand
1906#CHECK: cp	0(1,%r1), 4096(1,%r1)
1907#CHECK: error: %r0 used in an address
1908#CHECK: cp	0(1,%r0), 0(1,%r1)
1909#CHECK: error: %r0 used in an address
1910#CHECK: cp	0(1,%r1), 0(1,%r0)
1911#CHECK: error: invalid use of indexed addressing
1912#CHECK: cp	0(%r1,%r2), 0(1,%r1)
1913#CHECK: error: invalid use of indexed addressing
1914#CHECK: cp	0(1,%r2), 0(%r1,%r2)
1915#CHECK: error: unknown token in expression
1916#CHECK: cp	0(-), 0(1)
1917
1918	cp	0, 0(1)
1919	cp	0(1), 0
1920	cp	0(%r1), 0(1,%r1)
1921	cp	0(1,%r1), 0(%r1)
1922	cp	0(0,%r1), 0(1,%r1)
1923	cp	0(1,%r1), 0(0,%r1)
1924	cp	0(17,%r1), 0(1,%r1)
1925	cp	0(1,%r1), 0(17,%r1)
1926	cp	-1(1,%r1), 0(1,%r1)
1927	cp	4096(1,%r1), 0(1,%r1)
1928	cp	0(1,%r1), -1(1,%r1)
1929	cp	0(1,%r1), 4096(1,%r1)
1930	cp	0(1,%r0), 0(1,%r1)
1931	cp	0(1,%r1), 0(1,%r0)
1932	cp	0(%r1,%r2), 0(1,%r1)
1933	cp	0(1,%r2), 0(%r1,%r2)
1934	cp	0(-), 0(1)
1935
1936#CHECK: error: offset out of range
1937#CHECK: crj	%r0, %r0, 0, -0x100002
1938#CHECK: error: offset out of range
1939#CHECK: crj	%r0, %r0, 0, -1
1940#CHECK: error: offset out of range
1941#CHECK: crj	%r0, %r0, 0, 1
1942#CHECK: error: offset out of range
1943#CHECK: crj	%r0, %r0, 0, 0x10000
1944
1945	crj	%r0, %r0, 0, -0x100002
1946	crj	%r0, %r0, 0, -1
1947	crj	%r0, %r0, 0, 1
1948	crj	%r0, %r0, 0, 0x10000
1949
1950#CHECK: error: invalid instruction
1951#CHECK:	crjno	%r0, %r0, 0, 0
1952#CHECK: error: invalid instruction
1953#CHECK:	crjo	%r0, %r0, 0, 0
1954
1955	crjno	%r0, %r0, 0, 0
1956	crjo	%r0, %r0, 0, 0
1957
1958#CHECK: error: offset out of range
1959#CHECK: crl	%r0, -0x1000000002
1960#CHECK: error: offset out of range
1961#CHECK: crl	%r0, -1
1962#CHECK: error: offset out of range
1963#CHECK: crl	%r0, 1
1964#CHECK: error: offset out of range
1965#CHECK: crl	%r0, 0x100000000
1966
1967	crl	%r0, -0x1000000002
1968	crl	%r0, -1
1969	crl	%r0, 1
1970	crl	%r0, 0x100000000
1971
1972#CHECK: error: invalid instruction
1973#CHECK: crtno   %r0, %r0
1974#CHECK: error: invalid instruction
1975#CHECK: crto    %r0, %r0
1976
1977        crtno   %r0, %r0
1978        crto    %r0, %r0
1979
1980#CHECK: error: invalid operand
1981#CHECK: cs	%r0, %r0, -1
1982#CHECK: error: invalid operand
1983#CHECK: cs	%r0, %r0, 4096
1984#CHECK: error: invalid use of indexed addressing
1985#CHECK: cs	%r0, %r0, 0(%r1,%r2)
1986
1987	cs	%r0, %r0, -1
1988	cs	%r0, %r0, 4096
1989	cs	%r0, %r0, 0(%r1,%r2)
1990
1991#CHECK: error: invalid operand
1992#CHECK: csdtr	%r0, %f0, -1
1993#CHECK: error: invalid operand
1994#CHECK: csdtr	%r0, %f0, 16
1995
1996	csdtr	%r0, %f0, -1
1997	csdtr	%r0, %f0, 16
1998
1999#CHECK: error: invalid operand
2000#CHECK: csg	%r0, %r0, -524289
2001#CHECK: error: invalid operand
2002#CHECK: csg	%r0, %r0, 524288
2003#CHECK: error: invalid use of indexed addressing
2004#CHECK: csg	%r0, %r0, 0(%r1,%r2)
2005
2006	csg	%r0, %r0, -524289
2007	csg	%r0, %r0, 524288
2008	csg	%r0, %r0, 0(%r1,%r2)
2009
2010#CHECK: error: invalid register pair
2011#CHECK: csp	%r1, %r0
2012
2013	csp	%r1, %r0
2014
2015#CHECK: error: invalid register pair
2016#CHECK: cspg	%r1, %r0
2017
2018	cspg	%r1, %r0
2019
2020#CHECK: error: invalid use of indexed addressing
2021#CHECK: csst	160(%r1,%r15), 160(%r15), %r2
2022#CHECK: error: invalid operand
2023#CHECK: csst	-1(%r1), 160(%r15), %r2
2024#CHECK: error: invalid operand
2025#CHECK: csst	4096(%r1), 160(%r15), %r2
2026#CHECK: error: invalid operand
2027#CHECK: csst	0(%r1), -1(%r15), %r2
2028#CHECK: error: invalid operand
2029#CHECK: csst	0(%r1), 4096(%r15), %r2
2030
2031        csst	160(%r1,%r15), 160(%r15), %r2
2032        csst	-1(%r1), 160(%r15), %r2
2033        csst	4096(%r1), 160(%r15), %r2
2034        csst	0(%r1), -1(%r15), %r2
2035        csst	0(%r1), 4096(%r15), %r2
2036
2037#CHECK: error: invalid operand
2038#CHECK: csxtr	%r0, %f0, -1
2039#CHECK: error: invalid operand
2040#CHECK: csxtr	%r0, %f0, 16
2041#CHECK: error: invalid register pair
2042#CHECK: csxtr	%r0, %f2, 0
2043#CHECK: error: invalid register pair
2044#CHECK: csxtr	%r1, %f0, 0
2045
2046	csxtr	%r0, %f0, -1
2047	csxtr	%r0, %f0, 16
2048	csxtr	%r0, %f2, 0
2049	csxtr	%r1, %f0, 0
2050
2051#CHECK: error: invalid operand
2052#CHECK: csy	%r0, %r0, -524289
2053#CHECK: error: invalid operand
2054#CHECK: csy	%r0, %r0, 524288
2055#CHECK: error: invalid use of indexed addressing
2056#CHECK: csy	%r0, %r0, 0(%r1,%r2)
2057
2058	csy	%r0, %r0, -524289
2059	csy	%r0, %r0, 524288
2060	csy	%r0, %r0, 0(%r1,%r2)
2061
2062#CHECK: error: invalid register pair
2063#CHECK: cu12	%r1, %r0
2064#CHECK: error: invalid register pair
2065#CHECK: cu12	%r0, %r1
2066#CHECK: error: invalid operand
2067#CHECK: cu12	%r2, %r4, -1
2068#CHECK: error: invalid operand
2069#CHECK: cu12	%r2, %r4, 16
2070
2071	cu12	%r1, %r0
2072	cu12	%r0, %r1
2073	cu12	%r2, %r4, -1
2074	cu12	%r2, %r4, 16
2075
2076#CHECK: error: invalid register pair
2077#CHECK: cu14	%r1, %r0
2078#CHECK: error: invalid register pair
2079#CHECK: cu14	%r0, %r1
2080#CHECK: error: invalid operand
2081#CHECK: cu14	%r2, %r4, -1
2082#CHECK: error: invalid operand
2083#CHECK: cu14	%r2, %r4, 16
2084
2085	cu14	%r1, %r0
2086	cu14	%r0, %r1
2087	cu14	%r2, %r4, -1
2088	cu14	%r2, %r4, 16
2089
2090#CHECK: error: invalid register pair
2091#CHECK: cu21	%r1, %r0
2092#CHECK: error: invalid register pair
2093#CHECK: cu21	%r0, %r1
2094#CHECK: error: invalid operand
2095#CHECK: cu21	%r2, %r4, -1
2096#CHECK: error: invalid operand
2097#CHECK: cu21	%r2, %r4, 16
2098
2099	cu21	%r1, %r0
2100	cu21	%r0, %r1
2101	cu21	%r2, %r4, -1
2102	cu21	%r2, %r4, 16
2103
2104#CHECK: error: invalid register pair
2105#CHECK: cu24	%r1, %r0
2106#CHECK: error: invalid register pair
2107#CHECK: cu24	%r0, %r1
2108#CHECK: error: invalid operand
2109#CHECK: cu24	%r2, %r4, -1
2110#CHECK: error: invalid operand
2111#CHECK: cu24	%r2, %r4, 16
2112
2113	cu24	%r1, %r0
2114	cu24	%r0, %r1
2115	cu24	%r2, %r4, -1
2116	cu24	%r2, %r4, 16
2117
2118#CHECK: error: invalid register pair
2119#CHECK: cu41	%r1, %r0
2120#CHECK: error: invalid register pair
2121#CHECK: cu41	%r0, %r1
2122
2123	cu41	%r1, %r0
2124	cu41	%r0, %r1
2125
2126#CHECK: error: invalid register pair
2127#CHECK: cu42	%r1, %r0
2128#CHECK: error: invalid register pair
2129#CHECK: cu42	%r0, %r1
2130
2131	cu42	%r1, %r0
2132	cu42	%r0, %r1
2133
2134#CHECK: error: invalid register pair
2135#CHECK: cuse	%r1, %r0
2136#CHECK: error: invalid register pair
2137#CHECK: cuse	%r0, %r1
2138
2139	cuse	%r1, %r0
2140	cuse	%r0, %r1
2141
2142#CHECK: error: invalid register pair
2143#CHECK: cutfu	%r1, %r0
2144#CHECK: error: invalid register pair
2145#CHECK: cutfu	%r0, %r1
2146#CHECK: error: invalid operand
2147#CHECK: cutfu	%r2, %r4, -1
2148#CHECK: error: invalid operand
2149#CHECK: cutfu	%r2, %r4, 16
2150
2151	cutfu	%r1, %r0
2152	cutfu	%r0, %r1
2153	cutfu	%r2, %r4, -1
2154	cutfu	%r2, %r4, 16
2155
2156#CHECK: error: invalid register pair
2157#CHECK: cuutf	%r1, %r0
2158#CHECK: error: invalid register pair
2159#CHECK: cuutf	%r0, %r1
2160#CHECK: error: invalid operand
2161#CHECK: cuutf	%r2, %r4, -1
2162#CHECK: error: invalid operand
2163#CHECK: cuutf	%r2, %r4, 16
2164
2165	cuutf	%r1, %r0
2166	cuutf	%r0, %r1
2167	cuutf	%r2, %r4, -1
2168	cuutf	%r2, %r4, 16
2169
2170#CHECK: error: invalid register pair
2171#CHECK: cuxtr	%r0, %f2
2172#CHECK: error: invalid register pair
2173#CHECK: cuxtr	%r1, %f0
2174
2175	cuxtr	%r0, %f2
2176	cuxtr	%r1, %f0
2177
2178#CHECK: error: invalid operand
2179#CHECK: cvb	%r0, -1
2180#CHECK: error: invalid operand
2181#CHECK: cvb	%r0, 4096
2182
2183	cvb	%r0, -1
2184	cvb	%r0, 4096
2185
2186#CHECK: error: invalid operand
2187#CHECK: cvbg	%r0, -524289
2188#CHECK: error: invalid operand
2189#CHECK: cvbg	%r0, 524288
2190
2191	cvbg	%r0, -524289
2192	cvbg	%r0, 524288
2193
2194#CHECK: error: invalid operand
2195#CHECK: cvby	%r0, -524289
2196#CHECK: error: invalid operand
2197#CHECK: cvby	%r0, 524288
2198
2199	cvby	%r0, -524289
2200	cvby	%r0, 524288
2201
2202#CHECK: error: invalid operand
2203#CHECK: cvd	%r0, -1
2204#CHECK: error: invalid operand
2205#CHECK: cvd	%r0, 4096
2206
2207	cvd	%r0, -1
2208	cvd	%r0, 4096
2209
2210#CHECK: error: invalid operand
2211#CHECK: cvdg	%r0, -524289
2212#CHECK: error: invalid operand
2213#CHECK: cvdg	%r0, 524288
2214
2215	cvdg	%r0, -524289
2216	cvdg	%r0, 524288
2217
2218#CHECK: error: invalid operand
2219#CHECK: cvdy	%r0, -524289
2220#CHECK: error: invalid operand
2221#CHECK: cvdy	%r0, 524288
2222
2223	cvdy	%r0, -524289
2224	cvdy	%r0, 524288
2225
2226#CHECK: error: invalid register pair
2227#CHECK: cxbr	%f0, %f2
2228#CHECK: error: invalid register pair
2229#CHECK: cxbr	%f2, %f0
2230
2231	cxbr	%f0, %f2
2232	cxbr	%f2, %f0
2233
2234#CHECK: error: invalid register pair
2235#CHECK: cxfbr	%f2, %r0
2236
2237	cxfbr	%f2, %r0
2238
2239#CHECK: error: instruction requires: fp-extension
2240#CHECK: cxfbra	%f0, 0, %r0, 0
2241
2242	cxfbra	%f0, 0, %r0, 0
2243
2244#CHECK: error: instruction requires: fp-extension
2245#CHECK: cxftr	%f0, 0, %r0, 0
2246
2247	cxftr	%f0, 0, %r0, 0
2248
2249#CHECK: error: invalid register pair
2250#CHECK: cxfr	%f2, %r0
2251
2252	cxfr	%f2, %r0
2253
2254#CHECK: error: invalid register pair
2255#CHECK: cxgbr	%f2, %r0
2256
2257	cxgbr	%f2, %r0
2258
2259#CHECK: error: instruction requires: fp-extension
2260#CHECK: cxgbra	%f0, 0, %r0, 0
2261
2262	cxgbra	%f0, 0, %r0, 0
2263
2264#CHECK: error: invalid register pair
2265#CHECK: cxgr	%f2, %r0
2266
2267	cxgr	%f2, %r0
2268
2269#CHECK: error: invalid register pair
2270#CHECK: cxgtr	%f2, %r0
2271
2272	cxgtr	%f2, %r0
2273
2274#CHECK: error: instruction requires: fp-extension
2275#CHECK: cxgtra	%f0, 0, %r0, 0
2276
2277	cxgtra	%f0, 0, %r0, 0
2278
2279#CHECK: error: instruction requires: fp-extension
2280#CHECK: cxlfbr	%f0, 0, %r0, 0
2281
2282	cxlfbr	%f0, 0, %r0, 0
2283
2284#CHECK: error: instruction requires: fp-extension
2285#CHECK: cxlftr	%f0, 0, %r0, 0
2286
2287	cxlftr	%f0, 0, %r0, 0
2288
2289#CHECK: error: instruction requires: fp-extension
2290#CHECK: cxlgbr	%f0, 0, %r0, 0
2291
2292	cxlgbr	%f0, 0, %r0, 0
2293
2294#CHECK: error: instruction requires: fp-extension
2295#CHECK: cxlgtr	%f0, 0, %r0, 0
2296
2297	cxlgtr	%f0, 0, %r0, 0
2298
2299#CHECK: error: invalid register pair
2300#CHECK: cxr	%f0, %f2
2301#CHECK: error: invalid register pair
2302#CHECK: cxr	%f2, %f0
2303
2304	cxr	%f0, %f2
2305	cxr	%f2, %f0
2306
2307#CHECK: error: invalid register pair
2308#CHECK: cxstr	%f0, %r1
2309#CHECK: error: invalid register pair
2310#CHECK: cxstr	%f2, %r0
2311
2312	cxstr	%f0, %r1
2313	cxstr	%f2, %r0
2314
2315#CHECK: error: invalid register pair
2316#CHECK: cxtr	%f0, %f2
2317#CHECK: error: invalid register pair
2318#CHECK: cxtr	%f2, %f0
2319
2320	cxtr	%f0, %f2
2321	cxtr	%f2, %f0
2322
2323#CHECK: error: invalid register pair
2324#CHECK: cxutr	%f0, %r1
2325#CHECK: error: invalid register pair
2326#CHECK: cxutr	%f2, %r0
2327
2328	cxutr	%f0, %r1
2329	cxutr	%f2, %r0
2330
2331#CHECK: error: invalid operand
2332#CHECK: cy	%r0, -524289
2333#CHECK: error: invalid operand
2334#CHECK: cy	%r0, 524288
2335
2336	cy	%r0, -524289
2337	cy	%r0, 524288
2338
2339#CHECK: error: invalid operand
2340#CHECK: d	%r0, -1
2341#CHECK: error: invalid operand
2342#CHECK: d	%r0, 4096
2343#CHECK: error: invalid register pair
2344#CHECK: d	%r1, 0
2345
2346	d	%r0, -1
2347	d	%r0, 4096
2348	d	%r1, 0
2349
2350#CHECK: error: invalid operand
2351#CHECK: dd	%f0, -1
2352#CHECK: error: invalid operand
2353#CHECK: dd	%f0, 4096
2354
2355	dd	%f0, -1
2356	dd	%f0, 4096
2357
2358#CHECK: error: invalid operand
2359#CHECK: ddb	%f0, -1
2360#CHECK: error: invalid operand
2361#CHECK: ddb	%f0, 4096
2362
2363	ddb	%f0, -1
2364	ddb	%f0, 4096
2365
2366#CHECK: error: instruction requires: fp-extension
2367#CHECK: ddtra	%f0, %f0, %f0, 0
2368
2369	ddtra	%f0, %f0, %f0, 0
2370
2371#CHECK: error: invalid operand
2372#CHECK: de	%f0, -1
2373#CHECK: error: invalid operand
2374#CHECK: de	%f0, 4096
2375
2376	de	%f0, -1
2377	de	%f0, 4096
2378
2379#CHECK: error: invalid operand
2380#CHECK: deb	%f0, -1
2381#CHECK: error: invalid operand
2382#CHECK: deb	%f0, 4096
2383
2384	deb	%f0, -1
2385	deb	%f0, 4096
2386
2387#CHECK: error: invalid operand
2388#CHECK: diag	%r0, %r0, -1
2389#CHECK: error: invalid operand
2390#CHECK: diag	%r0, %r0, 4096
2391#CHECK: error: invalid use of indexed addressing
2392#CHECK: diag	%r0, %r0, 0(%r1,%r2)
2393
2394	diag	%r0, %r0, -1
2395	diag	%r0, %r0, 4096
2396	diag	%r0, %r0, 0(%r1,%r2)
2397
2398#CHECK: error: invalid operand
2399#CHECK: didbr	%f0, %f0, %f0, -1
2400#CHECK: error: invalid operand
2401#CHECK: didbr	%f0, %f0, %f0, 16
2402
2403	didbr	%f0, %f0, %f0, -1
2404	didbr	%f0, %f0, %f0, 16
2405
2406#CHECK: error: invalid operand
2407#CHECK: diebr	%f0, %f0, %f0, -1
2408#CHECK: error: invalid operand
2409#CHECK: diebr	%f0, %f0, %f0, 16
2410
2411	diebr	%f0, %f0, %f0, -1
2412	diebr	%f0, %f0, %f0, 16
2413
2414#CHECK: error: invalid operand
2415#CHECK: dl	%r0, -524289
2416#CHECK: error: invalid operand
2417#CHECK: dl	%r0, 524288
2418#CHECK: error: invalid register pair
2419#CHECK: dl	%r1, 0
2420
2421	dl	%r0, -524289
2422	dl	%r0, 524288
2423	dl	%r1, 0
2424
2425#CHECK: error: invalid register pair
2426#CHECK: dr	%r1, %r0
2427
2428	dr	%r1, %r0
2429
2430#CHECK: error: invalid operand
2431#CHECK: dlg	%r0, -524289
2432#CHECK: error: invalid operand
2433#CHECK: dlg	%r0, 524288
2434#CHECK: error: invalid register pair
2435#CHECK: dlg	%r1, 0
2436
2437	dlg	%r0, -524289
2438	dlg	%r0, 524288
2439	dlg	%r1, 0
2440
2441#CHECK: error: invalid register pair
2442#CHECK: dlgr	%r1, %r0
2443
2444	dlgr	%r1, %r0
2445
2446#CHECK: error: invalid register pair
2447#CHECK: dlr	%r1, %r0
2448
2449	dlr	%r1, %r0
2450
2451#CHECK: error: missing length in address
2452#CHECK: dp	0, 0(1)
2453#CHECK: error: missing length in address
2454#CHECK: dp	0(1), 0
2455#CHECK: error: missing length in address
2456#CHECK: dp	0(%r1), 0(1,%r1)
2457#CHECK: error: missing length in address
2458#CHECK: dp	0(1,%r1), 0(%r1)
2459#CHECK: error: invalid operand
2460#CHECK: dp	0(0,%r1), 0(1,%r1)
2461#CHECK: error: invalid operand
2462#CHECK: dp	0(1,%r1), 0(0,%r1)
2463#CHECK: error: invalid operand
2464#CHECK: dp	0(17,%r1), 0(1,%r1)
2465#CHECK: error: invalid operand
2466#CHECK: dp	0(1,%r1), 0(17,%r1)
2467#CHECK: error: invalid operand
2468#CHECK: dp	-1(1,%r1), 0(1,%r1)
2469#CHECK: error: invalid operand
2470#CHECK: dp	4096(1,%r1), 0(1,%r1)
2471#CHECK: error: invalid operand
2472#CHECK: dp	0(1,%r1), -1(1,%r1)
2473#CHECK: error: invalid operand
2474#CHECK: dp	0(1,%r1), 4096(1,%r1)
2475#CHECK: error: %r0 used in an address
2476#CHECK: dp	0(1,%r0), 0(1,%r1)
2477#CHECK: error: %r0 used in an address
2478#CHECK: dp	0(1,%r1), 0(1,%r0)
2479#CHECK: error: invalid use of indexed addressing
2480#CHECK: dp	0(%r1,%r2), 0(1,%r1)
2481#CHECK: error: invalid use of indexed addressing
2482#CHECK: dp	0(1,%r2), 0(%r1,%r2)
2483#CHECK: error: unknown token in expression
2484#CHECK: dp	0(-), 0(1)
2485
2486	dp	0, 0(1)
2487	dp	0(1), 0
2488	dp	0(%r1), 0(1,%r1)
2489	dp	0(1,%r1), 0(%r1)
2490	dp	0(0,%r1), 0(1,%r1)
2491	dp	0(1,%r1), 0(0,%r1)
2492	dp	0(17,%r1), 0(1,%r1)
2493	dp	0(1,%r1), 0(17,%r1)
2494	dp	-1(1,%r1), 0(1,%r1)
2495	dp	4096(1,%r1), 0(1,%r1)
2496	dp	0(1,%r1), -1(1,%r1)
2497	dp	0(1,%r1), 4096(1,%r1)
2498	dp	0(1,%r0), 0(1,%r1)
2499	dp	0(1,%r1), 0(1,%r0)
2500	dp	0(%r1,%r2), 0(1,%r1)
2501	dp	0(1,%r2), 0(%r1,%r2)
2502	dp	0(-), 0(1)
2503
2504#CHECK: error: invalid operand
2505#CHECK: dsg	%r0, -524289
2506#CHECK: error: invalid operand
2507#CHECK: dsg	%r0, 524288
2508#CHECK: error: invalid register pair
2509#CHECK: dsg	%r1, 0
2510
2511	dsg	%r0, -524289
2512	dsg	%r0, 524288
2513	dsg	%r1, 0
2514
2515#CHECK: error: invalid operand
2516#CHECK: dsgf	%r0, -524289
2517#CHECK: error: invalid operand
2518#CHECK: dsgf	%r0, 524288
2519#CHECK: error: invalid register pair
2520#CHECK: dsgf	%r1, 0
2521
2522	dsgf	%r0, -524289
2523	dsgf	%r0, 524288
2524	dsgf	%r1, 0
2525
2526#CHECK: error: invalid register pair
2527#CHECK: dsgfr	%r1, %r0
2528
2529	dsgfr	%r1, %r0
2530
2531#CHECK: error: invalid register pair
2532#CHECK: dsgr	%r1, %r0
2533
2534	dsgr	%r1, %r0
2535
2536#CHECK: error: invalid register pair
2537#CHECK: dxbr	%f0, %f2
2538#CHECK: error: invalid register pair
2539#CHECK: dxbr	%f2, %f0
2540
2541	dxbr	%f0, %f2
2542	dxbr	%f2, %f0
2543
2544#CHECK: error: invalid register pair
2545#CHECK: dxr	%f0, %f2
2546#CHECK: error: invalid register pair
2547#CHECK: dxr	%f2, %f0
2548
2549	dxr	%f0, %f2
2550	dxr	%f2, %f0
2551
2552#CHECK: error: invalid register pair
2553#CHECK: dxtr	%f0, %f0, %f2
2554#CHECK: error: invalid register pair
2555#CHECK: dxtr	%f0, %f2, %f0
2556#CHECK: error: invalid register pair
2557#CHECK: dxtr	%f2, %f0, %f0
2558
2559	dxtr	%f0, %f0, %f2
2560	dxtr	%f0, %f2, %f0
2561	dxtr	%f2, %f0, %f0
2562
2563#CHECK: error: instruction requires: fp-extension
2564#CHECK: dxtra	%f0, %f0, %f0, 0
2565
2566	dxtra	%f0, %f0, %f0, 0
2567
2568#CHECK: error: invalid operand
2569#CHECK: ecag	%r0, %r0, -524289
2570#CHECK: error: invalid operand
2571#CHECK: ecag	%r0, %r0, 524288
2572#CHECK: error: invalid use of indexed addressing
2573#CHECK: ecag	%r0, %r0, 0(%r1,%r2)
2574
2575	ecag	%r0, %r0, -524289
2576	ecag	%r0, %r0, 524288
2577	ecag	%r0, %r0, 0(%r1,%r2)
2578
2579#CHECK: error: invalid use of indexed addressing
2580#CHECK: ectg    160(%r1,%r15),160(%r15), %r2
2581#CHECK: error: invalid operand
2582#CHECK: ectg    -1(%r1),160(%r15), %r2
2583#CHECK: error: invalid operand
2584#CHECK: ectg    4096(%r1),160(%r15), %r2
2585#CHECK: error: invalid operand
2586#CHECK: ectg    0(%r1),-1(%r15), %r2
2587#CHECK: error: invalid operand
2588#CHECK: ectg    0(%r1),4096(%r15), %r2
2589
2590        ectg    160(%r1,%r15),160(%r15), %r2
2591        ectg    -1(%r1),160(%r15), %r2
2592        ectg    4096(%r1),160(%r15), %r2
2593        ectg    0(%r1),-1(%r15), %r2
2594        ectg    0(%r1),4096(%r15), %r2
2595
2596#CHECK: error: missing length in address
2597#CHECK: ed	0, 0
2598#CHECK: error: missing length in address
2599#CHECK: ed	0(%r1), 0(%r1)
2600#CHECK: error: invalid use of length addressing
2601#CHECK: ed	0(1,%r1), 0(2,%r1)
2602#CHECK: error: invalid operand
2603#CHECK: ed	0(0,%r1), 0(%r1)
2604#CHECK: error: invalid operand
2605#CHECK: ed	0(257,%r1), 0(%r1)
2606#CHECK: error: invalid operand
2607#CHECK: ed	-1(1,%r1), 0(%r1)
2608#CHECK: error: invalid operand
2609#CHECK: ed	4096(1,%r1), 0(%r1)
2610#CHECK: error: invalid operand
2611#CHECK: ed	0(1,%r1), -1(%r1)
2612#CHECK: error: invalid operand
2613#CHECK: ed	0(1,%r1), 4096(%r1)
2614#CHECK: error: %r0 used in an address
2615#CHECK: ed	0(1,%r0), 0(%r1)
2616#CHECK: error: %r0 used in an address
2617#CHECK: ed	0(1,%r1), 0(%r0)
2618#CHECK: error: invalid use of indexed addressing
2619#CHECK: ed	0(%r1,%r2), 0(%r1)
2620#CHECK: error: invalid use of indexed addressing
2621#CHECK: ed	0(1,%r2), 0(%r1,%r2)
2622#CHECK: error: unknown token in expression
2623#CHECK: ed	0(-), 0
2624
2625	ed	0, 0
2626	ed	0(%r1), 0(%r1)
2627	ed	0(1,%r1), 0(2,%r1)
2628	ed	0(0,%r1), 0(%r1)
2629	ed	0(257,%r1), 0(%r1)
2630	ed	-1(1,%r1), 0(%r1)
2631	ed	4096(1,%r1), 0(%r1)
2632	ed	0(1,%r1), -1(%r1)
2633	ed	0(1,%r1), 4096(%r1)
2634	ed	0(1,%r0), 0(%r1)
2635	ed	0(1,%r1), 0(%r0)
2636	ed	0(%r1,%r2), 0(%r1)
2637	ed	0(1,%r2), 0(%r1,%r2)
2638	ed	0(-), 0
2639
2640#CHECK: error: missing length in address
2641#CHECK: edmk	0, 0
2642#CHECK: error: missing length in address
2643#CHECK: edmk	0(%r1), 0(%r1)
2644#CHECK: error: invalid use of length addressing
2645#CHECK: edmk	0(1,%r1), 0(2,%r1)
2646#CHECK: error: invalid operand
2647#CHECK: edmk	0(0,%r1), 0(%r1)
2648#CHECK: error: invalid operand
2649#CHECK: edmk	0(257,%r1), 0(%r1)
2650#CHECK: error: invalid operand
2651#CHECK: edmk	-1(1,%r1), 0(%r1)
2652#CHECK: error: invalid operand
2653#CHECK: edmk	4096(1,%r1), 0(%r1)
2654#CHECK: error: invalid operand
2655#CHECK: edmk	0(1,%r1), -1(%r1)
2656#CHECK: error: invalid operand
2657#CHECK: edmk	0(1,%r1), 4096(%r1)
2658#CHECK: error: %r0 used in an address
2659#CHECK: edmk	0(1,%r0), 0(%r1)
2660#CHECK: error: %r0 used in an address
2661#CHECK: edmk	0(1,%r1), 0(%r0)
2662#CHECK: error: invalid use of indexed addressing
2663#CHECK: edmk	0(%r1,%r2), 0(%r1)
2664#CHECK: error: invalid use of indexed addressing
2665#CHECK: edmk	0(1,%r2), 0(%r1,%r2)
2666#CHECK: error: unknown token in expression
2667#CHECK: edmk	0(-), 0
2668
2669	edmk	0, 0
2670	edmk	0(%r1), 0(%r1)
2671	edmk	0(1,%r1), 0(2,%r1)
2672	edmk	0(0,%r1), 0(%r1)
2673	edmk	0(257,%r1), 0(%r1)
2674	edmk	-1(1,%r1), 0(%r1)
2675	edmk	4096(1,%r1), 0(%r1)
2676	edmk	0(1,%r1), -1(%r1)
2677	edmk	0(1,%r1), 4096(%r1)
2678	edmk	0(1,%r0), 0(%r1)
2679	edmk	0(1,%r1), 0(%r0)
2680	edmk	0(%r1,%r2), 0(%r1)
2681	edmk	0(1,%r2), 0(%r1,%r2)
2682	edmk	0(-), 0
2683
2684#CHECK: error: invalid register pair
2685#CHECK: eextr	%f0, %f2
2686#CHECK: error: invalid register pair
2687#CHECK: eextr	%f2, %f0
2688
2689	eextr	%f0, %f2
2690	eextr	%f2, %f0
2691
2692#CHECK: error: invalid register pair
2693#CHECK: esta	%r1, %r0
2694
2695	esta	%r1, %r0
2696
2697#CHECK: error: invalid register pair
2698#CHECK: esxtr	%f0, %f2
2699#CHECK: error: invalid register pair
2700#CHECK: esxtr	%f2, %f0
2701
2702	esxtr	%f0, %f2
2703	esxtr	%f2, %f0
2704
2705#CHECK: error: invalid operand
2706#CHECK: ex      %r0, -1
2707#CHECK: error: invalid operand
2708#CHECK: ex      %r0, 4096
2709
2710        ex      %r0, -1
2711        ex      %r0, 4096
2712
2713#CHECK: error: invalid operand
2714#CHECK: fidbr	%f0, -1, %f0
2715#CHECK: error: invalid operand
2716#CHECK: fidbr	%f0, 16, %f0
2717
2718	fidbr	%f0, -1, %f0
2719	fidbr	%f0, 16, %f0
2720
2721#CHECK: error: instruction requires: fp-extension
2722#CHECK: fidbra	%f0, 0, %f0, 0
2723
2724	fidbra	%f0, 0, %f0, 0
2725
2726#CHECK: error: invalid operand
2727#CHECK: fidtr	%f0, 0, %f0, -1
2728#CHECK: error: invalid operand
2729#CHECK: fidtr	%f0, 0, %f0, 16
2730#CHECK: error: invalid operand
2731#CHECK: fidtr	%f0, -1, %f0, 0
2732#CHECK: error: invalid operand
2733#CHECK: fidtr	%f0, 16, %f0, 0
2734
2735	fidtr	%f0, 0, %f0, -1
2736	fidtr	%f0, 0, %f0, 16
2737	fidtr	%f0, -1, %f0, 0
2738	fidtr	%f0, 16, %f0, 0
2739
2740#CHECK: error: invalid operand
2741#CHECK: fiebr	%f0, -1, %f0
2742#CHECK: error: invalid operand
2743#CHECK: fiebr	%f0, 16, %f0
2744
2745	fiebr	%f0, -1, %f0
2746	fiebr	%f0, 16, %f0
2747
2748#CHECK: error: instruction requires: fp-extension
2749#CHECK: fiebra	%f0, 0, %f0, 0
2750
2751	fiebra	%f0, 0, %f0, 0
2752
2753#CHECK: error: invalid operand
2754#CHECK: fixbr	%f0, -1, %f0
2755#CHECK: error: invalid operand
2756#CHECK: fixbr	%f0, 16, %f0
2757#CHECK: error: invalid register pair
2758#CHECK: fixbr	%f0, 0, %f2
2759#CHECK: error: invalid register pair
2760#CHECK: fixbr	%f2, 0, %f0
2761
2762	fixbr	%f0, -1, %f0
2763	fixbr	%f0, 16, %f0
2764	fixbr	%f0, 0, %f2
2765	fixbr	%f2, 0, %f0
2766
2767#CHECK: error: instruction requires: fp-extension
2768#CHECK: fixbra	%f0, 0, %f0, 0
2769
2770	fixbra	%f0, 0, %f0, 0
2771
2772#CHECK: error: invalid register pair
2773#CHECK: fixr	%f0, %f2
2774#CHECK: error: invalid register pair
2775#CHECK: fixr	%f2, %f0
2776
2777	fixr	%f0, %f2
2778	fixr	%f2, %f0
2779
2780#CHECK: error: invalid operand
2781#CHECK: fixtr	%f0, 0, %f0, -1
2782#CHECK: error: invalid operand
2783#CHECK: fixtr	%f0, 0, %f0, 16
2784#CHECK: error: invalid operand
2785#CHECK: fixtr	%f0, -1, %f0, 0
2786#CHECK: error: invalid operand
2787#CHECK: fixtr	%f0, 16, %f0, 0
2788#CHECK: error: invalid register pair
2789#CHECK: fixtr	%f0, 0, %f2, 0
2790#CHECK: error: invalid register pair
2791#CHECK: fixtr	%f2, 0, %f0, 0
2792
2793	fixtr	%f0, 0, %f0, -1
2794	fixtr	%f0, 0, %f0, 16
2795	fixtr	%f0, -1, %f0, 0
2796	fixtr	%f0, 16, %f0, 0
2797	fixtr	%f0, 0, %f2, 0
2798	fixtr	%f2, 0, %f0, 0
2799
2800#CHECK: error: invalid register pair
2801#CHECK: flogr	%r1, %r0
2802
2803	flogr	%r1, %r0
2804
2805#CHECK: error: invalid operand
2806#CHECK: ic	%r0, -1
2807#CHECK: error: invalid operand
2808#CHECK: ic	%r0, 4096
2809
2810	ic	%r0, -1
2811	ic	%r0, 4096
2812
2813#CHECK: error: invalid operand
2814#CHECK: icm	%r0, 0, -1
2815#CHECK: error: invalid operand
2816#CHECK: icm	%r0, 0, 4096
2817#CHECK: error: invalid operand
2818#CHECK: icm	%r0, -1, 0
2819#CHECK: error: invalid operand
2820#CHECK: icm	%r0, 16, 0
2821
2822	icm	%r0, 0, -1
2823	icm	%r0, 0, 4096
2824	icm	%r0, -1, 0
2825	icm	%r0, 16, 0
2826
2827#CHECK: error: invalid operand
2828#CHECK: icmh	%r0, 0, -524289
2829#CHECK: error: invalid operand
2830#CHECK: icmh	%r0, 0, 524288
2831#CHECK: error: invalid operand
2832#CHECK: icmh	%r0, -1, 0
2833#CHECK: error: invalid operand
2834#CHECK: icmh	%r0, 16, 0
2835
2836	icmh	%r0, 0, -524289
2837	icmh	%r0, 0, 524288
2838	icmh	%r0, -1, 0
2839	icmh	%r0, 16, 0
2840
2841#CHECK: error: invalid operand
2842#CHECK: icmy	%r0, 0, -524289
2843#CHECK: error: invalid operand
2844#CHECK: icmy	%r0, 0, 524288
2845#CHECK: error: invalid operand
2846#CHECK: icmy	%r0, -1, 0
2847#CHECK: error: invalid operand
2848#CHECK: icmy	%r0, 16, 0
2849
2850	icmy	%r0, 0, -524289
2851	icmy	%r0, 0, 524288
2852	icmy	%r0, -1, 0
2853	icmy	%r0, 16, 0
2854
2855#CHECK: error: invalid operand
2856#CHECK: icy	%r0, -524289
2857#CHECK: error: invalid operand
2858#CHECK: icy	%r0, 524288
2859
2860	icy	%r0, -524289
2861	icy	%r0, 524288
2862
2863#CHECK: error: invalid operand
2864#CHECK: idte	%r0, %r0, %r0, -1
2865#CHECK: error: invalid operand
2866#CHECK: idte	%r0, %r0, %r0, 16
2867
2868	idte	%r0, %r0, %r0, -1
2869	idte	%r0, %r0, %r0, 16
2870
2871#CHECK: error: invalid register pair
2872#CHECK: iextr	%f0, %f0, %f2
2873#CHECK: error: invalid register pair
2874#CHECK: iextr	%f0, %f2, %f0
2875#CHECK: error: invalid register pair
2876#CHECK: iextr	%f2, %f0, %f0
2877
2878	iextr	%f0, %f0, %f2
2879	iextr	%f0, %f2, %f0
2880	iextr	%f2, %f0, %f0
2881
2882#CHECK: error: invalid operand
2883#CHECK: iihf	%r0, -1
2884#CHECK: error: invalid operand
2885#CHECK: iihf	%r0, 1 << 32
2886
2887	iihf	%r0, -1
2888	iihf	%r0, 1 << 32
2889
2890#CHECK: error: invalid operand
2891#CHECK: iihh	%r0, -1
2892#CHECK: error: invalid operand
2893#CHECK: iihh	%r0, 0x10000
2894
2895	iihh	%r0, -1
2896	iihh	%r0, 0x10000
2897
2898#CHECK: error: invalid operand
2899#CHECK: iihl	%r0, -1
2900#CHECK: error: invalid operand
2901#CHECK: iihl	%r0, 0x10000
2902
2903	iihl	%r0, -1
2904	iihl	%r0, 0x10000
2905
2906#CHECK: error: invalid operand
2907#CHECK: iilf	%r0, -1
2908#CHECK: error: invalid operand
2909#CHECK: iilf	%r0, 1 << 32
2910
2911	iilf	%r0, -1
2912	iilf	%r0, 1 << 32
2913
2914#CHECK: error: invalid operand
2915#CHECK: iilh	%r0, -1
2916#CHECK: error: invalid operand
2917#CHECK: iilh	%r0, 0x10000
2918
2919	iilh	%r0, -1
2920	iilh	%r0, 0x10000
2921
2922#CHECK: error: invalid operand
2923#CHECK: iill	%r0, -1
2924#CHECK: error: invalid operand
2925#CHECK: iill	%r0, 0x10000
2926
2927	iill	%r0, -1
2928	iill	%r0, 0x10000
2929
2930#CHECK: error: invalid operand
2931#CHECK: ipte	%r0, %r0, %r0, -1
2932#CHECK: error: invalid operand
2933#CHECK: ipte	%r0, %r0, %r0, 16
2934
2935	ipte	%r0, %r0, %r0, -1
2936	ipte	%r0, %r0, %r0, 16
2937
2938#CHECK: error: invalid operand
2939#CHECK: kdb	%f0, -1
2940#CHECK: error: invalid operand
2941#CHECK: kdb	%f0, 4096
2942
2943	kdb	%f0, -1
2944	kdb	%f0, 4096
2945
2946#CHECK: error: invalid operand
2947#CHECK: keb	%f0, -1
2948#CHECK: error: invalid operand
2949#CHECK: keb	%f0, 4096
2950
2951	keb	%f0, -1
2952	keb	%f0, 4096
2953
2954#CHECK: error: invalid register pair
2955#CHECK: kimd	%r0, %r1
2956
2957	kimd	%r0, %r1
2958
2959#CHECK: error: invalid register pair
2960#CHECK: klmd	%r0, %r1
2961
2962	klmd	%r0, %r1
2963
2964#CHECK: error: invalid register pair
2965#CHECK: km	%r1, %r2
2966#CHECK: error: invalid register pair
2967#CHECK: km	%r2, %r1
2968
2969	km	%r1, %r2
2970	km	%r2, %r1
2971
2972#CHECK: error: invalid register pair
2973#CHECK: kmac	%r0, %r1
2974
2975	kmac	%r0, %r1
2976
2977#CHECK: error: invalid register pair
2978#CHECK: kmc	%r1, %r2
2979#CHECK: error: invalid register pair
2980#CHECK: kmc	%r2, %r1
2981
2982	kmc	%r1, %r2
2983	kmc	%r2, %r1
2984
2985#CHECK: error: instruction requires: message-security-assist-extension4
2986#CHECK: kmctr	%r2, %r4, %r6
2987
2988	kmctr	%r2, %r4, %r6
2989
2990#CHECK: error: instruction requires: message-security-assist-extension4
2991#CHECK: kmf	%r2, %r4
2992
2993	kmf	%r2, %r4
2994
2995#CHECK: error: instruction requires: message-security-assist-extension4
2996#CHECK: kmo	%r2, %r4
2997
2998	kmo	%r2, %r4
2999
3000#CHECK: error: invalid register pair
3001#CHECK: kxbr	%f0, %f2
3002#CHECK: error: invalid register pair
3003#CHECK: kxbr	%f2, %f0
3004
3005	kxbr	%f0, %f2
3006	kxbr	%f2, %f0
3007
3008#CHECK: error: invalid register pair
3009#CHECK: kxtr	%f0, %f2
3010#CHECK: error: invalid register pair
3011#CHECK: kxtr	%f2, %f0
3012
3013	kxtr	%f0, %f2
3014	kxtr	%f2, %f0
3015
3016#CHECK: error: invalid operand
3017#CHECK: l	%r0, -1
3018#CHECK: error: invalid operand
3019#CHECK: l	%r0, 4096
3020
3021	l	%r0, -1
3022	l	%r0, 4096
3023
3024#CHECK: error: invalid operand
3025#CHECK: la	%r0, -1
3026#CHECK: error: invalid operand
3027#CHECK: la	%r0, 4096
3028
3029	la	%r0, -1
3030	la	%r0, 4096
3031
3032#CHECK: error: instruction requires: interlocked-access1
3033#CHECK: laa	%r1, %r2, 100(%r3)
3034	laa	%r1, %r2, 100(%r3)
3035
3036#CHECK: error: instruction requires: interlocked-access1
3037#CHECK: laag	%r1, %r2, 100(%r3)
3038	laag	%r1, %r2, 100(%r3)
3039
3040#CHECK: error: instruction requires: interlocked-access1
3041#CHECK: laal	%r1, %r2, 100(%r3)
3042	laal	%r1, %r2, 100(%r3)
3043
3044#CHECK: error: instruction requires: interlocked-access1
3045#CHECK: laalg	%r1, %r2, 100(%r3)
3046	laalg	%r1, %r2, 100(%r3)
3047
3048#CHECK: error: invalid operand
3049#CHECK: lae	%r0, -1
3050#CHECK: error: invalid operand
3051#CHECK: lae	%r0, 4096
3052
3053	lae	%r0, -1
3054	lae	%r0, 4096
3055
3056#CHECK: error: invalid operand
3057#CHECK: laey	%r0, -524289
3058#CHECK: error: invalid operand
3059#CHECK: laey	%r0, 524288
3060
3061	laey	%r0, -524289
3062	laey	%r0, 524288
3063
3064#CHECK: error: invalid operand
3065#CHECK: lam	%a0, %a0, 4096
3066#CHECK: error: invalid use of indexed addressing
3067#CHECK: lam	%a0, %a0, 0(%r1,%r2)
3068
3069	lam	%a0, %a0, 4096
3070	lam	%a0, %a0, 0(%r1,%r2)
3071
3072#CHECK: error: invalid operand
3073#CHECK: lamy	%a0, %a0, -524289
3074#CHECK: error: invalid operand
3075#CHECK: lamy	%a0, %a0, 524288
3076#CHECK: error: invalid use of indexed addressing
3077#CHECK: lamy	%a0, %a0, 0(%r1,%r2)
3078
3079	lamy	%a0, %a0, -524289
3080	lamy	%a0, %a0, 524288
3081	lamy	%a0, %a0, 0(%r1,%r2)
3082
3083#CHECK: error: instruction requires: interlocked-access1
3084#CHECK: lan	%r1, %r2, 100(%r3)
3085	lan	%r1, %r2, 100(%r3)
3086
3087#CHECK: error: instruction requires: interlocked-access1
3088#CHECK: lang	%r1, %r2, 100(%r3)
3089	lang	%r1, %r2, 100(%r3)
3090
3091#CHECK: error: instruction requires: interlocked-access1
3092#CHECK: lao	%r1, %r2, 100(%r3)
3093	lao	%r1, %r2, 100(%r3)
3094
3095#CHECK: error: instruction requires: interlocked-access1
3096#CHECK: laog	%r1, %r2, 100(%r3)
3097	laog	%r1, %r2, 100(%r3)
3098
3099#CHECK: error: offset out of range
3100#CHECK: larl	%r0, -0x1000000002
3101#CHECK: error: offset out of range
3102#CHECK: larl	%r0, -1
3103#CHECK: error: offset out of range
3104#CHECK: larl	%r0, 1
3105#CHECK: error: offset out of range
3106#CHECK: larl	%r0, 0x100000000
3107
3108	larl	%r0, -0x1000000002
3109	larl	%r0, -1
3110	larl	%r0, 1
3111	larl	%r0, 0x100000000
3112
3113#CHECK: error: invalid use of indexed addressing
3114#CHECK: lasp	160(%r1,%r15),160(%r15)
3115#CHECK: error: invalid operand
3116#CHECK: lasp	-1(%r1),160(%r15)
3117#CHECK: error: invalid operand
3118#CHECK: lasp	4096(%r1),160(%r15)
3119#CHECK: error: invalid operand
3120#CHECK: lasp	0(%r1),-1(%r15)
3121#CHECK: error: invalid operand
3122#CHECK: lasp	0(%r1),4096(%r15)
3123
3124        lasp	160(%r1,%r15),160(%r15)
3125        lasp	-1(%r1),160(%r15)
3126        lasp	4096(%r1),160(%r15)
3127        lasp	0(%r1),-1(%r15)
3128        lasp	0(%r1),4096(%r15)
3129
3130#CHECK: error: instruction requires: interlocked-access1
3131#CHECK: lax	%r1, %r2, 100(%r3)
3132	lax	%r1, %r2, 100(%r3)
3133
3134#CHECK: error: instruction requires: interlocked-access1
3135#CHECK: laxg	%r1, %r2, 100(%r3)
3136	laxg	%r1, %r2, 100(%r3)
3137
3138#CHECK: error: invalid operand
3139#CHECK: lay	%r0, -524289
3140#CHECK: error: invalid operand
3141#CHECK: lay	%r0, 524288
3142
3143	lay	%r0, -524289
3144	lay	%r0, 524288
3145
3146#CHECK: error: invalid operand
3147#CHECK: lb	%r0, -524289
3148#CHECK: error: invalid operand
3149#CHECK: lb	%r0, 524288
3150
3151	lb	%r0, -524289
3152	lb	%r0, 524288
3153
3154#CHECK: error: instruction requires: high-word
3155#CHECK: lbh	%r0, 0
3156
3157	lbh	%r0, 0
3158
3159#CHECK: error: invalid operand
3160#CHECK: lcctl	-1
3161#CHECK: error: invalid operand
3162#CHECK: lcctl	4096
3163#CHECK: error: invalid use of indexed addressing
3164#CHECK: lcctl	0(%r1,%r2)
3165
3166	lcctl	-1
3167	lcctl	4096
3168	lcctl	0(%r1,%r2)
3169
3170#CHECK: error: invalid operand
3171#CHECK: lctl	%c0, %c0, -1
3172#CHECK: error: invalid operand
3173#CHECK: lctl	%c0, %c0, 4096
3174#CHECK: error: invalid use of indexed addressing
3175#CHECK: lctl	%c0, %c0, 0(%r1,%r2)
3176
3177	lctl	%c0, %c0, -1
3178	lctl	%c0, %c0, 4096
3179	lctl	%c0, %c0, 0(%r1,%r2)
3180
3181#CHECK: error: invalid operand
3182#CHECK: lctlg	%c0, %c0, -524289
3183#CHECK: error: invalid operand
3184#CHECK: lctlg	%c0, %c0, 524288
3185#CHECK: error: invalid use of indexed addressing
3186#CHECK: lctlg	%c0, %c0, 0(%r1,%r2)
3187
3188	lctlg	%c0, %c0, -524289
3189	lctlg	%c0, %c0, 524288
3190	lctlg	%c0, %c0, 0(%r1,%r2)
3191
3192#CHECK: error: invalid register pair
3193#CHECK: lcxbr	%f0, %f2
3194#CHECK: error: invalid register pair
3195#CHECK: lcxbr	%f2, %f0
3196
3197	lcxbr	%f0, %f2
3198	lcxbr	%f2, %f0
3199
3200#CHECK: error: invalid register pair
3201#CHECK: lcxr	%f0, %f2
3202#CHECK: error: invalid register pair
3203#CHECK: lcxr	%f2, %f0
3204
3205	lcxr	%f0, %f2
3206	lcxr	%f2, %f0
3207
3208#CHECK: error: invalid operand
3209#CHECK: ld	%f0, -1
3210#CHECK: error: invalid operand
3211#CHECK: ld	%f0, 4096
3212
3213	ld	%f0, -1
3214	ld	%f0, 4096
3215
3216#CHECK: error: invalid operand
3217#CHECK: ldeb	%f0, -1
3218#CHECK: error: invalid operand
3219#CHECK: ldeb	%f0, 4096
3220
3221	ldeb	%f0, -1
3222	ldeb	%f0, 4096
3223
3224#CHECK: error: invalid operand
3225#CHECK: ldetr	%f0, %f0, -1
3226#CHECK: error: invalid operand
3227#CHECK: ldetr	%f0, %f0, 16
3228
3229	ldetr	%f0, %f0, -1
3230	ldetr	%f0, %f0, 16
3231
3232#CHECK: error: invalid register pair
3233#CHECK: ldxbr	%f0, %f2
3234#CHECK: error: invalid register pair
3235#CHECK: ldxbr	%f2, %f0
3236
3237	ldxbr	%f0, %f2
3238	ldxbr	%f2, %f0
3239
3240#CHECK: error: instruction requires: fp-extension
3241#CHECK: ldxbra	%f0, 0, %f0, 0
3242
3243	ldxbra	%f0, 0, %f0, 0
3244
3245#CHECK: error: invalid register pair
3246#CHECK: ldxr	%f0, %f2
3247
3248	ldxr	%f0, %f2
3249
3250#CHECK: error: invalid operand
3251#CHECK: ldxtr	%f0, 0, %f0, -1
3252#CHECK: error: invalid operand
3253#CHECK: ldxtr	%f0, 0, %f0, 16
3254#CHECK: error: invalid operand
3255#CHECK: ldxtr	%f0, -1, %f0, 0
3256#CHECK: error: invalid operand
3257#CHECK: ldxtr	%f0, 16, %f0, 0
3258#CHECK: error: invalid register pair
3259#CHECK: ldxtr	%f0, 0, %f2, 0
3260#CHECK: error: invalid register pair
3261#CHECK: ldxtr	%f2, 0, %f0, 0
3262
3263	ldxtr	%f0, 0, %f0, -1
3264	ldxtr	%f0, 0, %f0, 16
3265	ldxtr	%f0, -1, %f0, 0
3266	ldxtr	%f0, 16, %f0, 0
3267	ldxtr	%f0, 0, %f2, 0
3268	ldxtr	%f2, 0, %f0, 0
3269
3270#CHECK: error: invalid operand
3271#CHECK: ldy	%f0, -524289
3272#CHECK: error: invalid operand
3273#CHECK: ldy	%f0, 524288
3274
3275	ldy	%f0, -524289
3276	ldy	%f0, 524288
3277
3278#CHECK: error: invalid operand
3279#CHECK: le	%f0, -1
3280#CHECK: error: invalid operand
3281#CHECK: le	%f0, 4096
3282
3283	le	%f0, -1
3284	le	%f0, 4096
3285
3286#CHECK: error: instruction requires: fp-extension
3287#CHECK: ledbra	%f0, 0, %f0, 0
3288
3289	ledbra	%f0, 0, %f0, 0
3290
3291#CHECK: error: invalid operand
3292#CHECK: ledtr	%f0, 0, %f0, -1
3293#CHECK: error: invalid operand
3294#CHECK: ledtr	%f0, 0, %f0, 16
3295#CHECK: error: invalid operand
3296#CHECK: ledtr	%f0, -1, %f0, 0
3297#CHECK: error: invalid operand
3298#CHECK: ledtr	%f0, 16, %f0, 0
3299
3300	ledtr	%f0, 0, %f0, -1
3301	ledtr	%f0, 0, %f0, 16
3302	ledtr	%f0, -1, %f0, 0
3303	ledtr	%f0, 16, %f0, 0
3304
3305#CHECK: error: invalid register pair
3306#CHECK: lexbr	%f0, %f2
3307#CHECK: error: invalid register pair
3308#CHECK: lexbr	%f2, %f0
3309
3310	lexbr	%f0, %f2
3311	lexbr	%f2, %f0
3312
3313#CHECK: error: instruction requires: fp-extension
3314#CHECK: lexbra	%f0, 0, %f0, 0
3315
3316	lexbra	%f0, 0, %f0, 0
3317
3318#CHECK: error: invalid register pair
3319#CHECK: lexr	%f0, %f2
3320
3321	lexr	%f0, %f2
3322
3323#CHECK: error: invalid operand
3324#CHECK: ley	%f0, -524289
3325#CHECK: error: invalid operand
3326#CHECK: ley	%f0, 524288
3327
3328	ley	%f0, -524289
3329	ley	%f0, 524288
3330
3331#CHECK: error: invalid operand
3332#CHECK: lfas	-1
3333#CHECK: error: invalid operand
3334#CHECK: lfas	4096
3335#CHECK: error: invalid use of indexed addressing
3336#CHECK: lfas	0(%r1,%r2)
3337
3338	lfas	-1
3339	lfas	4096
3340	lfas	0(%r1,%r2)
3341
3342#CHECK: error: instruction requires: high-word
3343#CHECK: lfh	%r0, 0
3344
3345	lfh	%r0, 0
3346
3347#CHECK: error: invalid operand
3348#CHECK: lfpc	-1
3349#CHECK: error: invalid operand
3350#CHECK: lfpc	4096
3351#CHECK: error: invalid use of indexed addressing
3352#CHECK: lfpc	0(%r1,%r2)
3353
3354	lfpc	-1
3355	lfpc	4096
3356	lfpc	0(%r1,%r2)
3357
3358#CHECK: error: invalid operand
3359#CHECK: lg	%r0, -524289
3360#CHECK: error: invalid operand
3361#CHECK: lg	%r0, 524288
3362
3363	lg	%r0, -524289
3364	lg	%r0, 524288
3365
3366#CHECK: error: invalid operand
3367#CHECK: lgb	%r0, -524289
3368#CHECK: error: invalid operand
3369#CHECK: lgb	%r0, 524288
3370
3371	lgb	%r0, -524289
3372	lgb	%r0, 524288
3373
3374#CHECK: error: invalid operand
3375#CHECK: lgf	%r0, -524289
3376#CHECK: error: invalid operand
3377#CHECK: lgf	%r0, 524288
3378
3379	lgf	%r0, -524289
3380	lgf	%r0, 524288
3381
3382#CHECK: error: invalid operand
3383#CHECK: lgfi	%r0, (-1 << 31) - 1
3384#CHECK: error: invalid operand
3385#CHECK: lgfi	%r0, (1 << 31)
3386
3387	lgfi	%r0, (-1 << 31) - 1
3388	lgfi	%r0, (1 << 31)
3389
3390#CHECK: error: offset out of range
3391#CHECK: lgfrl	%r0, -0x1000000002
3392#CHECK: error: offset out of range
3393#CHECK: lgfrl	%r0, -1
3394#CHECK: error: offset out of range
3395#CHECK: lgfrl	%r0, 1
3396#CHECK: error: offset out of range
3397#CHECK: lgfrl	%r0, 0x100000000
3398
3399	lgfrl	%r0, -0x1000000002
3400	lgfrl	%r0, -1
3401	lgfrl	%r0, 1
3402	lgfrl	%r0, 0x100000000
3403
3404#CHECK: error: invalid operand
3405#CHECK: lgh	%r0, -524289
3406#CHECK: error: invalid operand
3407#CHECK: lgh	%r0, 524288
3408
3409	lgh	%r0, -524289
3410	lgh	%r0, 524288
3411
3412#CHECK: error: invalid operand
3413#CHECK: lghi	%r0, -32769
3414#CHECK: error: invalid operand
3415#CHECK: lghi	%r0, 32768
3416#CHECK: error: invalid operand
3417#CHECK: lghi	%r0, foo
3418
3419	lghi	%r0, -32769
3420	lghi	%r0, 32768
3421	lghi	%r0, foo
3422
3423#CHECK: error: offset out of range
3424#CHECK: lghrl	%r0, -0x1000000002
3425#CHECK: error: offset out of range
3426#CHECK: lghrl	%r0, -1
3427#CHECK: error: offset out of range
3428#CHECK: lghrl	%r0, 1
3429#CHECK: error: offset out of range
3430#CHECK: lghrl	%r0, 0x100000000
3431
3432	lghrl	%r0, -0x1000000002
3433	lghrl	%r0, -1
3434	lghrl	%r0, 1
3435	lghrl	%r0, 0x100000000
3436
3437#CHECK: error: offset out of range
3438#CHECK: lgrl	%r0, -0x1000000002
3439#CHECK: error: offset out of range
3440#CHECK: lgrl	%r0, -1
3441#CHECK: error: offset out of range
3442#CHECK: lgrl	%r0, 1
3443#CHECK: error: offset out of range
3444#CHECK: lgrl	%r0, 0x100000000
3445
3446	lgrl	%r0, -0x1000000002
3447	lgrl	%r0, -1
3448	lgrl	%r0, 1
3449	lgrl	%r0, 0x100000000
3450
3451#CHECK: error: invalid operand
3452#CHECK: lh	%r0, -1
3453#CHECK: error: invalid operand
3454#CHECK: lh	%r0, 4096
3455
3456	lh	%r0, -1
3457	lh	%r0, 4096
3458
3459#CHECK: error: instruction requires: high-word
3460#CHECK: lhh	%r0, 0
3461
3462	lhh	%r0, 0
3463
3464#CHECK: error: invalid operand
3465#CHECK: lhi	%r0, -32769
3466#CHECK: error: invalid operand
3467#CHECK: lhi	%r0, 32768
3468#CHECK: error: invalid operand
3469#CHECK: lhi	%r0, foo
3470
3471	lhi	%r0, -32769
3472	lhi	%r0, 32768
3473	lhi	%r0, foo
3474
3475#CHECK: error: offset out of range
3476#CHECK: lhrl	%r0, -0x1000000002
3477#CHECK: error: offset out of range
3478#CHECK: lhrl	%r0, -1
3479#CHECK: error: offset out of range
3480#CHECK: lhrl	%r0, 1
3481#CHECK: error: offset out of range
3482#CHECK: lhrl	%r0, 0x100000000
3483
3484	lhrl	%r0, -0x1000000002
3485	lhrl	%r0, -1
3486	lhrl	%r0, 1
3487	lhrl	%r0, 0x100000000
3488
3489#CHECK: error: invalid operand
3490#CHECK: lhy	%r0, -524289
3491#CHECK: error: invalid operand
3492#CHECK: lhy	%r0, 524288
3493
3494	lhy	%r0, -524289
3495	lhy	%r0, 524288
3496
3497#CHECK: error: invalid operand
3498#CHECK: llc	%r0, -524289
3499#CHECK: error: invalid operand
3500#CHECK: llc	%r0, 524288
3501
3502	llc	%r0, -524289
3503	llc	%r0, 524288
3504
3505#CHECK: error: instruction requires: high-word
3506#CHECK: llch	%r0, 0
3507
3508	llch	%r0, 0
3509
3510#CHECK: error: invalid operand
3511#CHECK: llgc	%r0, -524289
3512#CHECK: error: invalid operand
3513#CHECK: llgc	%r0, 524288
3514
3515	llgc	%r0, -524289
3516	llgc	%r0, 524288
3517
3518#CHECK: error: invalid operand
3519#CHECK: llgf	%r0, -524289
3520#CHECK: error: invalid operand
3521#CHECK: llgf	%r0, 524288
3522
3523	llgf	%r0, -524289
3524	llgf	%r0, 524288
3525
3526#CHECK: error: offset out of range
3527#CHECK: llgfrl	%r0, -0x1000000002
3528#CHECK: error: offset out of range
3529#CHECK: llgfrl	%r0, -1
3530#CHECK: error: offset out of range
3531#CHECK: llgfrl	%r0, 1
3532#CHECK: error: offset out of range
3533#CHECK: llgfrl	%r0, 0x100000000
3534
3535	llgfrl	%r0, -0x1000000002
3536	llgfrl	%r0, -1
3537	llgfrl	%r0, 1
3538	llgfrl	%r0, 0x100000000
3539
3540#CHECK: error: invalid operand
3541#CHECK: llgh	%r0, -524289
3542#CHECK: error: invalid operand
3543#CHECK: llgh	%r0, 524288
3544
3545	llgh	%r0, -524289
3546	llgh	%r0, 524288
3547
3548#CHECK: error: offset out of range
3549#CHECK: llghrl	%r0, -0x1000000002
3550#CHECK: error: offset out of range
3551#CHECK: llghrl	%r0, -1
3552#CHECK: error: offset out of range
3553#CHECK: llghrl	%r0, 1
3554#CHECK: error: offset out of range
3555#CHECK: llghrl	%r0, 0x100000000
3556
3557	llghrl	%r0, -0x1000000002
3558	llghrl	%r0, -1
3559	llghrl	%r0, 1
3560	llghrl	%r0, 0x100000000
3561
3562#CHECK: error: invalid operand
3563#CHECK: llgt	%r0, -524289
3564#CHECK: error: invalid operand
3565#CHECK: llgt	%r0, 524288
3566
3567	llgt	%r0, -524289
3568	llgt	%r0, 524288
3569
3570#CHECK: error: invalid operand
3571#CHECK: llh	%r0, -524289
3572#CHECK: error: invalid operand
3573#CHECK: llh	%r0, 524288
3574
3575	llh	%r0, -524289
3576	llh	%r0, 524288
3577
3578#CHECK: error: instruction requires: high-word
3579#CHECK: llhh	%r0, 0
3580
3581	llhh	%r0, 0
3582
3583#CHECK: error: offset out of range
3584#CHECK: llhrl	%r0, -0x1000000002
3585#CHECK: error: offset out of range
3586#CHECK: llhrl	%r0, -1
3587#CHECK: error: offset out of range
3588#CHECK: llhrl	%r0, 1
3589#CHECK: error: offset out of range
3590#CHECK: llhrl	%r0, 0x100000000
3591
3592	llhrl	%r0, -0x1000000002
3593	llhrl	%r0, -1
3594	llhrl	%r0, 1
3595	llhrl	%r0, 0x100000000
3596
3597#CHECK: error: invalid operand
3598#CHECK: llihf	%r0, -1
3599#CHECK: error: invalid operand
3600#CHECK: llihf	%r0, 1 << 32
3601
3602	llihf	%r0, -1
3603	llihf	%r0, 1 << 32
3604
3605#CHECK: error: invalid operand
3606#CHECK: llihh	%r0, -1
3607#CHECK: error: invalid operand
3608#CHECK: llihh	%r0, 0x10000
3609
3610	llihh	%r0, -1
3611	llihh	%r0, 0x10000
3612
3613#CHECK: error: invalid operand
3614#CHECK: llihl	%r0, -1
3615#CHECK: error: invalid operand
3616#CHECK: llihl	%r0, 0x10000
3617
3618	llihl	%r0, -1
3619	llihl	%r0, 0x10000
3620
3621#CHECK: error: invalid operand
3622#CHECK: llilf	%r0, -1
3623#CHECK: error: invalid operand
3624#CHECK: llilf	%r0, 1 << 32
3625
3626	llilf	%r0, -1
3627	llilf	%r0, 1 << 32
3628
3629#CHECK: error: invalid operand
3630#CHECK: llilh	%r0, -1
3631#CHECK: error: invalid operand
3632#CHECK: llilh	%r0, 0x10000
3633
3634	llilh	%r0, -1
3635	llilh	%r0, 0x10000
3636
3637#CHECK: error: invalid operand
3638#CHECK: llill	%r0, -1
3639#CHECK: error: invalid operand
3640#CHECK: llill	%r0, 0x10000
3641
3642	llill	%r0, -1
3643	llill	%r0, 0x10000
3644
3645#CHECK: error: invalid operand
3646#CHECK: lm	%r0, %r0, 4096
3647#CHECK: error: invalid use of indexed addressing
3648#CHECK: lm	%r0, %r0, 0(%r1,%r2)
3649
3650	lm	%r0, %r0, 4096
3651	lm	%r0, %r0, 0(%r1,%r2)
3652
3653#CHECK: error: invalid use of indexed addressing
3654#CHECK: lmd	%r2, %r4, 160(%r1,%r15), 160(%r15)
3655#CHECK: error: invalid operand
3656#CHECK: lmd	%r2, %r4, -1(%r1), 160(%r15)
3657#CHECK: error: invalid operand
3658#CHECK: lmd	%r2, %r4, 4096(%r1), 160(%r15)
3659#CHECK: error: invalid operand
3660#CHECK: lmd	%r2, %r4, 0(%r1), -1(%r15)
3661#CHECK: error: invalid operand
3662#CHECK: lmd	%r2, %r4, 0(%r1), 4096(%r15)
3663
3664        lmd	%r2, %r4, 160(%r1,%r15), 160(%r15)
3665        lmd	%r2, %r4, -1(%r1), 160(%r15)
3666        lmd	%r2, %r4, 4096(%r1), 160(%r15)
3667        lmd	%r2, %r4, 0(%r1), -1(%r15)
3668        lmd	%r2, %r4, 0(%r1), 4096(%r15)
3669
3670#CHECK: error: invalid operand
3671#CHECK: lmg	%r0, %r0, -524289
3672#CHECK: error: invalid operand
3673#CHECK: lmg	%r0, %r0, 524288
3674#CHECK: error: invalid use of indexed addressing
3675#CHECK: lmg	%r0, %r0, 0(%r1,%r2)
3676
3677	lmg	%r0, %r0, -524289
3678	lmg	%r0, %r0, 524288
3679	lmg	%r0, %r0, 0(%r1,%r2)
3680
3681#CHECK: error: invalid operand
3682#CHECK: lmh	%r0, %r0, -524289
3683#CHECK: error: invalid operand
3684#CHECK: lmh	%r0, %r0, 524288
3685#CHECK: error: invalid use of indexed addressing
3686#CHECK: lmh	%r0, %r0, 0(%r1,%r2)
3687
3688	lmh	%r0, %r0, -524289
3689	lmh	%r0, %r0, 524288
3690	lmh	%r0, %r0, 0(%r1,%r2)
3691
3692#CHECK: error: invalid operand
3693#CHECK: lmy	%r0, %r0, -524289
3694#CHECK: error: invalid operand
3695#CHECK: lmy	%r0, %r0, 524288
3696#CHECK: error: invalid use of indexed addressing
3697#CHECK: lmy	%r0, %r0, 0(%r1,%r2)
3698
3699	lmy	%r0, %r0, -524289
3700	lmy	%r0, %r0, 524288
3701	lmy	%r0, %r0, 0(%r1,%r2)
3702
3703#CHECK: error: invalid register pair
3704#CHECK: lnxbr	%f0, %f2
3705#CHECK: error: invalid register pair
3706#CHECK: lnxbr	%f2, %f0
3707
3708	lnxbr	%f0, %f2
3709	lnxbr	%f2, %f0
3710
3711#CHECK: error: invalid register pair
3712#CHECK: lnxr	%f0, %f2
3713#CHECK: error: invalid register pair
3714#CHECK: lnxr	%f2, %f0
3715
3716	lnxr	%f0, %f2
3717	lnxr	%f2, %f0
3718
3719#CHECK: error: invalid operand
3720#CHECK: lpctl	-1
3721#CHECK: error: invalid operand
3722#CHECK: lpctl	4096
3723#CHECK: error: invalid use of indexed addressing
3724#CHECK: lpctl	0(%r1,%r2)
3725
3726	lpctl	-1
3727	lpctl	4096
3728	lpctl	0(%r1,%r2)
3729
3730#CHECK: error: instruction requires: interlocked-access1
3731#CHECK: lpd	%r0, 0, 0
3732	lpd	%r0, 0, 0
3733
3734#CHECK: error: instruction requires: interlocked-access1
3735#CHECK: lpdg	%r0, 0, 0
3736	lpdg	%r0, 0, 0
3737
3738#CHECK: error: invalid operand
3739#CHECK: lpp	-1
3740#CHECK: error: invalid operand
3741#CHECK: lpp	4096
3742#CHECK: error: invalid use of indexed addressing
3743#CHECK: lpp	0(%r1,%r2)
3744
3745	lpp	-1
3746	lpp	4096
3747	lpp	0(%r1,%r2)
3748
3749#CHECK: error: invalid register pair
3750#CHECK: lpq	%r1, 0
3751#CHECK: error: invalid operand
3752#CHECK: lpq	%r0, -524289
3753#CHECK: error: invalid operand
3754#CHECK: lpq	%r0, 524288
3755
3756	lpq	%r1, 0
3757	lpq	%r0, -524289
3758	lpq	%r0, 524288
3759
3760#CHECK: error: invalid operand
3761#CHECK: lptea	%r0, %r0, %r0, -1
3762#CHECK: error: invalid operand
3763#CHECK: lptea	%r0, %r0, %r0, 16
3764
3765	lptea	%r0, %r0, %r0, -1
3766	lptea	%r0, %r0, %r0, 16
3767
3768#CHECK: error: invalid operand
3769#CHECK: lpsw	-1
3770#CHECK: error: invalid operand
3771#CHECK: lpsw	4096
3772#CHECK: error: invalid use of indexed addressing
3773#CHECK: lpsw	0(%r1,%r2)
3774
3775	lpsw	-1
3776	lpsw	4096
3777	lpsw	0(%r1,%r2)
3778
3779#CHECK: error: invalid operand
3780#CHECK: lpswe	-1
3781#CHECK: error: invalid operand
3782#CHECK: lpswe	4096
3783#CHECK: error: invalid use of indexed addressing
3784#CHECK: lpswe	0(%r1,%r2)
3785
3786	lpswe	-1
3787	lpswe	4096
3788	lpswe	0(%r1,%r2)
3789
3790#CHECK: error: invalid register pair
3791#CHECK: lpxbr	%f0, %f2
3792#CHECK: error: invalid register pair
3793#CHECK: lpxbr	%f2, %f0
3794
3795	lpxbr	%f0, %f2
3796	lpxbr	%f2, %f0
3797
3798#CHECK: error: invalid register pair
3799#CHECK: lpxr	%f0, %f2
3800#CHECK: error: invalid register pair
3801#CHECK: lpxr	%f2, %f0
3802
3803	lpxr	%f0, %f2
3804	lpxr	%f2, %f0
3805
3806#CHECK: error: invalid operand
3807#CHECK: lra	%r0, -1
3808#CHECK: error: invalid operand
3809#CHECK: lra	%r0, 4096
3810
3811	lra	%r0, -1
3812	lra	%r0, 4096
3813
3814#CHECK: error: invalid operand
3815#CHECK: lrag	%r0, -524289
3816#CHECK: error: invalid operand
3817#CHECK: lrag	%r0, 524288
3818
3819	lrag	%r0, -524289
3820	lrag	%r0, 524288
3821
3822#CHECK: error: invalid operand
3823#CHECK: lray	%r0, -524289
3824#CHECK: error: invalid operand
3825#CHECK: lray	%r0, 524288
3826
3827	lray	%r0, -524289
3828	lray	%r0, 524288
3829
3830#CHECK: error: invalid register pair
3831#CHECK: lrdr	%f0, %f2
3832
3833	lrdr	%f0, %f2
3834
3835#CHECK: error: offset out of range
3836#CHECK: lrl	%r0, -0x1000000002
3837#CHECK: error: offset out of range
3838#CHECK: lrl	%r0, -1
3839#CHECK: error: offset out of range
3840#CHECK: lrl	%r0, 1
3841#CHECK: error: offset out of range
3842#CHECK: lrl	%r0, 0x100000000
3843
3844	lrl	%r0, -0x1000000002
3845	lrl	%r0, -1
3846	lrl	%r0, 1
3847	lrl	%r0, 0x100000000
3848
3849#CHECK: error: invalid operand
3850#CHECK: lrv	%r0, -524289
3851#CHECK: error: invalid operand
3852#CHECK: lrv	%r0, 524288
3853
3854	lrv	%r0, -524289
3855	lrv	%r0, 524288
3856
3857#CHECK: error: invalid operand
3858#CHECK: lrvg	%r0, -524289
3859#CHECK: error: invalid operand
3860#CHECK: lrvg	%r0, 524288
3861
3862	lrvg	%r0, -524289
3863	lrvg	%r0, 524288
3864
3865#CHECK: error: invalid operand
3866#CHECK: lsctl	-1
3867#CHECK: error: invalid operand
3868#CHECK: lsctl	4096
3869#CHECK: error: invalid use of indexed addressing
3870#CHECK: lsctl	0(%r1,%r2)
3871
3872	lsctl	-1
3873	lsctl	4096
3874	lsctl	0(%r1,%r2)
3875
3876#CHECK: error: invalid operand
3877#CHECK: lt	%r0, -524289
3878#CHECK: error: invalid operand
3879#CHECK: lt	%r0, 524288
3880
3881	lt	%r0, -524289
3882	lt	%r0, 524288
3883
3884#CHECK: error: invalid operand
3885#CHECK: ltg	%r0, -524289
3886#CHECK: error: invalid operand
3887#CHECK: ltg	%r0, 524288
3888
3889	ltg	%r0, -524289
3890	ltg	%r0, 524288
3891
3892#CHECK: error: invalid operand
3893#CHECK: ltgf	%r0, -524289
3894#CHECK: error: invalid operand
3895#CHECK: ltgf	%r0, 524288
3896
3897	ltgf	%r0, -524289
3898	ltgf	%r0, 524288
3899
3900#CHECK: error: invalid register pair
3901#CHECK: ltxbr	%f0, %f14
3902#CHECK: error: invalid register pair
3903#CHECK: ltxbr	%f14, %f0
3904
3905	ltxbr	%f0, %f14
3906	ltxbr	%f14, %f0
3907
3908#CHECK: error: invalid register pair
3909#CHECK: ltxr	%f0, %f14
3910#CHECK: error: invalid register pair
3911#CHECK: ltxr	%f14, %f0
3912
3913	ltxr	%f0, %f14
3914	ltxr	%f14, %f0
3915
3916#CHECK: error: invalid register pair
3917#CHECK: ltxtr	%f0, %f14
3918#CHECK: error: invalid register pair
3919#CHECK: ltxtr	%f14, %f0
3920
3921	ltxtr	%f0, %f14
3922	ltxtr	%f14, %f0
3923
3924#CHECK: error: invalid operand
3925#CHECK: lxd	%f0, -1
3926#CHECK: error: invalid operand
3927#CHECK: lxd	%f0, 4096
3928#CHECK: error: invalid register pair
3929#CHECK: lxd	%f2, 0
3930
3931	lxd	%f0, -1
3932	lxd	%f0, 4096
3933	lxd	%f2, 0
3934
3935#CHECK: error: invalid operand
3936#CHECK: lxdb	%f0, -1
3937#CHECK: error: invalid operand
3938#CHECK: lxdb	%f0, 4096
3939#CHECK: error: invalid register pair
3940#CHECK: lxdb	%f2, 0
3941
3942	lxdb	%f0, -1
3943	lxdb	%f0, 4096
3944	lxdb	%f2, 0
3945
3946#CHECK: error: invalid register pair
3947#CHECK: lxdbr	%f2, %f0
3948
3949	lxdbr	%f2, %f0
3950
3951#CHECK: error: invalid register pair
3952#CHECK: lxdr	%f2, %f0
3953
3954	lxdr	%f2, %f0
3955
3956#CHECK: error: invalid operand
3957#CHECK: lxdtr	%f0, %f0, -1
3958#CHECK: error: invalid operand
3959#CHECK: lxdtr	%f0, %f0, 16
3960#CHECK: error: invalid register pair
3961#CHECK: lxdtr	%f2, %f0, 0
3962
3963	lxdtr	%f0, %f0, -1
3964	lxdtr	%f0, %f0, 16
3965	lxdtr	%f2, %f0, 0
3966
3967#CHECK: error: invalid operand
3968#CHECK: lxe	%f0, -1
3969#CHECK: error: invalid operand
3970#CHECK: lxe	%f0, 4096
3971#CHECK: error: invalid register pair
3972#CHECK: lxe	%f2, 0
3973
3974	lxe	%f0, -1
3975	lxe	%f0, 4096
3976	lxe	%f2, 0
3977
3978#CHECK: error: invalid operand
3979#CHECK: lxeb	%f0, -1
3980#CHECK: error: invalid operand
3981#CHECK: lxeb	%f0, 4096
3982#CHECK: error: invalid register pair
3983#CHECK: lxeb	%f2, 0
3984
3985	lxeb	%f0, -1
3986	lxeb	%f0, 4096
3987	lxeb	%f2, 0
3988
3989#CHECK: error: invalid register pair
3990#CHECK: lxebr	%f2, %f0
3991
3992	lxebr	%f2, %f0
3993
3994#CHECK: error: invalid register pair
3995#CHECK: lxer	%f2, %f0
3996
3997	lxer	%f2, %f0
3998
3999#CHECK: error: invalid register pair
4000#CHECK: lxr	%f0, %f2
4001#CHECK: error: invalid register pair
4002#CHECK: lxr	%f2, %f0
4003
4004	lxr	%f0, %f2
4005	lxr	%f2, %f0
4006
4007#CHECK: error: invalid operand
4008#CHECK: ly	%r0, -524289
4009#CHECK: error: invalid operand
4010#CHECK: ly	%r0, 524288
4011
4012	ly	%r0, -524289
4013	ly	%r0, 524288
4014
4015#CHECK: error: invalid register pair
4016#CHECK: lzxr	%f2
4017
4018	lzxr	%f2
4019
4020#CHECK: error: invalid operand
4021#CHECK: m	%r0, -1
4022#CHECK: error: invalid operand
4023#CHECK: m	%r0, 4096
4024#CHECK: error: invalid register pair
4025#CHECK: m	%r1, 0
4026
4027	m	%r0, -1
4028	m	%r0, 4096
4029	m	%r1, 0
4030
4031#CHECK: error: invalid operand
4032#CHECK: mad	%f0, %f0, -1
4033#CHECK: error: invalid operand
4034#CHECK: mad	%f0, %f0, 4096
4035
4036	mad	%f0, %f0, -1
4037	mad	%f0, %f0, 4096
4038
4039#CHECK: error: invalid operand
4040#CHECK: madb	%f0, %f0, -1
4041#CHECK: error: invalid operand
4042#CHECK: madb	%f0, %f0, 4096
4043
4044	madb	%f0, %f0, -1
4045	madb	%f0, %f0, 4096
4046
4047#CHECK: error: invalid operand
4048#CHECK: mae	%f0, %f0, -1
4049#CHECK: error: invalid operand
4050#CHECK: mae	%f0, %f0, 4096
4051
4052	mae	%f0, %f0, -1
4053	mae	%f0, %f0, 4096
4054
4055#CHECK: error: invalid operand
4056#CHECK: maeb	%f0, %f0, -1
4057#CHECK: error: invalid operand
4058#CHECK: maeb	%f0, %f0, 4096
4059
4060	maeb	%f0, %f0, -1
4061	maeb	%f0, %f0, 4096
4062
4063#CHECK: error: invalid operand
4064#CHECK: may	%f0, %f0, -1
4065#CHECK: error: invalid operand
4066#CHECK: may	%f0, %f0, 4096
4067#CHECK: error: invalid register pair
4068#CHECK: may	%f2, %f0, 0
4069
4070	may	%f0, %f0, -1
4071	may	%f0, %f0, 4096
4072	may	%f2, %f0, 0
4073
4074#CHECK: error: invalid operand
4075#CHECK: mayh	%f0, %f0, -1
4076#CHECK: error: invalid operand
4077#CHECK: mayh	%f0, %f0, 4096
4078
4079	mayh	%f0, %f0, -1
4080	mayh	%f0, %f0, 4096
4081
4082#CHECK: error: invalid operand
4083#CHECK: mayl	%f0, %f0, -1
4084#CHECK: error: invalid operand
4085#CHECK: mayl	%f0, %f0, 4096
4086
4087	mayl	%f0, %f0, -1
4088	mayl	%f0, %f0, 4096
4089
4090#CHECK: error: invalid register pair
4091#CHECK: mayr	%f2, %f0, %f0
4092
4093	mayr	%f2, %f0, %f0
4094
4095#CHECK: error: invalid operand
4096#CHECK: mc	-1, 0
4097#CHECK: error: invalid operand
4098#CHECK: mc	4096, 0
4099#CHECK: error: invalid use of indexed addressing
4100#CHECK: mc	0(%r1,%r2), 0
4101#CHECK: error: invalid operand
4102#CHECK: mc	0, -1
4103#CHECK: error: invalid operand
4104#CHECK: mc	0, 256
4105
4106	mc	-1, 0
4107	mc	4096, 0
4108	mc	0(%r1,%r2), 0
4109	mc	0, -1
4110	mc	0, 256
4111
4112#CHECK: error: invalid operand
4113#CHECK: md	%f0, -1
4114#CHECK: error: invalid operand
4115#CHECK: md	%f0, 4096
4116
4117	md	%f0, -1
4118	md	%f0, 4096
4119
4120#CHECK: error: invalid operand
4121#CHECK: mdb	%f0, -1
4122#CHECK: error: invalid operand
4123#CHECK: mdb	%f0, 4096
4124
4125	mdb	%f0, -1
4126	mdb	%f0, 4096
4127
4128#CHECK: error: invalid operand
4129#CHECK: mde	%f0, -1
4130#CHECK: error: invalid operand
4131#CHECK: mde	%f0, 4096
4132
4133	mde	%f0, -1
4134	mde	%f0, 4096
4135
4136#CHECK: error: invalid operand
4137#CHECK: mdeb	%f0, -1
4138#CHECK: error: invalid operand
4139#CHECK: mdeb	%f0, 4096
4140
4141	mdeb	%f0, -1
4142	mdeb	%f0, 4096
4143
4144#CHECK: error: instruction requires: fp-extension
4145#CHECK: mdtra	%f0, %f0, %f0, 0
4146
4147	mdtra	%f0, %f0, %f0, 0
4148
4149#CHECK: error: invalid operand
4150#CHECK: me	%f0, -1
4151#CHECK: error: invalid operand
4152#CHECK: me	%f0, 4096
4153
4154	me	%f0, -1
4155	me	%f0, 4096
4156
4157#CHECK: error: invalid operand
4158#CHECK: mee	%f0, -1
4159#CHECK: error: invalid operand
4160#CHECK: mee	%f0, 4096
4161
4162	mee	%f0, -1
4163	mee	%f0, 4096
4164
4165#CHECK: error: invalid operand
4166#CHECK: meeb	%f0, -1
4167#CHECK: error: invalid operand
4168#CHECK: meeb	%f0, 4096
4169
4170	meeb	%f0, -1
4171	meeb	%f0, 4096
4172
4173#CHECK: error: invalid operand
4174#CHECK: mfy	%r0, -524289
4175#CHECK: error: invalid operand
4176#CHECK: mfy	%r0, 524288
4177#CHECK: error: invalid register pair
4178#CHECK: mfy	%r1, 0
4179
4180	mfy	%r0, -524289
4181	mfy	%r0, 524288
4182	mfy	%r1, 0
4183
4184#CHECK: error: invalid operand
4185#CHECK: mghi	%r0, -32769
4186#CHECK: error: invalid operand
4187#CHECK: mghi	%r0, 32768
4188#CHECK: error: invalid operand
4189#CHECK: mghi	%r0, foo
4190
4191	mghi	%r0, -32769
4192	mghi	%r0, 32768
4193	mghi	%r0, foo
4194
4195#CHECK: error: invalid operand
4196#CHECK: mh	%r0, -1
4197#CHECK: error: invalid operand
4198#CHECK: mh	%r0, 4096
4199
4200	mh	%r0, -1
4201	mh	%r0, 4096
4202
4203#CHECK: error: invalid operand
4204#CHECK: mhi	%r0, -32769
4205#CHECK: error: invalid operand
4206#CHECK: mhi	%r0, 32768
4207#CHECK: error: invalid operand
4208#CHECK: mhi	%r0, foo
4209
4210	mhi	%r0, -32769
4211	mhi	%r0, 32768
4212	mhi	%r0, foo
4213
4214#CHECK: error: invalid operand
4215#CHECK: mhy	%r0, -524289
4216#CHECK: error: invalid operand
4217#CHECK: mhy	%r0, 524288
4218
4219	mhy	%r0, -524289
4220	mhy	%r0, 524288
4221
4222#CHECK: error: invalid operand
4223#CHECK: ml	%r0, -524289
4224#CHECK: error: invalid operand
4225#CHECK: ml	%r0, 524288
4226#CHECK: error: invalid register pair
4227#CHECK: ml	%r1, 0
4228
4229	ml	%r0, -524289
4230	ml	%r0, 524288
4231	ml	%r1, 0
4232
4233#CHECK: error: invalid operand
4234#CHECK: mlg	%r0, -524289
4235#CHECK: error: invalid operand
4236#CHECK: mlg	%r0, 524288
4237#CHECK: error: invalid register pair
4238#CHECK: mlg	%r1, 0
4239
4240	mlg	%r0, -524289
4241	mlg	%r0, 524288
4242	mlg	%r1, 0
4243
4244#CHECK: error: invalid register pair
4245#CHECK: mlgr	%r1, %r0
4246
4247	mlgr	%r1, %r0
4248
4249#CHECK: error: invalid register pair
4250#CHECK: mlr	%r1, %r0
4251
4252	mlr	%r1, %r0
4253
4254#CHECK: error: missing length in address
4255#CHECK: mp	0, 0(1)
4256#CHECK: error: missing length in address
4257#CHECK: mp	0(1), 0
4258#CHECK: error: missing length in address
4259#CHECK: mp	0(%r1), 0(1,%r1)
4260#CHECK: error: missing length in address
4261#CHECK: mp	0(1,%r1), 0(%r1)
4262#CHECK: error: invalid operand
4263#CHECK: mp	0(0,%r1), 0(1,%r1)
4264#CHECK: error: invalid operand
4265#CHECK: mp	0(1,%r1), 0(0,%r1)
4266#CHECK: error: invalid operand
4267#CHECK: mp	0(17,%r1), 0(1,%r1)
4268#CHECK: error: invalid operand
4269#CHECK: mp	0(1,%r1), 0(17,%r1)
4270#CHECK: error: invalid operand
4271#CHECK: mp	-1(1,%r1), 0(1,%r1)
4272#CHECK: error: invalid operand
4273#CHECK: mp	4096(1,%r1), 0(1,%r1)
4274#CHECK: error: invalid operand
4275#CHECK: mp	0(1,%r1), -1(1,%r1)
4276#CHECK: error: invalid operand
4277#CHECK: mp	0(1,%r1), 4096(1,%r1)
4278#CHECK: error: %r0 used in an address
4279#CHECK: mp	0(1,%r0), 0(1,%r1)
4280#CHECK: error: %r0 used in an address
4281#CHECK: mp	0(1,%r1), 0(1,%r0)
4282#CHECK: error: invalid use of indexed addressing
4283#CHECK: mp	0(%r1,%r2), 0(1,%r1)
4284#CHECK: error: invalid use of indexed addressing
4285#CHECK: mp	0(1,%r2), 0(%r1,%r2)
4286#CHECK: error: unknown token in expression
4287#CHECK: mp	0(-), 0(1)
4288
4289	mp	0, 0(1)
4290	mp	0(1), 0
4291	mp	0(%r1), 0(1,%r1)
4292	mp	0(1,%r1), 0(%r1)
4293	mp	0(0,%r1), 0(1,%r1)
4294	mp	0(1,%r1), 0(0,%r1)
4295	mp	0(17,%r1), 0(1,%r1)
4296	mp	0(1,%r1), 0(17,%r1)
4297	mp	-1(1,%r1), 0(1,%r1)
4298	mp	4096(1,%r1), 0(1,%r1)
4299	mp	0(1,%r1), -1(1,%r1)
4300	mp	0(1,%r1), 4096(1,%r1)
4301	mp	0(1,%r0), 0(1,%r1)
4302	mp	0(1,%r1), 0(1,%r0)
4303	mp	0(%r1,%r2), 0(1,%r1)
4304	mp	0(1,%r2), 0(%r1,%r2)
4305	mp	0(-), 0(1)
4306
4307#CHECK: error: invalid register pair
4308#CHECK: mr	%r1, %r0
4309
4310	mr	%r1, %r0
4311
4312#CHECK: error: invalid operand
4313#CHECK: ms	%r0, -1
4314#CHECK: error: invalid operand
4315#CHECK: ms	%r0, 4096
4316
4317	ms	%r0, -1
4318	ms	%r0, 4096
4319
4320#CHECK: error: invalid operand
4321#CHECK: msch	-1
4322#CHECK: error: invalid operand
4323#CHECK: msch	4096
4324#CHECK: error: invalid use of indexed addressing
4325#CHECK: msch	0(%r1,%r2)
4326
4327	msch	-1
4328	msch	4096
4329	msch	0(%r1,%r2)
4330
4331#CHECK: error: invalid operand
4332#CHECK: msd	%f0, %f0, -1
4333#CHECK: error: invalid operand
4334#CHECK: msd	%f0, %f0, 4096
4335
4336	msd	%f0, %f0, -1
4337	msd	%f0, %f0, 4096
4338
4339#CHECK: error: invalid operand
4340#CHECK: msdb	%f0, %f0, -1
4341#CHECK: error: invalid operand
4342#CHECK: msdb	%f0, %f0, 4096
4343
4344	msdb	%f0, %f0, -1
4345	msdb	%f0, %f0, 4096
4346
4347#CHECK: error: invalid operand
4348#CHECK: mse	%f0, %f0, -1
4349#CHECK: error: invalid operand
4350#CHECK: mse	%f0, %f0, 4096
4351
4352	mse	%f0, %f0, -1
4353	mse	%f0, %f0, 4096
4354
4355#CHECK: error: invalid operand
4356#CHECK: mseb	%f0, %f0, -1
4357#CHECK: error: invalid operand
4358#CHECK: mseb	%f0, %f0, 4096
4359
4360	mseb	%f0, %f0, -1
4361	mseb	%f0, %f0, 4096
4362
4363#CHECK: error: invalid operand
4364#CHECK: msfi	%r0, (-1 << 31) - 1
4365#CHECK: error: invalid operand
4366#CHECK: msfi	%r0, (1 << 31)
4367
4368	msfi	%r0, (-1 << 31) - 1
4369	msfi	%r0, (1 << 31)
4370
4371#CHECK: error: invalid operand
4372#CHECK: msg	%r0, -524289
4373#CHECK: error: invalid operand
4374#CHECK: msg	%r0, 524288
4375
4376	msg	%r0, -524289
4377	msg	%r0, 524288
4378
4379#CHECK: error: invalid operand
4380#CHECK: msgf	%r0, -524289
4381#CHECK: error: invalid operand
4382#CHECK: msgf	%r0, 524288
4383
4384	msgf	%r0, -524289
4385	msgf	%r0, 524288
4386
4387#CHECK: error: invalid operand
4388#CHECK: msgfi	%r0, (-1 << 31) - 1
4389#CHECK: error: invalid operand
4390#CHECK: msgfi	%r0, (1 << 31)
4391
4392	msgfi	%r0, (-1 << 31) - 1
4393	msgfi	%r0, (1 << 31)
4394
4395#CHECK: error: invalid register pair
4396#CHECK: msta	%r1
4397
4398	msta	%r1
4399
4400#CHECK: error: invalid operand
4401#CHECK: msy	%r0, -524289
4402#CHECK: error: invalid operand
4403#CHECK: msy	%r0, 524288
4404
4405	msy	%r0, -524289
4406	msy	%r0, 524288
4407
4408#CHECK: error: missing length in address
4409#CHECK: mvc	0, 0
4410#CHECK: error: missing length in address
4411#CHECK: mvc	0(%r1), 0(%r1)
4412#CHECK: error: invalid use of length addressing
4413#CHECK: mvc	0(1,%r1), 0(2,%r1)
4414#CHECK: error: invalid operand
4415#CHECK: mvc	0(0,%r1), 0(%r1)
4416#CHECK: error: invalid operand
4417#CHECK: mvc	0(257,%r1), 0(%r1)
4418#CHECK: error: invalid operand
4419#CHECK: mvc	-1(1,%r1), 0(%r1)
4420#CHECK: error: invalid operand
4421#CHECK: mvc	4096(1,%r1), 0(%r1)
4422#CHECK: error: invalid operand
4423#CHECK: mvc	0(1,%r1), -1(%r1)
4424#CHECK: error: invalid operand
4425#CHECK: mvc	0(1,%r1), 4096(%r1)
4426#CHECK: error: %r0 used in an address
4427#CHECK: mvc	0(1,%r0), 0(%r1)
4428#CHECK: error: %r0 used in an address
4429#CHECK: mvc	0(1,%r1), 0(%r0)
4430#CHECK: error: invalid use of indexed addressing
4431#CHECK: mvc	0(%r1,%r2), 0(%r1)
4432#CHECK: error: invalid use of indexed addressing
4433#CHECK: mvc	0(1,%r2), 0(%r1,%r2)
4434#CHECK: error: unknown token in expression
4435#CHECK: mvc	0(-), 0
4436
4437	mvc	0, 0
4438	mvc	0(%r1), 0(%r1)
4439	mvc	0(1,%r1), 0(2,%r1)
4440	mvc	0(0,%r1), 0(%r1)
4441	mvc	0(257,%r1), 0(%r1)
4442	mvc	-1(1,%r1), 0(%r1)
4443	mvc	4096(1,%r1), 0(%r1)
4444	mvc	0(1,%r1), -1(%r1)
4445	mvc	0(1,%r1), 4096(%r1)
4446	mvc	0(1,%r0), 0(%r1)
4447	mvc	0(1,%r1), 0(%r0)
4448	mvc	0(%r1,%r2), 0(%r1)
4449	mvc	0(1,%r2), 0(%r1,%r2)
4450	mvc	0(-), 0
4451
4452#CHECK: error: invalid use of indexed addressing
4453#CHECK: mvcdk	160(%r1,%r15),160(%r15)
4454#CHECK: error: invalid operand
4455#CHECK: mvcdk	-1(%r1),160(%r15)
4456#CHECK: error: invalid operand
4457#CHECK: mvcdk	4096(%r1),160(%r15)
4458#CHECK: error: invalid operand
4459#CHECK: mvcdk	0(%r1),-1(%r15)
4460#CHECK: error: invalid operand
4461#CHECK: mvcdk	0(%r1),4096(%r15)
4462
4463        mvcdk	160(%r1,%r15),160(%r15)
4464        mvcdk	-1(%r1),160(%r15)
4465        mvcdk	4096(%r1),160(%r15)
4466        mvcdk	0(%r1),-1(%r15)
4467        mvcdk	0(%r1),4096(%r15)
4468
4469#CHECK: error: missing length in address
4470#CHECK: mvcin	0, 0
4471#CHECK: error: missing length in address
4472#CHECK: mvcin	0(%r1), 0(%r1)
4473#CHECK: error: invalid use of length addressing
4474#CHECK: mvcin	0(1,%r1), 0(2,%r1)
4475#CHECK: error: invalid operand
4476#CHECK: mvcin	0(0,%r1), 0(%r1)
4477#CHECK: error: invalid operand
4478#CHECK: mvcin	0(257,%r1), 0(%r1)
4479#CHECK: error: invalid operand
4480#CHECK: mvcin	-1(1,%r1), 0(%r1)
4481#CHECK: error: invalid operand
4482#CHECK: mvcin	4096(1,%r1), 0(%r1)
4483#CHECK: error: invalid operand
4484#CHECK: mvcin	0(1,%r1), -1(%r1)
4485#CHECK: error: invalid operand
4486#CHECK: mvcin	0(1,%r1), 4096(%r1)
4487#CHECK: error: %r0 used in an address
4488#CHECK: mvcin	0(1,%r0), 0(%r1)
4489#CHECK: error: %r0 used in an address
4490#CHECK: mvcin	0(1,%r1), 0(%r0)
4491#CHECK: error: invalid use of indexed addressing
4492#CHECK: mvcin	0(%r1,%r2), 0(%r1)
4493#CHECK: error: invalid use of indexed addressing
4494#CHECK: mvcin	0(1,%r2), 0(%r1,%r2)
4495#CHECK: error: unknown token in expression
4496#CHECK: mvcin	0(-), 0
4497
4498	mvcin	0, 0
4499	mvcin	0(%r1), 0(%r1)
4500	mvcin	0(1,%r1), 0(2,%r1)
4501	mvcin	0(0,%r1), 0(%r1)
4502	mvcin	0(257,%r1), 0(%r1)
4503	mvcin	-1(1,%r1), 0(%r1)
4504	mvcin	4096(1,%r1), 0(%r1)
4505	mvcin	0(1,%r1), -1(%r1)
4506	mvcin	0(1,%r1), 4096(%r1)
4507	mvcin	0(1,%r0), 0(%r1)
4508	mvcin	0(1,%r1), 0(%r0)
4509	mvcin	0(%r1,%r2), 0(%r1)
4510	mvcin	0(1,%r2), 0(%r1,%r2)
4511	mvcin	0(-), 0
4512
4513#CHECK: error: invalid use of length addressing
4514#CHECK: mvck	0(%r1,%r1), 0(2,%r1), %r3
4515#CHECK: error: invalid operand
4516#CHECK: mvck	-1(%r1,%r1), 0(%r1), %r3
4517#CHECK: error: invalid operand
4518#CHECK: mvck	4096(%r1,%r1), 0(%r1), %r3
4519#CHECK: error: invalid operand
4520#CHECK: mvck	0(%r1,%r1), -1(%r1), %r3
4521#CHECK: error: invalid operand
4522#CHECK: mvck	0(%r1,%r1), 4096(%r1), %r3
4523#CHECK: error: %r0 used in an address
4524#CHECK: mvck	0(%r1,%r0), 0(%r1), %r3
4525#CHECK: error: %r0 used in an address
4526#CHECK: mvck	0(%r1,%r1), 0(%r0), %r3
4527#CHECK: error: invalid use of indexed addressing
4528#CHECK: mvck	0(%r1,%r2), 0(%r1,%r2), %r3
4529#CHECK: error: unknown token in expression
4530#CHECK: mvck	0(-), 0, %r3
4531
4532	mvck	0(%r1,%r1), 0(2,%r1), %r3
4533	mvck	-1(%r1,%r1), 0(%r1), %r3
4534	mvck	4096(%r1,%r1), 0(%r1), %r3
4535	mvck	0(%r1,%r1), -1(%r1), %r3
4536	mvck	0(%r1,%r1), 4096(%r1), %r3
4537	mvck	0(%r1,%r0), 0(%r1), %r3
4538	mvck	0(%r1,%r1), 0(%r0), %r3
4539	mvck	0(%r1,%r2), 0(%r1,%r2), %r3
4540	mvck	0(-), 0, %r3
4541
4542#CHECK: error: invalid register pair
4543#CHECK: mvcl	%r1, %r0
4544#CHECK: error: invalid register pair
4545#CHECK: mvcl	%r0, %r1
4546
4547	mvcl	%r1, %r0
4548	mvcl	%r0, %r1
4549
4550#CHECK: error: invalid register pair
4551#CHECK: mvcle	%r1, %r0
4552#CHECK: error: invalid register pair
4553#CHECK: mvcle	%r0, %r1
4554#CHECK: error: invalid operand
4555#CHECK: mvcle	%r0, %r0, -1
4556#CHECK: error: invalid operand
4557#CHECK: mvcle	%r0, %r0, 4096
4558
4559	mvcle	%r1, %r0, 0
4560	mvcle	%r0, %r1, 0
4561	mvcle	%r0, %r0, -1
4562	mvcle	%r0, %r0, 4096
4563
4564#CHECK: error: invalid register pair
4565#CHECK: mvclu	%r1, %r0
4566#CHECK: error: invalid register pair
4567#CHECK: mvclu	%r0, %r1
4568#CHECK: error: invalid operand
4569#CHECK: mvclu	%r0, %r0, -524289
4570#CHECK: error: invalid operand
4571#CHECK: mvclu	%r0, %r0, 524288
4572
4573	mvclu	%r1, %r0, 0
4574	mvclu	%r0, %r1, 0
4575	mvclu	%r0, %r0, -524289
4576	mvclu	%r0, %r0, 524288
4577
4578#CHECK: error: invalid use of indexed addressing
4579#CHECK: mvcos	160(%r1,%r15), 160(%r15), %r2
4580#CHECK: error: invalid operand
4581#CHECK: mvcos	-1(%r1), 160(%r15), %r2
4582#CHECK: error: invalid operand
4583#CHECK: mvcos	4096(%r1), 160(%r15), %r2
4584#CHECK: error: invalid operand
4585#CHECK: mvcos	0(%r1), -1(%r15), %r2
4586#CHECK: error: invalid operand
4587#CHECK: mvcos	0(%r1), 4096(%r15), %r2
4588
4589        mvcos	160(%r1,%r15), 160(%r15), %r2
4590        mvcos	-1(%r1), 160(%r15), %r2
4591        mvcos	4096(%r1), 160(%r15), %r2
4592        mvcos	0(%r1), -1(%r15), %r2
4593        mvcos	0(%r1), 4096(%r15), %r2
4594
4595#CHECK: error: invalid use of length addressing
4596#CHECK: mvcp	0(%r1,%r1), 0(2,%r1), %r3
4597#CHECK: error: invalid operand
4598#CHECK: mvcp	-1(%r1,%r1), 0(%r1), %r3
4599#CHECK: error: invalid operand
4600#CHECK: mvcp	4096(%r1,%r1), 0(%r1), %r3
4601#CHECK: error: invalid operand
4602#CHECK: mvcp	0(%r1,%r1), -1(%r1), %r3
4603#CHECK: error: invalid operand
4604#CHECK: mvcp	0(%r1,%r1), 4096(%r1), %r3
4605#CHECK: error: %r0 used in an address
4606#CHECK: mvcp	0(%r1,%r0), 0(%r1), %r3
4607#CHECK: error: %r0 used in an address
4608#CHECK: mvcp	0(%r1,%r1), 0(%r0), %r3
4609#CHECK: error: invalid use of indexed addressing
4610#CHECK: mvcp	0(%r1,%r2), 0(%r1,%r2), %r3
4611#CHECK: error: unknown token in expression
4612#CHECK: mvcp	0(-), 0, %r3
4613
4614	mvcp	0(%r1,%r1), 0(2,%r1), %r3
4615	mvcp	-1(%r1,%r1), 0(%r1), %r3
4616	mvcp	4096(%r1,%r1), 0(%r1), %r3
4617	mvcp	0(%r1,%r1), -1(%r1), %r3
4618	mvcp	0(%r1,%r1), 4096(%r1), %r3
4619	mvcp	0(%r1,%r0), 0(%r1), %r3
4620	mvcp	0(%r1,%r1), 0(%r0), %r3
4621	mvcp	0(%r1,%r2), 0(%r1,%r2), %r3
4622	mvcp	0(-), 0, %r3
4623
4624#CHECK: error: invalid use of length addressing
4625#CHECK: mvcs	0(%r1,%r1), 0(2,%r1), %r3
4626#CHECK: error: invalid operand
4627#CHECK: mvcs	-1(%r1,%r1), 0(%r1), %r3
4628#CHECK: error: invalid operand
4629#CHECK: mvcs	4096(%r1,%r1), 0(%r1), %r3
4630#CHECK: error: invalid operand
4631#CHECK: mvcs	0(%r1,%r1), -1(%r1), %r3
4632#CHECK: error: invalid operand
4633#CHECK: mvcs	0(%r1,%r1), 4096(%r1), %r3
4634#CHECK: error: %r0 used in an address
4635#CHECK: mvcs	0(%r1,%r0), 0(%r1), %r3
4636#CHECK: error: %r0 used in an address
4637#CHECK: mvcs	0(%r1,%r1), 0(%r0), %r3
4638#CHECK: error: invalid use of indexed addressing
4639#CHECK: mvcs	0(%r1,%r2), 0(%r1,%r2), %r3
4640#CHECK: error: unknown token in expression
4641#CHECK: mvcs	0(-), 0, %r3
4642
4643	mvcs	0(%r1,%r1), 0(2,%r1), %r3
4644	mvcs	-1(%r1,%r1), 0(%r1), %r3
4645	mvcs	4096(%r1,%r1), 0(%r1), %r3
4646	mvcs	0(%r1,%r1), -1(%r1), %r3
4647	mvcs	0(%r1,%r1), 4096(%r1), %r3
4648	mvcs	0(%r1,%r0), 0(%r1), %r3
4649	mvcs	0(%r1,%r1), 0(%r0), %r3
4650	mvcs	0(%r1,%r2), 0(%r1,%r2), %r3
4651	mvcs	0(-), 0, %r3
4652
4653#CHECK: error: invalid use of indexed addressing
4654#CHECK: mvcsk	160(%r1,%r15),160(%r15)
4655#CHECK: error: invalid operand
4656#CHECK: mvcsk	-1(%r1),160(%r15)
4657#CHECK: error: invalid operand
4658#CHECK: mvcsk	4096(%r1),160(%r15)
4659#CHECK: error: invalid operand
4660#CHECK: mvcsk	0(%r1),-1(%r15)
4661#CHECK: error: invalid operand
4662#CHECK: mvcsk	0(%r1),4096(%r15)
4663
4664        mvcsk	160(%r1,%r15),160(%r15)
4665        mvcsk	-1(%r1),160(%r15)
4666        mvcsk	4096(%r1),160(%r15)
4667        mvcsk	0(%r1),-1(%r15)
4668        mvcsk	0(%r1),4096(%r15)
4669
4670#CHECK: error: invalid operand
4671#CHECK: mvghi	-1, 0
4672#CHECK: error: invalid operand
4673#CHECK: mvghi	4096, 0
4674#CHECK: error: invalid use of indexed addressing
4675#CHECK: mvghi	0(%r1,%r2), 0
4676#CHECK: error: invalid operand
4677#CHECK: mvghi	0, -32769
4678#CHECK: error: invalid operand
4679#CHECK: mvghi	0, 32768
4680
4681	mvghi	-1, 0
4682	mvghi	4096, 0
4683	mvghi	0(%r1,%r2), 0
4684	mvghi	0, -32769
4685	mvghi	0, 32768
4686
4687#CHECK: error: invalid operand
4688#CHECK: mvhhi	-1, 0
4689#CHECK: error: invalid operand
4690#CHECK: mvhhi	4096, 0
4691#CHECK: error: invalid use of indexed addressing
4692#CHECK: mvhhi	0(%r1,%r2), 0
4693#CHECK: error: invalid operand
4694#CHECK: mvhhi	0, -32769
4695#CHECK: error: invalid operand
4696#CHECK: mvhhi	0, 32768
4697
4698	mvhhi	-1, 0
4699	mvhhi	4096, 0
4700	mvhhi	0(%r1,%r2), 0
4701	mvhhi	0, -32769
4702	mvhhi	0, 32768
4703
4704#CHECK: error: invalid operand
4705#CHECK: mvhi	-1, 0
4706#CHECK: error: invalid operand
4707#CHECK: mvhi	4096, 0
4708#CHECK: error: invalid use of indexed addressing
4709#CHECK: mvhi	0(%r1,%r2), 0
4710#CHECK: error: invalid operand
4711#CHECK: mvhi	0, -32769
4712#CHECK: error: invalid operand
4713#CHECK: mvhi	0, 32768
4714
4715	mvhi	-1, 0
4716	mvhi	4096, 0
4717	mvhi	0(%r1,%r2), 0
4718	mvhi	0, -32769
4719	mvhi	0, 32768
4720
4721#CHECK: error: invalid operand
4722#CHECK: mvi	-1, 0
4723#CHECK: error: invalid operand
4724#CHECK: mvi	4096, 0
4725#CHECK: error: invalid use of indexed addressing
4726#CHECK: mvi	0(%r1,%r2), 0
4727#CHECK: error: invalid operand
4728#CHECK: mvi	0, -1
4729#CHECK: error: invalid operand
4730#CHECK: mvi	0, 256
4731
4732	mvi	-1, 0
4733	mvi	4096, 0
4734	mvi	0(%r1,%r2), 0
4735	mvi	0, -1
4736	mvi	0, 256
4737
4738#CHECK: error: invalid operand
4739#CHECK: mviy	-524289, 0
4740#CHECK: error: invalid operand
4741#CHECK: mviy	524288, 0
4742#CHECK: error: invalid use of indexed addressing
4743#CHECK: mviy	0(%r1,%r2), 0
4744#CHECK: error: invalid operand
4745#CHECK: mviy	0, -1
4746#CHECK: error: invalid operand
4747#CHECK: mviy	0, 256
4748
4749	mviy	-524289, 0
4750	mviy	524288, 0
4751	mviy	0(%r1,%r2), 0
4752	mviy	0, -1
4753	mviy	0, 256
4754
4755#CHECK: error: missing length in address
4756#CHECK: mvn	0, 0
4757#CHECK: error: missing length in address
4758#CHECK: mvn	0(%r1), 0(%r1)
4759#CHECK: error: invalid use of length addressing
4760#CHECK: mvn	0(1,%r1), 0(2,%r1)
4761#CHECK: error: invalid operand
4762#CHECK: mvn	0(0,%r1), 0(%r1)
4763#CHECK: error: invalid operand
4764#CHECK: mvn	0(257,%r1), 0(%r1)
4765#CHECK: error: invalid operand
4766#CHECK: mvn	-1(1,%r1), 0(%r1)
4767#CHECK: error: invalid operand
4768#CHECK: mvn	4096(1,%r1), 0(%r1)
4769#CHECK: error: invalid operand
4770#CHECK: mvn	0(1,%r1), -1(%r1)
4771#CHECK: error: invalid operand
4772#CHECK: mvn	0(1,%r1), 4096(%r1)
4773#CHECK: error: %r0 used in an address
4774#CHECK: mvn	0(1,%r0), 0(%r1)
4775#CHECK: error: %r0 used in an address
4776#CHECK: mvn	0(1,%r1), 0(%r0)
4777#CHECK: error: invalid use of indexed addressing
4778#CHECK: mvn	0(%r1,%r2), 0(%r1)
4779#CHECK: error: invalid use of indexed addressing
4780#CHECK: mvn	0(1,%r2), 0(%r1,%r2)
4781#CHECK: error: unknown token in expression
4782#CHECK: mvn	0(-), 0
4783
4784	mvn	0, 0
4785	mvn	0(%r1), 0(%r1)
4786	mvn	0(1,%r1), 0(2,%r1)
4787	mvn	0(0,%r1), 0(%r1)
4788	mvn	0(257,%r1), 0(%r1)
4789	mvn	-1(1,%r1), 0(%r1)
4790	mvn	4096(1,%r1), 0(%r1)
4791	mvn	0(1,%r1), -1(%r1)
4792	mvn	0(1,%r1), 4096(%r1)
4793	mvn	0(1,%r0), 0(%r1)
4794	mvn	0(1,%r1), 0(%r0)
4795	mvn	0(%r1,%r2), 0(%r1)
4796	mvn	0(1,%r2), 0(%r1,%r2)
4797	mvn	0(-), 0
4798
4799#CHECK: error: missing length in address
4800#CHECK: mvo	0, 0(1)
4801#CHECK: error: missing length in address
4802#CHECK: mvo	0(1), 0
4803#CHECK: error: missing length in address
4804#CHECK: mvo	0(%r1), 0(1,%r1)
4805#CHECK: error: missing length in address
4806#CHECK: mvo	0(1,%r1), 0(%r1)
4807#CHECK: error: invalid operand
4808#CHECK: mvo	0(0,%r1), 0(1,%r1)
4809#CHECK: error: invalid operand
4810#CHECK: mvo	0(1,%r1), 0(0,%r1)
4811#CHECK: error: invalid operand
4812#CHECK: mvo	0(17,%r1), 0(1,%r1)
4813#CHECK: error: invalid operand
4814#CHECK: mvo	0(1,%r1), 0(17,%r1)
4815#CHECK: error: invalid operand
4816#CHECK: mvo	-1(1,%r1), 0(1,%r1)
4817#CHECK: error: invalid operand
4818#CHECK: mvo	4096(1,%r1), 0(1,%r1)
4819#CHECK: error: invalid operand
4820#CHECK: mvo	0(1,%r1), -1(1,%r1)
4821#CHECK: error: invalid operand
4822#CHECK: mvo	0(1,%r1), 4096(1,%r1)
4823#CHECK: error: %r0 used in an address
4824#CHECK: mvo	0(1,%r0), 0(1,%r1)
4825#CHECK: error: %r0 used in an address
4826#CHECK: mvo	0(1,%r1), 0(1,%r0)
4827#CHECK: error: invalid use of indexed addressing
4828#CHECK: mvo	0(%r1,%r2), 0(1,%r1)
4829#CHECK: error: invalid use of indexed addressing
4830#CHECK: mvo	0(1,%r2), 0(%r1,%r2)
4831#CHECK: error: unknown token in expression
4832#CHECK: mvo	0(-), 0(1)
4833
4834	mvo	0, 0(1)
4835	mvo	0(1), 0
4836	mvo	0(%r1), 0(1,%r1)
4837	mvo	0(1,%r1), 0(%r1)
4838	mvo	0(0,%r1), 0(1,%r1)
4839	mvo	0(1,%r1), 0(0,%r1)
4840	mvo	0(17,%r1), 0(1,%r1)
4841	mvo	0(1,%r1), 0(17,%r1)
4842	mvo	-1(1,%r1), 0(1,%r1)
4843	mvo	4096(1,%r1), 0(1,%r1)
4844	mvo	0(1,%r1), -1(1,%r1)
4845	mvo	0(1,%r1), 4096(1,%r1)
4846	mvo	0(1,%r0), 0(1,%r1)
4847	mvo	0(1,%r1), 0(1,%r0)
4848	mvo	0(%r1,%r2), 0(1,%r1)
4849	mvo	0(1,%r2), 0(%r1,%r2)
4850	mvo	0(-), 0(1)
4851
4852#CHECK: error: missing length in address
4853#CHECK: mvz	0, 0
4854#CHECK: error: missing length in address
4855#CHECK: mvz	0(%r1), 0(%r1)
4856#CHECK: error: invalid use of length addressing
4857#CHECK: mvz	0(1,%r1), 0(2,%r1)
4858#CHECK: error: invalid operand
4859#CHECK: mvz	0(0,%r1), 0(%r1)
4860#CHECK: error: invalid operand
4861#CHECK: mvz	0(257,%r1), 0(%r1)
4862#CHECK: error: invalid operand
4863#CHECK: mvz	-1(1,%r1), 0(%r1)
4864#CHECK: error: invalid operand
4865#CHECK: mvz	4096(1,%r1), 0(%r1)
4866#CHECK: error: invalid operand
4867#CHECK: mvz	0(1,%r1), -1(%r1)
4868#CHECK: error: invalid operand
4869#CHECK: mvz	0(1,%r1), 4096(%r1)
4870#CHECK: error: %r0 used in an address
4871#CHECK: mvz	0(1,%r0), 0(%r1)
4872#CHECK: error: %r0 used in an address
4873#CHECK: mvz	0(1,%r1), 0(%r0)
4874#CHECK: error: invalid use of indexed addressing
4875#CHECK: mvz	0(%r1,%r2), 0(%r1)
4876#CHECK: error: invalid use of indexed addressing
4877#CHECK: mvz	0(1,%r2), 0(%r1,%r2)
4878#CHECK: error: unknown token in expression
4879#CHECK: mvz	0(-), 0
4880
4881	mvz	0, 0
4882	mvz	0(%r1), 0(%r1)
4883	mvz	0(1,%r1), 0(2,%r1)
4884	mvz	0(0,%r1), 0(%r1)
4885	mvz	0(257,%r1), 0(%r1)
4886	mvz	-1(1,%r1), 0(%r1)
4887	mvz	4096(1,%r1), 0(%r1)
4888	mvz	0(1,%r1), -1(%r1)
4889	mvz	0(1,%r1), 4096(%r1)
4890	mvz	0(1,%r0), 0(%r1)
4891	mvz	0(1,%r1), 0(%r0)
4892	mvz	0(%r1,%r2), 0(%r1)
4893	mvz	0(1,%r2), 0(%r1,%r2)
4894	mvz	0(-), 0
4895
4896#CHECK: error: invalid register pair
4897#CHECK: mxbr	%f0, %f2
4898#CHECK: error: invalid register pair
4899#CHECK: mxbr	%f2, %f0
4900
4901	mxbr	%f0, %f2
4902	mxbr	%f2, %f0
4903
4904#CHECK: error: invalid register pair
4905#CHECK: mxd	%f2, 0
4906#CHECK: error: invalid operand
4907#CHECK: mxd	%f0, -1
4908#CHECK: error: invalid operand
4909#CHECK: mxd	%f0, 4096
4910
4911	mxd	%f2, 0
4912	mxd	%f0, -1
4913	mxd	%f0, 4096
4914
4915#CHECK: error: invalid register pair
4916#CHECK: mxdb	%f2, 0
4917#CHECK: error: invalid operand
4918#CHECK: mxdb	%f0, -1
4919#CHECK: error: invalid operand
4920#CHECK: mxdb	%f0, 4096
4921
4922	mxdb	%f2, 0
4923	mxdb	%f0, -1
4924	mxdb	%f0, 4096
4925
4926#CHECK: error: invalid register pair
4927#CHECK: mxdbr	%f2, %f0
4928
4929	mxdbr	%f2, %f0
4930
4931#CHECK: error: invalid register pair
4932#CHECK: mxdr	%f2, %f0
4933
4934	mxdr	%f2, %f0
4935
4936#CHECK: error: invalid register pair
4937#CHECK: mxr	%f0, %f2
4938#CHECK: error: invalid register pair
4939#CHECK: mxr	%f2, %f0
4940
4941	mxr	%f0, %f2
4942	mxr	%f2, %f0
4943
4944#CHECK: error: invalid register pair
4945#CHECK: mxtr	%f0, %f0, %f2
4946#CHECK: error: invalid register pair
4947#CHECK: mxtr	%f0, %f2, %f0
4948#CHECK: error: invalid register pair
4949#CHECK: mxtr	%f2, %f0, %f0
4950
4951	mxtr	%f0, %f0, %f2
4952	mxtr	%f0, %f2, %f0
4953	mxtr	%f2, %f0, %f0
4954
4955#CHECK: error: instruction requires: fp-extension
4956#CHECK: mxtra	%f0, %f0, %f0, 0
4957
4958	mxtra	%f0, %f0, %f0, 0
4959
4960#CHECK: error: invalid operand
4961#CHECK: my	%f0, %f0, -1
4962#CHECK: error: invalid operand
4963#CHECK: my	%f0, %f0, 4096
4964#CHECK: error: invalid register pair
4965#CHECK: my	%f2, %f0, 0
4966
4967	my	%f0, %f0, -1
4968	my	%f0, %f0, 4096
4969	my	%f2, %f0, 0
4970
4971#CHECK: error: invalid operand
4972#CHECK: myh	%f0, %f0, -1
4973#CHECK: error: invalid operand
4974#CHECK: myh	%f0, %f0, 4096
4975
4976	myh	%f0, %f0, -1
4977	myh	%f0, %f0, 4096
4978
4979#CHECK: error: invalid operand
4980#CHECK: myl	%f0, %f0, -1
4981#CHECK: error: invalid operand
4982#CHECK: myl	%f0, %f0, 4096
4983
4984	myl	%f0, %f0, -1
4985	myl	%f0, %f0, 4096
4986
4987#CHECK: error: invalid register pair
4988#CHECK: myr	%f2, %f0, %f0
4989
4990	myr	%f2, %f0, %f0
4991
4992#CHECK: error: invalid operand
4993#CHECK: n	%r0, -1
4994#CHECK: error: invalid operand
4995#CHECK: n	%r0, 4096
4996
4997	n	%r0, -1
4998	n	%r0, 4096
4999
5000#CHECK: error: missing length in address
5001#CHECK: nc	0, 0
5002#CHECK: error: missing length in address
5003#CHECK: nc	0(%r1), 0(%r1)
5004#CHECK: error: invalid use of length addressing
5005#CHECK: nc	0(1,%r1), 0(2,%r1)
5006#CHECK: error: invalid operand
5007#CHECK: nc	0(0,%r1), 0(%r1)
5008#CHECK: error: invalid operand
5009#CHECK: nc	0(257,%r1), 0(%r1)
5010#CHECK: error: invalid operand
5011#CHECK: nc	-1(1,%r1), 0(%r1)
5012#CHECK: error: invalid operand
5013#CHECK: nc	4096(1,%r1), 0(%r1)
5014#CHECK: error: invalid operand
5015#CHECK: nc	0(1,%r1), -1(%r1)
5016#CHECK: error: invalid operand
5017#CHECK: nc	0(1,%r1), 4096(%r1)
5018#CHECK: error: %r0 used in an address
5019#CHECK: nc	0(1,%r0), 0(%r1)
5020#CHECK: error: %r0 used in an address
5021#CHECK: nc	0(1,%r1), 0(%r0)
5022#CHECK: error: invalid use of indexed addressing
5023#CHECK: nc	0(%r1,%r2), 0(%r1)
5024#CHECK: error: invalid use of indexed addressing
5025#CHECK: nc	0(1,%r2), 0(%r1,%r2)
5026#CHECK: error: unknown token in expression
5027#CHECK: nc	0(-), 0
5028
5029	nc	0, 0
5030	nc	0(%r1), 0(%r1)
5031	nc	0(1,%r1), 0(2,%r1)
5032	nc	0(0,%r1), 0(%r1)
5033	nc	0(257,%r1), 0(%r1)
5034	nc	-1(1,%r1), 0(%r1)
5035	nc	4096(1,%r1), 0(%r1)
5036	nc	0(1,%r1), -1(%r1)
5037	nc	0(1,%r1), 4096(%r1)
5038	nc	0(1,%r0), 0(%r1)
5039	nc	0(1,%r1), 0(%r0)
5040	nc	0(%r1,%r2), 0(%r1)
5041	nc	0(1,%r2), 0(%r1,%r2)
5042	nc	0(-), 0
5043
5044#CHECK: error: invalid operand
5045#CHECK: ng	%r0, -524289
5046#CHECK: error: invalid operand
5047#CHECK: ng	%r0, 524288
5048
5049	ng	%r0, -524289
5050	ng	%r0, 524288
5051
5052#CHECK: error: instruction requires: distinct-ops
5053#CHECK: ngrk	%r2,%r3,%r4
5054
5055	ngrk	%r2,%r3,%r4
5056
5057#CHECK: error: invalid operand
5058#CHECK: ni	-1, 0
5059#CHECK: error: invalid operand
5060#CHECK: ni	4096, 0
5061#CHECK: error: invalid use of indexed addressing
5062#CHECK: ni	0(%r1,%r2), 0
5063#CHECK: error: invalid operand
5064#CHECK: ni	0, -1
5065#CHECK: error: invalid operand
5066#CHECK: ni	0, 256
5067
5068	ni	-1, 0
5069	ni	4096, 0
5070	ni	0(%r1,%r2), 0
5071	ni	0, -1
5072	ni	0, 256
5073
5074#CHECK: error: invalid operand
5075#CHECK: nihf	%r0, -1
5076#CHECK: error: invalid operand
5077#CHECK: nihf	%r0, 1 << 32
5078
5079	nihf	%r0, -1
5080	nihf	%r0, 1 << 32
5081
5082#CHECK: error: invalid operand
5083#CHECK: nihh	%r0, -1
5084#CHECK: error: invalid operand
5085#CHECK: nihh	%r0, 0x10000
5086
5087	nihh	%r0, -1
5088	nihh	%r0, 0x10000
5089
5090#CHECK: error: invalid operand
5091#CHECK: nihl	%r0, -1
5092#CHECK: error: invalid operand
5093#CHECK: nihl	%r0, 0x10000
5094
5095	nihl	%r0, -1
5096	nihl	%r0, 0x10000
5097
5098#CHECK: error: invalid operand
5099#CHECK: nilf	%r0, -1
5100#CHECK: error: invalid operand
5101#CHECK: nilf	%r0, 1 << 32
5102
5103	nilf	%r0, -1
5104	nilf	%r0, 1 << 32
5105
5106#CHECK: error: invalid operand
5107#CHECK: nilh	%r0, -1
5108#CHECK: error: invalid operand
5109#CHECK: nilh	%r0, 0x10000
5110
5111	nilh	%r0, -1
5112	nilh	%r0, 0x10000
5113
5114#CHECK: error: invalid operand
5115#CHECK: nill	%r0, -1
5116#CHECK: error: invalid operand
5117#CHECK: nill	%r0, 0x10000
5118
5119	nill	%r0, -1
5120	nill	%r0, 0x10000
5121
5122#CHECK: error: invalid operand
5123#CHECK: niy	-524289, 0
5124#CHECK: error: invalid operand
5125#CHECK: niy	524288, 0
5126#CHECK: error: invalid use of indexed addressing
5127#CHECK: niy	0(%r1,%r2), 0
5128#CHECK: error: invalid operand
5129#CHECK: niy	0, -1
5130#CHECK: error: invalid operand
5131#CHECK: niy	0, 256
5132
5133	niy	-524289, 0
5134	niy	524288, 0
5135	niy	0(%r1,%r2), 0
5136	niy	0, -1
5137	niy	0, 256
5138
5139#CHECK: error: instruction requires: distinct-ops
5140#CHECK: nrk	%r2,%r3,%r4
5141
5142	nrk	%r2,%r3,%r4
5143
5144#CHECK: error: invalid operand
5145#CHECK: ny	%r0, -524289
5146#CHECK: error: invalid operand
5147#CHECK: ny	%r0, 524288
5148
5149	ny	%r0, -524289
5150	ny	%r0, 524288
5151
5152#CHECK: error: invalid operand
5153#CHECK: o	%r0, -1
5154#CHECK: error: invalid operand
5155#CHECK: o	%r0, 4096
5156
5157	o	%r0, -1
5158	o	%r0, 4096
5159
5160#CHECK: error: missing length in address
5161#CHECK: oc	0, 0
5162#CHECK: error: missing length in address
5163#CHECK: oc	0(%r1), 0(%r1)
5164#CHECK: error: invalid use of length addressing
5165#CHECK: oc	0(1,%r1), 0(2,%r1)
5166#CHECK: error: invalid operand
5167#CHECK: oc	0(0,%r1), 0(%r1)
5168#CHECK: error: invalid operand
5169#CHECK: oc	0(257,%r1), 0(%r1)
5170#CHECK: error: invalid operand
5171#CHECK: oc	-1(1,%r1), 0(%r1)
5172#CHECK: error: invalid operand
5173#CHECK: oc	4096(1,%r1), 0(%r1)
5174#CHECK: error: invalid operand
5175#CHECK: oc	0(1,%r1), -1(%r1)
5176#CHECK: error: invalid operand
5177#CHECK: oc	0(1,%r1), 4096(%r1)
5178#CHECK: error: %r0 used in an address
5179#CHECK: oc	0(1,%r0), 0(%r1)
5180#CHECK: error: %r0 used in an address
5181#CHECK: oc	0(1,%r1), 0(%r0)
5182#CHECK: error: invalid use of indexed addressing
5183#CHECK: oc	0(%r1,%r2), 0(%r1)
5184#CHECK: error: invalid use of indexed addressing
5185#CHECK: oc	0(1,%r2), 0(%r1,%r2)
5186#CHECK: error: unknown token in expression
5187#CHECK: oc	0(-), 0
5188
5189	oc	0, 0
5190	oc	0(%r1), 0(%r1)
5191	oc	0(1,%r1), 0(2,%r1)
5192	oc	0(0,%r1), 0(%r1)
5193	oc	0(257,%r1), 0(%r1)
5194	oc	-1(1,%r1), 0(%r1)
5195	oc	4096(1,%r1), 0(%r1)
5196	oc	0(1,%r1), -1(%r1)
5197	oc	0(1,%r1), 4096(%r1)
5198	oc	0(1,%r0), 0(%r1)
5199	oc	0(1,%r1), 0(%r0)
5200	oc	0(%r1,%r2), 0(%r1)
5201	oc	0(1,%r2), 0(%r1,%r2)
5202	oc	0(-), 0
5203
5204#CHECK: error: invalid operand
5205#CHECK: og	%r0, -524289
5206#CHECK: error: invalid operand
5207#CHECK: og	%r0, 524288
5208
5209	og	%r0, -524289
5210	og	%r0, 524288
5211
5212#CHECK: error: instruction requires: distinct-ops
5213#CHECK: ogrk	%r2,%r3,%r4
5214
5215	ogrk	%r2,%r3,%r4
5216
5217#CHECK: error: invalid operand
5218#CHECK: oi	-1, 0
5219#CHECK: error: invalid operand
5220#CHECK: oi	4096, 0
5221#CHECK: error: invalid use of indexed addressing
5222#CHECK: oi	0(%r1,%r2), 0
5223#CHECK: error: invalid operand
5224#CHECK: oi	0, -1
5225#CHECK: error: invalid operand
5226#CHECK: oi	0, 256
5227
5228	oi	-1, 0
5229	oi	4096, 0
5230	oi	0(%r1,%r2), 0
5231	oi	0, -1
5232	oi	0, 256
5233
5234#CHECK: error: invalid operand
5235#CHECK: oihf	%r0, -1
5236#CHECK: error: invalid operand
5237#CHECK: oihf	%r0, 1 << 32
5238
5239	oihf	%r0, -1
5240	oihf	%r0, 1 << 32
5241
5242#CHECK: error: invalid operand
5243#CHECK: oihh	%r0, -1
5244#CHECK: error: invalid operand
5245#CHECK: oihh	%r0, 0x10000
5246
5247	oihh	%r0, -1
5248	oihh	%r0, 0x10000
5249
5250#CHECK: error: invalid operand
5251#CHECK: oihl	%r0, -1
5252#CHECK: error: invalid operand
5253#CHECK: oihl	%r0, 0x10000
5254
5255	oihl	%r0, -1
5256	oihl	%r0, 0x10000
5257
5258#CHECK: error: invalid operand
5259#CHECK: oilf	%r0, -1
5260#CHECK: error: invalid operand
5261#CHECK: oilf	%r0, 1 << 32
5262
5263	oilf	%r0, -1
5264	oilf	%r0, 1 << 32
5265
5266#CHECK: error: invalid operand
5267#CHECK: oilh	%r0, -1
5268#CHECK: error: invalid operand
5269#CHECK: oilh	%r0, 0x10000
5270
5271	oilh	%r0, -1
5272	oilh	%r0, 0x10000
5273
5274#CHECK: error: invalid operand
5275#CHECK: oill	%r0, -1
5276#CHECK: error: invalid operand
5277#CHECK: oill	%r0, 0x10000
5278
5279	oill	%r0, -1
5280	oill	%r0, 0x10000
5281
5282#CHECK: error: invalid operand
5283#CHECK: oiy	-524289, 0
5284#CHECK: error: invalid operand
5285#CHECK: oiy	524288, 0
5286#CHECK: error: invalid use of indexed addressing
5287#CHECK: oiy	0(%r1,%r2), 0
5288#CHECK: error: invalid operand
5289#CHECK: oiy	0, -1
5290#CHECK: error: invalid operand
5291#CHECK: oiy	0, 256
5292
5293	oiy	-524289, 0
5294	oiy	524288, 0
5295	oiy	0(%r1,%r2), 0
5296	oiy	0, -1
5297	oiy	0, 256
5298
5299#CHECK: error: instruction requires: distinct-ops
5300#CHECK: ork	%r2,%r3,%r4
5301
5302	ork	%r2,%r3,%r4
5303
5304#CHECK: error: invalid operand
5305#CHECK: oy	%r0, -524289
5306#CHECK: error: invalid operand
5307#CHECK: oy	%r0, 524288
5308
5309	oy	%r0, -524289
5310	oy	%r0, 524288
5311
5312#CHECK: error: missing length in address
5313#CHECK: pack	0, 0(1)
5314#CHECK: error: missing length in address
5315#CHECK: pack	0(1), 0
5316#CHECK: error: missing length in address
5317#CHECK: pack	0(%r1), 0(1,%r1)
5318#CHECK: error: missing length in address
5319#CHECK: pack	0(1,%r1), 0(%r1)
5320#CHECK: error: invalid operand
5321#CHECK: pack	0(0,%r1), 0(1,%r1)
5322#CHECK: error: invalid operand
5323#CHECK: pack	0(1,%r1), 0(0,%r1)
5324#CHECK: error: invalid operand
5325#CHECK: pack	0(17,%r1), 0(1,%r1)
5326#CHECK: error: invalid operand
5327#CHECK: pack	0(1,%r1), 0(17,%r1)
5328#CHECK: error: invalid operand
5329#CHECK: pack	-1(1,%r1), 0(1,%r1)
5330#CHECK: error: invalid operand
5331#CHECK: pack	4096(1,%r1), 0(1,%r1)
5332#CHECK: error: invalid operand
5333#CHECK: pack	0(1,%r1), -1(1,%r1)
5334#CHECK: error: invalid operand
5335#CHECK: pack	0(1,%r1), 4096(1,%r1)
5336#CHECK: error: %r0 used in an address
5337#CHECK: pack	0(1,%r0), 0(1,%r1)
5338#CHECK: error: %r0 used in an address
5339#CHECK: pack	0(1,%r1), 0(1,%r0)
5340#CHECK: error: invalid use of indexed addressing
5341#CHECK: pack	0(%r1,%r2), 0(1,%r1)
5342#CHECK: error: invalid use of indexed addressing
5343#CHECK: pack	0(1,%r2), 0(%r1,%r2)
5344#CHECK: error: unknown token in expression
5345#CHECK: pack	0(-), 0(1)
5346
5347	pack	0, 0(1)
5348	pack	0(1), 0
5349	pack	0(%r1), 0(1,%r1)
5350	pack	0(1,%r1), 0(%r1)
5351	pack	0(0,%r1), 0(1,%r1)
5352	pack	0(1,%r1), 0(0,%r1)
5353	pack	0(17,%r1), 0(1,%r1)
5354	pack	0(1,%r1), 0(17,%r1)
5355	pack	-1(1,%r1), 0(1,%r1)
5356	pack	4096(1,%r1), 0(1,%r1)
5357	pack	0(1,%r1), -1(1,%r1)
5358	pack	0(1,%r1), 4096(1,%r1)
5359	pack	0(1,%r0), 0(1,%r1)
5360	pack	0(1,%r1), 0(1,%r0)
5361	pack	0(%r1,%r2), 0(1,%r1)
5362	pack	0(1,%r2), 0(%r1,%r2)
5363	pack	0(-), 0(1)
5364
5365#CHECK: error: invalid operand
5366#CHECK: pc	-1
5367#CHECK: error: invalid operand
5368#CHECK: pc	4096
5369#CHECK: error: invalid use of indexed addressing
5370#CHECK: pc	0(%r1,%r2)
5371
5372	pc	-1
5373	pc	4096
5374	pc	0(%r1,%r2)
5375
5376#CHECK: error: instruction requires: message-security-assist-extension4
5377#CHECK: pcc
5378
5379	pcc
5380
5381#CHECK: error: instruction requires: message-security-assist-extension3
5382#CHECK: pckmo
5383
5384	pckmo
5385
5386#CHECK: error: invalid operand
5387#CHECK: pfd	-1, 0
5388#CHECK: error: invalid operand
5389#CHECK: pfd	16, 0
5390#CHECK: error: invalid operand
5391#CHECK: pfd	1, -524289
5392#CHECK: error: invalid operand
5393#CHECK: pfd	1, 524288
5394
5395	pfd	-1, 0
5396	pfd	16, 0
5397	pfd	1, -524289
5398	pfd	1, 524288
5399
5400#CHECK: error: invalid operand
5401#CHECK: pfdrl	-1, 0
5402#CHECK: error: invalid operand
5403#CHECK: pfdrl	16, 0
5404#CHECK: error: offset out of range
5405#CHECK: pfdrl	1, -0x1000000002
5406#CHECK: error: offset out of range
5407#CHECK: pfdrl	1, -1
5408#CHECK: error: offset out of range
5409#CHECK: pfdrl	1, 1
5410#CHECK: error: offset out of range
5411#CHECK: pfdrl	1, 0x100000000
5412
5413	pfdrl	-1, 0
5414	pfdrl	16, 0
5415	pfdrl	1, -0x1000000002
5416	pfdrl	1, -1
5417	pfdrl	1, 1
5418	pfdrl	1, 0x100000000
5419
5420#CHECK: error: missing length in address
5421#CHECK: pka	0, 0
5422#CHECK: error: missing length in address
5423#CHECK: pka	0(%r1), 0(%r1)
5424#CHECK: error: invalid use of length addressing
5425#CHECK: pka	0(1,%r1), 0(2,%r1)
5426#CHECK: error: invalid operand
5427#CHECK: pka	0(%r1), 0(0,%r1)
5428#CHECK: error: invalid operand
5429#CHECK: pka	0(%r1), 0(257,%r1)
5430#CHECK: error: invalid operand
5431#CHECK: pka	-1(%r1), 0(1,%r1)
5432#CHECK: error: invalid operand
5433#CHECK: pka	4096(%r1), 0(1,%r1)
5434#CHECK: error: invalid operand
5435#CHECK: pka	0(%r1), -1(1,%r1)
5436#CHECK: error: invalid operand
5437#CHECK: pka	0(%r1), 4096(1,%r1)
5438#CHECK: error: %r0 used in an address
5439#CHECK: pka	0(%r0), 0(1,%r1)
5440#CHECK: error: %r0 used in an address
5441#CHECK: pka	0(%r1), 0(1,%r0)
5442#CHECK: error: invalid use of indexed addressing
5443#CHECK: pka	0(%r1,%r2), 0(1,%r1)
5444#CHECK: error: invalid use of indexed addressing
5445#CHECK: pka	0(%r2), 0(%r1,%r2)
5446#CHECK: error: unknown token in expression
5447#CHECK: pka	0, 0(-)
5448
5449	pka	0, 0
5450	pka	0(%r1), 0(%r1)
5451	pka	0(1,%r1), 0(2,%r1)
5452	pka	0(%r1), 0(0,%r1)
5453	pka	0(%r1), 0(257,%r1)
5454	pka	-1(%r1), 0(1,%r1)
5455	pka	4096(%r1), 0(1,%r1)
5456	pka	0(%r1), -1(1,%r1)
5457	pka	0(%r1), 4096(1,%r1)
5458	pka	0(%r0), 0(1,%r1)
5459	pka	0(%r1), 0(1,%r0)
5460	pka	0(%r1,%r2), 0(1,%r1)
5461	pka	0(%r2), 0(%r1,%r2)
5462	pka	0, 0(-)
5463
5464#CHECK: error: missing length in address
5465#CHECK: pku	0, 0
5466#CHECK: error: missing length in address
5467#CHECK: pku	0(%r1), 0(%r1)
5468#CHECK: error: invalid use of length addressing
5469#CHECK: pku	0(1,%r1), 0(2,%r1)
5470#CHECK: error: invalid operand
5471#CHECK: pku	0(%r1), 0(0,%r1)
5472#CHECK: error: invalid operand
5473#CHECK: pku	0(%r1), 0(257,%r1)
5474#CHECK: error: invalid operand
5475#CHECK: pku	-1(%r1), 0(1,%r1)
5476#CHECK: error: invalid operand
5477#CHECK: pku	4096(%r1), 0(1,%r1)
5478#CHECK: error: invalid operand
5479#CHECK: pku	0(%r1), -1(1,%r1)
5480#CHECK: error: invalid operand
5481#CHECK: pku	0(%r1), 4096(1,%r1)
5482#CHECK: error: %r0 used in an address
5483#CHECK: pku	0(%r0), 0(1,%r1)
5484#CHECK: error: %r0 used in an address
5485#CHECK: pku	0(%r1), 0(1,%r0)
5486#CHECK: error: invalid use of indexed addressing
5487#CHECK: pku	0(%r1,%r2), 0(1,%r1)
5488#CHECK: error: invalid use of indexed addressing
5489#CHECK: pku	0(%r2), 0(%r1,%r2)
5490#CHECK: error: unknown token in expression
5491#CHECK: pku	0, 0(-)
5492
5493	pku	0, 0
5494	pku	0(%r1), 0(%r1)
5495	pku	0(1,%r1), 0(2,%r1)
5496	pku	0(%r1), 0(0,%r1)
5497	pku	0(%r1), 0(257,%r1)
5498	pku	-1(%r1), 0(1,%r1)
5499	pku	4096(%r1), 0(1,%r1)
5500	pku	0(%r1), -1(1,%r1)
5501	pku	0(%r1), 4096(1,%r1)
5502	pku	0(%r0), 0(1,%r1)
5503	pku	0(%r1), 0(1,%r0)
5504	pku	0(%r1,%r2), 0(1,%r1)
5505	pku	0(%r2), 0(%r1,%r2)
5506	pku	0, 0(-)
5507
5508#CHECK: error: invalid use of indexed addressing
5509#CHECK: plo	%r2, 160(%r1,%r15), %r4, 160(%r15)
5510#CHECK: error: invalid operand
5511#CHECK: plo	%r2, -1(%r1), %r4, 160(%r15)
5512#CHECK: error: invalid operand
5513#CHECK: plo	%r2, 4096(%r1), %r4, 160(%r15)
5514#CHECK: error: invalid operand
5515#CHECK: plo	%r2, 0(%r1), %r4, -1(%r15)
5516#CHECK: error: invalid operand
5517#CHECK: plo	%r2, 0(%r1), %r4, 4096(%r15)
5518
5519        plo	%r2, 160(%r1,%r15), %r4, 160(%r15)
5520        plo	%r2, -1(%r1), %r4, 160(%r15)
5521        plo	%r2, 4096(%r1), %r4, 160(%r15)
5522        plo	%r2, 0(%r1), %r4, -1(%r15)
5523        plo	%r2, 0(%r1), %r4, 4096(%r15)
5524
5525#CHECK: error: instruction requires: population-count
5526#CHECK: popcnt	%r0, %r0
5527
5528	popcnt	%r0, %r0
5529
5530#CHECK: error: invalid operand
5531#CHECK: pr    %r0
5532        pr    %r0
5533
5534#CHECK: error: invalid operand
5535#CHECK: qadtr	%f0, %f0, %f0, -1
5536#CHECK: error: invalid operand
5537#CHECK: qadtr	%f0, %f0, %f0, 16
5538
5539	qadtr	%f0, %f0, %f0, -1
5540	qadtr	%f0, %f0, %f0, 16
5541
5542#CHECK: error: invalid operand
5543#CHECK: qaxtr	%f0, %f0, %f0, -1
5544#CHECK: error: invalid operand
5545#CHECK: qaxtr	%f0, %f0, %f0, 16
5546#CHECK: error: invalid register pair
5547#CHECK: qaxtr	%f0, %f0, %f2, 0
5548#CHECK: error: invalid register pair
5549#CHECK: qaxtr	%f0, %f2, %f0, 0
5550#CHECK: error: invalid register pair
5551#CHECK: qaxtr	%f2, %f0, %f0, 0
5552
5553	qaxtr	%f0, %f0, %f0, -1
5554	qaxtr	%f0, %f0, %f0, 16
5555	qaxtr	%f0, %f0, %f2, 0
5556	qaxtr	%f0, %f2, %f0, 0
5557	qaxtr	%f2, %f0, %f0, 0
5558
5559#CHECK: error: invalid operand
5560#CHECK: qctri	-1
5561#CHECK: error: invalid operand
5562#CHECK: qctri	4096
5563#CHECK: error: invalid use of indexed addressing
5564#CHECK: qctri	0(%r1,%r2)
5565
5566	qctri	-1
5567	qctri	4096
5568	qctri	0(%r1,%r2)
5569
5570#CHECK: error: invalid operand
5571#CHECK: qsi	-1
5572#CHECK: error: invalid operand
5573#CHECK: qsi	4096
5574#CHECK: error: invalid use of indexed addressing
5575#CHECK: qsi	0(%r1,%r2)
5576
5577	qsi	-1
5578	qsi	4096
5579	qsi	0(%r1,%r2)
5580
5581#CHECK: error: invalid operand
5582#CHECK: risbg	%r0,%r0,0,0,-1
5583#CHECK: error: invalid operand
5584#CHECK: risbg	%r0,%r0,0,0,64
5585#CHECK: error: invalid operand
5586#CHECK: risbg	%r0,%r0,0,-1,0
5587#CHECK: error: invalid operand
5588#CHECK: risbg	%r0,%r0,0,256,0
5589#CHECK: error: invalid operand
5590#CHECK: risbg	%r0,%r0,-1,0,0
5591#CHECK: error: invalid operand
5592#CHECK: risbg	%r0,%r0,256,0,0
5593
5594	risbg	%r0,%r0,0,0,-1
5595	risbg	%r0,%r0,0,0,64
5596	risbg	%r0,%r0,0,-1,0
5597	risbg	%r0,%r0,0,256,0
5598	risbg	%r0,%r0,-1,0,0
5599	risbg	%r0,%r0,256,0,0
5600
5601#CHECK: error: instruction requires: high-word
5602#CHECK: risbhg	%r1, %r2, 0, 0, 0
5603
5604	risbhg	%r1, %r2, 0, 0, 0
5605
5606#CHECK: error: instruction requires: high-word
5607#CHECK: risblg	%r1, %r2, 0, 0, 0
5608
5609	risblg	%r1, %r2, 0, 0, 0
5610
5611#CHECK: error: invalid operand
5612#CHECK: rll	%r0,%r0,-524289
5613#CHECK: error: invalid operand
5614#CHECK: rll	%r0,%r0,524288
5615#CHECK: error: %r0 used in an address
5616#CHECK: rll	%r0,%r0,0(%r0)
5617#CHECK: error: invalid use of indexed addressing
5618#CHECK: rll	%r0,%r0,0(%r1,%r2)
5619
5620	rll	%r0,%r0,-524289
5621	rll	%r0,%r0,524288
5622	rll	%r0,%r0,0(%r0)
5623	rll	%r0,%r0,0(%r1,%r2)
5624
5625#CHECK: error: invalid operand
5626#CHECK: rllg	%r0,%r0,-524289
5627#CHECK: error: invalid operand
5628#CHECK: rllg	%r0,%r0,524288
5629#CHECK: error: %r0 used in an address
5630#CHECK: rllg	%r0,%r0,0(%r0)
5631#CHECK: error: invalid use of indexed addressing
5632#CHECK: rllg	%r0,%r0,0(%r1,%r2)
5633
5634	rllg	%r0,%r0,-524289
5635	rllg	%r0,%r0,524288
5636	rllg	%r0,%r0,0(%r0)
5637	rllg	%r0,%r0,0(%r1,%r2)
5638
5639#CHECK: error: invalid operand
5640#CHECK: rnsbg	%r0,%r0,0,0,-1
5641#CHECK: error: invalid operand
5642#CHECK: rnsbg	%r0,%r0,0,0,64
5643#CHECK: error: invalid operand
5644#CHECK: rnsbg	%r0,%r0,0,-1,0
5645#CHECK: error: invalid operand
5646#CHECK: rnsbg	%r0,%r0,0,256,0
5647#CHECK: error: invalid operand
5648#CHECK: rnsbg	%r0,%r0,-1,0,0
5649#CHECK: error: invalid operand
5650#CHECK: rnsbg	%r0,%r0,256,0,0
5651
5652	rnsbg	%r0,%r0,0,0,-1
5653	rnsbg	%r0,%r0,0,0,64
5654	rnsbg	%r0,%r0,0,-1,0
5655	rnsbg	%r0,%r0,0,256,0
5656	rnsbg	%r0,%r0,-1,0,0
5657	rnsbg	%r0,%r0,256,0,0
5658
5659#CHECK: error: invalid operand
5660#CHECK: rosbg	%r0,%r0,0,0,-1
5661#CHECK: error: invalid operand
5662#CHECK: rosbg	%r0,%r0,0,0,64
5663#CHECK: error: invalid operand
5664#CHECK: rosbg	%r0,%r0,0,-1,0
5665#CHECK: error: invalid operand
5666#CHECK: rosbg	%r0,%r0,0,256,0
5667#CHECK: error: invalid operand
5668#CHECK: rosbg	%r0,%r0,-1,0,0
5669#CHECK: error: invalid operand
5670#CHECK: rosbg	%r0,%r0,256,0,0
5671
5672	rosbg	%r0,%r0,0,0,-1
5673	rosbg	%r0,%r0,0,0,64
5674	rosbg	%r0,%r0,0,-1,0
5675	rosbg	%r0,%r0,0,256,0
5676	rosbg	%r0,%r0,-1,0,0
5677	rosbg	%r0,%r0,256,0,0
5678
5679#CHECK: error: invalid operand
5680#CHECK: rp	-1
5681#CHECK: error: invalid operand
5682#CHECK: rp	4096
5683#CHECK: error: invalid use of indexed addressing
5684#CHECK: rp	0(%r1,%r2)
5685
5686	rp	-1
5687	rp	4096
5688	rp	0(%r1,%r2)
5689
5690#CHECK: error: instruction requires: reset-reference-bits-multiple
5691#CHECK: rrbm	%r0, %r0
5692
5693	rrbm	%r0, %r0
5694
5695#CHECK: error: invalid operand
5696#CHECK: rrdtr	%f0, %f0, %f0, -1
5697#CHECK: error: invalid operand
5698#CHECK: rrdtr	%f0, %f0, %f0, 16
5699
5700	rrdtr	%f0, %f0, %f0, -1
5701	rrdtr	%f0, %f0, %f0, 16
5702
5703#CHECK: error: invalid operand
5704#CHECK: rrxtr	%f0, %f0, %f0, -1
5705#CHECK: error: invalid operand
5706#CHECK: rrxtr	%f0, %f0, %f0, 16
5707#CHECK: error: invalid register pair
5708#CHECK: rrxtr	%f0, %f0, %f2, 0
5709#CHECK: error: invalid register pair
5710#CHECK: rrxtr	%f0, %f2, %f0, 0
5711#CHECK: error: invalid register pair
5712#CHECK: rrxtr	%f2, %f0, %f0, 0
5713
5714	rrxtr	%f0, %f0, %f0, -1
5715	rrxtr	%f0, %f0, %f0, 16
5716	rrxtr	%f0, %f0, %f2, 0
5717	rrxtr	%f0, %f2, %f0, 0
5718	rrxtr	%f2, %f0, %f0, 0
5719
5720#CHECK: error: invalid operand
5721#CHECK: rxsbg	%r0,%r0,0,0,-1
5722#CHECK: error: invalid operand
5723#CHECK: rxsbg	%r0,%r0,0,0,64
5724#CHECK: error: invalid operand
5725#CHECK: rxsbg	%r0,%r0,0,-1,0
5726#CHECK: error: invalid operand
5727#CHECK: rxsbg	%r0,%r0,0,256,0
5728#CHECK: error: invalid operand
5729#CHECK: rxsbg	%r0,%r0,-1,0,0
5730#CHECK: error: invalid operand
5731#CHECK: rxsbg	%r0,%r0,256,0,0
5732
5733	rxsbg	%r0,%r0,0,0,-1
5734	rxsbg	%r0,%r0,0,0,64
5735	rxsbg	%r0,%r0,0,-1,0
5736	rxsbg	%r0,%r0,0,256,0
5737	rxsbg	%r0,%r0,-1,0,0
5738	rxsbg	%r0,%r0,256,0,0
5739
5740#CHECK: error: invalid operand
5741#CHECK: s	%r0, -1
5742#CHECK: error: invalid operand
5743#CHECK: s	%r0, 4096
5744
5745	s	%r0, -1
5746	s	%r0, 4096
5747
5748#CHECK: error: invalid operand
5749#CHECK: sac	-1
5750#CHECK: error: invalid operand
5751#CHECK: sac	4096
5752#CHECK: error: invalid use of indexed addressing
5753#CHECK: sac	0(%r1,%r2)
5754
5755	sac	-1
5756	sac	4096
5757	sac	0(%r1,%r2)
5758
5759#CHECK: error: invalid operand
5760#CHECK: sacf	-1
5761#CHECK: error: invalid operand
5762#CHECK: sacf	4096
5763#CHECK: error: invalid use of indexed addressing
5764#CHECK: sacf	0(%r1,%r2)
5765
5766	sacf	-1
5767	sacf	4096
5768	sacf	0(%r1,%r2)
5769
5770#CHECK: error: invalid operand
5771#CHECK: sck	-1
5772#CHECK: error: invalid operand
5773#CHECK: sck	4096
5774#CHECK: error: invalid use of indexed addressing
5775#CHECK: sck	0(%r1,%r2)
5776
5777	sck	-1
5778	sck	4096
5779	sck	0(%r1,%r2)
5780
5781#CHECK: error: invalid operand
5782#CHECK: sckc	-1
5783#CHECK: error: invalid operand
5784#CHECK: sckc	4096
5785#CHECK: error: invalid use of indexed addressing
5786#CHECK: sckc	0(%r1,%r2)
5787
5788	sckc	-1
5789	sckc	4096
5790	sckc	0(%r1,%r2)
5791
5792#CHECK: error: invalid operand
5793#CHECK: sd	%f0, -1
5794#CHECK: error: invalid operand
5795#CHECK: sd	%f0, 4096
5796
5797	sd	%f0, -1
5798	sd	%f0, 4096
5799
5800#CHECK: error: invalid operand
5801#CHECK: sdb	%f0, -1
5802#CHECK: error: invalid operand
5803#CHECK: sdb	%f0, 4096
5804
5805	sdb	%f0, -1
5806	sdb	%f0, 4096
5807
5808#CHECK: error: instruction requires: fp-extension
5809#CHECK: sdtra	%f0, %f0, %f0, 0
5810
5811	sdtra	%f0, %f0, %f0, 0
5812
5813#CHECK: error: invalid operand
5814#CHECK: se	%f0, -1
5815#CHECK: error: invalid operand
5816#CHECK: se	%f0, 4096
5817
5818	se	%f0, -1
5819	se	%f0, 4096
5820
5821#CHECK: error: invalid operand
5822#CHECK: seb	%f0, -1
5823#CHECK: error: invalid operand
5824#CHECK: seb	%f0, 4096
5825
5826	seb	%f0, -1
5827	seb	%f0, 4096
5828
5829#CHECK: error: invalid operand
5830#CHECK: sg	%r0, -524289
5831#CHECK: error: invalid operand
5832#CHECK: sg	%r0, 524288
5833
5834	sg	%r0, -524289
5835	sg	%r0, 524288
5836
5837#CHECK: error: invalid operand
5838#CHECK: sgf	%r0, -524289
5839#CHECK: error: invalid operand
5840#CHECK: sgf	%r0, 524288
5841
5842	sgf	%r0, -524289
5843	sgf	%r0, 524288
5844
5845#CHECK: error: instruction requires: distinct-ops
5846#CHECK: sgrk	%r2,%r3,%r4
5847
5848	sgrk	%r2,%r3,%r4
5849
5850#CHECK: error: invalid operand
5851#CHECK: sh	%r0, -1
5852#CHECK: error: invalid operand
5853#CHECK: sh	%r0, 4096
5854
5855	sh	%r0, -1
5856	sh	%r0, 4096
5857
5858#CHECK: error: instruction requires: high-word
5859#CHECK: shhhr	%r0, %r0, %r0
5860
5861	shhhr	%r0, %r0, %r0
5862
5863#CHECK: error: instruction requires: high-word
5864#CHECK: shhlr	%r0, %r0, %r0
5865
5866	shhlr	%r0, %r0, %r0
5867
5868#CHECK: error: invalid operand
5869#CHECK: shy	%r0, -524289
5870#CHECK: error: invalid operand
5871#CHECK: shy	%r0, 524288
5872
5873	shy	%r0, -524289
5874	shy	%r0, 524288
5875
5876#CHECK: error: invalid operand
5877#CHECK: sie	-1
5878#CHECK: error: invalid operand
5879#CHECK: sie	4096
5880#CHECK: error: invalid use of indexed addressing
5881#CHECK: sie	0(%r1,%r2)
5882
5883	sie	-1
5884	sie	4096
5885	sie	0(%r1,%r2)
5886
5887#CHECK: error: invalid operand
5888#CHECK: siga	-1
5889#CHECK: error: invalid operand
5890#CHECK: siga	4096
5891#CHECK: error: invalid use of indexed addressing
5892#CHECK: siga	0(%r1,%r2)
5893
5894	siga	-1
5895	siga	4096
5896	siga	0(%r1,%r2)
5897
5898#CHECK: error: invalid operand
5899#CHECK: sigp	%r0, %r0, -1
5900#CHECK: error: invalid operand
5901#CHECK: sigp	%r0, %r0, 4096
5902#CHECK: error: invalid use of indexed addressing
5903#CHECK: sigp	%r0, %r0, 0(%r1,%r2)
5904
5905	sigp	%r0, %r0, -1
5906	sigp	%r0, %r0, 4096
5907	sigp	%r0, %r0, 0(%r1,%r2)
5908
5909#CHECK: error: invalid operand
5910#CHECK: sl	%r0, -1
5911#CHECK: error: invalid operand
5912#CHECK: sl	%r0, 4096
5913
5914	sl	%r0, -1
5915	sl	%r0, 4096
5916
5917#CHECK: error: invalid operand
5918#CHECK: sla	%r0,-1
5919#CHECK: error: invalid operand
5920#CHECK: sla	%r0,4096
5921#CHECK: error: %r0 used in an address
5922#CHECK: sla	%r0,0(%r0)
5923#CHECK: error: invalid use of indexed addressing
5924#CHECK: sla	%r0,0(%r1,%r2)
5925
5926	sla	%r0,-1
5927	sla	%r0,4096
5928	sla	%r0,0(%r0)
5929	sla	%r0,0(%r1,%r2)
5930
5931#CHECK: error: invalid operand
5932#CHECK: slag	%r0,%r0,-524289
5933#CHECK: error: invalid operand
5934#CHECK: slag	%r0,%r0,524288
5935#CHECK: error: %r0 used in an address
5936#CHECK: slag	%r0,%r0,0(%r0)
5937#CHECK: error: invalid use of indexed addressing
5938#CHECK: slag	%r0,%r0,0(%r1,%r2)
5939
5940	slag	%r0,%r0,-524289
5941	slag	%r0,%r0,524288
5942	slag	%r0,%r0,0(%r0)
5943	slag	%r0,%r0,0(%r1,%r2)
5944
5945#CHECK: error: instruction requires: distinct-ops
5946#CHECK: slak	%r2,%r3,4(%r5)
5947
5948	slak	%r2,%r3,4(%r5)
5949
5950#CHECK: error: invalid operand
5951#CHECK: slb	%r0, -524289
5952#CHECK: error: invalid operand
5953#CHECK: slb	%r0, 524288
5954
5955	slb	%r0, -524289
5956	slb	%r0, 524288
5957
5958#CHECK: error: invalid operand
5959#CHECK: slbg	%r0, -524289
5960#CHECK: error: invalid operand
5961#CHECK: slbg	%r0, 524288
5962
5963	slbg	%r0, -524289
5964	slbg	%r0, 524288
5965
5966#CHECK: error: invalid register pair
5967#CHECK: slda	%r1,0
5968#CHECK: error: invalid operand
5969#CHECK: slda	%r0,-1
5970#CHECK: error: invalid operand
5971#CHECK: slda	%r0,4096
5972#CHECK: error: %r0 used in an address
5973#CHECK: slda	%r0,0(%r0)
5974#CHECK: error: invalid use of indexed addressing
5975#CHECK: slda	%r0,0(%r1,%r2)
5976
5977	slda	%r1,0
5978	slda	%r0,-1
5979	slda	%r0,4096
5980	slda	%r0,0(%r0)
5981	slda	%r0,0(%r1,%r2)
5982
5983#CHECK: error: invalid register pair
5984#CHECK: sldl	%r1,0
5985#CHECK: error: invalid operand
5986#CHECK: sldl	%r0,-1
5987#CHECK: error: invalid operand
5988#CHECK: sldl	%r0,4096
5989#CHECK: error: %r0 used in an address
5990#CHECK: sldl	%r0,0(%r0)
5991#CHECK: error: invalid use of indexed addressing
5992#CHECK: sldl	%r0,0(%r1,%r2)
5993
5994	sldl	%r1,0
5995	sldl	%r0,-1
5996	sldl	%r0,4096
5997	sldl	%r0,0(%r0)
5998	sldl	%r0,0(%r1,%r2)
5999
6000#CHECK: error: invalid operand
6001#CHECK: sldt	%f0, %f0, -1
6002#CHECK: error: invalid operand
6003#CHECK: sldt	%f0, %f0, 4096
6004
6005	sldt	%f0, %f0, -1
6006	sldt	%f0, %f0, 4096
6007
6008#CHECK: error: invalid operand
6009#CHECK: slfi	%r0, -1
6010#CHECK: error: invalid operand
6011#CHECK: slfi	%r0, (1 << 32)
6012
6013	slfi	%r0, -1
6014	slfi	%r0, (1 << 32)
6015
6016#CHECK: error: invalid operand
6017#CHECK: slg	%r0, -524289
6018#CHECK: error: invalid operand
6019#CHECK: slg	%r0, 524288
6020
6021	slg	%r0, -524289
6022	slg	%r0, 524288
6023
6024#CHECK: error: invalid operand
6025#CHECK: slgf	%r0, -524289
6026#CHECK: error: invalid operand
6027#CHECK: slgf	%r0, 524288
6028
6029	slgf	%r0, -524289
6030	slgf	%r0, 524288
6031
6032#CHECK: error: invalid operand
6033#CHECK: slgfi	%r0, -1
6034#CHECK: error: invalid operand
6035#CHECK: slgfi	%r0, (1 << 32)
6036
6037	slgfi	%r0, -1
6038	slgfi	%r0, (1 << 32)
6039
6040#CHECK: error: instruction requires: distinct-ops
6041#CHECK: slgrk	%r2,%r3,%r4
6042
6043	slgrk	%r2,%r3,%r4
6044
6045#CHECK: error: instruction requires: high-word
6046#CHECK: slhhhr	%r0, %r0, %r0
6047
6048	slhhhr	%r0, %r0, %r0
6049
6050#CHECK: error: instruction requires: high-word
6051#CHECK: slhhlr	%r0, %r0, %r0
6052
6053	slhhlr	%r0, %r0, %r0
6054
6055#CHECK: error: invalid operand
6056#CHECK: sll	%r0,-1
6057#CHECK: error: invalid operand
6058#CHECK: sll	%r0,4096
6059#CHECK: error: %r0 used in an address
6060#CHECK: sll	%r0,0(%r0)
6061#CHECK: error: invalid use of indexed addressing
6062#CHECK: sll	%r0,0(%r1,%r2)
6063
6064	sll	%r0,-1
6065	sll	%r0,4096
6066	sll	%r0,0(%r0)
6067	sll	%r0,0(%r1,%r2)
6068
6069#CHECK: error: invalid operand
6070#CHECK: sllg	%r0,%r0,-524289
6071#CHECK: error: invalid operand
6072#CHECK: sllg	%r0,%r0,524288
6073#CHECK: error: %r0 used in an address
6074#CHECK: sllg	%r0,%r0,0(%r0)
6075#CHECK: error: invalid use of indexed addressing
6076#CHECK: sllg	%r0,%r0,0(%r1,%r2)
6077
6078	sllg	%r0,%r0,-524289
6079	sllg	%r0,%r0,524288
6080	sllg	%r0,%r0,0(%r0)
6081	sllg	%r0,%r0,0(%r1,%r2)
6082
6083#CHECK: error: instruction requires: distinct-ops
6084#CHECK: sllk	%r2,%r3,4(%r5)
6085
6086	sllk	%r2,%r3,4(%r5)
6087
6088#CHECK: error: instruction requires: distinct-ops
6089#CHECK: slrk	%r2,%r3,%r4
6090
6091	slrk	%r2,%r3,%r4
6092
6093#CHECK: error: invalid operand
6094#CHECK: slxt	%f0, %f0, -1
6095#CHECK: error: invalid operand
6096#CHECK: slxt	%f0, %f0, 4096
6097#CHECK: error: invalid register pair
6098#CHECK: slxt	%f0, %f2, 0
6099#CHECK: error: invalid register pair
6100#CHECK: slxt	%f2, %f0, 0
6101
6102	slxt	%f0, %f0, -1
6103	slxt	%f0, %f0, 4096
6104	slxt	%f0, %f2, 0
6105	slxt	%f2, %f0, 0
6106
6107#CHECK: error: invalid operand
6108#CHECK: sly	%r0, -524289
6109#CHECK: error: invalid operand
6110#CHECK: sly	%r0, 524288
6111
6112	sly	%r0, -524289
6113	sly	%r0, 524288
6114
6115#CHECK: error: missing length in address
6116#CHECK: sp	0, 0(1)
6117#CHECK: error: missing length in address
6118#CHECK: sp	0(1), 0
6119#CHECK: error: missing length in address
6120#CHECK: sp	0(%r1), 0(1,%r1)
6121#CHECK: error: missing length in address
6122#CHECK: sp	0(1,%r1), 0(%r1)
6123#CHECK: error: invalid operand
6124#CHECK: sp	0(0,%r1), 0(1,%r1)
6125#CHECK: error: invalid operand
6126#CHECK: sp	0(1,%r1), 0(0,%r1)
6127#CHECK: error: invalid operand
6128#CHECK: sp	0(17,%r1), 0(1,%r1)
6129#CHECK: error: invalid operand
6130#CHECK: sp	0(1,%r1), 0(17,%r1)
6131#CHECK: error: invalid operand
6132#CHECK: sp	-1(1,%r1), 0(1,%r1)
6133#CHECK: error: invalid operand
6134#CHECK: sp	4096(1,%r1), 0(1,%r1)
6135#CHECK: error: invalid operand
6136#CHECK: sp	0(1,%r1), -1(1,%r1)
6137#CHECK: error: invalid operand
6138#CHECK: sp	0(1,%r1), 4096(1,%r1)
6139#CHECK: error: %r0 used in an address
6140#CHECK: sp	0(1,%r0), 0(1,%r1)
6141#CHECK: error: %r0 used in an address
6142#CHECK: sp	0(1,%r1), 0(1,%r0)
6143#CHECK: error: invalid use of indexed addressing
6144#CHECK: sp	0(%r1,%r2), 0(1,%r1)
6145#CHECK: error: invalid use of indexed addressing
6146#CHECK: sp	0(1,%r2), 0(%r1,%r2)
6147#CHECK: error: unknown token in expression
6148#CHECK: sp	0(-), 0(1)
6149
6150	sp	0, 0(1)
6151	sp	0(1), 0
6152	sp	0(%r1), 0(1,%r1)
6153	sp	0(1,%r1), 0(%r1)
6154	sp	0(0,%r1), 0(1,%r1)
6155	sp	0(1,%r1), 0(0,%r1)
6156	sp	0(17,%r1), 0(1,%r1)
6157	sp	0(1,%r1), 0(17,%r1)
6158	sp	-1(1,%r1), 0(1,%r1)
6159	sp	4096(1,%r1), 0(1,%r1)
6160	sp	0(1,%r1), -1(1,%r1)
6161	sp	0(1,%r1), 4096(1,%r1)
6162	sp	0(1,%r0), 0(1,%r1)
6163	sp	0(1,%r1), 0(1,%r0)
6164	sp	0(%r1,%r2), 0(1,%r1)
6165	sp	0(1,%r2), 0(%r1,%r2)
6166	sp	0(-), 0(1)
6167
6168#CHECK: error: invalid operand
6169#CHECK: spka	-1
6170#CHECK: error: invalid operand
6171#CHECK: spka	4096
6172#CHECK: error: invalid use of indexed addressing
6173#CHECK: spka	0(%r1,%r2)
6174
6175	spka	-1
6176	spka	4096
6177	spka	0(%r1,%r2)
6178
6179#CHECK: error: invalid operand
6180#CHECK: spt	-1
6181#CHECK: error: invalid operand
6182#CHECK: spt	4096
6183#CHECK: error: invalid use of indexed addressing
6184#CHECK: spt	0(%r1,%r2)
6185
6186	spt	-1
6187	spt	4096
6188	spt	0(%r1,%r2)
6189
6190#CHECK: error: invalid operand
6191#CHECK: spx	-1
6192#CHECK: error: invalid operand
6193#CHECK: spx	4096
6194#CHECK: error: invalid use of indexed addressing
6195#CHECK: spx	0(%r1,%r2)
6196
6197	spx	-1
6198	spx	4096
6199	spx	0(%r1,%r2)
6200
6201#CHECK: error: invalid operand
6202#CHECK: sqd	%f0, -1
6203#CHECK: error: invalid operand
6204#CHECK: sqd	%f0, 4096
6205
6206	sqd	%f0, -1
6207	sqd	%f0, 4096
6208
6209#CHECK: error: invalid operand
6210#CHECK: sqdb	%f0, -1
6211#CHECK: error: invalid operand
6212#CHECK: sqdb	%f0, 4096
6213
6214	sqdb	%f0, -1
6215	sqdb	%f0, 4096
6216
6217#CHECK: error: invalid operand
6218#CHECK: sqe	%f0, -1
6219#CHECK: error: invalid operand
6220#CHECK: sqe	%f0, 4096
6221
6222	sqe	%f0, -1
6223	sqe	%f0, 4096
6224
6225#CHECK: error: invalid operand
6226#CHECK: sqeb	%f0, -1
6227#CHECK: error: invalid operand
6228#CHECK: sqeb	%f0, 4096
6229
6230	sqeb	%f0, -1
6231	sqeb	%f0, 4096
6232
6233#CHECK: error: invalid register pair
6234#CHECK: sqxbr	%f0, %f2
6235#CHECK: error: invalid register pair
6236#CHECK: sqxbr	%f2, %f0
6237
6238	sqxbr	%f0, %f2
6239	sqxbr	%f2, %f0
6240
6241#CHECK: error: invalid register pair
6242#CHECK: sqxr	%f0, %f2
6243#CHECK: error: invalid register pair
6244#CHECK: sqxr	%f2, %f0
6245
6246	sqxr	%f0, %f2
6247	sqxr	%f2, %f0
6248
6249#CHECK: error: invalid operand
6250#CHECK: sra	%r0,-1
6251#CHECK: error: invalid operand
6252#CHECK: sra	%r0,4096
6253#CHECK: error: %r0 used in an address
6254#CHECK: sra	%r0,0(%r0)
6255#CHECK: error: invalid use of indexed addressing
6256#CHECK: sra	%r0,0(%r1,%r2)
6257
6258	sra	%r0,-1
6259	sra	%r0,4096
6260	sra	%r0,0(%r0)
6261	sra	%r0,0(%r1,%r2)
6262
6263#CHECK: error: invalid operand
6264#CHECK: srag	%r0,%r0,-524289
6265#CHECK: error: invalid operand
6266#CHECK: srag	%r0,%r0,524288
6267#CHECK: error: %r0 used in an address
6268#CHECK: srag	%r0,%r0,0(%r0)
6269#CHECK: error: invalid use of indexed addressing
6270#CHECK: srag	%r0,%r0,0(%r1,%r2)
6271
6272	srag	%r0,%r0,-524289
6273	srag	%r0,%r0,524288
6274	srag	%r0,%r0,0(%r0)
6275	srag	%r0,%r0,0(%r1,%r2)
6276
6277#CHECK: error: instruction requires: distinct-ops
6278#CHECK: srak	%r2,%r3,4(%r5)
6279
6280	srak	%r2,%r3,4(%r5)
6281
6282#CHECK: error: invalid register pair
6283#CHECK: srda	%r1,0
6284#CHECK: error: invalid operand
6285#CHECK: srda	%r0,-1
6286#CHECK: error: invalid operand
6287#CHECK: srda	%r0,4096
6288#CHECK: error: %r0 used in an address
6289#CHECK: srda	%r0,0(%r0)
6290#CHECK: error: invalid use of indexed addressing
6291#CHECK: srda	%r0,0(%r1,%r2)
6292
6293	srda	%r1,0
6294	srda	%r0,-1
6295	srda	%r0,4096
6296	srda	%r0,0(%r0)
6297	srda	%r0,0(%r1,%r2)
6298
6299#CHECK: error: invalid register pair
6300#CHECK: srdl	%r1,0
6301#CHECK: error: invalid operand
6302#CHECK: srdl	%r0,-1
6303#CHECK: error: invalid operand
6304#CHECK: srdl	%r0,4096
6305#CHECK: error: %r0 used in an address
6306#CHECK: srdl	%r0,0(%r0)
6307#CHECK: error: invalid use of indexed addressing
6308#CHECK: srdl	%r0,0(%r1,%r2)
6309
6310	srdl	%r1,0
6311	srdl	%r0,-1
6312	srdl	%r0,4096
6313	srdl	%r0,0(%r0)
6314	srdl	%r0,0(%r1,%r2)
6315
6316#CHECK: error: invalid operand
6317#CHECK: srdt	%f0, %f0, -1
6318#CHECK: error: invalid operand
6319#CHECK: srdt	%f0, %f0, 4096
6320
6321	srdt	%f0, %f0, -1
6322	srdt	%f0, %f0, 4096
6323
6324#CHECK: error: instruction requires: distinct-ops
6325#CHECK: srk	%r2,%r3,%r4
6326
6327	srk	%r2,%r3,%r4
6328
6329#CHECK: error: invalid operand
6330#CHECK: srl	%r0,-1
6331#CHECK: error: invalid operand
6332#CHECK: srl	%r0,4096
6333#CHECK: error: %r0 used in an address
6334#CHECK: srl	%r0,0(%r0)
6335#CHECK: error: invalid use of indexed addressing
6336#CHECK: srl	%r0,0(%r1,%r2)
6337
6338	srl	%r0,-1
6339	srl	%r0,4096
6340	srl	%r0,0(%r0)
6341	srl	%r0,0(%r1,%r2)
6342
6343#CHECK: error: invalid operand
6344#CHECK: srlg	%r0,%r0,-524289
6345#CHECK: error: invalid operand
6346#CHECK: srlg	%r0,%r0,524288
6347#CHECK: error: %r0 used in an address
6348#CHECK: srlg	%r0,%r0,0(%r0)
6349#CHECK: error: invalid use of indexed addressing
6350#CHECK: srlg	%r0,%r0,0(%r1,%r2)
6351
6352	srlg	%r0,%r0,-524289
6353	srlg	%r0,%r0,524288
6354	srlg	%r0,%r0,0(%r0)
6355	srlg	%r0,%r0,0(%r1,%r2)
6356
6357#CHECK: error: instruction requires: distinct-ops
6358#CHECK: srlk	%r2,%r3,4(%r5)
6359
6360	srlk	%r2,%r3,4(%r5)
6361
6362#CHECK: error: invalid operand
6363#CHECK: srnm	-1
6364#CHECK: error: invalid operand
6365#CHECK: srnm	4096
6366#CHECK: error: invalid use of indexed addressing
6367#CHECK: srnm	0(%r1,%r2)
6368
6369	srnm	-1
6370	srnm	4096
6371	srnm	0(%r1,%r2)
6372
6373#CHECK: error: instruction requires: fp-extension
6374#CHECK: srnmb	0(%r1)
6375
6376	srnmb	0(%r1)
6377
6378#CHECK: error: invalid operand
6379#CHECK: srnmt	-1
6380#CHECK: error: invalid operand
6381#CHECK: srnmt	4096
6382#CHECK: error: invalid use of indexed addressing
6383#CHECK: srnmt	0(%r1,%r2)
6384
6385	srnmt	-1
6386	srnmt	4096
6387	srnmt	0(%r1,%r2)
6388
6389#CHECK: error: missing length in address
6390#CHECK: srp	0, 0, 0
6391#CHECK: error: missing length in address
6392#CHECK: srp	0(%r1), 0(%r1), 0
6393#CHECK: error: invalid use of length addressing
6394#CHECK: srp	0(1,%r1), 0(2,%r1), 0
6395#CHECK: error: invalid operand
6396#CHECK: srp	0(0,%r1), 0(%r1), 0
6397#CHECK: error: invalid operand
6398#CHECK: srp	0(17,%r1), 0(%r1), 0
6399#CHECK: error: invalid operand
6400#CHECK: srp	-1(1,%r1), 0(%r1), 0
6401#CHECK: error: invalid operand
6402#CHECK: srp	4096(1,%r1), 0(%r1), 0
6403#CHECK: error: invalid operand
6404#CHECK: srp	0(1,%r1), -1(%r1), 0
6405#CHECK: error: invalid operand
6406#CHECK: srp	0(1,%r1), 4096(%r1), 0
6407#CHECK: error: %r0 used in an address
6408#CHECK: srp	0(1,%r0), 0(%r1), 0
6409#CHECK: error: %r0 used in an address
6410#CHECK: srp	0(1,%r1), 0(%r0), 0
6411#CHECK: error: invalid use of indexed addressing
6412#CHECK: srp	0(%r1,%r2), 0(%r1), 0
6413#CHECK: error: invalid use of indexed addressing
6414#CHECK: srp	0(1,%r2), 0(%r1,%r2), 0
6415#CHECK: error: invalid operand
6416#CHECK: srp	0(1), 0, -1
6417#CHECK: error: invalid operand
6418#CHECK: srp	0(1), 0, 16
6419#CHECK: error: unknown token in expression
6420#CHECK: srp	0(-), 0, 0
6421
6422	srp	0, 0, 0
6423	srp	0(%r1), 0(%r1), 0
6424	srp	0(1,%r1), 0(2,%r1), 0
6425	srp	0(0,%r1), 0(%r1), 0
6426	srp	0(17,%r1), 0(%r1), 0
6427	srp	-1(1,%r1), 0(%r1), 0
6428	srp	4096(1,%r1), 0(%r1), 0
6429	srp	0(1,%r1), -1(%r1), 0
6430	srp	0(1,%r1), 4096(%r1), 0
6431	srp	0(1,%r0), 0(%r1), 0
6432	srp	0(1,%r1), 0(%r0), 0
6433	srp	0(%r1,%r2), 0(%r1), 0
6434	srp	0(1,%r2), 0(%r1,%r2), 0
6435	srp	0(1), 0, -1
6436	srp	0(1), 0, 16
6437	srp	0(-), 0, 0
6438
6439#CHECK: error: invalid operand
6440#CHECK: srxt	%f0, %f0, -1
6441#CHECK: error: invalid operand
6442#CHECK: srxt	%f0, %f0, 4096
6443#CHECK: error: invalid register pair
6444#CHECK: srxt	%f0, %f2, 0
6445#CHECK: error: invalid register pair
6446#CHECK: srxt	%f2, %f0, 0
6447
6448	srxt	%f0, %f0, -1
6449	srxt	%f0, %f0, 4096
6450	srxt	%f0, %f2, 0
6451	srxt	%f2, %f0, 0
6452
6453#CHECK: error: invalid operand
6454#CHECK: ssch	-1
6455#CHECK: error: invalid operand
6456#CHECK: ssch	4096
6457#CHECK: error: invalid use of indexed addressing
6458#CHECK: ssch	0(%r1,%r2)
6459
6460	ssch	-1
6461	ssch	4096
6462	ssch	0(%r1,%r2)
6463
6464#CHECK: error: invalid operand
6465#CHECK: sske	%r0, %r0, -1
6466#CHECK: error: invalid operand
6467#CHECK: sske	%r0, %r0, 16
6468
6469	sske	%r0, %r0, -1
6470	sske	%r0, %r0, 16
6471
6472#CHECK: error: invalid operand
6473#CHECK: ssm	-1
6474#CHECK: error: invalid operand
6475#CHECK: ssm	4096
6476#CHECK: error: invalid use of indexed addressing
6477#CHECK: ssm	0(%r1,%r2)
6478
6479	ssm	-1
6480	ssm	4096
6481	ssm	0(%r1,%r2)
6482
6483#CHECK: error: invalid operand
6484#CHECK: st	%r0, -1
6485#CHECK: error: invalid operand
6486#CHECK: st	%r0, 4096
6487
6488	st	%r0, -1
6489	st	%r0, 4096
6490
6491#CHECK: error: invalid operand
6492#CHECK: stam	%a0, %a0, 4096
6493#CHECK: error: invalid use of indexed addressing
6494#CHECK: stam	%a0, %a0, 0(%r1,%r2)
6495
6496	stam	%a0, %a0, 4096
6497	stam	%a0, %a0, 0(%r1,%r2)
6498
6499#CHECK: error: invalid operand
6500#CHECK: stamy	%a0, %a0, -524289
6501#CHECK: error: invalid operand
6502#CHECK: stamy	%a0, %a0, 524288
6503#CHECK: error: invalid use of indexed addressing
6504#CHECK: stamy	%a0, %a0, 0(%r1,%r2)
6505
6506	stamy	%a0, %a0, -524289
6507	stamy	%a0, %a0, 524288
6508	stamy	%a0, %a0, 0(%r1,%r2)
6509
6510#CHECK: error: invalid operand
6511#CHECK: stap	-1
6512#CHECK: error: invalid operand
6513#CHECK: stap	4096
6514#CHECK: error: invalid use of indexed addressing
6515#CHECK: stap	0(%r1,%r2)
6516
6517	stap	-1
6518	stap	4096
6519	stap	0(%r1,%r2)
6520
6521#CHECK: error: invalid operand
6522#CHECK: stc	%r0, -1
6523#CHECK: error: invalid operand
6524#CHECK: stc	%r0, 4096
6525
6526	stc	%r0, -1
6527	stc	%r0, 4096
6528
6529#CHECK: error: instruction requires: high-word
6530#CHECK: stch	%r0, 0
6531
6532	stch	%r0, 0
6533
6534#CHECK: error: invalid operand
6535#CHECK: stck	-1
6536#CHECK: error: invalid operand
6537#CHECK: stck	4096
6538#CHECK: error: invalid use of indexed addressing
6539#CHECK: stck	0(%r1,%r2)
6540
6541	stck	-1
6542	stck	4096
6543	stck	0(%r1,%r2)
6544
6545#CHECK: error: invalid operand
6546#CHECK: stckc	-1
6547#CHECK: error: invalid operand
6548#CHECK: stckc	4096
6549#CHECK: error: invalid use of indexed addressing
6550#CHECK: stckc	0(%r1,%r2)
6551
6552	stckc	-1
6553	stckc	4096
6554	stckc	0(%r1,%r2)
6555
6556#CHECK: error: invalid operand
6557#CHECK: stcke	-1
6558#CHECK: error: invalid operand
6559#CHECK: stcke	4096
6560#CHECK: error: invalid use of indexed addressing
6561#CHECK: stcke	0(%r1,%r2)
6562
6563	stcke	-1
6564	stcke	4096
6565	stcke	0(%r1,%r2)
6566
6567#CHECK: error: invalid operand
6568#CHECK: stckf	-1
6569#CHECK: error: invalid operand
6570#CHECK: stckf	4096
6571#CHECK: error: invalid use of indexed addressing
6572#CHECK: stckf	0(%r1,%r2)
6573
6574	stckf	-1
6575	stckf	4096
6576	stckf	0(%r1,%r2)
6577
6578#CHECK: error: invalid operand
6579#CHECK: stcm	%r0, 0, -1
6580#CHECK: error: invalid operand
6581#CHECK: stcm	%r0, 0, 4096
6582#CHECK: error: invalid operand
6583#CHECK: stcm	%r0, -1, 0
6584#CHECK: error: invalid operand
6585#CHECK: stcm	%r0, 16, 0
6586
6587	stcm	%r0, 0, -1
6588	stcm	%r0, 0, 4096
6589	stcm	%r0, -1, 0
6590	stcm	%r0, 16, 0
6591
6592#CHECK: error: invalid operand
6593#CHECK: stcmy	%r0, 0, -524289
6594#CHECK: error: invalid operand
6595#CHECK: stcmy	%r0, 0, 524288
6596#CHECK: error: invalid operand
6597#CHECK: stcmy	%r0, -1, 0
6598#CHECK: error: invalid operand
6599#CHECK: stcmy	%r0, 16, 0
6600
6601	stcmy	%r0, 0, -524289
6602	stcmy	%r0, 0, 524288
6603	stcmy	%r0, -1, 0
6604	stcmy	%r0, 16, 0
6605
6606#CHECK: error: invalid operand
6607#CHECK: stcmy	%r0, 0, -524289
6608#CHECK: error: invalid operand
6609#CHECK: stcmy	%r0, 0, 524288
6610#CHECK: error: invalid operand
6611#CHECK: stcmy	%r0, -1, 0
6612#CHECK: error: invalid operand
6613#CHECK: stcmy	%r0, 16, 0
6614
6615	stcmy	%r0, 0, -524289
6616	stcmy	%r0, 0, 524288
6617	stcmy	%r0, -1, 0
6618	stcmy	%r0, 16, 0
6619
6620#CHECK: error: invalid operand
6621#CHECK: stcps	-1
6622#CHECK: error: invalid operand
6623#CHECK: stcps	4096
6624#CHECK: error: invalid use of indexed addressing
6625#CHECK: stcps	0(%r1,%r2)
6626
6627	stcps	-1
6628	stcps	4096
6629	stcps	0(%r1,%r2)
6630
6631#CHECK: error: invalid operand
6632#CHECK: stcrw	-1
6633#CHECK: error: invalid operand
6634#CHECK: stcrw	4096
6635#CHECK: error: invalid use of indexed addressing
6636#CHECK: stcrw	0(%r1,%r2)
6637
6638	stcrw	-1
6639	stcrw	4096
6640	stcrw	0(%r1,%r2)
6641
6642#CHECK: error: invalid operand
6643#CHECK: stctg	%c0, %c0, -524289
6644#CHECK: error: invalid operand
6645#CHECK: stctg	%c0, %c0, 524288
6646#CHECK: error: invalid use of indexed addressing
6647#CHECK: stctg	%c0, %c0, 0(%r1,%r2)
6648
6649	stctg	%c0, %c0, -524289
6650	stctg	%c0, %c0, 524288
6651	stctg	%c0, %c0, 0(%r1,%r2)
6652
6653#CHECK: error: invalid operand
6654#CHECK: stctl	%c0, %c0, -1
6655#CHECK: error: invalid operand
6656#CHECK: stctl	%c0, %c0, 4096
6657#CHECK: error: invalid use of indexed addressing
6658#CHECK: stctl	%c0, %c0, 0(%r1,%r2)
6659
6660	stctl	%c0, %c0, -1
6661	stctl	%c0, %c0, 4096
6662	stctl	%c0, %c0, 0(%r1,%r2)
6663
6664#CHECK: error: invalid operand
6665#CHECK: stcy	%r0, -524289
6666#CHECK: error: invalid operand
6667#CHECK: stcy	%r0, 524288
6668
6669	stcy	%r0, -524289
6670	stcy	%r0, 524288
6671
6672#CHECK: error: invalid operand
6673#CHECK: std	%f0, -1
6674#CHECK: error: invalid operand
6675#CHECK: std	%f0, 4096
6676
6677	std	%f0, -1
6678	std	%f0, 4096
6679
6680#CHECK: error: invalid operand
6681#CHECK: stdy	%f0, -524289
6682#CHECK: error: invalid operand
6683#CHECK: stdy	%f0, 524288
6684
6685	stdy	%f0, -524289
6686	stdy	%f0, 524288
6687
6688#CHECK: error: invalid operand
6689#CHECK: ste	%f0, -1
6690#CHECK: error: invalid operand
6691#CHECK: ste	%f0, 4096
6692
6693	ste	%f0, -1
6694	ste	%f0, 4096
6695
6696#CHECK: error: invalid operand
6697#CHECK: stey	%f0, -524289
6698#CHECK: error: invalid operand
6699#CHECK: stey	%f0, 524288
6700
6701	stey	%f0, -524289
6702	stey	%f0, 524288
6703
6704#CHECK: error: instruction requires: high-word
6705#CHECK: stfh	%r0, 0
6706
6707	stfh	%r0, 0
6708
6709#CHECK: error: invalid operand
6710#CHECK: stfl	-1
6711#CHECK: error: invalid operand
6712#CHECK: stfl	4096
6713#CHECK: error: invalid use of indexed addressing
6714#CHECK: stfl	0(%r1,%r2)
6715
6716	stfl	-1
6717	stfl	4096
6718	stfl	0(%r1,%r2)
6719
6720#CHECK: error: invalid operand
6721#CHECK: stfle	-1
6722#CHECK: error: invalid operand
6723#CHECK: stfle	4096
6724#CHECK: error: invalid use of indexed addressing
6725#CHECK: stfle	0(%r1,%r2)
6726
6727	stfle	-1
6728	stfle	4096
6729	stfle	0(%r1,%r2)
6730
6731#CHECK: error: invalid operand
6732#CHECK: stfpc	-1
6733#CHECK: error: invalid operand
6734#CHECK: stfpc	4096
6735#CHECK: error: invalid use of indexed addressing
6736#CHECK: stfpc	0(%r1,%r2)
6737
6738	stfpc	-1
6739	stfpc	4096
6740	stfpc	0(%r1,%r2)
6741
6742#CHECK: error: invalid operand
6743#CHECK: stg	%r0, -524289
6744#CHECK: error: invalid operand
6745#CHECK: stg	%r0, 524288
6746
6747	stg	%r0, -524289
6748	stg	%r0, 524288
6749
6750#CHECK: error: offset out of range
6751#CHECK: stgrl	%r0, -0x1000000002
6752#CHECK: error: offset out of range
6753#CHECK: stgrl	%r0, -1
6754#CHECK: error: offset out of range
6755#CHECK: stgrl	%r0, 1
6756#CHECK: error: offset out of range
6757#CHECK: stgrl	%r0, 0x100000000
6758
6759	stgrl	%r0, -0x1000000002
6760	stgrl	%r0, -1
6761	stgrl	%r0, 1
6762	stgrl	%r0, 0x100000000
6763
6764#CHECK: error: invalid operand
6765#CHECK: sth	%r0, -1
6766#CHECK: error: invalid operand
6767#CHECK: sth	%r0, 4096
6768
6769	sth	%r0, -1
6770	sth	%r0, 4096
6771
6772#CHECK: error: instruction requires: high-word
6773#CHECK: sthh	%r0, 0
6774
6775	sthh	%r0, 0
6776
6777#CHECK: error: offset out of range
6778#CHECK: sthrl	%r0, -0x1000000002
6779#CHECK: error: offset out of range
6780#CHECK: sthrl	%r0, -1
6781#CHECK: error: offset out of range
6782#CHECK: sthrl	%r0, 1
6783#CHECK: error: offset out of range
6784#CHECK: sthrl	%r0, 0x100000000
6785
6786	sthrl	%r0, -0x1000000002
6787	sthrl	%r0, -1
6788	sthrl	%r0, 1
6789	sthrl	%r0, 0x100000000
6790
6791#CHECK: error: invalid operand
6792#CHECK: sthy	%r0, -524289
6793#CHECK: error: invalid operand
6794#CHECK: sthy	%r0, 524288
6795
6796	sthy	%r0, -524289
6797	sthy	%r0, 524288
6798
6799#CHECK: error: invalid operand
6800#CHECK: stidp	-1
6801#CHECK: error: invalid operand
6802#CHECK: stidp	4096
6803#CHECK: error: invalid use of indexed addressing
6804#CHECK: stidp	0(%r1,%r2)
6805
6806	stidp	-1
6807	stidp	4096
6808	stidp	0(%r1,%r2)
6809
6810#CHECK: error: invalid operand
6811#CHECK: stm	%r0, %r0, 4096
6812#CHECK: error: invalid use of indexed addressing
6813#CHECK: stm	%r0, %r0, 0(%r1,%r2)
6814
6815	stm	%r0, %r0, 4096
6816	stm	%r0, %r0, 0(%r1,%r2)
6817
6818#CHECK: error: invalid operand
6819#CHECK: stmg	%r0, %r0, -524289
6820#CHECK: error: invalid operand
6821#CHECK: stmg	%r0, %r0, 524288
6822#CHECK: error: invalid use of indexed addressing
6823#CHECK: stmg	%r0, %r0, 0(%r1,%r2)
6824
6825	stmg	%r0, %r0, -524289
6826	stmg	%r0, %r0, 524288
6827	stmg	%r0, %r0, 0(%r1,%r2)
6828
6829#CHECK: error: invalid operand
6830#CHECK: stmh	%r0, %r0, -524289
6831#CHECK: error: invalid operand
6832#CHECK: stmh	%r0, %r0, 524288
6833#CHECK: error: invalid use of indexed addressing
6834#CHECK: stmh	%r0, %r0, 0(%r1,%r2)
6835
6836	stmh	%r0, %r0, -524289
6837	stmh	%r0, %r0, 524288
6838	stmh	%r0, %r0, 0(%r1,%r2)
6839
6840#CHECK: error: invalid operand
6841#CHECK: stmy	%r0, %r0, -524289
6842#CHECK: error: invalid operand
6843#CHECK: stmy	%r0, %r0, 524288
6844#CHECK: error: invalid use of indexed addressing
6845#CHECK: stmy	%r0, %r0, 0(%r1,%r2)
6846
6847	stmy	%r0, %r0, -524289
6848	stmy	%r0, %r0, 524288
6849	stmy	%r0, %r0, 0(%r1,%r2)
6850
6851#CHECK: error: invalid operand
6852#CHECK: stnsm	-1, 0
6853#CHECK: error: invalid operand
6854#CHECK: stnsm	4096, 0
6855#CHECK: error: invalid use of indexed addressing
6856#CHECK: stnsm	0(%r1,%r2), 0
6857#CHECK: error: invalid operand
6858#CHECK: stnsm	0, -1
6859#CHECK: error: invalid operand
6860#CHECK: stnsm	0, 256
6861
6862	stnsm	-1, 0
6863	stnsm	4096, 0
6864	stnsm	0(%r1,%r2), 0
6865	stnsm	0, -1
6866	stnsm	0, 256
6867
6868#CHECK: error: invalid operand
6869#CHECK: stosm	-1, 0
6870#CHECK: error: invalid operand
6871#CHECK: stosm	4096, 0
6872#CHECK: error: invalid use of indexed addressing
6873#CHECK: stosm	0(%r1,%r2), 0
6874#CHECK: error: invalid operand
6875#CHECK: stosm	0, -1
6876#CHECK: error: invalid operand
6877#CHECK: stosm	0, 256
6878
6879	stosm	-1, 0
6880	stosm	4096, 0
6881	stosm	0(%r1,%r2), 0
6882	stosm	0, -1
6883	stosm	0, 256
6884
6885#CHECK: error: invalid operand
6886#CHECK: stpt	-1
6887#CHECK: error: invalid operand
6888#CHECK: stpt	4096
6889#CHECK: error: invalid use of indexed addressing
6890#CHECK: stpt	0(%r1,%r2)
6891
6892	stpt	-1
6893	stpt	4096
6894	stpt	0(%r1,%r2)
6895
6896#CHECK: error: invalid register pair
6897#CHECK: stpq	%r1, 0
6898#CHECK: error: invalid operand
6899#CHECK: stpq	%r0, -524289
6900#CHECK: error: invalid operand
6901#CHECK: stpq	%r0, 524288
6902
6903	stpq	%r1, 0
6904	stpq	%r0, -524289
6905	stpq	%r0, 524288
6906
6907#CHECK: error: invalid operand
6908#CHECK: stpx	-1
6909#CHECK: error: invalid operand
6910#CHECK: stpx	4096
6911#CHECK: error: invalid use of indexed addressing
6912#CHECK: stpx	0(%r1,%r2)
6913
6914	stpx	-1
6915	stpx	4096
6916	stpx	0(%r1,%r2)
6917
6918#CHECK: error: invalid use of indexed addressing
6919#CHECK: strag   160(%r1,%r15),160(%r15)
6920#CHECK: error: invalid operand
6921#CHECK: strag   -1(%r1),160(%r15)
6922#CHECK: error: invalid operand
6923#CHECK: strag   4096(%r1),160(%r15)
6924#CHECK: error: invalid operand
6925#CHECK: strag   0(%r1),-1(%r15)
6926#CHECK: error: invalid operand
6927#CHECK: strag   0(%r1),4096(%r15)
6928
6929        strag   160(%r1,%r15),160(%r15)
6930        strag   -1(%r1),160(%r15)
6931        strag   4096(%r1),160(%r15)
6932        strag   0(%r1),-1(%r15)
6933        strag   0(%r1),4096(%r15)
6934
6935#CHECK: error: offset out of range
6936#CHECK: strl	%r0, -0x1000000002
6937#CHECK: error: offset out of range
6938#CHECK: strl	%r0, -1
6939#CHECK: error: offset out of range
6940#CHECK: strl	%r0, 1
6941#CHECK: error: offset out of range
6942#CHECK: strl	%r0, 0x100000000
6943
6944	strl	%r0, -0x1000000002
6945	strl	%r0, -1
6946	strl	%r0, 1
6947	strl	%r0, 0x100000000
6948
6949#CHECK: error: invalid operand
6950#CHECK: strv	%r0, -524289
6951#CHECK: error: invalid operand
6952#CHECK: strv	%r0, 524288
6953
6954	strv	%r0, -524289
6955	strv	%r0, 524288
6956
6957#CHECK: error: invalid operand
6958#CHECK: strvg	%r0, -524289
6959#CHECK: error: invalid operand
6960#CHECK: strvg	%r0, 524288
6961
6962	strvg	%r0, -524289
6963	strvg	%r0, 524288
6964
6965#CHECK: error: invalid operand
6966#CHECK: stsch	-1
6967#CHECK: error: invalid operand
6968#CHECK: stsch	4096
6969#CHECK: error: invalid use of indexed addressing
6970#CHECK: stsch	0(%r1,%r2)
6971
6972	stsch	-1
6973	stsch	4096
6974	stsch	0(%r1,%r2)
6975
6976#CHECK: error: invalid operand
6977#CHECK: stsi	-1
6978#CHECK: error: invalid operand
6979#CHECK: stsi	4096
6980#CHECK: error: invalid use of indexed addressing
6981#CHECK: stsi	0(%r1,%r2)
6982
6983	stsi	-1
6984	stsi	4096
6985	stsi	0(%r1,%r2)
6986
6987#CHECK: error: invalid operand
6988#CHECK: sty	%r0, -524289
6989#CHECK: error: invalid operand
6990#CHECK: sty	%r0, 524288
6991
6992	sty	%r0, -524289
6993	sty	%r0, 524288
6994
6995#CHECK: error: invalid operand
6996#CHECK: su	%f0, -1
6997#CHECK: error: invalid operand
6998#CHECK: su	%f0, 4096
6999
7000	su	%f0, -1
7001	su	%f0, 4096
7002
7003#CHECK: error: invalid operand
7004#CHECK: sw	%f0, -1
7005#CHECK: error: invalid operand
7006#CHECK: sw	%f0, 4096
7007
7008	sw	%f0, -1
7009	sw	%f0, 4096
7010
7011#CHECK: error: invalid register pair
7012#CHECK: sxbr	%f0, %f2
7013#CHECK: error: invalid register pair
7014#CHECK: sxbr	%f2, %f0
7015
7016	sxbr	%f0, %f2
7017	sxbr	%f2, %f0
7018
7019#CHECK: error: invalid register pair
7020#CHECK: sxr	%f0, %f2
7021#CHECK: error: invalid register pair
7022#CHECK: sxr	%f2, %f0
7023
7024	sxr	%f0, %f2
7025	sxr	%f2, %f0
7026
7027#CHECK: error: invalid register pair
7028#CHECK: sxtr	%f0, %f0, %f2
7029#CHECK: error: invalid register pair
7030#CHECK: sxtr	%f0, %f2, %f0
7031#CHECK: error: invalid register pair
7032#CHECK: sxtr	%f2, %f0, %f0
7033
7034	sxtr	%f0, %f0, %f2
7035	sxtr	%f0, %f2, %f0
7036	sxtr	%f2, %f0, %f0
7037
7038#CHECK: error: instruction requires: fp-extension
7039#CHECK: sxtra	%f0, %f0, %f0, 0
7040
7041	sxtra	%f0, %f0, %f0, 0
7042
7043#CHECK: error: invalid operand
7044#CHECK: sy	%r0, -524289
7045#CHECK: error: invalid operand
7046#CHECK: sy	%r0, 524288
7047
7048	sy	%r0, -524289
7049	sy	%r0, 524288
7050
7051#CHECK: error: invalid operand
7052#CHECK: tbdr	%f0, -1, %f0
7053#CHECK: error: invalid operand
7054#CHECK: tbdr	%f0, 16, %f0
7055
7056	tbdr	%f0, -1, %f0
7057	tbdr	%f0, 16, %f0
7058
7059#CHECK: error: invalid operand
7060#CHECK: tbedr	%f0, -1, %f0
7061#CHECK: error: invalid operand
7062#CHECK: tbedr	%f0, 16, %f0
7063
7064	tbedr	%f0, -1, %f0
7065	tbedr	%f0, 16, %f0
7066
7067#CHECK: error: invalid operand
7068#CHECK: tcdb	%f0, -1
7069#CHECK: error: invalid operand
7070#CHECK: tcdb	%f0, 4096
7071
7072	tcdb	%f0, -1
7073	tcdb	%f0, 4096
7074
7075#CHECK: error: invalid operand
7076#CHECK: tceb	%f0, -1
7077#CHECK: error: invalid operand
7078#CHECK: tceb	%f0, 4096
7079
7080	tceb	%f0, -1
7081	tceb	%f0, 4096
7082
7083#CHECK: error: invalid operand
7084#CHECK: tcxb	%f0, -1
7085#CHECK: error: invalid operand
7086#CHECK: tcxb	%f0, 4096
7087
7088	tcxb	%f0, -1
7089	tcxb	%f0, 4096
7090
7091#CHECK: error: invalid operand
7092#CHECK: tdcdt	%f0, -1
7093#CHECK: error: invalid operand
7094#CHECK: tdcdt	%f0, 4096
7095
7096	tdcdt	%f0, -1
7097	tdcdt	%f0, 4096
7098
7099#CHECK: error: invalid operand
7100#CHECK: tdcet	%f0, -1
7101#CHECK: error: invalid operand
7102#CHECK: tdcet	%f0, 4096
7103
7104	tdcet	%f0, -1
7105	tdcet	%f0, 4096
7106
7107#CHECK: error: invalid operand
7108#CHECK: tdcxt	%f0, -1
7109#CHECK: error: invalid operand
7110#CHECK: tdcxt	%f0, 4096
7111#CHECK: error: invalid register pair
7112#CHECK: tdcxt	%f2, 0
7113
7114	tdcxt	%f0, -1
7115	tdcxt	%f0, 4096
7116	tdcxt	%f2, 0
7117
7118#CHECK: error: invalid operand
7119#CHECK: tdgdt	%f0, -1
7120#CHECK: error: invalid operand
7121#CHECK: tdgdt	%f0, 4096
7122
7123	tdgdt	%f0, -1
7124	tdgdt	%f0, 4096
7125
7126#CHECK: error: invalid operand
7127#CHECK: tdget	%f0, -1
7128#CHECK: error: invalid operand
7129#CHECK: tdget	%f0, 4096
7130
7131	tdget	%f0, -1
7132	tdget	%f0, 4096
7133
7134#CHECK: error: invalid operand
7135#CHECK: tdgxt	%f0, -1
7136#CHECK: error: invalid operand
7137#CHECK: tdgxt	%f0, 4096
7138#CHECK: error: invalid register pair
7139#CHECK: tdgxt	%f2, 0
7140
7141	tdgxt	%f0, -1
7142	tdgxt	%f0, 4096
7143	tdgxt	%f2, 0
7144
7145#CHECK: error: invalid operand
7146#CHECK: tm	-1, 0
7147#CHECK: error: invalid operand
7148#CHECK: tm	4096, 0
7149#CHECK: error: invalid use of indexed addressing
7150#CHECK: tm	0(%r1,%r2), 0
7151#CHECK: error: invalid operand
7152#CHECK: tm	0, -1
7153#CHECK: error: invalid operand
7154#CHECK: tm	0, 256
7155
7156	tm	-1, 0
7157	tm	4096, 0
7158	tm	0(%r1,%r2), 0
7159	tm	0, -1
7160	tm	0, 256
7161
7162#CHECK: error: invalid operand
7163#CHECK: tmh	%r0, -1
7164#CHECK: error: invalid operand
7165#CHECK: tmh	%r0, 0x10000
7166
7167	tmh	%r0, -1
7168	tmh	%r0, 0x10000
7169
7170#CHECK: error: invalid operand
7171#CHECK: tmhh	%r0, -1
7172#CHECK: error: invalid operand
7173#CHECK: tmhh	%r0, 0x10000
7174
7175	tmhh	%r0, -1
7176	tmhh	%r0, 0x10000
7177
7178#CHECK: error: invalid operand
7179#CHECK: tmhl	%r0, -1
7180#CHECK: error: invalid operand
7181#CHECK: tmhl	%r0, 0x10000
7182
7183	tmhl	%r0, -1
7184	tmhl	%r0, 0x10000
7185
7186#CHECK: error: invalid operand
7187#CHECK: tml	%r0, -1
7188#CHECK: error: invalid operand
7189#CHECK: tml	%r0, 0x10000
7190
7191	tml	%r0, -1
7192	tml	%r0, 0x10000
7193
7194#CHECK: error: invalid operand
7195#CHECK: tmlh	%r0, -1
7196#CHECK: error: invalid operand
7197#CHECK: tmlh	%r0, 0x10000
7198
7199	tmlh	%r0, -1
7200	tmlh	%r0, 0x10000
7201
7202#CHECK: error: invalid operand
7203#CHECK: tmll	%r0, -1
7204#CHECK: error: invalid operand
7205#CHECK: tmll	%r0, 0x10000
7206
7207	tmll	%r0, -1
7208	tmll	%r0, 0x10000
7209
7210#CHECK: error: invalid operand
7211#CHECK: tmy	-524289, 0
7212#CHECK: error: invalid operand
7213#CHECK: tmy	524288, 0
7214#CHECK: error: invalid use of indexed addressing
7215#CHECK: tmy	0(%r1,%r2), 0
7216#CHECK: error: invalid operand
7217#CHECK: tmy	0, -1
7218#CHECK: error: invalid operand
7219#CHECK: tmy	0, 256
7220
7221	tmy	-524289, 0
7222	tmy	524288, 0
7223	tmy	0(%r1,%r2), 0
7224	tmy	0, -1
7225	tmy	0, 256
7226
7227#CHECK: error: missing length in address
7228#CHECK: tp	0
7229#CHECK: error: missing length in address
7230#CHECK: tp	0(%r1)
7231#CHECK: error: invalid operand
7232#CHECK: tp	0(0,%r1)
7233#CHECK: error: invalid operand
7234#CHECK: tp	0(17,%r1)
7235#CHECK: error: invalid operand
7236#CHECK: tp	-1(1,%r1)
7237#CHECK: error: invalid operand
7238#CHECK: tp	4096(1,%r1)
7239#CHECK: error: %r0 used in an address
7240#CHECK: tp	0(1,%r0)
7241#CHECK: error: invalid use of indexed addressing
7242#CHECK: tp	0(%r1,%r2)
7243#CHECK: error: unknown token in expression
7244#CHECK: tp	0(-)
7245
7246	tp	0
7247	tp	0(%r1)
7248	tp	0(0,%r1)
7249	tp	0(17,%r1)
7250	tp	-1(1,%r1)
7251	tp	4096(1,%r1)
7252	tp	0(1,%r0)
7253	tp	0(%r1,%r2)
7254	tp	0(-)
7255
7256#CHECK: error: invalid operand
7257#CHECK: tpi	-1
7258#CHECK: error: invalid operand
7259#CHECK: tpi	4096
7260#CHECK: error: invalid use of indexed addressing
7261#CHECK: tpi	0(%r1,%r2)
7262
7263	tpi	-1
7264	tpi	4096
7265	tpi	0(%r1,%r2)
7266
7267#CHECK: error: invalid use of indexed addressing
7268#CHECK: tprot   160(%r1,%r15),160(%r15)
7269#CHECK: error: invalid operand
7270#CHECK: tprot   -1(%r1),160(%r15)
7271#CHECK: error: invalid operand
7272#CHECK: tprot   4096(%r1),160(%r15)
7273#CHECK: error: invalid operand
7274#CHECK: tprot   0(%r1),-1(%r15)
7275#CHECK: error: invalid operand
7276#CHECK: tprot   0(%r1),4096(%r15)
7277
7278        tprot   160(%r1,%r15),160(%r15)
7279        tprot   -1(%r1),160(%r15)
7280        tprot   4096(%r1),160(%r15)
7281        tprot   0(%r1),-1(%r15)
7282        tprot   0(%r1),4096(%r15)
7283
7284#CHECK: error: missing length in address
7285#CHECK: tr	0, 0
7286#CHECK: error: missing length in address
7287#CHECK: tr	0(%r1), 0(%r1)
7288#CHECK: error: invalid use of length addressing
7289#CHECK: tr	0(1,%r1), 0(2,%r1)
7290#CHECK: error: invalid operand
7291#CHECK: tr	0(0,%r1), 0(%r1)
7292#CHECK: error: invalid operand
7293#CHECK: tr	0(257,%r1), 0(%r1)
7294#CHECK: error: invalid operand
7295#CHECK: tr	-1(1,%r1), 0(%r1)
7296#CHECK: error: invalid operand
7297#CHECK: tr	4096(1,%r1), 0(%r1)
7298#CHECK: error: invalid operand
7299#CHECK: tr	0(1,%r1), -1(%r1)
7300#CHECK: error: invalid operand
7301#CHECK: tr	0(1,%r1), 4096(%r1)
7302#CHECK: error: %r0 used in an address
7303#CHECK: tr	0(1,%r0), 0(%r1)
7304#CHECK: error: %r0 used in an address
7305#CHECK: tr	0(1,%r1), 0(%r0)
7306#CHECK: error: invalid use of indexed addressing
7307#CHECK: tr	0(%r1,%r2), 0(%r1)
7308#CHECK: error: invalid use of indexed addressing
7309#CHECK: tr	0(1,%r2), 0(%r1,%r2)
7310#CHECK: error: unknown token in expression
7311#CHECK: tr	0(-), 0
7312
7313	tr	0, 0
7314	tr	0(%r1), 0(%r1)
7315	tr	0(1,%r1), 0(2,%r1)
7316	tr	0(0,%r1), 0(%r1)
7317	tr	0(257,%r1), 0(%r1)
7318	tr	-1(1,%r1), 0(%r1)
7319	tr	4096(1,%r1), 0(%r1)
7320	tr	0(1,%r1), -1(%r1)
7321	tr	0(1,%r1), 4096(%r1)
7322	tr	0(1,%r0), 0(%r1)
7323	tr	0(1,%r1), 0(%r0)
7324	tr	0(%r1,%r2), 0(%r1)
7325	tr	0(1,%r2), 0(%r1,%r2)
7326	tr	0(-), 0
7327
7328#CHECK: error: invalid operand
7329#CHECK: trace	%r0, %r0, -1
7330#CHECK: error: invalid operand
7331#CHECK: trace	%r0, %r0, 4096
7332#CHECK: error: invalid use of indexed addressing
7333#CHECK: trace	%r0, %r0, 0(%r1,%r2)
7334
7335	trace	%r0, %r0, -1
7336	trace	%r0, %r0, 4096
7337	trace	%r0, %r0, 0(%r1,%r2)
7338
7339#CHECK: error: invalid operand
7340#CHECK: tracg	%r0, %r0, -524289
7341#CHECK: error: invalid operand
7342#CHECK: tracg	%r0, %r0, 524288
7343#CHECK: error: invalid use of indexed addressing
7344#CHECK: tracg	%r0, %r0, 0(%r1,%r2)
7345
7346	tracg	%r0, %r0, -524289
7347	tracg	%r0, %r0, 524288
7348	tracg	%r0, %r0, 0(%r1,%r2)
7349
7350#CHECK: error: invalid operand
7351#CHECK: trap4	-1
7352#CHECK: error: invalid operand
7353#CHECK: trap4	4096
7354#CHECK: error: invalid use of indexed addressing
7355#CHECK: trap4	0(%r1,%r2)
7356
7357	trap4	-1
7358	trap4	4096
7359	trap4	0(%r1,%r2)
7360
7361#CHECK: error: invalid register pair
7362#CHECK: tre	%r1, %r0
7363
7364	tre	%r1, %r0
7365
7366#CHECK: error: invalid register pair
7367#CHECK: troo	%r1, %r0
7368#CHECK: error: invalid operand
7369#CHECK: troo	%r2, %r4, -1
7370#CHECK: error: invalid operand
7371#CHECK: troo	%r2, %r4, 16
7372
7373	troo	%r1, %r0
7374	troo	%r2, %r4, -1
7375	troo	%r2, %r4, 16
7376
7377#CHECK: error: invalid register pair
7378#CHECK: trot	%r1, %r0
7379#CHECK: error: invalid operand
7380#CHECK: trot	%r2, %r4, -1
7381#CHECK: error: invalid operand
7382#CHECK: trot	%r2, %r4, 16
7383
7384	trot	%r1, %r0
7385	trot	%r2, %r4, -1
7386	trot	%r2, %r4, 16
7387
7388#CHECK: error: missing length in address
7389#CHECK: trt	0, 0
7390#CHECK: error: missing length in address
7391#CHECK: trt	0(%r1), 0(%r1)
7392#CHECK: error: invalid use of length addressing
7393#CHECK: trt	0(1,%r1), 0(2,%r1)
7394#CHECK: error: invalid operand
7395#CHECK: trt	0(0,%r1), 0(%r1)
7396#CHECK: error: invalid operand
7397#CHECK: trt	0(257,%r1), 0(%r1)
7398#CHECK: error: invalid operand
7399#CHECK: trt	-1(1,%r1), 0(%r1)
7400#CHECK: error: invalid operand
7401#CHECK: trt	4096(1,%r1), 0(%r1)
7402#CHECK: error: invalid operand
7403#CHECK: trt	0(1,%r1), -1(%r1)
7404#CHECK: error: invalid operand
7405#CHECK: trt	0(1,%r1), 4096(%r1)
7406#CHECK: error: %r0 used in an address
7407#CHECK: trt	0(1,%r0), 0(%r1)
7408#CHECK: error: %r0 used in an address
7409#CHECK: trt	0(1,%r1), 0(%r0)
7410#CHECK: error: invalid use of indexed addressing
7411#CHECK: trt	0(%r1,%r2), 0(%r1)
7412#CHECK: error: invalid use of indexed addressing
7413#CHECK: trt	0(1,%r2), 0(%r1,%r2)
7414#CHECK: error: unknown token in expression
7415#CHECK: trt	0(-), 0
7416
7417	trt	0, 0
7418	trt	0(%r1), 0(%r1)
7419	trt	0(1,%r1), 0(2,%r1)
7420	trt	0(0,%r1), 0(%r1)
7421	trt	0(257,%r1), 0(%r1)
7422	trt	-1(1,%r1), 0(%r1)
7423	trt	4096(1,%r1), 0(%r1)
7424	trt	0(1,%r1), -1(%r1)
7425	trt	0(1,%r1), 4096(%r1)
7426	trt	0(1,%r0), 0(%r1)
7427	trt	0(1,%r1), 0(%r0)
7428	trt	0(%r1,%r2), 0(%r1)
7429	trt	0(1,%r2), 0(%r1,%r2)
7430	trt	0(-), 0
7431
7432#CHECK: error: invalid register pair
7433#CHECK: trte	%r1, %r0
7434#CHECK: error: invalid operand
7435#CHECK: trte	%r2, %r4, -1
7436#CHECK: error: invalid operand
7437#CHECK: trte	%r2, %r4, 16
7438
7439	trte	%r1, %r0
7440	trte	%r2, %r4, -1
7441	trte	%r2, %r4, 16
7442
7443#CHECK: error: invalid register pair
7444#CHECK: trto	%r1, %r0
7445#CHECK: error: invalid operand
7446#CHECK: trto	%r2, %r4, -1
7447#CHECK: error: invalid operand
7448#CHECK: trto	%r2, %r4, 16
7449
7450	trto	%r1, %r0
7451	trto	%r2, %r4, -1
7452	trto	%r2, %r4, 16
7453
7454#CHECK: error: missing length in address
7455#CHECK: trtr	0, 0
7456#CHECK: error: missing length in address
7457#CHECK: trtr	0(%r1), 0(%r1)
7458#CHECK: error: invalid use of length addressing
7459#CHECK: trtr	0(1,%r1), 0(2,%r1)
7460#CHECK: error: invalid operand
7461#CHECK: trtr	0(0,%r1), 0(%r1)
7462#CHECK: error: invalid operand
7463#CHECK: trtr	0(257,%r1), 0(%r1)
7464#CHECK: error: invalid operand
7465#CHECK: trtr	-1(1,%r1), 0(%r1)
7466#CHECK: error: invalid operand
7467#CHECK: trtr	4096(1,%r1), 0(%r1)
7468#CHECK: error: invalid operand
7469#CHECK: trtr	0(1,%r1), -1(%r1)
7470#CHECK: error: invalid operand
7471#CHECK: trtr	0(1,%r1), 4096(%r1)
7472#CHECK: error: %r0 used in an address
7473#CHECK: trtr	0(1,%r0), 0(%r1)
7474#CHECK: error: %r0 used in an address
7475#CHECK: trtr	0(1,%r1), 0(%r0)
7476#CHECK: error: invalid use of indexed addressing
7477#CHECK: trtr	0(%r1,%r2), 0(%r1)
7478#CHECK: error: invalid use of indexed addressing
7479#CHECK: trtr	0(1,%r2), 0(%r1,%r2)
7480#CHECK: error: unknown token in expression
7481#CHECK: trtr	0(-), 0
7482
7483	trtr	0, 0
7484	trtr	0(%r1), 0(%r1)
7485	trtr	0(1,%r1), 0(2,%r1)
7486	trtr	0(0,%r1), 0(%r1)
7487	trtr	0(257,%r1), 0(%r1)
7488	trtr	-1(1,%r1), 0(%r1)
7489	trtr	4096(1,%r1), 0(%r1)
7490	trtr	0(1,%r1), -1(%r1)
7491	trtr	0(1,%r1), 4096(%r1)
7492	trtr	0(1,%r0), 0(%r1)
7493	trtr	0(1,%r1), 0(%r0)
7494	trtr	0(%r1,%r2), 0(%r1)
7495	trtr	0(1,%r2), 0(%r1,%r2)
7496	trtr	0(-), 0
7497
7498#CHECK: error: invalid register pair
7499#CHECK: trtre	%r1, %r0
7500#CHECK: error: invalid operand
7501#CHECK: trtre	%r2, %r4, -1
7502#CHECK: error: invalid operand
7503#CHECK: trtre	%r2, %r4, 16
7504
7505	trtre	%r1, %r0
7506	trtre	%r2, %r4, -1
7507	trtre	%r2, %r4, 16
7508
7509#CHECK: error: invalid register pair
7510#CHECK: trtt	%r1, %r0
7511#CHECK: error: invalid operand
7512#CHECK: trtt	%r2, %r4, -1
7513#CHECK: error: invalid operand
7514#CHECK: trtt	%r2, %r4, 16
7515
7516	trtt	%r1, %r0
7517	trtt	%r2, %r4, -1
7518	trtt	%r2, %r4, 16
7519
7520#CHECK: error: invalid operand
7521#CHECK: ts	-1
7522#CHECK: error: invalid operand
7523#CHECK: ts	4096
7524#CHECK: error: invalid use of indexed addressing
7525#CHECK: ts	0(%r1,%r2)
7526
7527	ts	-1
7528	ts	4096
7529	ts	0(%r1,%r2)
7530
7531#CHECK: error: invalid operand
7532#CHECK: tsch	-1
7533#CHECK: error: invalid operand
7534#CHECK: tsch	4096
7535#CHECK: error: invalid use of indexed addressing
7536#CHECK: tsch	0(%r1,%r2)
7537
7538	tsch	-1
7539	tsch	4096
7540	tsch	0(%r1,%r2)
7541
7542#CHECK: error: missing length in address
7543#CHECK: unpk	0, 0(1)
7544#CHECK: error: missing length in address
7545#CHECK: unpk	0(1), 0
7546#CHECK: error: missing length in address
7547#CHECK: unpk	0(%r1), 0(1,%r1)
7548#CHECK: error: missing length in address
7549#CHECK: unpk	0(1,%r1), 0(%r1)
7550#CHECK: error: invalid operand
7551#CHECK: unpk	0(0,%r1), 0(1,%r1)
7552#CHECK: error: invalid operand
7553#CHECK: unpk	0(1,%r1), 0(0,%r1)
7554#CHECK: error: invalid operand
7555#CHECK: unpk	0(17,%r1), 0(1,%r1)
7556#CHECK: error: invalid operand
7557#CHECK: unpk	0(1,%r1), 0(17,%r1)
7558#CHECK: error: invalid operand
7559#CHECK: unpk	-1(1,%r1), 0(1,%r1)
7560#CHECK: error: invalid operand
7561#CHECK: unpk	4096(1,%r1), 0(1,%r1)
7562#CHECK: error: invalid operand
7563#CHECK: unpk	0(1,%r1), -1(1,%r1)
7564#CHECK: error: invalid operand
7565#CHECK: unpk	0(1,%r1), 4096(1,%r1)
7566#CHECK: error: %r0 used in an address
7567#CHECK: unpk	0(1,%r0), 0(1,%r1)
7568#CHECK: error: %r0 used in an address
7569#CHECK: unpk	0(1,%r1), 0(1,%r0)
7570#CHECK: error: invalid use of indexed addressing
7571#CHECK: unpk	0(%r1,%r2), 0(1,%r1)
7572#CHECK: error: invalid use of indexed addressing
7573#CHECK: unpk	0(1,%r2), 0(%r1,%r2)
7574#CHECK: error: unknown token in expression
7575#CHECK: unpk	0(-), 0(1)
7576
7577	unpk	0, 0(1)
7578	unpk	0(1), 0
7579	unpk	0(%r1), 0(1,%r1)
7580	unpk	0(1,%r1), 0(%r1)
7581	unpk	0(0,%r1), 0(1,%r1)
7582	unpk	0(1,%r1), 0(0,%r1)
7583	unpk	0(17,%r1), 0(1,%r1)
7584	unpk	0(1,%r1), 0(17,%r1)
7585	unpk	-1(1,%r1), 0(1,%r1)
7586	unpk	4096(1,%r1), 0(1,%r1)
7587	unpk	0(1,%r1), -1(1,%r1)
7588	unpk	0(1,%r1), 4096(1,%r1)
7589	unpk	0(1,%r0), 0(1,%r1)
7590	unpk	0(1,%r1), 0(1,%r0)
7591	unpk	0(%r1,%r2), 0(1,%r1)
7592	unpk	0(1,%r2), 0(%r1,%r2)
7593	unpk	0(-), 0(1)
7594
7595#CHECK: error: missing length in address
7596#CHECK: unpka	0, 0
7597#CHECK: error: missing length in address
7598#CHECK: unpka	0(%r1), 0(%r1)
7599#CHECK: error: invalid use of length addressing
7600#CHECK: unpka	0(1,%r1), 0(2,%r1)
7601#CHECK: error: invalid operand
7602#CHECK: unpka	0(0,%r1), 0(%r1)
7603#CHECK: error: invalid operand
7604#CHECK: unpka	0(257,%r1), 0(%r1)
7605#CHECK: error: invalid operand
7606#CHECK: unpka	-1(1,%r1), 0(%r1)
7607#CHECK: error: invalid operand
7608#CHECK: unpka	4096(1,%r1), 0(%r1)
7609#CHECK: error: invalid operand
7610#CHECK: unpka	0(1,%r1), -1(%r1)
7611#CHECK: error: invalid operand
7612#CHECK: unpka	0(1,%r1), 4096(%r1)
7613#CHECK: error: %r0 used in an address
7614#CHECK: unpka	0(1,%r0), 0(%r1)
7615#CHECK: error: %r0 used in an address
7616#CHECK: unpka	0(1,%r1), 0(%r0)
7617#CHECK: error: invalid use of indexed addressing
7618#CHECK: unpka	0(%r1,%r2), 0(%r1)
7619#CHECK: error: invalid use of indexed addressing
7620#CHECK: unpka	0(1,%r2), 0(%r1,%r2)
7621#CHECK: error: unknown token in expression
7622#CHECK: unpka	0(-), 0
7623
7624	unpka	0, 0
7625	unpka	0(%r1), 0(%r1)
7626	unpka	0(1,%r1), 0(2,%r1)
7627	unpka	0(0,%r1), 0(%r1)
7628	unpka	0(257,%r1), 0(%r1)
7629	unpka	-1(1,%r1), 0(%r1)
7630	unpka	4096(1,%r1), 0(%r1)
7631	unpka	0(1,%r1), -1(%r1)
7632	unpka	0(1,%r1), 4096(%r1)
7633	unpka	0(1,%r0), 0(%r1)
7634	unpka	0(1,%r1), 0(%r0)
7635	unpka	0(%r1,%r2), 0(%r1)
7636	unpka	0(1,%r2), 0(%r1,%r2)
7637	unpka	0(-), 0
7638
7639#CHECK: error: missing length in address
7640#CHECK: unpku	0, 0
7641#CHECK: error: missing length in address
7642#CHECK: unpku	0(%r1), 0(%r1)
7643#CHECK: error: invalid use of length addressing
7644#CHECK: unpku	0(1,%r1), 0(2,%r1)
7645#CHECK: error: invalid operand
7646#CHECK: unpku	0(0,%r1), 0(%r1)
7647#CHECK: error: invalid operand
7648#CHECK: unpku	0(257,%r1), 0(%r1)
7649#CHECK: error: invalid operand
7650#CHECK: unpku	-1(1,%r1), 0(%r1)
7651#CHECK: error: invalid operand
7652#CHECK: unpku	4096(1,%r1), 0(%r1)
7653#CHECK: error: invalid operand
7654#CHECK: unpku	0(1,%r1), -1(%r1)
7655#CHECK: error: invalid operand
7656#CHECK: unpku	0(1,%r1), 4096(%r1)
7657#CHECK: error: %r0 used in an address
7658#CHECK: unpku	0(1,%r0), 0(%r1)
7659#CHECK: error: %r0 used in an address
7660#CHECK: unpku	0(1,%r1), 0(%r0)
7661#CHECK: error: invalid use of indexed addressing
7662#CHECK: unpku	0(%r1,%r2), 0(%r1)
7663#CHECK: error: invalid use of indexed addressing
7664#CHECK: unpku	0(1,%r2), 0(%r1,%r2)
7665#CHECK: error: unknown token in expression
7666#CHECK: unpku	0(-), 0
7667
7668	unpku	0, 0
7669	unpku	0(%r1), 0(%r1)
7670	unpku	0(1,%r1), 0(2,%r1)
7671	unpku	0(0,%r1), 0(%r1)
7672	unpku	0(257,%r1), 0(%r1)
7673	unpku	-1(1,%r1), 0(%r1)
7674	unpku	4096(1,%r1), 0(%r1)
7675	unpku	0(1,%r1), -1(%r1)
7676	unpku	0(1,%r1), 4096(%r1)
7677	unpku	0(1,%r0), 0(%r1)
7678	unpku	0(1,%r1), 0(%r0)
7679	unpku	0(%r1,%r2), 0(%r1)
7680	unpku	0(1,%r2), 0(%r1,%r2)
7681	unpku	0(-), 0
7682
7683#CHECK: error: invalid operand
7684#CHECK: x	%r0, -1
7685#CHECK: error: invalid operand
7686#CHECK: x	%r0, 4096
7687
7688	x	%r0, -1
7689	x	%r0, 4096
7690
7691#CHECK: error: missing length in address
7692#CHECK: xc	0, 0
7693#CHECK: error: missing length in address
7694#CHECK: xc	0(%r1), 0(%r1)
7695#CHECK: error: invalid use of length addressing
7696#CHECK: xc	0(1,%r1), 0(2,%r1)
7697#CHECK: error: invalid operand
7698#CHECK: xc	0(0,%r1), 0(%r1)
7699#CHECK: error: invalid operand
7700#CHECK: xc	0(257,%r1), 0(%r1)
7701#CHECK: error: invalid operand
7702#CHECK: xc	-1(1,%r1), 0(%r1)
7703#CHECK: error: invalid operand
7704#CHECK: xc	4096(1,%r1), 0(%r1)
7705#CHECK: error: invalid operand
7706#CHECK: xc	0(1,%r1), -1(%r1)
7707#CHECK: error: invalid operand
7708#CHECK: xc	0(1,%r1), 4096(%r1)
7709#CHECK: error: %r0 used in an address
7710#CHECK: xc	0(1,%r0), 0(%r1)
7711#CHECK: error: %r0 used in an address
7712#CHECK: xc	0(1,%r1), 0(%r0)
7713#CHECK: error: invalid use of indexed addressing
7714#CHECK: xc	0(%r1,%r2), 0(%r1)
7715#CHECK: error: invalid use of indexed addressing
7716#CHECK: xc	0(1,%r2), 0(%r1,%r2)
7717#CHECK: error: unknown token in expression
7718#CHECK: xc	0(-), 0
7719
7720	xc	0, 0
7721	xc	0(%r1), 0(%r1)
7722	xc	0(1,%r1), 0(2,%r1)
7723	xc	0(0,%r1), 0(%r1)
7724	xc	0(257,%r1), 0(%r1)
7725	xc	-1(1,%r1), 0(%r1)
7726	xc	4096(1,%r1), 0(%r1)
7727	xc	0(1,%r1), -1(%r1)
7728	xc	0(1,%r1), 4096(%r1)
7729	xc	0(1,%r0), 0(%r1)
7730	xc	0(1,%r1), 0(%r0)
7731	xc	0(%r1,%r2), 0(%r1)
7732	xc	0(1,%r2), 0(%r1,%r2)
7733	xc	0(-), 0
7734
7735#CHECK: error: invalid operand
7736#CHECK: xg	%r0, -524289
7737#CHECK: error: invalid operand
7738#CHECK: xg	%r0, 524288
7739
7740	xg	%r0, -524289
7741	xg	%r0, 524288
7742
7743#CHECK: error: instruction requires: distinct-ops
7744#CHECK: xgrk	%r2,%r3,%r4
7745
7746	xgrk	%r2,%r3,%r4
7747
7748#CHECK: error: invalid operand
7749#CHECK: xi	-1, 0
7750#CHECK: error: invalid operand
7751#CHECK: xi	4096, 0
7752#CHECK: error: invalid use of indexed addressing
7753#CHECK: xi	0(%r1,%r2), 0
7754#CHECK: error: invalid operand
7755#CHECK: xi	0, -1
7756#CHECK: error: invalid operand
7757#CHECK: xi	0, 256
7758
7759	xi	-1, 0
7760	xi	4096, 0
7761	xi	0(%r1,%r2), 0
7762	xi	0, -1
7763	xi	0, 256
7764
7765#CHECK: error: invalid operand
7766#CHECK: xihf	%r0, -1
7767#CHECK: error: invalid operand
7768#CHECK: xihf	%r0, 1 << 32
7769
7770	xihf	%r0, -1
7771	xihf	%r0, 1 << 32
7772
7773#CHECK: error: invalid operand
7774#CHECK: xilf	%r0, -1
7775#CHECK: error: invalid operand
7776#CHECK: xilf	%r0, 1 << 32
7777
7778	xilf	%r0, -1
7779	xilf	%r0, 1 << 32
7780
7781#CHECK: error: invalid operand
7782#CHECK: xiy	-524289, 0
7783#CHECK: error: invalid operand
7784#CHECK: xiy	524288, 0
7785#CHECK: error: invalid use of indexed addressing
7786#CHECK: xiy	0(%r1,%r2), 0
7787#CHECK: error: invalid operand
7788#CHECK: xiy	0, -1
7789#CHECK: error: invalid operand
7790#CHECK: xiy	0, 256
7791
7792	xiy	-524289, 0
7793	xiy	524288, 0
7794	xiy	0(%r1,%r2), 0
7795	xiy	0, -1
7796	xiy	0, 256
7797
7798#CHECK: error: instruction requires: distinct-ops
7799#CHECK: xrk	%r2,%r3,%r4
7800
7801	xrk	%r2,%r3,%r4
7802
7803#CHECK: error: invalid operand
7804#CHECK: xy	%r0, -524289
7805#CHECK: error: invalid operand
7806#CHECK: xy	%r0, 524288
7807
7808	xy	%r0, -524289
7809	xy	%r0, 524288
7810
7811#CHECK: error: missing length in address
7812#CHECK: zap	0, 0(1)
7813#CHECK: error: missing length in address
7814#CHECK: zap	0(1), 0
7815#CHECK: error: missing length in address
7816#CHECK: zap	0(%r1), 0(1,%r1)
7817#CHECK: error: missing length in address
7818#CHECK: zap	0(1,%r1), 0(%r1)
7819#CHECK: error: invalid operand
7820#CHECK: zap	0(0,%r1), 0(1,%r1)
7821#CHECK: error: invalid operand
7822#CHECK: zap	0(1,%r1), 0(0,%r1)
7823#CHECK: error: invalid operand
7824#CHECK: zap	0(17,%r1), 0(1,%r1)
7825#CHECK: error: invalid operand
7826#CHECK: zap	0(1,%r1), 0(17,%r1)
7827#CHECK: error: invalid operand
7828#CHECK: zap	-1(1,%r1), 0(1,%r1)
7829#CHECK: error: invalid operand
7830#CHECK: zap	4096(1,%r1), 0(1,%r1)
7831#CHECK: error: invalid operand
7832#CHECK: zap	0(1,%r1), -1(1,%r1)
7833#CHECK: error: invalid operand
7834#CHECK: zap	0(1,%r1), 4096(1,%r1)
7835#CHECK: error: %r0 used in an address
7836#CHECK: zap	0(1,%r0), 0(1,%r1)
7837#CHECK: error: %r0 used in an address
7838#CHECK: zap	0(1,%r1), 0(1,%r0)
7839#CHECK: error: invalid use of indexed addressing
7840#CHECK: zap	0(%r1,%r2), 0(1,%r1)
7841#CHECK: error: invalid use of indexed addressing
7842#CHECK: zap	0(1,%r2), 0(%r1,%r2)
7843#CHECK: error: unknown token in expression
7844#CHECK: zap	0(-), 0(1)
7845
7846	zap	0, 0(1)
7847	zap	0(1), 0
7848	zap	0(%r1), 0(1,%r1)
7849	zap	0(1,%r1), 0(%r1)
7850	zap	0(0,%r1), 0(1,%r1)
7851	zap	0(1,%r1), 0(0,%r1)
7852	zap	0(17,%r1), 0(1,%r1)
7853	zap	0(1,%r1), 0(17,%r1)
7854	zap	-1(1,%r1), 0(1,%r1)
7855	zap	4096(1,%r1), 0(1,%r1)
7856	zap	0(1,%r1), -1(1,%r1)
7857	zap	0(1,%r1), 4096(1,%r1)
7858	zap	0(1,%r0), 0(1,%r1)
7859	zap	0(1,%r1), 0(1,%r0)
7860	zap	0(%r1,%r2), 0(1,%r1)
7861	zap	0(1,%r2), 0(%r1,%r2)
7862	zap	0(-), 0(1)
7863