[SystemZ] Support transactional execution on zEC12
[oota-llvm.git] / test / MC / SystemZ / insn-bad-z196.s
1 # For z196 only.
2 # RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z196 < %s 2> %t
3 # RUN: FileCheck < %t %s
4
5 #CHECK: error: invalid operand
6 #CHECK: aghik   %r0, %r1, -32769
7 #CHECK: error: invalid operand
8 #CHECK: aghik   %r0, %r1, 32768
9 #CHECK: error: invalid operand
10 #CHECK: aghik   %r0, %r1, foo
11
12         aghik   %r0, %r1, -32769
13         aghik   %r0, %r1, 32768
14         aghik   %r0, %r1, foo
15
16 #CHECK: error: invalid operand
17 #CHECK: ahik    %r0, %r1, -32769
18 #CHECK: error: invalid operand
19 #CHECK: ahik    %r0, %r1, 32768
20 #CHECK: error: invalid operand
21 #CHECK: ahik    %r0, %r1, foo
22
23         ahik    %r0, %r1, -32769
24         ahik    %r0, %r1, 32768
25         ahik    %r0, %r1, foo
26
27 #CHECK: error: invalid operand
28 #CHECK: aih     %r0, (-1 << 31) - 1
29 #CHECK: error: invalid operand
30 #CHECK: aih     %r0, (1 << 31)
31
32         aih     %r0, (-1 << 31) - 1
33         aih     %r0, (1 << 31)
34
35 #CHECK: error: invalid operand
36 #CHECK: cdlfbr  %f0, 0, %r0, -1
37 #CHECK: error: invalid operand
38 #CHECK: cdlfbr  %f0, 0, %r0, 16
39 #CHECK: error: invalid operand
40 #CHECK: cdlfbr  %f0, -1, %r0, 0
41 #CHECK: error: invalid operand
42 #CHECK: cdlfbr  %f0, 16, %r0, 0
43
44         cdlfbr  %f0, 0, %r0, -1
45         cdlfbr  %f0, 0, %r0, 16
46         cdlfbr  %f0, -1, %r0, 0
47         cdlfbr  %f0, 16, %r0, 0
48
49 #CHECK: error: invalid operand
50 #CHECK: cdlgbr  %f0, 0, %r0, -1
51 #CHECK: error: invalid operand
52 #CHECK: cdlgbr  %f0, 0, %r0, 16
53 #CHECK: error: invalid operand
54 #CHECK: cdlgbr  %f0, -1, %r0, 0
55 #CHECK: error: invalid operand
56 #CHECK: cdlgbr  %f0, 16, %r0, 0
57
58         cdlgbr  %f0, 0, %r0, -1
59         cdlgbr  %f0, 0, %r0, 16
60         cdlgbr  %f0, -1, %r0, 0
61         cdlgbr  %f0, 16, %r0, 0
62
63 #CHECK: error: invalid operand
64 #CHECK: celfbr  %f0, 0, %r0, -1
65 #CHECK: error: invalid operand
66 #CHECK: celfbr  %f0, 0, %r0, 16
67 #CHECK: error: invalid operand
68 #CHECK: celfbr  %f0, -1, %r0, 0
69 #CHECK: error: invalid operand
70 #CHECK: celfbr  %f0, 16, %r0, 0
71
72         celfbr  %f0, 0, %r0, -1
73         celfbr  %f0, 0, %r0, 16
74         celfbr  %f0, -1, %r0, 0
75         celfbr  %f0, 16, %r0, 0
76
77 #CHECK: error: invalid operand
78 #CHECK: celgbr  %f0, 0, %r0, -1
79 #CHECK: error: invalid operand
80 #CHECK: celgbr  %f0, 0, %r0, 16
81 #CHECK: error: invalid operand
82 #CHECK: celgbr  %f0, -1, %r0, 0
83 #CHECK: error: invalid operand
84 #CHECK: celgbr  %f0, 16, %r0, 0
85
86         celgbr  %f0, 0, %r0, -1
87         celgbr  %f0, 0, %r0, 16
88         celgbr  %f0, -1, %r0, 0
89         celgbr  %f0, 16, %r0, 0
90
91 #CHECK: error: invalid operand
92 #CHECK: chf     %r0, -524289
93 #CHECK: error: invalid operand
94 #CHECK: chf     %r0, 524288
95
96         chf     %r0, -524289
97         chf     %r0, 524288
98
99 #CHECK: error: invalid operand
100 #CHECK: cih     %r0, (-1 << 31) - 1
101 #CHECK: error: invalid operand
102 #CHECK: cih     %r0, (1 << 31)
103
104         cih     %r0, (-1 << 31) - 1
105         cih     %r0, (1 << 31)
106
107 #CHECK: error: invalid operand
108 #CHECK: clfdbr  %r0, 0, %f0, -1
109 #CHECK: error: invalid operand
110 #CHECK: clfdbr  %r0, 0, %f0, 16
111 #CHECK: error: invalid operand
112 #CHECK: clfdbr  %r0, -1, %f0, 0
113 #CHECK: error: invalid operand
114 #CHECK: clfdbr  %r0, 16, %f0, 0
115
116         clfdbr  %r0, 0, %f0, -1
117         clfdbr  %r0, 0, %f0, 16
118         clfdbr  %r0, -1, %f0, 0
119         clfdbr  %r0, 16, %f0, 0
120
121 #CHECK: error: invalid operand
122 #CHECK: clfebr  %r0, 0, %f0, -1
123 #CHECK: error: invalid operand
124 #CHECK: clfebr  %r0, 0, %f0, 16
125 #CHECK: error: invalid operand
126 #CHECK: clfebr  %r0, -1, %f0, 0
127 #CHECK: error: invalid operand
128 #CHECK: clfebr  %r0, 16, %f0, 0
129
130         clfebr  %r0, 0, %f0, -1
131         clfebr  %r0, 0, %f0, 16
132         clfebr  %r0, -1, %f0, 0
133         clfebr  %r0, 16, %f0, 0
134
135 #CHECK: error: invalid operand
136 #CHECK: clfxbr  %r0, 0, %f0, -1
137 #CHECK: error: invalid operand
138 #CHECK: clfxbr  %r0, 0, %f0, 16
139 #CHECK: error: invalid operand
140 #CHECK: clfxbr  %r0, -1, %f0, 0
141 #CHECK: error: invalid operand
142 #CHECK: clfxbr  %r0, 16, %f0, 0
143 #CHECK: error: invalid register pair
144 #CHECK: clfxbr  %r0, 0, %f14, 0
145
146         clfxbr  %r0, 0, %f0, -1
147         clfxbr  %r0, 0, %f0, 16
148         clfxbr  %r0, -1, %f0, 0
149         clfxbr  %r0, 16, %f0, 0
150         clfxbr  %r0, 0, %f14, 0
151
152 #CHECK: error: invalid operand
153 #CHECK: clgdbr  %r0, 0, %f0, -1
154 #CHECK: error: invalid operand
155 #CHECK: clgdbr  %r0, 0, %f0, 16
156 #CHECK: error: invalid operand
157 #CHECK: clgdbr  %r0, -1, %f0, 0
158 #CHECK: error: invalid operand
159 #CHECK: clgdbr  %r0, 16, %f0, 0
160
161         clgdbr  %r0, 0, %f0, -1
162         clgdbr  %r0, 0, %f0, 16
163         clgdbr  %r0, -1, %f0, 0
164         clgdbr  %r0, 16, %f0, 0
165
166 #CHECK: error: invalid operand
167 #CHECK: clgebr  %r0, 0, %f0, -1
168 #CHECK: error: invalid operand
169 #CHECK: clgebr  %r0, 0, %f0, 16
170 #CHECK: error: invalid operand
171 #CHECK: clgebr  %r0, -1, %f0, 0
172 #CHECK: error: invalid operand
173 #CHECK: clgebr  %r0, 16, %f0, 0
174
175         clgebr  %r0, 0, %f0, -1
176         clgebr  %r0, 0, %f0, 16
177         clgebr  %r0, -1, %f0, 0
178         clgebr  %r0, 16, %f0, 0
179
180 #CHECK: error: invalid operand
181 #CHECK: clgxbr  %r0, 0, %f0, -1
182 #CHECK: error: invalid operand
183 #CHECK: clgxbr  %r0, 0, %f0, 16
184 #CHECK: error: invalid operand
185 #CHECK: clgxbr  %r0, -1, %f0, 0
186 #CHECK: error: invalid operand
187 #CHECK: clgxbr  %r0, 16, %f0, 0
188 #CHECK: error: invalid register pair
189 #CHECK: clgxbr  %r0, 0, %f14, 0
190
191         clgxbr  %r0, 0, %f0, -1
192         clgxbr  %r0, 0, %f0, 16
193         clgxbr  %r0, -1, %f0, 0
194         clgxbr  %r0, 16, %f0, 0
195         clgxbr  %r0, 0, %f14, 0
196
197 #CHECK: error: invalid operand
198 #CHECK: clhf    %r0, -524289
199 #CHECK: error: invalid operand
200 #CHECK: clhf    %r0, 524288
201
202         clhf    %r0, -524289
203         clhf    %r0, 524288
204
205 #CHECK: error: invalid operand
206 #CHECK: clih    %r0, -1
207 #CHECK: error: invalid operand
208 #CHECK: clih    %r0, (1 << 32)
209
210         clih    %r0, -1
211         clih    %r0, (1 << 32)
212
213 #CHECK: error: invalid operand
214 #CHECK: cxlfbr  %f0, 0, %r0, -1
215 #CHECK: error: invalid operand
216 #CHECK: cxlfbr  %f0, 0, %r0, 16
217 #CHECK: error: invalid operand
218 #CHECK: cxlfbr  %f0, -1, %r0, 0
219 #CHECK: error: invalid operand
220 #CHECK: cxlfbr  %f0, 16, %r0, 0
221 #CHECK: error: invalid register pair
222 #CHECK: cxlfbr  %f2, 0, %r0, 0
223
224         cxlfbr  %f0, 0, %r0, -1
225         cxlfbr  %f0, 0, %r0, 16
226         cxlfbr  %f0, -1, %r0, 0
227         cxlfbr  %f0, 16, %r0, 0
228         cxlfbr  %f2, 0, %r0, 0
229
230 #CHECK: error: invalid operand
231 #CHECK: cxlgbr  %f0, 0, %r0, -1
232 #CHECK: error: invalid operand
233 #CHECK: cxlgbr  %f0, 0, %r0, 16
234 #CHECK: error: invalid operand
235 #CHECK: cxlgbr  %f0, -1, %r0, 0
236 #CHECK: error: invalid operand
237 #CHECK: cxlgbr  %f0, 16, %r0, 0
238 #CHECK: error: invalid register pair
239 #CHECK: cxlgbr  %f2, 0, %r0, 0
240
241         cxlgbr  %f0, 0, %r0, -1
242         cxlgbr  %f0, 0, %r0, 16
243         cxlgbr  %f0, -1, %r0, 0
244         cxlgbr  %f0, 16, %r0, 0
245         cxlgbr  %f2, 0, %r0, 0
246
247 #CHECK: error: {{(instruction requires: transactional-execution)?}}
248 #CHECK: etnd    %r7
249
250         etnd    %r7
251
252 #CHECK: error: invalid operand
253 #CHECK: fidbra  %f0, 0, %f0, -1
254 #CHECK: error: invalid operand
255 #CHECK: fidbra  %f0, 0, %f0, 16
256 #CHECK: error: invalid operand
257 #CHECK: fidbra  %f0, -1, %f0, 0
258 #CHECK: error: invalid operand
259 #CHECK: fidbra  %f0, 16, %f0, 0
260
261         fidbra  %f0, 0, %f0, -1
262         fidbra  %f0, 0, %f0, 16
263         fidbra  %f0, -1, %f0, 0
264         fidbra  %f0, 16, %f0, 0
265
266 #CHECK: error: invalid operand
267 #CHECK: fiebra  %f0, 0, %f0, -1
268 #CHECK: error: invalid operand
269 #CHECK: fiebra  %f0, 0, %f0, 16
270 #CHECK: error: invalid operand
271 #CHECK: fiebra  %f0, -1, %f0, 0
272 #CHECK: error: invalid operand
273 #CHECK: fiebra  %f0, 16, %f0, 0
274
275         fiebra  %f0, 0, %f0, -1
276         fiebra  %f0, 0, %f0, 16
277         fiebra  %f0, -1, %f0, 0
278         fiebra  %f0, 16, %f0, 0
279
280 #CHECK: error: invalid operand
281 #CHECK: fixbra  %f0, 0, %f0, -1
282 #CHECK: error: invalid operand
283 #CHECK: fixbra  %f0, 0, %f0, 16
284 #CHECK: error: invalid operand
285 #CHECK: fixbra  %f0, -1, %f0, 0
286 #CHECK: error: invalid operand
287 #CHECK: fixbra  %f0, 16, %f0, 0
288 #CHECK: error: invalid register pair
289 #CHECK: fixbra  %f0, 0, %f2, 0
290 #CHECK: error: invalid register pair
291 #CHECK: fixbra  %f2, 0, %f0, 0
292
293         fixbra  %f0, 0, %f0, -1
294         fixbra  %f0, 0, %f0, 16
295         fixbra  %f0, -1, %f0, 0
296         fixbra  %f0, 16, %f0, 0
297         fixbra  %f0, 0, %f2, 0
298         fixbra  %f2, 0, %f0, 0
299
300 #CHECK: error: invalid operand
301 #CHECK: laa     %r0, %r0, -524289
302 #CHECK: error: invalid operand
303 #CHECK: laa     %r0, %r0, 524288
304 #CHECK: error: invalid use of indexed addressing
305 #CHECK: laa     %r0, %r0, 0(%r1,%r2)
306
307         laa     %r0, %r0, -524289
308         laa     %r0, %r0, 524288
309         laa     %r0, %r0, 0(%r1,%r2)
310
311 #CHECK: error: invalid operand
312 #CHECK: laag    %r0, %r0, -524289
313 #CHECK: error: invalid operand
314 #CHECK: laag    %r0, %r0, 524288
315 #CHECK: error: invalid use of indexed addressing
316 #CHECK: laag    %r0, %r0, 0(%r1,%r2)
317
318         laag    %r0, %r0, -524289
319         laag    %r0, %r0, 524288
320         laag    %r0, %r0, 0(%r1,%r2)
321
322 #CHECK: error: invalid operand
323 #CHECK: laal    %r0, %r0, -524289
324 #CHECK: error: invalid operand
325 #CHECK: laal    %r0, %r0, 524288
326 #CHECK: error: invalid use of indexed addressing
327 #CHECK: laal    %r0, %r0, 0(%r1,%r2)
328
329         laal    %r0, %r0, -524289
330         laal    %r0, %r0, 524288
331         laal    %r0, %r0, 0(%r1,%r2)
332
333 #CHECK: error: invalid operand
334 #CHECK: laalg   %r0, %r0, -524289
335 #CHECK: error: invalid operand
336 #CHECK: laalg   %r0, %r0, 524288
337 #CHECK: error: invalid use of indexed addressing
338 #CHECK: laalg   %r0, %r0, 0(%r1,%r2)
339
340         laalg   %r0, %r0, -524289
341         laalg   %r0, %r0, 524288
342         laalg   %r0, %r0, 0(%r1,%r2)
343
344 #CHECK: error: invalid operand
345 #CHECK: lan     %r0, %r0, -524289
346 #CHECK: error: invalid operand
347 #CHECK: lan     %r0, %r0, 524288
348 #CHECK: error: invalid use of indexed addressing
349 #CHECK: lan     %r0, %r0, 0(%r1,%r2)
350
351         lan     %r0, %r0, -524289
352         lan     %r0, %r0, 524288
353         lan     %r0, %r0, 0(%r1,%r2)
354
355 #CHECK: error: invalid operand
356 #CHECK: lang    %r0, %r0, -524289
357 #CHECK: error: invalid operand
358 #CHECK: lang    %r0, %r0, 524288
359 #CHECK: error: invalid use of indexed addressing
360 #CHECK: lang    %r0, %r0, 0(%r1,%r2)
361
362         lang    %r0, %r0, -524289
363         lang    %r0, %r0, 524288
364         lang    %r0, %r0, 0(%r1,%r2)
365
366 #CHECK: error: invalid operand
367 #CHECK: lao     %r0, %r0, -524289
368 #CHECK: error: invalid operand
369 #CHECK: lao     %r0, %r0, 524288
370 #CHECK: error: invalid use of indexed addressing
371 #CHECK: lao     %r0, %r0, 0(%r1,%r2)
372
373         lao     %r0, %r0, -524289
374         lao     %r0, %r0, 524288
375         lao     %r0, %r0, 0(%r1,%r2)
376
377 #CHECK: error: invalid operand
378 #CHECK: laog    %r0, %r0, -524289
379 #CHECK: error: invalid operand
380 #CHECK: laog    %r0, %r0, 524288
381 #CHECK: error: invalid use of indexed addressing
382 #CHECK: laog    %r0, %r0, 0(%r1,%r2)
383
384         laog    %r0, %r0, -524289
385         laog    %r0, %r0, 524288
386         laog    %r0, %r0, 0(%r1,%r2)
387
388 #CHECK: error: invalid operand
389 #CHECK: lax     %r0, %r0, -524289
390 #CHECK: error: invalid operand
391 #CHECK: lax     %r0, %r0, 524288
392 #CHECK: error: invalid use of indexed addressing
393 #CHECK: lax     %r0, %r0, 0(%r1,%r2)
394
395         lax     %r0, %r0, -524289
396         lax     %r0, %r0, 524288
397         lax     %r0, %r0, 0(%r1,%r2)
398
399 #CHECK: error: invalid operand
400 #CHECK: laxg    %r0, %r0, -524289
401 #CHECK: error: invalid operand
402 #CHECK: laxg    %r0, %r0, 524288
403 #CHECK: error: invalid use of indexed addressing
404 #CHECK: laxg    %r0, %r0, 0(%r1,%r2)
405
406         laxg    %r0, %r0, -524289
407         laxg    %r0, %r0, 524288
408         laxg    %r0, %r0, 0(%r1,%r2)
409
410 #CHECK: error: invalid operand
411 #CHECK: lbh     %r0, -524289
412 #CHECK: error: invalid operand
413 #CHECK: lbh     %r0, 524288
414
415         lbh     %r0, -524289
416         lbh     %r0, 524288
417
418 #CHECK: error: invalid operand
419 #CHECK: ldxbra  %f0, 0, %f0, -1
420 #CHECK: error: invalid operand
421 #CHECK: ldxbra  %f0, 0, %f0, 16
422 #CHECK: error: invalid operand
423 #CHECK: ldxbra  %f0, -1, %f0, 0
424 #CHECK: error: invalid operand
425 #CHECK: ldxbra  %f0, 16, %f0, 0
426 #CHECK: error: invalid register pair
427 #CHECK: ldxbra  %f0, 0, %f2, 0
428 #CHECK: error: invalid register pair
429 #CHECK: ldxbra  %f2, 0, %f0, 0
430
431         ldxbra  %f0, 0, %f0, -1
432         ldxbra  %f0, 0, %f0, 16
433         ldxbra  %f0, -1, %f0, 0
434         ldxbra  %f0, 16, %f0, 0
435         ldxbra  %f0, 0, %f2, 0
436         ldxbra  %f2, 0, %f0, 0
437
438 #CHECK: error: invalid operand
439 #CHECK: ledbra  %f0, 0, %f0, -1
440 #CHECK: error: invalid operand
441 #CHECK: ledbra  %f0, 0, %f0, 16
442 #CHECK: error: invalid operand
443 #CHECK: ledbra  %f0, -1, %f0, 0
444 #CHECK: error: invalid operand
445 #CHECK: ledbra  %f0, 16, %f0, 0
446
447         ledbra  %f0, 0, %f0, -1
448         ledbra  %f0, 0, %f0, 16
449         ledbra  %f0, -1, %f0, 0
450         ledbra  %f0, 16, %f0, 0
451
452 #CHECK: error: invalid operand
453 #CHECK: lexbra  %f0, 0, %f0, -1
454 #CHECK: error: invalid operand
455 #CHECK: lexbra  %f0, 0, %f0, 16
456 #CHECK: error: invalid operand
457 #CHECK: lexbra  %f0, -1, %f0, 0
458 #CHECK: error: invalid operand
459 #CHECK: lexbra  %f0, 16, %f0, 0
460 #CHECK: error: invalid register pair
461 #CHECK: lexbra  %f0, 0, %f2, 0
462 #CHECK: error: invalid register pair
463 #CHECK: lexbra  %f2, 0, %f0, 0
464
465         lexbra  %f0, 0, %f0, -1
466         lexbra  %f0, 0, %f0, 16
467         lexbra  %f0, -1, %f0, 0
468         lexbra  %f0, 16, %f0, 0
469         lexbra  %f0, 0, %f2, 0
470         lexbra  %f2, 0, %f0, 0
471
472 #CHECK: error: invalid operand
473 #CHECK: lfh     %r0, -524289
474 #CHECK: error: invalid operand
475 #CHECK: lfh     %r0, 524288
476
477         lfh     %r0, -524289
478         lfh     %r0, 524288
479
480 #CHECK: error: invalid operand
481 #CHECK: lhh     %r0, -524289
482 #CHECK: error: invalid operand
483 #CHECK: lhh     %r0, 524288
484
485         lhh     %r0, -524289
486         lhh     %r0, 524288
487
488 #CHECK: error: invalid operand
489 #CHECK: llch    %r0, -524289
490 #CHECK: error: invalid operand
491 #CHECK: llch    %r0, 524288
492
493         llch    %r0, -524289
494         llch    %r0, 524288
495
496 #CHECK: error: invalid operand
497 #CHECK: llhh    %r0, -524289
498 #CHECK: error: invalid operand
499 #CHECK: llhh    %r0, 524288
500
501         llhh    %r0, -524289
502         llhh    %r0, 524288
503
504 #CHECK: error: invalid operand
505 #CHECK: loc     %r0,0,-1
506 #CHECK: error: invalid operand
507 #CHECK: loc     %r0,0,16
508 #CHECK: error: invalid operand
509 #CHECK: loc     %r0,-524289,1
510 #CHECK: error: invalid operand
511 #CHECK: loc     %r0,524288,1
512 #CHECK: error: invalid use of indexed addressing
513 #CHECK: loc     %r0,0(%r1,%r2),1
514
515         loc     %r0,0,-1
516         loc     %r0,0,16
517         loc     %r0,-524289,1
518         loc     %r0,524288,1
519         loc     %r0,0(%r1,%r2),1
520
521 #CHECK: error: invalid operand
522 #CHECK: locg    %r0,0,-1
523 #CHECK: error: invalid operand
524 #CHECK: locg    %r0,0,16
525 #CHECK: error: invalid operand
526 #CHECK: locg    %r0,-524289,1
527 #CHECK: error: invalid operand
528 #CHECK: locg    %r0,524288,1
529 #CHECK: error: invalid use of indexed addressing
530 #CHECK: locg    %r0,0(%r1,%r2),1
531
532         locg    %r0,0,-1
533         locg    %r0,0,16
534         locg    %r0,-524289,1
535         locg    %r0,524288,1
536         locg    %r0,0(%r1,%r2),1
537
538 #CHECK: error: invalid operand
539 #CHECK: locgr   %r0,%r0,-1
540 #CHECK: error: invalid operand
541 #CHECK: locgr   %r0,%r0,16
542
543         locgr   %r0,%r0,-1
544         locgr   %r0,%r0,16
545
546 #CHECK: error: invalid operand
547 #CHECK: locr    %r0,%r0,-1
548 #CHECK: error: invalid operand
549 #CHECK: locr    %r0,%r0,16
550
551         locr    %r0,%r0,-1
552         locr    %r0,%r0,16
553
554 #CHECK: error: {{(instruction requires: transactional-execution)?}}
555 #CHECK: ntstg   %r0, 524287(%r1,%r15)
556
557         ntstg   %r0, 524287(%r1,%r15)
558
559 #CHECK: error: {{(instruction requires: processor-assist)?}}
560 #CHECK: ppa     %r4, %r6, 7
561
562         ppa     %r4, %r6, 7
563
564 #CHECK: error: {{(instruction requires: miscellaneous-extensions)?}}
565 #CHECK: risbgn  %r1, %r2, 0, 0, 0
566
567         risbgn  %r1, %r2, 0, 0, 0
568
569 #CHECK: error: invalid operand
570 #CHECK: risbhg  %r0,%r0,0,0,-1
571 #CHECK: error: invalid operand
572 #CHECK: risbhg  %r0,%r0,0,0,64
573 #CHECK: error: invalid operand
574 #CHECK: risbhg  %r0,%r0,0,-1,0
575 #CHECK: error: invalid operand
576 #CHECK: risbhg  %r0,%r0,0,256,0
577 #CHECK: error: invalid operand
578 #CHECK: risbhg  %r0,%r0,-1,0,0
579 #CHECK: error: invalid operand
580 #CHECK: risbhg  %r0,%r0,256,0,0
581
582         risbhg  %r0,%r0,0,0,-1
583         risbhg  %r0,%r0,0,0,64
584         risbhg  %r0,%r0,0,-1,0
585         risbhg  %r0,%r0,0,256,0
586         risbhg  %r0,%r0,-1,0,0
587         risbhg  %r0,%r0,256,0,0
588
589 #CHECK: error: invalid operand
590 #CHECK: risblg  %r0,%r0,0,0,-1
591 #CHECK: error: invalid operand
592 #CHECK: risblg  %r0,%r0,0,0,64
593 #CHECK: error: invalid operand
594 #CHECK: risblg  %r0,%r0,0,-1,0
595 #CHECK: error: invalid operand
596 #CHECK: risblg  %r0,%r0,0,256,0
597 #CHECK: error: invalid operand
598 #CHECK: risblg  %r0,%r0,-1,0,0
599 #CHECK: error: invalid operand
600 #CHECK: risblg  %r0,%r0,256,0,0
601
602         risblg  %r0,%r0,0,0,-1
603         risblg  %r0,%r0,0,0,64
604         risblg  %r0,%r0,0,-1,0
605         risblg  %r0,%r0,0,256,0
606         risblg  %r0,%r0,-1,0,0
607         risblg  %r0,%r0,256,0,0
608
609 #CHECK: error: invalid operand
610 #CHECK: sllk    %r0,%r0,-524289
611 #CHECK: error: invalid operand
612 #CHECK: sllk    %r0,%r0,524288
613 #CHECK: error: %r0 used in an address
614 #CHECK: sllk    %r0,%r0,0(%r0)
615 #CHECK: error: invalid use of indexed addressing
616 #CHECK: sllk    %r0,%r0,0(%r1,%r2)
617
618         sllk    %r0,%r0,-524289
619         sllk    %r0,%r0,524288
620         sllk    %r0,%r0,0(%r0)
621         sllk    %r0,%r0,0(%r1,%r2)
622
623 #CHECK: error: invalid operand
624 #CHECK: srak    %r0,%r0,-524289
625 #CHECK: error: invalid operand
626 #CHECK: srak    %r0,%r0,524288
627 #CHECK: error: %r0 used in an address
628 #CHECK: srak    %r0,%r0,0(%r0)
629 #CHECK: error: invalid use of indexed addressing
630 #CHECK: srak    %r0,%r0,0(%r1,%r2)
631
632         srak    %r0,%r0,-524289
633         srak    %r0,%r0,524288
634         srak    %r0,%r0,0(%r0)
635         srak    %r0,%r0,0(%r1,%r2)
636
637 #CHECK: error: invalid operand
638 #CHECK: srlk    %r0,%r0,-524289
639 #CHECK: error: invalid operand
640 #CHECK: srlk    %r0,%r0,524288
641 #CHECK: error: %r0 used in an address
642 #CHECK: srlk    %r0,%r0,0(%r0)
643 #CHECK: error: invalid use of indexed addressing
644 #CHECK: srlk    %r0,%r0,0(%r1,%r2)
645
646         srlk    %r0,%r0,-524289
647         srlk    %r0,%r0,524288
648         srlk    %r0,%r0,0(%r0)
649         srlk    %r0,%r0,0(%r1,%r2)
650
651 #CHECK: error: invalid operand
652 #CHECK: stch    %r0, -524289
653 #CHECK: error: invalid operand
654 #CHECK: stch    %r0, 524288
655
656         stch    %r0, -524289
657         stch    %r0, 524288
658
659 #CHECK: error: invalid operand
660 #CHECK: sthh    %r0, -524289
661 #CHECK: error: invalid operand
662 #CHECK: sthh    %r0, 524288
663
664         sthh    %r0, -524289
665         sthh    %r0, 524288
666
667 #CHECK: error: invalid operand
668 #CHECK: stfh    %r0, -524289
669 #CHECK: error: invalid operand
670 #CHECK: stfh    %r0, 524288
671
672         stfh    %r0, -524289
673         stfh    %r0, 524288
674
675 #CHECK: error: invalid operand
676 #CHECK: stoc    %r0,0,-1
677 #CHECK: error: invalid operand
678 #CHECK: stoc    %r0,0,16
679 #CHECK: error: invalid operand
680 #CHECK: stoc    %r0,-524289,1
681 #CHECK: error: invalid operand
682 #CHECK: stoc    %r0,524288,1
683 #CHECK: error: invalid use of indexed addressing
684 #CHECK: stoc    %r0,0(%r1,%r2),1
685
686         stoc    %r0,0,-1
687         stoc    %r0,0,16
688         stoc    %r0,-524289,1
689         stoc    %r0,524288,1
690         stoc    %r0,0(%r1,%r2),1
691
692 #CHECK: error: invalid operand
693 #CHECK: stocg   %r0,0,-1
694 #CHECK: error: invalid operand
695 #CHECK: stocg   %r0,0,16
696 #CHECK: error: invalid operand
697 #CHECK: stocg   %r0,-524289,1
698 #CHECK: error: invalid operand
699 #CHECK: stocg   %r0,524288,1
700 #CHECK: error: invalid use of indexed addressing
701 #CHECK: stocg   %r0,0(%r1,%r2),1
702
703         stocg   %r0,0,-1
704         stocg   %r0,0,16
705         stocg   %r0,-524289,1
706         stocg   %r0,524288,1
707         stocg   %r0,0(%r1,%r2),1
708
709 #CHECK: error: {{(instruction requires: transactional-execution)?}}
710 #CHECK: tabort  4095(%r1)
711
712         tabort  4095(%r1)
713
714 #CHECK: error: {{(instruction requires: transactional-execution)?}}
715 #CHECK: tbegin  4095(%r1), 42
716
717         tbegin  4095(%r1), 42
718
719 #CHECK: error: {{(instruction requires: transactional-execution)?}}
720 #CHECK: tbeginc 4095(%r1), 42
721
722         tbeginc 4095(%r1), 42
723
724 #CHECK: error: {{(instruction requires: transactional-execution)?}}
725 #CHECK: tend
726
727         tend
728