xref: /llvm-project/llvm/test/MC/SystemZ/insn-bad-z196.s (revision a0eee6c971878b1f2edcc34fb2513e12a04a29ba)
1# For z196 only.
2# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z196 < %s 2> %t
3# RUN: FileCheck < %t %s
4# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=arch9 < %s 2> %t
5# RUN: FileCheck < %t %s
6
7#CHECK: error: invalid operand
8#CHECK: adtra	%f0, %f0, %f0, -1
9#CHECK: error: invalid operand
10#CHECK: adtra	%f0, %f0, %f0, 16
11
12	adtra	%f0, %f0, %f0, -1
13	adtra	%f0, %f0, %f0, 16
14
15#CHECK: error: invalid operand
16#CHECK: aghik	%r0, %r1, -32769
17#CHECK: error: invalid operand
18#CHECK: aghik	%r0, %r1, 32768
19
20	aghik	%r0, %r1, -32769
21	aghik	%r0, %r1, 32768
22
23#CHECK: error: invalid operand
24#CHECK: ahik	%r0, %r1, -32769
25#CHECK: error: invalid operand
26#CHECK: ahik	%r0, %r1, 32768
27
28	ahik	%r0, %r1, -32769
29	ahik	%r0, %r1, 32768
30
31#CHECK: error: invalid operand
32#CHECK: aih	%r0, (-1 << 31) - 1
33#CHECK: error: invalid operand
34#CHECK: aih	%r0, (1 << 31)
35
36	aih	%r0, (-1 << 31) - 1
37	aih	%r0, (1 << 31)
38
39#CHECK: error: invalid operand
40#CHECK: alsih	%r0, (-1 << 31) - 1
41#CHECK: error: invalid operand
42#CHECK: alsih	%r0, (1 << 31)
43
44	alsih	%r0, (-1 << 31) - 1
45	alsih	%r0, (1 << 31)
46
47#CHECK: error: invalid operand
48#CHECK: alsihn	%r0, (-1 << 31) - 1
49#CHECK: error: invalid operand
50#CHECK: alsihn	%r0, (1 << 31)
51
52	alsihn	%r0, (-1 << 31) - 1
53	alsihn	%r0, (1 << 31)
54
55#CHECK: error: invalid operand
56#CHECK: axtra	%f0, %f0, %f0, -1
57#CHECK: error: invalid operand
58#CHECK: axtra	%f0, %f0, %f0, 16
59#CHECK: error: invalid register pair
60#CHECK: axtra	%f0, %f0, %f2, 0
61#CHECK: error: invalid register pair
62#CHECK: axtra	%f0, %f2, %f0, 0
63#CHECK: error: invalid register pair
64#CHECK: axtra	%f2, %f0, %f0, 0
65
66	axtra	%f0, %f0, %f0, -1
67	axtra	%f0, %f0, %f0, 16
68	axtra	%f0, %f0, %f2, 0
69	axtra	%f0, %f2, %f0, 0
70	axtra	%f2, %f0, %f0, 0
71
72#CHECK: error: instruction requires: execution-hint
73#CHECK: bpp	0, 0, 0
74
75	bpp	0, 0, 0
76
77#CHECK: error: instruction requires: execution-hint
78#CHECK: bprp	0, 0, 0
79
80	bprp	0, 0, 0
81
82#CHECK: error: offset out of range
83#CHECK: brcth   %r0, -0x1000000002
84#CHECK: error: offset out of range
85#CHECK: brcth   %r0, -1
86#CHECK: error: offset out of range
87#CHECK: brcth   %r0, 1
88#CHECK: error: offset out of range
89#CHECK: brcth   %r0, 0x100000000
90
91        brcth   %r0, -0x1000000002
92        brcth   %r0, -1
93        brcth   %r0, 1
94        brcth   %r0, 0x100000000
95
96#CHECK: error: invalid operand
97#CHECK: cdfbra	%f0, 0, %r0, -1
98#CHECK: error: invalid operand
99#CHECK: cdfbra	%f0, 0, %r0, 16
100#CHECK: error: invalid operand
101#CHECK: cdfbra	%f0, -1, %r0, 0
102#CHECK: error: invalid operand
103#CHECK: cdfbra	%f0, 16, %r0, 0
104
105	cdfbra	%f0, 0, %r0, -1
106	cdfbra	%f0, 0, %r0, 16
107	cdfbra	%f0, -1, %r0, 0
108	cdfbra	%f0, 16, %r0, 0
109
110#CHECK: error: invalid operand
111#CHECK: cdftr	%f0, 0, %r0, -1
112#CHECK: error: invalid operand
113#CHECK: cdftr	%f0, 0, %r0, 16
114#CHECK: error: invalid operand
115#CHECK: cdftr	%f0, -1, %r0, 0
116#CHECK: error: invalid operand
117#CHECK: cdftr	%f0, 16, %r0, 0
118
119	cdftr	%f0, 0, %r0, -1
120	cdftr	%f0, 0, %r0, 16
121	cdftr	%f0, -1, %r0, 0
122	cdftr	%f0, 16, %r0, 0
123
124#CHECK: error: invalid operand
125#CHECK: cdgbra	%f0, 0, %r0, -1
126#CHECK: error: invalid operand
127#CHECK: cdgbra	%f0, 0, %r0, 16
128#CHECK: error: invalid operand
129#CHECK: cdgbra	%f0, -1, %r0, 0
130#CHECK: error: invalid operand
131#CHECK: cdgbra	%f0, 16, %r0, 0
132
133	cdgbra	%f0, 0, %r0, -1
134	cdgbra	%f0, 0, %r0, 16
135	cdgbra	%f0, -1, %r0, 0
136	cdgbra	%f0, 16, %r0, 0
137
138#CHECK: error: invalid operand
139#CHECK: cdgtra	%f0, 0, %r0, -1
140#CHECK: error: invalid operand
141#CHECK: cdgtra	%f0, 0, %r0, 16
142#CHECK: error: invalid operand
143#CHECK: cdgtra	%f0, -1, %r0, 0
144#CHECK: error: invalid operand
145#CHECK: cdgtra	%f0, 16, %r0, 0
146
147	cdgtra	%f0, 0, %r0, -1
148	cdgtra	%f0, 0, %r0, 16
149	cdgtra	%f0, -1, %r0, 0
150	cdgtra	%f0, 16, %r0, 0
151
152#CHECK: error: invalid operand
153#CHECK: cdlfbr	%f0, 0, %r0, -1
154#CHECK: error: invalid operand
155#CHECK: cdlfbr	%f0, 0, %r0, 16
156#CHECK: error: invalid operand
157#CHECK: cdlfbr	%f0, -1, %r0, 0
158#CHECK: error: invalid operand
159#CHECK: cdlfbr	%f0, 16, %r0, 0
160
161	cdlfbr	%f0, 0, %r0, -1
162	cdlfbr	%f0, 0, %r0, 16
163	cdlfbr	%f0, -1, %r0, 0
164	cdlfbr	%f0, 16, %r0, 0
165
166#CHECK: error: invalid operand
167#CHECK: cdlftr	%f0, 0, %r0, -1
168#CHECK: error: invalid operand
169#CHECK: cdlftr	%f0, 0, %r0, 16
170#CHECK: error: invalid operand
171#CHECK: cdlftr	%f0, -1, %r0, 0
172#CHECK: error: invalid operand
173#CHECK: cdlftr	%f0, 16, %r0, 0
174
175	cdlftr	%f0, 0, %r0, -1
176	cdlftr	%f0, 0, %r0, 16
177	cdlftr	%f0, -1, %r0, 0
178	cdlftr	%f0, 16, %r0, 0
179
180#CHECK: error: instruction requires: dfp-zoned-conversion
181#CHECK: cdzt	%f0, 0(1), 0
182
183	cdzt	%f0, 0(1), 0
184
185#CHECK: error: invalid operand
186#CHECK: cdlgbr	%f0, 0, %r0, -1
187#CHECK: error: invalid operand
188#CHECK: cdlgbr	%f0, 0, %r0, 16
189#CHECK: error: invalid operand
190#CHECK: cdlgbr	%f0, -1, %r0, 0
191#CHECK: error: invalid operand
192#CHECK: cdlgbr	%f0, 16, %r0, 0
193
194	cdlgbr	%f0, 0, %r0, -1
195	cdlgbr	%f0, 0, %r0, 16
196	cdlgbr	%f0, -1, %r0, 0
197	cdlgbr	%f0, 16, %r0, 0
198
199#CHECK: error: invalid operand
200#CHECK: cdlgtr	%f0, 0, %r0, -1
201#CHECK: error: invalid operand
202#CHECK: cdlgtr	%f0, 0, %r0, 16
203#CHECK: error: invalid operand
204#CHECK: cdlgtr	%f0, -1, %r0, 0
205#CHECK: error: invalid operand
206#CHECK: cdlgtr	%f0, 16, %r0, 0
207
208	cdlgtr	%f0, 0, %r0, -1
209	cdlgtr	%f0, 0, %r0, 16
210	cdlgtr	%f0, -1, %r0, 0
211	cdlgtr	%f0, 16, %r0, 0
212
213#CHECK: error: invalid operand
214#CHECK: cefbra	%f0, 0, %r0, -1
215#CHECK: error: invalid operand
216#CHECK: cefbra	%f0, 0, %r0, 16
217#CHECK: error: invalid operand
218#CHECK: cefbra	%f0, -1, %r0, 0
219#CHECK: error: invalid operand
220#CHECK: cefbra	%f0, 16, %r0, 0
221
222	cefbra	%f0, 0, %r0, -1
223	cefbra	%f0, 0, %r0, 16
224	cefbra	%f0, -1, %r0, 0
225	cefbra	%f0, 16, %r0, 0
226
227#CHECK: error: invalid operand
228#CHECK: cegbra	%f0, 0, %r0, -1
229#CHECK: error: invalid operand
230#CHECK: cegbra	%f0, 0, %r0, 16
231#CHECK: error: invalid operand
232#CHECK: cegbra	%f0, -1, %r0, 0
233#CHECK: error: invalid operand
234#CHECK: cegbra	%f0, 16, %r0, 0
235
236	cegbra	%f0, 0, %r0, -1
237	cegbra	%f0, 0, %r0, 16
238	cegbra	%f0, -1, %r0, 0
239	cegbra	%f0, 16, %r0, 0
240
241#CHECK: error: invalid operand
242#CHECK: celfbr	%f0, 0, %r0, -1
243#CHECK: error: invalid operand
244#CHECK: celfbr	%f0, 0, %r0, 16
245#CHECK: error: invalid operand
246#CHECK: celfbr	%f0, -1, %r0, 0
247#CHECK: error: invalid operand
248#CHECK: celfbr	%f0, 16, %r0, 0
249
250	celfbr	%f0, 0, %r0, -1
251	celfbr	%f0, 0, %r0, 16
252	celfbr	%f0, -1, %r0, 0
253	celfbr	%f0, 16, %r0, 0
254
255#CHECK: error: invalid operand
256#CHECK: celgbr	%f0, 0, %r0, -1
257#CHECK: error: invalid operand
258#CHECK: celgbr	%f0, 0, %r0, 16
259#CHECK: error: invalid operand
260#CHECK: celgbr	%f0, -1, %r0, 0
261#CHECK: error: invalid operand
262#CHECK: celgbr	%f0, 16, %r0, 0
263
264	celgbr	%f0, 0, %r0, -1
265	celgbr	%f0, 0, %r0, 16
266	celgbr	%f0, -1, %r0, 0
267	celgbr	%f0, 16, %r0, 0
268
269#CHECK: error: invalid operand
270#CHECK: cfdbra	%r0, 0, %f0, -1
271#CHECK: error: invalid operand
272#CHECK: cfdbra	%r0, 0, %f0, 16
273#CHECK: error: invalid operand
274#CHECK: cfdbra	%r0, -1, %f0, 0
275#CHECK: error: invalid operand
276#CHECK: cfdbra	%r0, 16, %f0, 0
277
278	cfdbra	%r0, 0, %f0, -1
279	cfdbra	%r0, 0, %f0, 16
280	cfdbra	%r0, -1, %f0, 0
281	cfdbra	%r0, 16, %f0, 0
282
283#CHECK: error: invalid operand
284#CHECK: cfdtr	%r0, 0, %f0, -1
285#CHECK: error: invalid operand
286#CHECK: cfdtr	%r0, 0, %f0, 16
287#CHECK: error: invalid operand
288#CHECK: cfdtr	%r0, -1, %f0, 0
289#CHECK: error: invalid operand
290#CHECK: cfdtr	%r0, 16, %f0, 0
291
292	cfdtr	%r0, 0, %f0, -1
293	cfdtr	%r0, 0, %f0, 16
294	cfdtr	%r0, -1, %f0, 0
295	cfdtr	%r0, 16, %f0, 0
296
297#CHECK: error: invalid operand
298#CHECK: cfebra	%r0, 0, %f0, -1
299#CHECK: error: invalid operand
300#CHECK: cfebra	%r0, 0, %f0, 16
301#CHECK: error: invalid operand
302#CHECK: cfebra	%r0, -1, %f0, 0
303#CHECK: error: invalid operand
304#CHECK: cfebra	%r0, 16, %f0, 0
305
306	cfebra	%r0, 0, %f0, -1
307	cfebra	%r0, 0, %f0, 16
308	cfebra	%r0, -1, %f0, 0
309	cfebra	%r0, 16, %f0, 0
310
311#CHECK: error: invalid operand
312#CHECK: cfxbra	%r0, 0, %f0, -1
313#CHECK: error: invalid operand
314#CHECK: cfxbra	%r0, 0, %f0, 16
315#CHECK: error: invalid operand
316#CHECK: cfxbra	%r0, -1, %f0, 0
317#CHECK: error: invalid operand
318#CHECK: cfxbra	%r0, 16, %f0, 0
319#CHECK: error: invalid register pair
320#CHECK: cfxbra	%r0, 0, %f14, 0
321
322	cfxbra	%r0, 0, %f0, -1
323	cfxbra	%r0, 0, %f0, 16
324	cfxbra	%r0, -1, %f0, 0
325	cfxbra	%r0, 16, %f0, 0
326	cfxbra	%r0, 0, %f14, 0
327
328#CHECK: error: invalid operand
329#CHECK: cfxtr	%r0, 0, %f0, -1
330#CHECK: error: invalid operand
331#CHECK: cfxtr	%r0, 0, %f0, 16
332#CHECK: error: invalid operand
333#CHECK: cfxtr	%r0, -1, %f0, 0
334#CHECK: error: invalid operand
335#CHECK: cfxtr	%r0, 16, %f0, 0
336#CHECK: error: invalid register pair
337#CHECK: cfxtr	%r0, 0, %f14, 0
338
339	cfxtr	%r0, 0, %f0, -1
340	cfxtr	%r0, 0, %f0, 16
341	cfxtr	%r0, -1, %f0, 0
342	cfxtr	%r0, 16, %f0, 0
343	cfxtr	%r0, 0, %f14, 0
344
345#CHECK: error: invalid operand
346#CHECK: cgdbra	%r0, 0, %f0, -1
347#CHECK: error: invalid operand
348#CHECK: cgdbra	%r0, 0, %f0, 16
349#CHECK: error: invalid operand
350#CHECK: cgdbra	%r0, -1, %f0, 0
351#CHECK: error: invalid operand
352#CHECK: cgdbra	%r0, 16, %f0, 0
353
354	cgdbra	%r0, 0, %f0, -1
355	cgdbra	%r0, 0, %f0, 16
356	cgdbra	%r0, -1, %f0, 0
357	cgdbra	%r0, 16, %f0, 0
358
359#CHECK: error: invalid operand
360#CHECK: cgdtra	%r0, 0, %f0, -1
361#CHECK: error: invalid operand
362#CHECK: cgdtra	%r0, 0, %f0, 16
363#CHECK: error: invalid operand
364#CHECK: cgdtra	%r0, -1, %f0, 0
365#CHECK: error: invalid operand
366#CHECK: cgdtra	%r0, 16, %f0, 0
367
368	cgdtra	%r0, 0, %f0, -1
369	cgdtra	%r0, 0, %f0, 16
370	cgdtra	%r0, -1, %f0, 0
371	cgdtra	%r0, 16, %f0, 0
372
373#CHECK: error: invalid operand
374#CHECK: cgebra	%r0, 0, %f0, -1
375#CHECK: error: invalid operand
376#CHECK: cgebra	%r0, 0, %f0, 16
377#CHECK: error: invalid operand
378#CHECK: cgebra	%r0, -1, %f0, 0
379#CHECK: error: invalid operand
380#CHECK: cgebra	%r0, 16, %f0, 0
381
382	cgebra	%r0, 0, %f0, -1
383	cgebra	%r0, 0, %f0, 16
384	cgebra	%r0, -1, %f0, 0
385	cgebra	%r0, 16, %f0, 0
386
387#CHECK: error: invalid operand
388#CHECK: cgxbra	%r0, 0, %f0, -1
389#CHECK: error: invalid operand
390#CHECK: cgxbra	%r0, 0, %f0, 16
391#CHECK: error: invalid operand
392#CHECK: cgxbra	%r0, -1, %f0, 0
393#CHECK: error: invalid operand
394#CHECK: cgxbra	%r0, 16, %f0, 0
395#CHECK: error: invalid register pair
396#CHECK: cgxbra	%r0, 0, %f14, 0
397
398	cgxbra	%r0, 0, %f0, -1
399	cgxbra	%r0, 0, %f0, 16
400	cgxbra	%r0, -1, %f0, 0
401	cgxbra	%r0, 16, %f0, 0
402	cgxbra	%r0, 0, %f14, 0
403
404#CHECK: error: invalid operand
405#CHECK: cgxtra	%r0, 0, %f0, -1
406#CHECK: error: invalid operand
407#CHECK: cgxtra	%r0, 0, %f0, 16
408#CHECK: error: invalid operand
409#CHECK: cgxtra	%r0, -1, %f0, 0
410#CHECK: error: invalid operand
411#CHECK: cgxtra	%r0, 16, %f0, 0
412#CHECK: error: invalid register pair
413#CHECK: cgxtra	%r0, 0, %f14, 0
414
415	cgxtra	%r0, 0, %f0, -1
416	cgxtra	%r0, 0, %f0, 16
417	cgxtra	%r0, -1, %f0, 0
418	cgxtra	%r0, 16, %f0, 0
419	cgxtra	%r0, 0, %f14, 0
420
421#CHECK: error: invalid operand
422#CHECK: chf	%r0, -524289
423#CHECK: error: invalid operand
424#CHECK: chf	%r0, 524288
425
426	chf	%r0, -524289
427	chf	%r0, 524288
428
429#CHECK: error: invalid operand
430#CHECK: cih	%r0, (-1 << 31) - 1
431#CHECK: error: invalid operand
432#CHECK: cih	%r0, (1 << 31)
433
434	cih	%r0, (-1 << 31) - 1
435	cih	%r0, (1 << 31)
436
437#CHECK: error: invalid operand
438#CHECK: clfdbr	%r0, 0, %f0, -1
439#CHECK: error: invalid operand
440#CHECK: clfdbr	%r0, 0, %f0, 16
441#CHECK: error: invalid operand
442#CHECK: clfdbr	%r0, -1, %f0, 0
443#CHECK: error: invalid operand
444#CHECK: clfdbr	%r0, 16, %f0, 0
445
446	clfdbr	%r0, 0, %f0, -1
447	clfdbr	%r0, 0, %f0, 16
448	clfdbr	%r0, -1, %f0, 0
449	clfdbr	%r0, 16, %f0, 0
450
451#CHECK: error: invalid operand
452#CHECK: clfdtr	%r0, 0, %f0, -1
453#CHECK: error: invalid operand
454#CHECK: clfdtr	%r0, 0, %f0, 16
455#CHECK: error: invalid operand
456#CHECK: clfdtr	%r0, -1, %f0, 0
457#CHECK: error: invalid operand
458#CHECK: clfdtr	%r0, 16, %f0, 0
459
460	clfdtr	%r0, 0, %f0, -1
461	clfdtr	%r0, 0, %f0, 16
462	clfdtr	%r0, -1, %f0, 0
463	clfdtr	%r0, 16, %f0, 0
464
465#CHECK: error: invalid operand
466#CHECK: clfebr	%r0, 0, %f0, -1
467#CHECK: error: invalid operand
468#CHECK: clfebr	%r0, 0, %f0, 16
469#CHECK: error: invalid operand
470#CHECK: clfebr	%r0, -1, %f0, 0
471#CHECK: error: invalid operand
472#CHECK: clfebr	%r0, 16, %f0, 0
473
474	clfebr	%r0, 0, %f0, -1
475	clfebr	%r0, 0, %f0, 16
476	clfebr	%r0, -1, %f0, 0
477	clfebr	%r0, 16, %f0, 0
478
479#CHECK: error: invalid operand
480#CHECK: clfxbr	%r0, 0, %f0, -1
481#CHECK: error: invalid operand
482#CHECK: clfxbr	%r0, 0, %f0, 16
483#CHECK: error: invalid operand
484#CHECK: clfxbr	%r0, -1, %f0, 0
485#CHECK: error: invalid operand
486#CHECK: clfxbr	%r0, 16, %f0, 0
487#CHECK: error: invalid register pair
488#CHECK: clfxbr	%r0, 0, %f14, 0
489
490	clfxbr	%r0, 0, %f0, -1
491	clfxbr	%r0, 0, %f0, 16
492	clfxbr	%r0, -1, %f0, 0
493	clfxbr	%r0, 16, %f0, 0
494	clfxbr	%r0, 0, %f14, 0
495
496#CHECK: error: invalid operand
497#CHECK: clfxtr	%r0, 0, %f0, -1
498#CHECK: error: invalid operand
499#CHECK: clfxtr	%r0, 0, %f0, 16
500#CHECK: error: invalid operand
501#CHECK: clfxtr	%r0, -1, %f0, 0
502#CHECK: error: invalid operand
503#CHECK: clfxtr	%r0, 16, %f0, 0
504#CHECK: error: invalid register pair
505#CHECK: clfxtr	%r0, 0, %f14, 0
506
507	clfxtr	%r0, 0, %f0, -1
508	clfxtr	%r0, 0, %f0, 16
509	clfxtr	%r0, -1, %f0, 0
510	clfxtr	%r0, 16, %f0, 0
511	clfxtr	%r0, 0, %f14, 0
512
513#CHECK: error: invalid operand
514#CHECK: clgdbr	%r0, 0, %f0, -1
515#CHECK: error: invalid operand
516#CHECK: clgdbr	%r0, 0, %f0, 16
517#CHECK: error: invalid operand
518#CHECK: clgdbr	%r0, -1, %f0, 0
519#CHECK: error: invalid operand
520#CHECK: clgdbr	%r0, 16, %f0, 0
521
522	clgdbr	%r0, 0, %f0, -1
523	clgdbr	%r0, 0, %f0, 16
524	clgdbr	%r0, -1, %f0, 0
525	clgdbr	%r0, 16, %f0, 0
526
527#CHECK: error: invalid operand
528#CHECK: clgdtr	%r0, 0, %f0, -1
529#CHECK: error: invalid operand
530#CHECK: clgdtr	%r0, 0, %f0, 16
531#CHECK: error: invalid operand
532#CHECK: clgdtr	%r0, -1, %f0, 0
533#CHECK: error: invalid operand
534#CHECK: clgdtr	%r0, 16, %f0, 0
535
536	clgdtr	%r0, 0, %f0, -1
537	clgdtr	%r0, 0, %f0, 16
538	clgdtr	%r0, -1, %f0, 0
539	clgdtr	%r0, 16, %f0, 0
540
541#CHECK: error: invalid operand
542#CHECK: clgebr	%r0, 0, %f0, -1
543#CHECK: error: invalid operand
544#CHECK: clgebr	%r0, 0, %f0, 16
545#CHECK: error: invalid operand
546#CHECK: clgebr	%r0, -1, %f0, 0
547#CHECK: error: invalid operand
548#CHECK: clgebr	%r0, 16, %f0, 0
549
550	clgebr	%r0, 0, %f0, -1
551	clgebr	%r0, 0, %f0, 16
552	clgebr	%r0, -1, %f0, 0
553	clgebr	%r0, 16, %f0, 0
554
555#CHECK: error: invalid operand
556#CHECK: clgxbr	%r0, 0, %f0, -1
557#CHECK: error: invalid operand
558#CHECK: clgxbr	%r0, 0, %f0, 16
559#CHECK: error: invalid operand
560#CHECK: clgxbr	%r0, -1, %f0, 0
561#CHECK: error: invalid operand
562#CHECK: clgxbr	%r0, 16, %f0, 0
563#CHECK: error: invalid register pair
564#CHECK: clgxbr	%r0, 0, %f14, 0
565
566	clgxbr	%r0, 0, %f0, -1
567	clgxbr	%r0, 0, %f0, 16
568	clgxbr	%r0, -1, %f0, 0
569	clgxbr	%r0, 16, %f0, 0
570	clgxbr	%r0, 0, %f14, 0
571
572#CHECK: error: invalid operand
573#CHECK: clgxtr	%r0, 0, %f0, -1
574#CHECK: error: invalid operand
575#CHECK: clgxtr	%r0, 0, %f0, 16
576#CHECK: error: invalid operand
577#CHECK: clgxtr	%r0, -1, %f0, 0
578#CHECK: error: invalid operand
579#CHECK: clgxtr	%r0, 16, %f0, 0
580#CHECK: error: invalid register pair
581#CHECK: clgxtr	%r0, 0, %f14, 0
582
583	clgxtr	%r0, 0, %f0, -1
584	clgxtr	%r0, 0, %f0, 16
585	clgxtr	%r0, -1, %f0, 0
586	clgxtr	%r0, 16, %f0, 0
587	clgxtr	%r0, 0, %f14, 0
588
589#CHECK: error: invalid operand
590#CHECK: clhf	%r0, -524289
591#CHECK: error: invalid operand
592#CHECK: clhf	%r0, 524288
593
594	clhf	%r0, -524289
595	clhf	%r0, 524288
596
597#CHECK: error: invalid operand
598#CHECK: clih	%r0, -1
599#CHECK: error: invalid operand
600#CHECK: clih	%r0, (1 << 32)
601
602	clih	%r0, -1
603	clih	%r0, (1 << 32)
604
605#CHECK: error: instruction requires: enhanced-dat-2
606#CHECK: crdte   %r0, %r0, %r0, 0
607
608	crdte   %r0, %r0, %r0, 0
609
610#CHECK: error: invalid operand
611#CHECK: cxfbra	%f0, 0, %r0, -1
612#CHECK: error: invalid operand
613#CHECK: cxfbra	%f0, 0, %r0, 16
614#CHECK: error: invalid operand
615#CHECK: cxfbra	%f0, -1, %r0, 0
616#CHECK: error: invalid operand
617#CHECK: cxfbra	%f0, 16, %r0, 0
618#CHECK: error: invalid register pair
619#CHECK: cxfbra	%f2, 0, %r0, 0
620
621	cxfbra	%f0, 0, %r0, -1
622	cxfbra	%f0, 0, %r0, 16
623	cxfbra	%f0, -1, %r0, 0
624	cxfbra	%f0, 16, %r0, 0
625	cxfbra	%f2, 0, %r0, 0
626
627#CHECK: error: invalid operand
628#CHECK: cxftr	%f0, 0, %r0, -1
629#CHECK: error: invalid operand
630#CHECK: cxftr	%f0, 0, %r0, 16
631#CHECK: error: invalid operand
632#CHECK: cxftr	%f0, -1, %r0, 0
633#CHECK: error: invalid operand
634#CHECK: cxftr	%f0, 16, %r0, 0
635#CHECK: error: invalid register pair
636#CHECK: cxftr	%f2, 0, %r0, 0
637
638	cxftr	%f0, 0, %r0, -1
639	cxftr	%f0, 0, %r0, 16
640	cxftr	%f0, -1, %r0, 0
641	cxftr	%f0, 16, %r0, 0
642	cxftr	%f2, 0, %r0, 0
643
644#CHECK: error: invalid operand
645#CHECK: cxgbra	%f0, 0, %r0, -1
646#CHECK: error: invalid operand
647#CHECK: cxgbra	%f0, 0, %r0, 16
648#CHECK: error: invalid operand
649#CHECK: cxgbra	%f0, -1, %r0, 0
650#CHECK: error: invalid operand
651#CHECK: cxgbra	%f0, 16, %r0, 0
652#CHECK: error: invalid register pair
653#CHECK: cxgbra	%f2, 0, %r0, 0
654
655	cxgbra	%f0, 0, %r0, -1
656	cxgbra	%f0, 0, %r0, 16
657	cxgbra	%f0, -1, %r0, 0
658	cxgbra	%f0, 16, %r0, 0
659	cxgbra	%f2, 0, %r0, 0
660
661#CHECK: error: invalid operand
662#CHECK: cxgtra	%f0, 0, %r0, -1
663#CHECK: error: invalid operand
664#CHECK: cxgtra	%f0, 0, %r0, 16
665#CHECK: error: invalid operand
666#CHECK: cxgtra	%f0, -1, %r0, 0
667#CHECK: error: invalid operand
668#CHECK: cxgtra	%f0, 16, %r0, 0
669#CHECK: error: invalid register pair
670#CHECK: cxgtra	%f2, 0, %r0, 0
671
672	cxgtra	%f0, 0, %r0, -1
673	cxgtra	%f0, 0, %r0, 16
674	cxgtra	%f0, -1, %r0, 0
675	cxgtra	%f0, 16, %r0, 0
676	cxgtra	%f2, 0, %r0, 0
677
678#CHECK: error: invalid operand
679#CHECK: cxlfbr	%f0, 0, %r0, -1
680#CHECK: error: invalid operand
681#CHECK: cxlfbr	%f0, 0, %r0, 16
682#CHECK: error: invalid operand
683#CHECK: cxlfbr	%f0, -1, %r0, 0
684#CHECK: error: invalid operand
685#CHECK: cxlfbr	%f0, 16, %r0, 0
686#CHECK: error: invalid register pair
687#CHECK: cxlfbr	%f2, 0, %r0, 0
688
689	cxlfbr	%f0, 0, %r0, -1
690	cxlfbr	%f0, 0, %r0, 16
691	cxlfbr	%f0, -1, %r0, 0
692	cxlfbr	%f0, 16, %r0, 0
693	cxlfbr	%f2, 0, %r0, 0
694
695#CHECK: error: invalid operand
696#CHECK: cxlftr	%f0, 0, %r0, -1
697#CHECK: error: invalid operand
698#CHECK: cxlftr	%f0, 0, %r0, 16
699#CHECK: error: invalid operand
700#CHECK: cxlftr	%f0, -1, %r0, 0
701#CHECK: error: invalid operand
702#CHECK: cxlftr	%f0, 16, %r0, 0
703#CHECK: error: invalid register pair
704#CHECK: cxlftr	%f2, 0, %r0, 0
705
706	cxlftr	%f0, 0, %r0, -1
707	cxlftr	%f0, 0, %r0, 16
708	cxlftr	%f0, -1, %r0, 0
709	cxlftr	%f0, 16, %r0, 0
710	cxlftr	%f2, 0, %r0, 0
711
712#CHECK: error: invalid operand
713#CHECK: cxlgbr	%f0, 0, %r0, -1
714#CHECK: error: invalid operand
715#CHECK: cxlgbr	%f0, 0, %r0, 16
716#CHECK: error: invalid operand
717#CHECK: cxlgbr	%f0, -1, %r0, 0
718#CHECK: error: invalid operand
719#CHECK: cxlgbr	%f0, 16, %r0, 0
720#CHECK: error: invalid register pair
721#CHECK: cxlgbr	%f2, 0, %r0, 0
722
723	cxlgbr	%f0, 0, %r0, -1
724	cxlgbr	%f0, 0, %r0, 16
725	cxlgbr	%f0, -1, %r0, 0
726	cxlgbr	%f0, 16, %r0, 0
727	cxlgbr	%f2, 0, %r0, 0
728
729#CHECK: error: invalid operand
730#CHECK: cxlgtr	%f0, 0, %r0, -1
731#CHECK: error: invalid operand
732#CHECK: cxlgtr	%f0, 0, %r0, 16
733#CHECK: error: invalid operand
734#CHECK: cxlgtr	%f0, -1, %r0, 0
735#CHECK: error: invalid operand
736#CHECK: cxlgtr	%f0, 16, %r0, 0
737#CHECK: error: invalid register pair
738#CHECK: cxlgtr	%f2, 0, %r0, 0
739
740	cxlgtr	%f0, 0, %r0, -1
741	cxlgtr	%f0, 0, %r0, 16
742	cxlgtr	%f0, -1, %r0, 0
743	cxlgtr	%f0, 16, %r0, 0
744	cxlgtr	%f2, 0, %r0, 0
745
746#CHECK: error: instruction requires: dfp-zoned-conversion
747#CHECK: cxzt	%f0, 0(1), 0
748
749	cxzt	%f0, 0(1), 0
750
751#CHECK: error: instruction requires: dfp-zoned-conversion
752#CHECK: czdt	%f0, 0(1), 0
753
754	czdt	%f0, 0(1), 0
755
756#CHECK: error: instruction requires: dfp-zoned-conversion
757#CHECK: czxt	%f0, 0(1), 0
758
759	czxt	%f0, 0(1), 0
760
761#CHECK: error: invalid operand
762#CHECK: ddtra	%f0, %f0, %f0, -1
763#CHECK: error: invalid operand
764#CHECK: ddtra	%f0, %f0, %f0, 16
765
766	ddtra	%f0, %f0, %f0, -1
767	ddtra	%f0, %f0, %f0, 16
768
769#CHECK: error: invalid operand
770#CHECK: dxtra	%f0, %f0, %f0, -1
771#CHECK: error: invalid operand
772#CHECK: dxtra	%f0, %f0, %f0, 16
773#CHECK: error: invalid register pair
774#CHECK: dxtra	%f0, %f0, %f2, 0
775#CHECK: error: invalid register pair
776#CHECK: dxtra	%f0, %f2, %f0, 0
777#CHECK: error: invalid register pair
778#CHECK: dxtra	%f2, %f0, %f0, 0
779
780	dxtra	%f0, %f0, %f0, -1
781	dxtra	%f0, %f0, %f0, 16
782	dxtra	%f0, %f0, %f2, 0
783	dxtra	%f0, %f2, %f0, 0
784	dxtra	%f2, %f0, %f0, 0
785
786#CHECK: error: instruction requires: transactional-execution
787#CHECK: etnd	%r7
788
789	etnd	%r7
790
791#CHECK: error: invalid operand
792#CHECK: fidbra	%f0, 0, %f0, -1
793#CHECK: error: invalid operand
794#CHECK: fidbra	%f0, 0, %f0, 16
795#CHECK: error: invalid operand
796#CHECK: fidbra	%f0, -1, %f0, 0
797#CHECK: error: invalid operand
798#CHECK: fidbra	%f0, 16, %f0, 0
799
800	fidbra	%f0, 0, %f0, -1
801	fidbra	%f0, 0, %f0, 16
802	fidbra	%f0, -1, %f0, 0
803	fidbra	%f0, 16, %f0, 0
804
805#CHECK: error: invalid operand
806#CHECK: fiebra	%f0, 0, %f0, -1
807#CHECK: error: invalid operand
808#CHECK: fiebra	%f0, 0, %f0, 16
809#CHECK: error: invalid operand
810#CHECK: fiebra	%f0, -1, %f0, 0
811#CHECK: error: invalid operand
812#CHECK: fiebra	%f0, 16, %f0, 0
813
814	fiebra	%f0, 0, %f0, -1
815	fiebra	%f0, 0, %f0, 16
816	fiebra	%f0, -1, %f0, 0
817	fiebra	%f0, 16, %f0, 0
818
819#CHECK: error: invalid operand
820#CHECK: fixbra	%f0, 0, %f0, -1
821#CHECK: error: invalid operand
822#CHECK: fixbra	%f0, 0, %f0, 16
823#CHECK: error: invalid operand
824#CHECK: fixbra	%f0, -1, %f0, 0
825#CHECK: error: invalid operand
826#CHECK: fixbra	%f0, 16, %f0, 0
827#CHECK: error: invalid register pair
828#CHECK: fixbra	%f0, 0, %f2, 0
829#CHECK: error: invalid register pair
830#CHECK: fixbra	%f2, 0, %f0, 0
831
832	fixbra	%f0, 0, %f0, -1
833	fixbra	%f0, 0, %f0, 16
834	fixbra	%f0, -1, %f0, 0
835	fixbra	%f0, 16, %f0, 0
836	fixbra	%f0, 0, %f2, 0
837	fixbra	%f2, 0, %f0, 0
838
839#CHECK: error: invalid register pair
840#CHECK: kmctr	%r1, %r2, %r4
841#CHECK: error: invalid register pair
842#CHECK: kmctr	%r2, %r1, %r4
843#CHECK: error: invalid register pair
844#CHECK: kmctr	%r2, %r4, %r1
845
846	kmctr	%r1, %r2, %r4
847	kmctr	%r2, %r1, %r4
848	kmctr	%r2, %r4, %r1
849
850#CHECK: error: invalid register pair
851#CHECK: kmf	%r1, %r2
852#CHECK: error: invalid register pair
853#CHECK: kmf	%r2, %r1
854
855	kmf	%r1, %r2
856	kmf	%r2, %r1
857
858#CHECK: error: invalid register pair
859#CHECK: kmo	%r1, %r2
860#CHECK: error: invalid register pair
861#CHECK: kmo	%r2, %r1
862
863	kmo	%r1, %r2
864	kmo	%r2, %r1
865
866#CHECK: error: invalid operand
867#CHECK: laa	%r0, %r0, -524289
868#CHECK: error: invalid operand
869#CHECK: laa	%r0, %r0, 524288
870#CHECK: error: invalid use of indexed addressing
871#CHECK: laa	%r0, %r0, 0(%r1,%r2)
872
873	laa	%r0, %r0, -524289
874	laa	%r0, %r0, 524288
875	laa	%r0, %r0, 0(%r1,%r2)
876
877#CHECK: error: invalid operand
878#CHECK: laag	%r0, %r0, -524289
879#CHECK: error: invalid operand
880#CHECK: laag	%r0, %r0, 524288
881#CHECK: error: invalid use of indexed addressing
882#CHECK: laag	%r0, %r0, 0(%r1,%r2)
883
884	laag	%r0, %r0, -524289
885	laag	%r0, %r0, 524288
886	laag	%r0, %r0, 0(%r1,%r2)
887
888#CHECK: error: invalid operand
889#CHECK: laal	%r0, %r0, -524289
890#CHECK: error: invalid operand
891#CHECK: laal	%r0, %r0, 524288
892#CHECK: error: invalid use of indexed addressing
893#CHECK: laal	%r0, %r0, 0(%r1,%r2)
894
895	laal	%r0, %r0, -524289
896	laal	%r0, %r0, 524288
897	laal	%r0, %r0, 0(%r1,%r2)
898
899#CHECK: error: invalid operand
900#CHECK: laalg	%r0, %r0, -524289
901#CHECK: error: invalid operand
902#CHECK: laalg	%r0, %r0, 524288
903#CHECK: error: invalid use of indexed addressing
904#CHECK: laalg	%r0, %r0, 0(%r1,%r2)
905
906	laalg	%r0, %r0, -524289
907	laalg	%r0, %r0, 524288
908	laalg	%r0, %r0, 0(%r1,%r2)
909
910#CHECK: error: invalid operand
911#CHECK: lan	%r0, %r0, -524289
912#CHECK: error: invalid operand
913#CHECK: lan	%r0, %r0, 524288
914#CHECK: error: invalid use of indexed addressing
915#CHECK: lan	%r0, %r0, 0(%r1,%r2)
916
917	lan	%r0, %r0, -524289
918	lan	%r0, %r0, 524288
919	lan	%r0, %r0, 0(%r1,%r2)
920
921#CHECK: error: invalid operand
922#CHECK: lang	%r0, %r0, -524289
923#CHECK: error: invalid operand
924#CHECK: lang	%r0, %r0, 524288
925#CHECK: error: invalid use of indexed addressing
926#CHECK: lang	%r0, %r0, 0(%r1,%r2)
927
928	lang	%r0, %r0, -524289
929	lang	%r0, %r0, 524288
930	lang	%r0, %r0, 0(%r1,%r2)
931
932#CHECK: error: invalid operand
933#CHECK: lao	%r0, %r0, -524289
934#CHECK: error: invalid operand
935#CHECK: lao	%r0, %r0, 524288
936#CHECK: error: invalid use of indexed addressing
937#CHECK: lao	%r0, %r0, 0(%r1,%r2)
938
939	lao	%r0, %r0, -524289
940	lao	%r0, %r0, 524288
941	lao	%r0, %r0, 0(%r1,%r2)
942
943#CHECK: error: invalid operand
944#CHECK: laog	%r0, %r0, -524289
945#CHECK: error: invalid operand
946#CHECK: laog	%r0, %r0, 524288
947#CHECK: error: invalid use of indexed addressing
948#CHECK: laog	%r0, %r0, 0(%r1,%r2)
949
950	laog	%r0, %r0, -524289
951	laog	%r0, %r0, 524288
952	laog	%r0, %r0, 0(%r1,%r2)
953
954#CHECK: error: invalid operand
955#CHECK: lax	%r0, %r0, -524289
956#CHECK: error: invalid operand
957#CHECK: lax	%r0, %r0, 524288
958#CHECK: error: invalid use of indexed addressing
959#CHECK: lax	%r0, %r0, 0(%r1,%r2)
960
961	lax	%r0, %r0, -524289
962	lax	%r0, %r0, 524288
963	lax	%r0, %r0, 0(%r1,%r2)
964
965#CHECK: error: invalid operand
966#CHECK: laxg	%r0, %r0, -524289
967#CHECK: error: invalid operand
968#CHECK: laxg	%r0, %r0, 524288
969#CHECK: error: invalid use of indexed addressing
970#CHECK: laxg	%r0, %r0, 0(%r1,%r2)
971
972	laxg	%r0, %r0, -524289
973	laxg	%r0, %r0, 524288
974	laxg	%r0, %r0, 0(%r1,%r2)
975
976#CHECK: error: invalid operand
977#CHECK: lbh	%r0, -524289
978#CHECK: error: invalid operand
979#CHECK: lbh	%r0, 524288
980
981	lbh	%r0, -524289
982	lbh	%r0, 524288
983
984#CHECK: error: invalid operand
985#CHECK: ldxbra	%f0, 0, %f0, -1
986#CHECK: error: invalid operand
987#CHECK: ldxbra	%f0, 0, %f0, 16
988#CHECK: error: invalid operand
989#CHECK: ldxbra	%f0, -1, %f0, 0
990#CHECK: error: invalid operand
991#CHECK: ldxbra	%f0, 16, %f0, 0
992#CHECK: error: invalid register pair
993#CHECK: ldxbra	%f0, 0, %f2, 0
994#CHECK: error: invalid register pair
995#CHECK: ldxbra	%f2, 0, %f0, 0
996
997	ldxbra	%f0, 0, %f0, -1
998	ldxbra	%f0, 0, %f0, 16
999	ldxbra	%f0, -1, %f0, 0
1000	ldxbra	%f0, 16, %f0, 0
1001	ldxbra	%f0, 0, %f2, 0
1002	ldxbra	%f2, 0, %f0, 0
1003
1004#CHECK: error: invalid operand
1005#CHECK: ledbra	%f0, 0, %f0, -1
1006#CHECK: error: invalid operand
1007#CHECK: ledbra	%f0, 0, %f0, 16
1008#CHECK: error: invalid operand
1009#CHECK: ledbra	%f0, -1, %f0, 0
1010#CHECK: error: invalid operand
1011#CHECK: ledbra	%f0, 16, %f0, 0
1012
1013	ledbra	%f0, 0, %f0, -1
1014	ledbra	%f0, 0, %f0, 16
1015	ledbra	%f0, -1, %f0, 0
1016	ledbra	%f0, 16, %f0, 0
1017
1018#CHECK: error: invalid operand
1019#CHECK: lexbra	%f0, 0, %f0, -1
1020#CHECK: error: invalid operand
1021#CHECK: lexbra	%f0, 0, %f0, 16
1022#CHECK: error: invalid operand
1023#CHECK: lexbra	%f0, -1, %f0, 0
1024#CHECK: error: invalid operand
1025#CHECK: lexbra	%f0, 16, %f0, 0
1026#CHECK: error: invalid register pair
1027#CHECK: lexbra	%f0, 0, %f2, 0
1028#CHECK: error: invalid register pair
1029#CHECK: lexbra	%f2, 0, %f0, 0
1030
1031	lexbra	%f0, 0, %f0, -1
1032	lexbra	%f0, 0, %f0, 16
1033	lexbra	%f0, -1, %f0, 0
1034	lexbra	%f0, 16, %f0, 0
1035	lexbra	%f0, 0, %f2, 0
1036	lexbra	%f2, 0, %f0, 0
1037
1038#CHECK: error: invalid operand
1039#CHECK: lfh	%r0, -524289
1040#CHECK: error: invalid operand
1041#CHECK: lfh	%r0, 524288
1042
1043	lfh	%r0, -524289
1044	lfh	%r0, 524288
1045
1046#CHECK: error: invalid operand
1047#CHECK: lhh	%r0, -524289
1048#CHECK: error: invalid operand
1049#CHECK: lhh	%r0, 524288
1050
1051	lhh	%r0, -524289
1052	lhh	%r0, 524288
1053
1054#CHECK: error: invalid operand
1055#CHECK: llch	%r0, -524289
1056#CHECK: error: invalid operand
1057#CHECK: llch	%r0, 524288
1058
1059	llch	%r0, -524289
1060	llch	%r0, 524288
1061
1062#CHECK: error: invalid operand
1063#CHECK: llhh	%r0, -524289
1064#CHECK: error: invalid operand
1065#CHECK: llhh	%r0, 524288
1066
1067	llhh	%r0, -524289
1068	llhh	%r0, 524288
1069
1070#CHECK: error: invalid operand
1071#CHECK: loc	%r0,0,-1
1072#CHECK: error: invalid operand
1073#CHECK: loc	%r0,0,16
1074#CHECK: error: invalid operand
1075#CHECK: loc	%r0,-524289,1
1076#CHECK: error: invalid operand
1077#CHECK: loc	%r0,524288,1
1078#CHECK: error: invalid use of indexed addressing
1079#CHECK: loc	%r0,0(%r1,%r2),1
1080
1081	loc	%r0,0,-1
1082	loc	%r0,0,16
1083	loc	%r0,-524289,1
1084	loc	%r0,524288,1
1085	loc	%r0,0(%r1,%r2),1
1086
1087#CHECK: error: invalid operand
1088#CHECK: locg	%r0,0,-1
1089#CHECK: error: invalid operand
1090#CHECK: locg	%r0,0,16
1091#CHECK: error: invalid operand
1092#CHECK: locg	%r0,-524289,1
1093#CHECK: error: invalid operand
1094#CHECK: locg	%r0,524288,1
1095#CHECK: error: invalid use of indexed addressing
1096#CHECK: locg	%r0,0(%r1,%r2),1
1097
1098	locg	%r0,0,-1
1099	locg	%r0,0,16
1100	locg	%r0,-524289,1
1101	locg	%r0,524288,1
1102	locg	%r0,0(%r1,%r2),1
1103
1104#CHECK: error: invalid operand
1105#CHECK: locgr	%r0,%r0,-1
1106#CHECK: error: invalid operand
1107#CHECK: locgr	%r0,%r0,16
1108
1109	locgr	%r0,%r0,-1
1110	locgr	%r0,%r0,16
1111
1112#CHECK: error: invalid operand
1113#CHECK: locr	%r0,%r0,-1
1114#CHECK: error: invalid operand
1115#CHECK: locr	%r0,%r0,16
1116
1117	locr	%r0,%r0,-1
1118	locr	%r0,%r0,16
1119
1120#CHECK: error: invalid register pair
1121#CHECK: lpd	%r1, 0, 0
1122#CHECK: error: invalid use of indexed addressing
1123#CHECK: lpd	%r2, 160(%r1,%r15), 160(%r15)
1124#CHECK: error: invalid operand
1125#CHECK: lpd	%r2, -1(%r1), 160(%r15)
1126#CHECK: error: invalid operand
1127#CHECK: lpd	%r2, 4096(%r1), 160(%r15)
1128#CHECK: error: invalid operand
1129#CHECK: lpd	%r2, 0(%r1), -1(%r15)
1130#CHECK: error: invalid operand
1131#CHECK: lpd	%r2, 0(%r1), 4096(%r15)
1132
1133	lpd	%r1, 0, 0
1134	lpd	%r2, 160(%r1,%r15), 160(%r15)
1135	lpd	%r2, -1(%r1), 160(%r15)
1136	lpd	%r2, 4096(%r1), 160(%r15)
1137	lpd	%r2, 0(%r1), -1(%r15)
1138	lpd	%r2, 0(%r1), 4096(%r15)
1139
1140#CHECK: error: invalid register pair
1141#CHECK: lpdg	%r1, 0, 0
1142#CHECK: error: invalid use of indexed addressing
1143#CHECK: lpdg	%r2, 160(%r1,%r15), 160(%r15)
1144#CHECK: error: invalid operand
1145#CHECK: lpdg	%r2, -1(%r1), 160(%r15)
1146#CHECK: error: invalid operand
1147#CHECK: lpdg	%r2, 4096(%r1), 160(%r15)
1148#CHECK: error: invalid operand
1149#CHECK: lpdg	%r2, 0(%r1), -1(%r15)
1150#CHECK: error: invalid operand
1151#CHECK: lpdg	%r2, 0(%r1), 4096(%r15)
1152
1153	lpdg	%r1, 0, 0
1154	lpdg	%r2, 160(%r1,%r15), 160(%r15)
1155	lpdg	%r2, -1(%r1), 160(%r15)
1156	lpdg	%r2, 4096(%r1), 160(%r15)
1157	lpdg	%r2, 0(%r1), -1(%r15)
1158	lpdg	%r2, 0(%r1), 4096(%r15)
1159
1160#CHECK: error: invalid operand
1161#CHECK: mdtra	%f0, %f0, %f0, -1
1162#CHECK: error: invalid operand
1163#CHECK: mdtra	%f0, %f0, %f0, 16
1164
1165	mdtra	%f0, %f0, %f0, -1
1166	mdtra	%f0, %f0, %f0, 16
1167
1168#CHECK: error: invalid operand
1169#CHECK: mxtra	%f0, %f0, %f0, -1
1170#CHECK: error: invalid operand
1171#CHECK: mxtra	%f0, %f0, %f0, 16
1172#CHECK: error: invalid register pair
1173#CHECK: mxtra	%f0, %f0, %f2, 0
1174#CHECK: error: invalid register pair
1175#CHECK: mxtra	%f0, %f2, %f0, 0
1176#CHECK: error: invalid register pair
1177#CHECK: mxtra	%f2, %f0, %f0, 0
1178
1179	mxtra	%f0, %f0, %f0, -1
1180	mxtra	%f0, %f0, %f0, 16
1181	mxtra	%f0, %f0, %f2, 0
1182	mxtra	%f0, %f2, %f0, 0
1183	mxtra	%f2, %f0, %f0, 0
1184
1185#CHECK: error: instruction requires: execution-hint
1186#CHECK: niai	0, 0
1187
1188	niai	0, 0
1189
1190#CHECK: error: instruction requires: transactional-execution
1191#CHECK: ntstg	%r0, 524287(%r1,%r15)
1192
1193	ntstg	%r0, 524287(%r1,%r15)
1194
1195#CHECK: error: instruction requires: processor-assist
1196#CHECK: ppa	%r4, %r6, 7
1197
1198	ppa	%r4, %r6, 7
1199
1200#CHECK: error: instruction requires: miscellaneous-extensions
1201#CHECK: risbgn	%r1, %r2, 0, 0, 0
1202
1203	risbgn	%r1, %r2, 0, 0, 0
1204
1205#CHECK: error: invalid operand
1206#CHECK: risbhg	%r0,%r0,0,-1,0
1207#CHECK: error: invalid operand
1208#CHECK: risbhg	%r0,%r0,0,256,0
1209#CHECK: error: invalid operand
1210#CHECK: risbhg	%r0,%r0,-1,0,0
1211#CHECK: error: invalid operand
1212#CHECK: risbhg	%r0,%r0,256,0,0
1213
1214	risbhg	%r0,%r0,0,-1,0
1215	risbhg	%r0,%r0,0,256,0
1216	risbhg	%r0,%r0,-1,0,0
1217	risbhg	%r0,%r0,256,0,0
1218
1219#CHECK: error: invalid operand
1220#CHECK: risblg	%r0,%r0,0,-1,0
1221#CHECK: error: invalid operand
1222#CHECK: risblg	%r0,%r0,0,256,0
1223#CHECK: error: invalid operand
1224#CHECK: risblg	%r0,%r0,-1,0,0
1225#CHECK: error: invalid operand
1226#CHECK: risblg	%r0,%r0,256,0,0
1227
1228	risblg	%r0,%r0,0,-1,0
1229	risblg	%r0,%r0,0,256,0
1230	risblg	%r0,%r0,-1,0,0
1231	risblg	%r0,%r0,256,0,0
1232
1233#CHECK: error: invalid operand
1234#CHECK: sdtra	%f0, %f0, %f0, -1
1235#CHECK: error: invalid operand
1236#CHECK: sdtra	%f0, %f0, %f0, 16
1237
1238	sdtra	%f0, %f0, %f0, -1
1239	sdtra	%f0, %f0, %f0, 16
1240
1241#CHECK: error: invalid operand
1242#CHECK: slak	%r0,%r0,-524289
1243#CHECK: error: invalid operand
1244#CHECK: slak	%r0,%r0,524288
1245#CHECK: error: invalid use of indexed addressing
1246#CHECK: slak	%r0,%r0,0(%r1,%r2)
1247
1248	slak	%r0,%r0,-524289
1249	slak	%r0,%r0,524288
1250	slak	%r0,%r0,0(%r1,%r2)
1251
1252#CHECK: error: invalid operand
1253#CHECK: sllk	%r0,%r0,-524289
1254#CHECK: error: invalid operand
1255#CHECK: sllk	%r0,%r0,524288
1256#CHECK: error: invalid use of indexed addressing
1257#CHECK: sllk	%r0,%r0,0(%r1,%r2)
1258
1259	sllk	%r0,%r0,-524289
1260	sllk	%r0,%r0,524288
1261	sllk	%r0,%r0,0(%r1,%r2)
1262
1263#CHECK: error: invalid operand
1264#CHECK: srak	%r0,%r0,-524289
1265#CHECK: error: invalid operand
1266#CHECK: srak	%r0,%r0,524288
1267#CHECK: error: invalid use of indexed addressing
1268#CHECK: srak	%r0,%r0,0(%r1,%r2)
1269
1270	srak	%r0,%r0,-524289
1271	srak	%r0,%r0,524288
1272	srak	%r0,%r0,0(%r1,%r2)
1273
1274#CHECK: error: invalid operand
1275#CHECK: srlk	%r0,%r0,-524289
1276#CHECK: error: invalid operand
1277#CHECK: srlk	%r0,%r0,524288
1278#CHECK: error: invalid use of indexed addressing
1279#CHECK: srlk	%r0,%r0,0(%r1,%r2)
1280
1281	srlk	%r0,%r0,-524289
1282	srlk	%r0,%r0,524288
1283	srlk	%r0,%r0,0(%r1,%r2)
1284
1285#CHECK: error: invalid operand
1286#CHECK: srnmb	-1
1287#CHECK: error: invalid operand
1288#CHECK: srnmb	4096
1289#CHECK: error: invalid use of indexed addressing
1290#CHECK: srnmb	0(%r1,%r2)
1291
1292	srnmb	-1
1293	srnmb	4096
1294	srnmb	0(%r1,%r2)
1295
1296#CHECK: error: invalid operand
1297#CHECK: stch	%r0, -524289
1298#CHECK: error: invalid operand
1299#CHECK: stch	%r0, 524288
1300
1301	stch	%r0, -524289
1302	stch	%r0, 524288
1303
1304#CHECK: error: invalid operand
1305#CHECK: stfh	%r0, -524289
1306#CHECK: error: invalid operand
1307#CHECK: stfh	%r0, 524288
1308
1309	stfh	%r0, -524289
1310	stfh	%r0, 524288
1311
1312#CHECK: error: invalid operand
1313#CHECK: sthh	%r0, -524289
1314#CHECK: error: invalid operand
1315#CHECK: sthh	%r0, 524288
1316
1317	sthh	%r0, -524289
1318	sthh	%r0, 524288
1319
1320#CHECK: error: invalid operand
1321#CHECK: stoc	%r0,0,-1
1322#CHECK: error: invalid operand
1323#CHECK: stoc	%r0,0,16
1324#CHECK: error: invalid operand
1325#CHECK: stoc	%r0,-524289,1
1326#CHECK: error: invalid operand
1327#CHECK: stoc	%r0,524288,1
1328#CHECK: error: invalid use of indexed addressing
1329#CHECK: stoc	%r0,0(%r1,%r2),1
1330
1331	stoc	%r0,0,-1
1332	stoc	%r0,0,16
1333	stoc	%r0,-524289,1
1334	stoc	%r0,524288,1
1335	stoc	%r0,0(%r1,%r2),1
1336
1337#CHECK: error: invalid operand
1338#CHECK: stocg	%r0,0,-1
1339#CHECK: error: invalid operand
1340#CHECK: stocg	%r0,0,16
1341#CHECK: error: invalid operand
1342#CHECK: stocg	%r0,-524289,1
1343#CHECK: error: invalid operand
1344#CHECK: stocg	%r0,524288,1
1345#CHECK: error: invalid use of indexed addressing
1346#CHECK: stocg	%r0,0(%r1,%r2),1
1347
1348	stocg	%r0,0,-1
1349	stocg	%r0,0,16
1350	stocg	%r0,-524289,1
1351	stocg	%r0,524288,1
1352	stocg	%r0,0(%r1,%r2),1
1353
1354#CHECK: error: invalid operand
1355#CHECK: sxtra	%f0, %f0, %f0, -1
1356#CHECK: error: invalid operand
1357#CHECK: sxtra	%f0, %f0, %f0, 16
1358#CHECK: error: invalid register pair
1359#CHECK: sxtra	%f0, %f0, %f2, 0
1360#CHECK: error: invalid register pair
1361#CHECK: sxtra	%f0, %f2, %f0, 0
1362#CHECK: error: invalid register pair
1363#CHECK: sxtra	%f2, %f0, %f0, 0
1364
1365	sxtra	%f0, %f0, %f0, -1
1366	sxtra	%f0, %f0, %f0, 16
1367	sxtra	%f0, %f0, %f2, 0
1368	sxtra	%f0, %f2, %f0, 0
1369	sxtra	%f2, %f0, %f0, 0
1370
1371#CHECK: error: instruction requires: transactional-execution
1372#CHECK: tabort	4095(%r1)
1373
1374	tabort	4095(%r1)
1375
1376#CHECK: error: instruction requires: transactional-execution
1377#CHECK: tbegin	4095(%r1), 42
1378
1379	tbegin	4095(%r1), 42
1380
1381#CHECK: error: instruction requires: transactional-execution
1382#CHECK: tbeginc	4095(%r1), 42
1383
1384	tbeginc	4095(%r1), 42
1385
1386#CHECK: error: instruction requires: transactional-execution
1387#CHECK: tend
1388
1389	tend
1390
1391