[InstCombine] Signed saturation patterns
[llvm-core.git] / test / MC / SystemZ / insn-bad-z14.s
blobf3c8414af7d80b02f3690a2c65da5e2e95bc34bf
1 # For z14 only.
2 # RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z14 < %s 2> %t
3 # RUN: FileCheck < %t %s
4 # RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=arch12 < %s 2> %t
5 # RUN: FileCheck < %t %s
7 #CHECK: error: invalid operand
8 #CHECK: bi -524289
9 #CHECK: error: invalid operand
10 #CHECK: bi 524288
12 bi -524289
13 bi 524288
15 #CHECK: error: invalid operand
16 #CHECK: bic -1, 0(%r1)
17 #CHECK: error: invalid operand
18 #CHECK: bic 16, 0(%r1)
19 #CHECK: error: invalid operand
20 #CHECK: bic 0, -524289
21 #CHECK: error: invalid operand
22 #CHECK: bic 0, 524288
24 bic -1, 0(%r1)
25 bic 16, 0(%r1)
26 bic 0, -524289
27 bic 0, 524288
29 #CHECK: error: invalid operand
30 #CHECK: agh %r0, -524289
31 #CHECK: error: invalid operand
32 #CHECK: agh %r0, 524288
34 agh %r0, -524289
35 agh %r0, 524288
37 #CHECK: error: instruction requires: deflate-conversion
38 #CHECK: dfltcc %r2, %r4, %r6
40 dfltcc %r2, %r4, %r6
42 #CHECK: error: instruction requires: message-security-assist-extension9
43 #CHECK: kdsa %r0, %r2
45 kdsa %r0, %r2
47 #CHECK: error: invalid register pair
48 #CHECK: kma %r1, %r2, %r4
49 #CHECK: error: invalid register pair
50 #CHECK: kma %r2, %r1, %r4
51 #CHECK: error: invalid register pair
52 #CHECK: kma %r2, %r4, %r1
54 kma %r1, %r2, %r4
55 kma %r2, %r1, %r4
56 kma %r2, %r4, %r1
58 #CHECK: error: invalid operand
59 #CHECK: lgg %r0, -524289
60 #CHECK: error: invalid operand
61 #CHECK: lgg %r0, 524288
63 lgg %r0, -524289
64 lgg %r0, 524288
66 #CHECK: error: invalid operand
67 #CHECK: lgsc %r0, -524289
68 #CHECK: error: invalid operand
69 #CHECK: lgsc %r0, 524288
71 lgsc %r0, -524289
72 lgsc %r0, 524288
74 #CHECK: error: invalid operand
75 #CHECK: llgfsg %r0, -524289
76 #CHECK: error: invalid operand
77 #CHECK: llgfsg %r0, 524288
79 llgfsg %r0, -524289
80 llgfsg %r0, 524288
82 #CHECK: error: invalid operand
83 #CHECK: mg %r0, -524289
84 #CHECK: error: invalid operand
85 #CHECK: mg %r0, 524288
86 #CHECK: error: invalid register pair
87 #CHECK: mg %r1, 0
89 mg %r0, -524289
90 mg %r0, 524288
91 mg %r1, 0
93 #CHECK: error: invalid operand
94 #CHECK: mgh %r0, -524289
95 #CHECK: error: invalid operand
96 #CHECK: mgh %r0, 524288
98 mgh %r0, -524289
99 mgh %r0, 524288
101 #CHECK: error: invalid register pair
102 #CHECK: mgrk %r1, %r0, %r0
104 mgrk %r1, %r0, %r0
106 #CHECK: error: invalid operand
107 #CHECK: msc %r0, -524289
108 #CHECK: error: invalid operand
109 #CHECK: msc %r0, 524288
111 msc %r0, -524289
112 msc %r0, 524288
114 #CHECK: error: invalid operand
115 #CHECK: msgc %r0, -524289
116 #CHECK: error: invalid operand
117 #CHECK: msgc %r0, 524288
119 msgc %r0, -524289
120 msgc %r0, 524288
122 #CHECK: error: instruction requires: miscellaneous-extensions-3
123 #CHECK: mvcrl 0, 0
125 mvcrl 0, 0
127 #CHECK: error: instruction requires: miscellaneous-extensions-3
128 #CHECK: ncgrk %r0, %r0, %r0
130 ncgrk %r0, %r0, %r0
132 #CHECK: error: instruction requires: miscellaneous-extensions-3
133 #CHECK: ncrk %r0, %r0, %r0
135 ncrk %r0, %r0, %r0
137 #CHECK: error: instruction requires: miscellaneous-extensions-3
138 #CHECK: nngrk %r0, %r0, %r0
140 nngrk %r0, %r0, %r0
142 #CHECK: error: instruction requires: miscellaneous-extensions-3
143 #CHECK: nnrk %r0, %r0, %r0
145 nnrk %r0, %r0, %r0
147 #CHECK: error: instruction requires: miscellaneous-extensions-3
148 #CHECK: nogrk %r0, %r0, %r0
150 nogrk %r0, %r0, %r0
152 #CHECK: error: instruction requires: miscellaneous-extensions-3
153 #CHECK: nork %r0, %r0, %r0
155 nork %r0, %r0, %r0
157 #CHECK: error: instruction requires: miscellaneous-extensions-3
158 #CHECK: nxgrk %r0, %r0, %r0
160 nxgrk %r0, %r0, %r0
162 #CHECK: error: instruction requires: miscellaneous-extensions-3
163 #CHECK: nxrk %r0, %r0, %r0
165 nxrk %r0, %r0, %r0
167 #CHECK: error: instruction requires: miscellaneous-extensions-3
168 #CHECK: ocgrk %r0, %r0, %r0
170 ocgrk %r0, %r0, %r0
172 #CHECK: error: instruction requires: miscellaneous-extensions-3
173 #CHECK: ocrk %r0, %r0, %r0
175 ocrk %r0, %r0, %r0
177 #CHECK: error: instruction requires: miscellaneous-extensions-3
178 #CHECK: popcnt %r2, %r4, 1
180 popcnt %r2, %r4, 1
182 #CHECK: error: invalid register pair
183 #CHECK: prno %r1, %r2
184 #CHECK: error: invalid register pair
185 #CHECK: prno %r2, %r1
187 prno %r1, %r2
188 prno %r2, %r1
190 #CHECK: error: instruction requires: miscellaneous-extensions-3
191 #CHECK: selgr %r0, %r0, %r0, 0
192 #CHECK: error: instruction requires: miscellaneous-extensions-3
193 #CHECK: selgre %r0, %r0, %r0
195 selgr %r0, %r0, %r0, 0
196 selgre %r0, %r0, %r0
198 #CHECK: error: instruction requires: miscellaneous-extensions-3
199 #CHECK: selfhr %r0, %r0, %r0, 0
200 #CHECK: error: instruction requires: miscellaneous-extensions-3
201 #CHECK: selfhre %r0, %r0, %r0
203 selfhr %r0, %r0, %r0, 0
204 selfhre %r0, %r0, %r0
206 #CHECK: error: instruction requires: miscellaneous-extensions-3
207 #CHECK: selr %r0, %r0, %r0, 0
208 #CHECK: error: instruction requires: miscellaneous-extensions-3
209 #CHECK: selre %r0, %r0, %r0
211 selr %r0, %r0, %r0, 0
212 selre %r0, %r0, %r0
214 #CHECK: error: invalid operand
215 #CHECK: sgh %r0, -524289
216 #CHECK: error: invalid operand
217 #CHECK: sgh %r0, 524288
219 sgh %r0, -524289
220 sgh %r0, 524288
222 #CHECK: error: instruction requires: enhanced-sort
223 #CHECK: sortl %r2, %r4
225 sortl %r2, %r4
227 #CHECK: error: invalid operand
228 #CHECK: stgsc %r0, -524289
229 #CHECK: error: invalid operand
230 #CHECK: stgsc %r0, 524288
232 stgsc %r0, -524289
233 stgsc %r0, 524288
235 #CHECK: error: invalid operand
236 #CHECK: vap %v0, %v0, %v0, 0, -1
237 #CHECK: error: invalid operand
238 #CHECK: vap %v0, %v0, %v0, 0, 16
239 #CHECK: error: invalid operand
240 #CHECK: vap %v0, %v0, %v0, -1, 0
241 #CHECK: error: invalid operand
242 #CHECK: vap %v0, %v0, %v0, 256, 0
244 vap %v0, %v0, %v0, 0, -1
245 vap %v0, %v0, %v0, 0, 16
246 vap %v0, %v0, %v0, -1, 0
247 vap %v0, %v0, %v0, 256, 0
249 #CHECK: error: instruction requires: vector-enhancements-2
250 #CHECK: vcefb %v0, %v0, 0, 0
252 vcefb %v0, %v0, 0, 0
254 #CHECK: error: instruction requires: vector-enhancements-2
255 #CHECK: vcelfb %v0, %v0, 0, 0
257 vcelfb %v0, %v0, 0, 0
259 #CHECK: error: instruction requires: vector-enhancements-2
260 #CHECK: vcfeb %v0, %v0, 0, 0
262 vcfeb %v0, %v0, 0, 0
264 #CHECK: error: instruction requires: vector-enhancements-2
265 #CHECK: vcfpl %v0, %v0, 0, 0, 0
267 vcfpl %v0, %v0, 0, 0, 0
269 #CHECK: error: instruction requires: vector-enhancements-2
270 #CHECK: vcfps %v0, %v0, 0, 0, 0
272 vcfps %v0, %v0, 0, 0, 0
274 #CHECK: error: instruction requires: vector-enhancements-2
275 #CHECK: vclfeb %v0, %v0, 0, 0
277 vclfeb %v0, %v0, 0, 0
279 #CHECK: error: instruction requires: vector-enhancements-2
280 #CHECK: vclfp %v0, %v0, 0, 0, 0
282 vclfp %v0, %v0, 0, 0, 0
284 #CHECK: error: invalid operand
285 #CHECK: vcp %v0, %v0, -1
286 #CHECK: error: invalid operand
287 #CHECK: vcp %v0, %v0, 16
289 vcp %v0, %v0, -1
290 vcp %v0, %v0, 16
292 #CHECK: error: instruction requires: vector-enhancements-2
293 #CHECK: vcsfp %v0, %v0, 0, 0, 0
295 vcsfp %v0, %v0, 0, 0, 0
297 #CHECK: error: invalid operand
298 #CHECK: vcvb %r0, %v0, -1
299 #CHECK: error: invalid operand
300 #CHECK: vcvb %r0, %v0, 16
301 #CHECK: error: instruction requires: vector-packed-decimal-enhancement
302 #CHECK: vcvb %r0, %v0, 0, 1
304 vcvb %r0, %v0, -1
305 vcvb %r0, %v0, 16
306 vcvb %r0, %v0, 0, 1
308 #CHECK: error: invalid operand
309 #CHECK: vcvbg %r0, %v0, -1
310 #CHECK: error: invalid operand
311 #CHECK: vcvbg %r0, %v0, 16
312 #CHECK: error: instruction requires: vector-packed-decimal-enhancement
313 #CHECK: vcvbg %r0, %v0, 0, 1
315 vcvbg %r0, %v0, -1
316 vcvbg %r0, %v0, 16
317 vcvbg %r0, %v0, 0, 1
319 #CHECK: error: invalid operand
320 #CHECK: vcvd %r0, %v0, 0, -1
321 #CHECK: error: invalid operand
322 #CHECK: vcvd %r0, %v0, 0, 16
323 #CHECK: error: invalid operand
324 #CHECK: vcvd %r0, %v0, -1, 0
325 #CHECK: error: invalid operand
326 #CHECK: vcvd %r0, %v0, 256, 0
328 vcvd %r0, %v0, 0, -1
329 vcvd %r0, %v0, 0, 16
330 vcvd %r0, %v0, -1, 0
331 vcvd %r0, %v0, 256, 0
333 #CHECK: error: invalid operand
334 #CHECK: vcvdg %r0, %v0, 0, -1
335 #CHECK: error: invalid operand
336 #CHECK: vcvdg %r0, %v0, 0, 16
337 #CHECK: error: invalid operand
338 #CHECK: vcvdg %r0, %v0, -1, 0
339 #CHECK: error: invalid operand
340 #CHECK: vcvdg %r0, %v0, 256, 0
342 vcvdg %r0, %v0, 0, -1
343 vcvdg %r0, %v0, 0, 16
344 vcvdg %r0, %v0, -1, 0
345 vcvdg %r0, %v0, 256, 0
347 #CHECK: error: invalid operand
348 #CHECK: vdp %v0, %v0, %v0, 0, -1
349 #CHECK: error: invalid operand
350 #CHECK: vdp %v0, %v0, %v0, 0, 16
351 #CHECK: error: invalid operand
352 #CHECK: vdp %v0, %v0, %v0, -1, 0
353 #CHECK: error: invalid operand
354 #CHECK: vdp %v0, %v0, %v0, 256, 0
356 vdp %v0, %v0, %v0, 0, -1
357 vdp %v0, %v0, %v0, 0, 16
358 vdp %v0, %v0, %v0, -1, 0
359 vdp %v0, %v0, %v0, 256, 0
361 #CHECK: error: invalid operand
362 #CHECK: vfisb %v0, %v0, 0, -1
363 #CHECK: error: invalid operand
364 #CHECK: vfisb %v0, %v0, 0, 16
365 #CHECK: error: invalid operand
366 #CHECK: vfisb %v0, %v0, -1, 0
367 #CHECK: error: invalid operand
368 #CHECK: vfisb %v0, %v0, 16, 0
370 vfisb %v0, %v0, 0, -1
371 vfisb %v0, %v0, 0, 16
372 vfisb %v0, %v0, -1, 0
373 vfisb %v0, %v0, 16, 0
375 #CHECK: error: invalid operand
376 #CHECK: vfll %v0, %v0, 0, -1
377 #CHECK: error: invalid operand
378 #CHECK: vfll %v0, %v0, 0, 16
379 #CHECK: error: invalid operand
380 #CHECK: vfll %v0, %v0, -1, 0
381 #CHECK: error: invalid operand
382 #CHECK: vfll %v0, %v0, 16, 0
384 vfll %v0, %v0, 0, -1
385 vfll %v0, %v0, 0, 16
386 vfll %v0, %v0, -1, 0
387 vfll %v0, %v0, 16, 0
389 #CHECK: error: invalid operand
390 #CHECK: vflr %v0, %v0, 0, 0, -1
391 #CHECK: error: invalid operand
392 #CHECK: vflr %v0, %v0, 0, 0, 16
393 #CHECK: error: invalid operand
394 #CHECK: vflr %v0, %v0, 0, -1, 0
395 #CHECK: error: invalid operand
396 #CHECK: vflr %v0, %v0, 0, 16, 0
397 #CHECK: error: invalid operand
398 #CHECK: vflr %v0, %v0, -1, 0, 0
399 #CHECK: error: invalid operand
400 #CHECK: vflr %v0, %v0, 16, 0, 0
402 vflr %v0, %v0, 0, 0, -1
403 vflr %v0, %v0, 0, 0, 16
404 vflr %v0, %v0, 0, -1, 0
405 vflr %v0, %v0, 0, 16, 0
406 vflr %v0, %v0, -1, 0, 0
407 vflr %v0, %v0, 16, 0, 0
409 #CHECK: error: invalid operand
410 #CHECK: vflrd %v0, %v0, 0, -1
411 #CHECK: error: invalid operand
412 #CHECK: vflrd %v0, %v0, 0, 16
413 #CHECK: error: invalid operand
414 #CHECK: vflrd %v0, %v0, -1, 0
415 #CHECK: error: invalid operand
416 #CHECK: vflrd %v0, %v0, 16, 0
418 vflrd %v0, %v0, 0, -1
419 vflrd %v0, %v0, 0, 16
420 vflrd %v0, %v0, -1, 0
421 vflrd %v0, %v0, 16, 0
423 #CHECK: error: invalid operand
424 #CHECK: vfmax %v0, %v0, %v0, 0, 0, -1
425 #CHECK: error: invalid operand
426 #CHECK: vfmax %v0, %v0, %v0, 0, 0, 16
427 #CHECK: error: invalid operand
428 #CHECK: vfmax %v0, %v0, %v0, 0, -1, 0
429 #CHECK: error: invalid operand
430 #CHECK: vfmax %v0, %v0, %v0, 0, 16, 0
431 #CHECK: error: invalid operand
432 #CHECK: vfmax %v0, %v0, %v0, -1, 0, 0
433 #CHECK: error: invalid operand
434 #CHECK: vfmax %v0, %v0, %v0, 16, 0, 0
436 vfmax %v0, %v0, %v0, 0, 0, -1
437 vfmax %v0, %v0, %v0, 0, 0, 16
438 vfmax %v0, %v0, %v0, 0, -1, 0
439 vfmax %v0, %v0, %v0, 0, 16, 0
440 vfmax %v0, %v0, %v0, -1, 0, 0
441 vfmax %v0, %v0, %v0, 16, 0, 0
443 #CHECK: error: invalid operand
444 #CHECK: vfmaxdb %v0, %v0, %v0, -1
445 #CHECK: error: invalid operand
446 #CHECK: vfmaxdb %v0, %v0, %v0, 16
448 vfmaxdb %v0, %v0, %v0, -1
449 vfmaxdb %v0, %v0, %v0, 16
451 #CHECK: error: invalid operand
452 #CHECK: vfmaxsb %v0, %v0, %v0, -1
453 #CHECK: error: invalid operand
454 #CHECK: vfmaxsb %v0, %v0, %v0, 16
456 vfmaxsb %v0, %v0, %v0, -1
457 vfmaxsb %v0, %v0, %v0, 16
459 #CHECK: error: invalid operand
460 #CHECK: vfmin %v0, %v0, %v0, 0, 0, -1
461 #CHECK: error: invalid operand
462 #CHECK: vfmin %v0, %v0, %v0, 0, 0, 16
463 #CHECK: error: invalid operand
464 #CHECK: vfmin %v0, %v0, %v0, 0, -1, 0
465 #CHECK: error: invalid operand
466 #CHECK: vfmin %v0, %v0, %v0, 0, 16, 0
467 #CHECK: error: invalid operand
468 #CHECK: vfmin %v0, %v0, %v0, -1, 0, 0
469 #CHECK: error: invalid operand
470 #CHECK: vfmin %v0, %v0, %v0, 16, 0, 0
472 vfmin %v0, %v0, %v0, 0, 0, -1
473 vfmin %v0, %v0, %v0, 0, 0, 16
474 vfmin %v0, %v0, %v0, 0, -1, 0
475 vfmin %v0, %v0, %v0, 0, 16, 0
476 vfmin %v0, %v0, %v0, -1, 0, 0
477 vfmin %v0, %v0, %v0, 16, 0, 0
479 #CHECK: error: invalid operand
480 #CHECK: vfmindb %v0, %v0, %v0, -1
481 #CHECK: error: invalid operand
482 #CHECK: vfmindb %v0, %v0, %v0, 16
484 vfmindb %v0, %v0, %v0, -1
485 vfmindb %v0, %v0, %v0, 16
487 #CHECK: error: invalid operand
488 #CHECK: vfminsb %v0, %v0, %v0, -1
489 #CHECK: error: invalid operand
490 #CHECK: vfminsb %v0, %v0, %v0, 16
492 vfminsb %v0, %v0, %v0, -1
493 vfminsb %v0, %v0, %v0, 16
495 #CHECK: error: invalid operand
496 #CHECK: vfnma %v0, %v0, %v0, %v0, 0, -1
497 #CHECK: error: invalid operand
498 #CHECK: vfnma %v0, %v0, %v0, %v0, 0, 16
499 #CHECK: error: invalid operand
500 #CHECK: vfnma %v0, %v0, %v0, %v0, -1, 0
501 #CHECK: error: invalid operand
502 #CHECK: vfnma %v0, %v0, %v0, %v0, 16, 0
504 vfnma %v0, %v0, %v0, %v0, 0, -1
505 vfnma %v0, %v0, %v0, %v0, 0, 16
506 vfnma %v0, %v0, %v0, %v0, -1, 0
507 vfnma %v0, %v0, %v0, %v0, 16, 0
509 #CHECK: error: invalid operand
510 #CHECK: vfnms %v0, %v0, %v0, %v0, 0, -1
511 #CHECK: error: invalid operand
512 #CHECK: vfnms %v0, %v0, %v0, %v0, 0, 16
513 #CHECK: error: invalid operand
514 #CHECK: vfnms %v0, %v0, %v0, %v0, -1, 0
515 #CHECK: error: invalid operand
516 #CHECK: vfnms %v0, %v0, %v0, %v0, 16, 0
518 vfnms %v0, %v0, %v0, %v0, 0, -1
519 vfnms %v0, %v0, %v0, %v0, 0, 16
520 vfnms %v0, %v0, %v0, %v0, -1, 0
521 vfnms %v0, %v0, %v0, %v0, 16, 0
523 #CHECK: error: invalid operand
524 #CHECK: vftcisb %v0, %v0, -1
525 #CHECK: error: invalid operand
526 #CHECK: vftcisb %v0, %v0, 4096
528 vftcisb %v0, %v0, -1
529 vftcisb %v0, %v0, 4096
531 #CHECK: error: invalid operand
532 #CHECK: vlip %v0, 0, -1
533 #CHECK: error: invalid operand
534 #CHECK: vlip %v0, 0, 16
535 #CHECK: error: invalid operand
536 #CHECK: vlip %v0, -1, 0
537 #CHECK: error: invalid operand
538 #CHECK: vlip %v0, 65536, 0
540 vlip %v0, 0, -1
541 vlip %v0, 0, 16
542 vlip %v0, -1, 0
543 vlip %v0, 65536, 0
545 #CHECK: error: invalid operand
546 #CHECK: vllezlf %v0, -1
547 #CHECK: error: invalid operand
548 #CHECK: vllezlf %v0, 4096
549 #CHECK: error: invalid use of vector addressing
550 #CHECK: vllezlf %v0, 0(%v1,%r2)
552 vllezlf %v0, -1
553 vllezlf %v0, 4096
554 vllezlf %v0, 0(%v1,%r2)
556 #CHECK: error: instruction requires: vector-enhancements-2
557 #CHECK: vlbr %v0, 0, 0
558 #CHECK: error: instruction requires: vector-enhancements-2
559 #CHECK: vlbrf %v0, 0
560 #CHECK: error: instruction requires: vector-enhancements-2
561 #CHECK: vlbrg %v0, 0
562 #CHECK: error: instruction requires: vector-enhancements-2
563 #CHECK: vlbrh %v0, 0
564 #CHECK: error: instruction requires: vector-enhancements-2
565 #CHECK: vlbrq %v0, 0
567 vlbr %v0, 0, 0
568 vlbrf %v0, 0
569 vlbrg %v0, 0
570 vlbrh %v0, 0
571 vlbrq %v0, 0
573 #CHECK: error: instruction requires: vector-enhancements-2
574 #CHECK: vlbrrep %v0, 0, 0
575 #CHECK: error: instruction requires: vector-enhancements-2
576 #CHECK: vlbrrepf %v0, 0
577 #CHECK: error: instruction requires: vector-enhancements-2
578 #CHECK: vlbrrepg %v0, 0
579 #CHECK: error: instruction requires: vector-enhancements-2
580 #CHECK: vlbrreph %v0, 0
582 vlbrrep %v0, 0, 0
583 vlbrrepf %v0, 0
584 vlbrrepg %v0, 0
585 vlbrreph %v0, 0
587 #CHECK: error: instruction requires: vector-enhancements-2
588 #CHECK: vlebrf %v0, 0, 0
589 #CHECK: error: instruction requires: vector-enhancements-2
590 #CHECK: vlebrg %v0, 0, 0
591 #CHECK: error: instruction requires: vector-enhancements-2
592 #CHECK: vlebrh %v0, 0, 0
594 vlebrf %v0, 0, 0
595 vlebrg %v0, 0, 0
596 vlebrh %v0, 0, 0
598 #CHECK: error: instruction requires: vector-enhancements-2
599 #CHECK: vler %v0, 0, 0
600 #CHECK: error: instruction requires: vector-enhancements-2
601 #CHECK: vlerf %v0, 0
602 #CHECK: error: instruction requires: vector-enhancements-2
603 #CHECK: vlerg %v0, 0
604 #CHECK: error: instruction requires: vector-enhancements-2
605 #CHECK: vlerh %v0, 0
607 vler %v0, 0, 0
608 vlerf %v0, 0
609 vlerg %v0, 0
610 vlerh %v0, 0
612 #CHECK: error: instruction requires: vector-enhancements-2
613 #CHECK: vllebrz %v0, 0, 0
614 #CHECK: error: instruction requires: vector-enhancements-2
615 #CHECK: vllebrze %v0, 0
616 #CHECK: error: instruction requires: vector-enhancements-2
617 #CHECK: vllebrzf %v0, 0
618 #CHECK: error: instruction requires: vector-enhancements-2
619 #CHECK: vllebrzg %v0, 0
620 #CHECK: error: instruction requires: vector-enhancements-2
621 #CHECK: vllebrzh %v0, 0
623 vllebrz %v0, 0, 0
624 vllebrze %v0, 0
625 vllebrzf %v0, 0
626 vllebrzg %v0, 0
627 vllebrzh %v0, 0
629 #CHECK: error: invalid operand
630 #CHECK: vlrl %v0, 0, -1
631 #CHECK: error: invalid operand
632 #CHECK: vlrl %v0, 0, 256
633 #CHECK: error: invalid operand
634 #CHECK: vlrl %v0, -1, 0
635 #CHECK: error: invalid operand
636 #CHECK: vlrl %v0, 4096, 0
637 #CHECK: error: %r0 used in an address
638 #CHECK: vlrl %v0, 0(%r0), 0
640 vlrl %v0, 0, -1
641 vlrl %v0, 0, 256
642 vlrl %v0, -1, 0
643 vlrl %v0, 4096, 0
644 vlrl %v0, 0(%r0), 0
646 #CHECK: error: invalid operand
647 #CHECK: vlrlr %v0, %r0, -1
648 #CHECK: error: invalid operand
649 #CHECK: vlrlr %v0, %r0, 4096
650 #CHECK: error: %r0 used in an address
651 #CHECK: vlrlr %v0, %r0, 0(%r0)
653 vlrlr %v0, %r0, -1
654 vlrlr %v0, %r0, 4096
655 vlrlr %v0, %r0, 0(%r0)
657 #CHECK: error: invalid operand
658 #CHECK: vmp %v0, %v0, %v0, 0, -1
659 #CHECK: error: invalid operand
660 #CHECK: vmp %v0, %v0, %v0, 0, 16
661 #CHECK: error: invalid operand
662 #CHECK: vmp %v0, %v0, %v0, -1, 0
663 #CHECK: error: invalid operand
664 #CHECK: vmp %v0, %v0, %v0, 256, 0
666 vmp %v0, %v0, %v0, 0, -1
667 vmp %v0, %v0, %v0, 0, 16
668 vmp %v0, %v0, %v0, -1, 0
669 vmp %v0, %v0, %v0, 256, 0
671 #CHECK: error: invalid operand
672 #CHECK: vmsp %v0, %v0, %v0, 0, -1
673 #CHECK: error: invalid operand
674 #CHECK: vmsp %v0, %v0, %v0, 0, 16
675 #CHECK: error: invalid operand
676 #CHECK: vmsp %v0, %v0, %v0, -1, 0
677 #CHECK: error: invalid operand
678 #CHECK: vmsp %v0, %v0, %v0, 256, 0
680 vmsp %v0, %v0, %v0, 0, -1
681 vmsp %v0, %v0, %v0, 0, 16
682 vmsp %v0, %v0, %v0, -1, 0
683 vmsp %v0, %v0, %v0, 256, 0
685 #CHECK: error: invalid operand
686 #CHECK: vmsl %v0, %v0, %v0, %v0, 0, -1
687 #CHECK: error: invalid operand
688 #CHECK: vmsl %v0, %v0, %v0, %v0, 0, 16
689 #CHECK: error: invalid operand
690 #CHECK: vmsl %v0, %v0, %v0, %v0, -1, 0
691 #CHECK: error: invalid operand
692 #CHECK: vmsl %v0, %v0, %v0, %v0, 16, 0
694 vmsl %v0, %v0, %v0, %v0, 0, -1
695 vmsl %v0, %v0, %v0, %v0, 0, 16
696 vmsl %v0, %v0, %v0, %v0, -1, 0
697 vmsl %v0, %v0, %v0, %v0, 16, 0
699 #CHECK: error: invalid operand
700 #CHECK: vmslg %v0, %v0, %v0, %v0, -1
701 #CHECK: error: invalid operand
702 #CHECK: vmslg %v0, %v0, %v0, %v0, 16
704 vmslg %v0, %v0, %v0, %v0, -1
705 vmslg %v0, %v0, %v0, %v0, 16
707 #CHECK: error: invalid operand
708 #CHECK: vpkz %v0, 0, -1
709 #CHECK: error: invalid operand
710 #CHECK: vpkz %v0, 0, 256
711 #CHECK: error: invalid operand
712 #CHECK: vpkz %v0, -1, 0
713 #CHECK: error: invalid operand
714 #CHECK: vpkz %v0, 4096, 0
715 #CHECK: error: %r0 used in an address
716 #CHECK: vpkz %v0, 0(%r0), 0
718 vpkz %v0, 0, -1
719 vpkz %v0, 0, 256
720 vpkz %v0, -1, 0
721 vpkz %v0, 4096, 0
722 vpkz %v0, 0(%r0), 0
724 #CHECK: error: invalid operand
725 #CHECK: vpsop %v0, %v0, 0, 0, -1
726 #CHECK: error: invalid operand
727 #CHECK: vpsop %v0, %v0, 0, 0, 16
728 #CHECK: error: invalid operand
729 #CHECK: vpsop %v0, %v0, 0, -1, 0
730 #CHECK: error: invalid operand
731 #CHECK: vpsop %v0, %v0, 0, 256, 0
732 #CHECK: error: invalid operand
733 #CHECK: vpsop %v0, %v0, -1, 0, 0
734 #CHECK: error: invalid operand
735 #CHECK: vpsop %v0, %v0, 256, 0, 0
737 vpsop %v0, %v0, 0, 0, -1
738 vpsop %v0, %v0, 0, 0, 16
739 vpsop %v0, %v0, 0, -1, 0
740 vpsop %v0, %v0, 0, 256, 0
741 vpsop %v0, %v0, -1, 0, 0
742 vpsop %v0, %v0, 256, 0, 0
744 #CHECK: error: invalid operand
745 #CHECK: vrp %v0, %v0, %v0, 0, -1
746 #CHECK: error: invalid operand
747 #CHECK: vrp %v0, %v0, %v0, 0, 16
748 #CHECK: error: invalid operand
749 #CHECK: vrp %v0, %v0, %v0, -1, 0
750 #CHECK: error: invalid operand
751 #CHECK: vrp %v0, %v0, %v0, 256, 0
753 vrp %v0, %v0, %v0, 0, -1
754 vrp %v0, %v0, %v0, 0, 16
755 vrp %v0, %v0, %v0, -1, 0
756 vrp %v0, %v0, %v0, 256, 0
758 #CHECK: error: invalid operand
759 #CHECK: vsdp %v0, %v0, %v0, 0, -1
760 #CHECK: error: invalid operand
761 #CHECK: vsdp %v0, %v0, %v0, 0, 16
762 #CHECK: error: invalid operand
763 #CHECK: vsdp %v0, %v0, %v0, -1, 0
764 #CHECK: error: invalid operand
765 #CHECK: vsdp %v0, %v0, %v0, 256, 0
767 vsdp %v0, %v0, %v0, 0, -1
768 vsdp %v0, %v0, %v0, 0, 16
769 vsdp %v0, %v0, %v0, -1, 0
770 vsdp %v0, %v0, %v0, 256, 0
772 #CHECK: error: instruction requires: vector-enhancements-2
773 #CHECK: vsld %v0, %v0, %v0, 0
775 vsld %v0, %v0, %v0, 0
777 #CHECK: error: invalid operand
778 #CHECK: vsp %v0, %v0, %v0, 0, -1
779 #CHECK: error: invalid operand
780 #CHECK: vsp %v0, %v0, %v0, 0, 16
781 #CHECK: error: invalid operand
782 #CHECK: vsp %v0, %v0, %v0, -1, 0
783 #CHECK: error: invalid operand
784 #CHECK: vsp %v0, %v0, %v0, 256, 0
786 vsp %v0, %v0, %v0, 0, -1
787 vsp %v0, %v0, %v0, 0, 16
788 vsp %v0, %v0, %v0, -1, 0
789 vsp %v0, %v0, %v0, 256, 0
791 #CHECK: error: instruction requires: vector-enhancements-2
792 #CHECK: vsrd %v0, %v0, %v0, 0
794 vsrd %v0, %v0, %v0, 0
796 #CHECK: error: invalid operand
797 #CHECK: vsrp %v0, %v0, 0, 0, -1
798 #CHECK: error: invalid operand
799 #CHECK: vsrp %v0, %v0, 0, 0, 16
800 #CHECK: error: invalid operand
801 #CHECK: vsrp %v0, %v0, 0, -1, 0
802 #CHECK: error: invalid operand
803 #CHECK: vsrp %v0, %v0, 0, 256, 0
804 #CHECK: error: invalid operand
805 #CHECK: vsrp %v0, %v0, -1, 0, 0
806 #CHECK: error: invalid operand
807 #CHECK: vsrp %v0, %v0, 256, 0, 0
809 vsrp %v0, %v0, 0, 0, -1
810 vsrp %v0, %v0, 0, 0, 16
811 vsrp %v0, %v0, 0, -1, 0
812 vsrp %v0, %v0, 0, 256, 0
813 vsrp %v0, %v0, -1, 0, 0
814 vsrp %v0, %v0, 256, 0, 0
816 #CHECK: error: instruction requires: vector-enhancements-2
817 #CHECK: vstbr %v0, 0, 0
818 #CHECK: error: instruction requires: vector-enhancements-2
819 #CHECK: vstbrf %v0, 0
820 #CHECK: error: instruction requires: vector-enhancements-2
821 #CHECK: vstbrg %v0, 0
822 #CHECK: error: instruction requires: vector-enhancements-2
823 #CHECK: vstbrh %v0, 0
824 #CHECK: error: instruction requires: vector-enhancements-2
825 #CHECK: vstbrq %v0, 0
827 vstbr %v0, 0, 0
828 vstbrf %v0, 0
829 vstbrg %v0, 0
830 vstbrh %v0, 0
831 vstbrq %v0, 0
833 #CHECK: error: instruction requires: vector-enhancements-2
834 #CHECK: vstebrf %v0, 0, 0
835 #CHECK: error: instruction requires: vector-enhancements-2
836 #CHECK: vstebrg %v0, 0, 0
837 #CHECK: error: instruction requires: vector-enhancements-2
838 #CHECK: vstebrh %v0, 0, 0
840 vstebrf %v0, 0, 0
841 vstebrg %v0, 0, 0
842 vstebrh %v0, 0, 0
844 #CHECK: error: instruction requires: vector-enhancements-2
845 #CHECK: vster %v0, 0, 0
846 #CHECK: error: instruction requires: vector-enhancements-2
847 #CHECK: vsterf %v0, 0
848 #CHECK: error: instruction requires: vector-enhancements-2
849 #CHECK: vsterg %v0, 0
850 #CHECK: error: instruction requires: vector-enhancements-2
851 #CHECK: vsterh %v0, 0
853 vster %v0, 0, 0
854 vsterf %v0, 0
855 vsterg %v0, 0
856 vsterh %v0, 0
858 #CHECK: error: invalid operand
859 #CHECK: vstrl %v0, 0, -1
860 #CHECK: error: invalid operand
861 #CHECK: vstrl %v0, 0, 256
862 #CHECK: error: invalid operand
863 #CHECK: vstrl %v0, -1, 0
864 #CHECK: error: invalid operand
865 #CHECK: vstrl %v0, 4096, 0
866 #CHECK: error: %r0 used in an address
867 #CHECK: vstrl %v0, 0(%r0), 0
869 vstrl %v0, 0, -1
870 vstrl %v0, 0, 256
871 vstrl %v0, -1, 0
872 vstrl %v0, 4096, 0
873 vstrl %v0, 0(%r0), 0
875 #CHECK: error: invalid operand
876 #CHECK: vstrlr %v0, %r0, -1
877 #CHECK: error: invalid operand
878 #CHECK: vstrlr %v0, %r0, 4096
879 #CHECK: error: %r0 used in an address
880 #CHECK: vstrlr %v0, %r0, 0(%r0)
882 vstrlr %v0, %r0, -1
883 vstrlr %v0, %r0, 4096
884 vstrlr %v0, %r0, 0(%r0)
886 #CHECK: error: instruction requires: vector-enhancements-2
887 #CHECK: vstrs %v0, %v0, %v0, %v0, 0
888 #CHECK: error: instruction requires: vector-enhancements-2
889 #CHECK: vstrsb %v0, %v0, %v0, %v0
890 #CHECK: error: instruction requires: vector-enhancements-2
891 #CHECK: vstrsf %v0, %v0, %v0, %v0
892 #CHECK: error: instruction requires: vector-enhancements-2
893 #CHECK: vstrsh %v0, %v0, %v0, %v0
894 #CHECK: error: instruction requires: vector-enhancements-2
895 #CHECK: vstrszb %v0, %v0, %v0, %v0
896 #CHECK: error: instruction requires: vector-enhancements-2
897 #CHECK: vstrszf %v0, %v0, %v0, %v0
898 #CHECK: error: instruction requires: vector-enhancements-2
899 #CHECK: vstrszh %v0, %v0, %v0, %v0
901 vstrs %v0, %v0, %v0, %v0, 0
902 vstrsb %v0, %v0, %v0, %v0
903 vstrsf %v0, %v0, %v0, %v0
904 vstrsh %v0, %v0, %v0, %v0
905 vstrszb %v0, %v0, %v0, %v0
906 vstrszf %v0, %v0, %v0, %v0
907 vstrszh %v0, %v0, %v0, %v0
909 #CHECK: error: invalid operand
910 #CHECK: vupkz %v0, 0, -1
911 #CHECK: error: invalid operand
912 #CHECK: vupkz %v0, 0, 256
913 #CHECK: error: invalid operand
914 #CHECK: vupkz %v0, -1, 0
915 #CHECK: error: invalid operand
916 #CHECK: vupkz %v0, 4096, 0
917 #CHECK: error: %r0 used in an address
918 #CHECK: vupkz %v0, 0(%r0), 0
920 vupkz %v0, 0, -1
921 vupkz %v0, 0, 256
922 vupkz %v0, -1, 0
923 vupkz %v0, 4096, 0
924 vupkz %v0, 0(%r0), 0
926 #CHECK: error: instruction requires: vector-enhancements-2
927 #CHECK: wcefb %v0, %v0, 0, 0
929 wcefb %v0, %v0, 0, 0
931 #CHECK: error: instruction requires: vector-enhancements-2
932 #CHECK: wcelfb %v0, %v0, 0, 0
934 wcelfb %v0, %v0, 0, 0
936 #CHECK: error: instruction requires: vector-enhancements-2
937 #CHECK: wcfeb %v0, %v0, 0, 0
939 wcfeb %v0, %v0, 0, 0
941 #CHECK: error: instruction requires: vector-enhancements-2
942 #CHECK: wclfeb %v0, %v0, 0, 0
944 wclfeb %v0, %v0, 0, 0
946 #CHECK: error: invalid operand
947 #CHECK: wfisb %v0, %v0, 0, -1
948 #CHECK: error: invalid operand
949 #CHECK: wfisb %v0, %v0, 0, 16
950 #CHECK: error: invalid operand
951 #CHECK: wfisb %v0, %v0, -1, 0
952 #CHECK: error: invalid operand
953 #CHECK: wfisb %v0, %v0, 16, 0
955 wfisb %v0, %v0, 0, -1
956 wfisb %v0, %v0, 0, 16
957 wfisb %v0, %v0, -1, 0
958 wfisb %v0, %v0, 16, 0
960 #CHECK: error: invalid operand
961 #CHECK: wfixb %v0, %v0, 0, -1
962 #CHECK: error: invalid operand
963 #CHECK: wfixb %v0, %v0, 0, 16
964 #CHECK: error: invalid operand
965 #CHECK: wfixb %v0, %v0, -1, 0
966 #CHECK: error: invalid operand
967 #CHECK: wfixb %v0, %v0, 16, 0
969 wfixb %v0, %v0, 0, -1
970 wfixb %v0, %v0, 0, 16
971 wfixb %v0, %v0, -1, 0
972 wfixb %v0, %v0, 16, 0
974 #CHECK: error: invalid operand
975 #CHECK: wflrd %v0, %v0, 0, -1
976 #CHECK: error: invalid operand
977 #CHECK: wflrd %v0, %v0, 0, 16
978 #CHECK: error: invalid operand
979 #CHECK: wflrd %v0, %v0, -1, 0
980 #CHECK: error: invalid operand
981 #CHECK: wflrd %v0, %v0, 16, 0
983 wflrd %v0, %v0, 0, -1
984 wflrd %v0, %v0, 0, 16
985 wflrd %v0, %v0, -1, 0
986 wflrd %v0, %v0, 16, 0
988 #CHECK: error: invalid operand
989 #CHECK: wflrx %v0, %v0, 0, -1
990 #CHECK: error: invalid operand
991 #CHECK: wflrx %v0, %v0, 0, 16
992 #CHECK: error: invalid operand
993 #CHECK: wflrx %v0, %v0, -1, 0
994 #CHECK: error: invalid operand
995 #CHECK: wflrx %v0, %v0, 16, 0
997 wflrx %v0, %v0, 0, -1
998 wflrx %v0, %v0, 0, 16
999 wflrx %v0, %v0, -1, 0
1000 wflrx %v0, %v0, 16, 0
1002 #CHECK: error: invalid operand
1003 #CHECK: wfmaxdb %v0, %v0, %v0, -1
1004 #CHECK: error: invalid operand
1005 #CHECK: wfmaxdb %v0, %v0, %v0, 16
1007 wfmaxdb %v0, %v0, %v0, -1
1008 wfmaxdb %v0, %v0, %v0, 16
1010 #CHECK: error: invalid operand
1011 #CHECK: wfmaxsb %v0, %v0, %v0, -1
1012 #CHECK: error: invalid operand
1013 #CHECK: wfmaxsb %v0, %v0, %v0, 16
1015 wfmaxsb %v0, %v0, %v0, -1
1016 wfmaxsb %v0, %v0, %v0, 16
1018 #CHECK: error: invalid operand
1019 #CHECK: wfmaxxb %v0, %v0, %v0, -1
1020 #CHECK: error: invalid operand
1021 #CHECK: wfmaxxb %v0, %v0, %v0, 16
1023 wfmaxxb %v0, %v0, %v0, -1
1024 wfmaxxb %v0, %v0, %v0, 16
1026 #CHECK: error: invalid operand
1027 #CHECK: wfmindb %v0, %v0, %v0, -1
1028 #CHECK: error: invalid operand
1029 #CHECK: wfmindb %v0, %v0, %v0, 16
1031 wfmindb %v0, %v0, %v0, -1
1032 wfmindb %v0, %v0, %v0, 16
1034 #CHECK: error: invalid operand
1035 #CHECK: wfminsb %v0, %v0, %v0, -1
1036 #CHECK: error: invalid operand
1037 #CHECK: wfminsb %v0, %v0, %v0, 16
1039 wfminsb %v0, %v0, %v0, -1
1040 wfminsb %v0, %v0, %v0, 16
1042 #CHECK: error: invalid operand
1043 #CHECK: wfminxb %v0, %v0, %v0, -1
1044 #CHECK: error: invalid operand
1045 #CHECK: wfminxb %v0, %v0, %v0, 16
1047 wfminxb %v0, %v0, %v0, -1
1048 wfminxb %v0, %v0, %v0, 16
1050 #CHECK: error: invalid operand
1051 #CHECK: wftcisb %v0, %v0, -1
1052 #CHECK: error: invalid operand
1053 #CHECK: wftcisb %v0, %v0, 4096
1055 wftcisb %v0, %v0, -1
1056 wftcisb %v0, %v0, 4096
1058 #CHECK: error: invalid operand
1059 #CHECK: wftcixb %v0, %v0, -1
1060 #CHECK: error: invalid operand
1061 #CHECK: wftcixb %v0, %v0, 4096
1063 wftcixb %v0, %v0, -1
1064 wftcixb %v0, %v0, 4096