625 lines · plain
1# For z16 only.2# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z16 < %s 2> %t3# RUN: FileCheck < %t %s4 5#CHECK: error: instruction requires: miscellaneous-extensions-46#CHECK: bdepg %r0, %r0, %r07 8 bdepg %r0, %r0, %r09 10#CHECK: error: instruction requires: miscellaneous-extensions-411#CHECK: bextg %r0, %r0, %r012 13 bextg %r0, %r0, %r014 15#CHECK: error: instruction requires: concurrent-functions16#CHECK: cal %r0, 0, 017 18 cal %r0, 0, 019 20#CHECK: error: instruction requires: concurrent-functions21#CHECK: calg %r0, 0, 022 23 calg %r0, 0, 024 25#CHECK: error: instruction requires: concurrent-functions26#CHECK: calgf %r0, 0, 027 28 calgf %r0, 0, 029 30#CHECK: error: instruction requires: miscellaneous-extensions-431#CHECK: clzg %r0, %r032 33 clzg %r0, %r034 35#CHECK: error: instruction requires: miscellaneous-extensions-436#CHECK: ctzg %r0, %r037 38 ctzg %r0, %r039 40#CHECK: error: instruction requires: message-security-assist-extension1241#CHECK: kimd %r0, %r0, 042 43 kimd %r0, %r0, 044 45#CHECK: error: instruction requires: message-security-assist-extension1246#CHECK: klmd %r0, %r0, 047 48 klmd %r0, %r0, 049 50#CHECK: error: invalid operand51#CHECK: lbear -152#CHECK: error: invalid operand53#CHECK: lbear 409654#CHECK: error: invalid use of indexed addressing55#CHECK: lbear 0(%r1,%r2)56 57 lbear -158 lbear 409659 lbear 0(%r1,%r2)60 61#CHECK: error: invalid operand62#CHECK: lpswey -52428963#CHECK: error: invalid operand64#CHECK: lpswey 52428865#CHECK: error: invalid use of indexed addressing66#CHECK: lpswey 0(%r1,%r2)67 68 lpswey -52428969 lpswey 52428870 lpswey 0(%r1,%r2)71 72#CHECK: error: instruction requires: miscellaneous-extensions-473#CHECK: lxab %r0, 074 75 lxab %r0, 076 77#CHECK: error: instruction requires: miscellaneous-extensions-478#CHECK: lxah %r0, 079 80 lxah %r0, 081 82#CHECK: error: instruction requires: miscellaneous-extensions-483#CHECK: lxaf %r0, 084 85 lxaf %r0, 086 87#CHECK: error: instruction requires: miscellaneous-extensions-488#CHECK: lxag %r0, 089 90 lxag %r0, 091 92#CHECK: error: instruction requires: miscellaneous-extensions-493#CHECK: lxaq %r0, 094 95 lxaq %r0, 096 97#CHECK: error: instruction requires: miscellaneous-extensions-498#CHECK: llxab %r0, 099 100 llxab %r0, 0101 102#CHECK: error: instruction requires: miscellaneous-extensions-4103#CHECK: llxah %r0, 0104 105 llxah %r0, 0106 107#CHECK: error: instruction requires: miscellaneous-extensions-4108#CHECK: llxaf %r0, 0109 110 llxaf %r0, 0111 112#CHECK: error: instruction requires: miscellaneous-extensions-4113#CHECK: llxag %r0, 0114 115 llxag %r0, 0116 117#CHECK: error: instruction requires: miscellaneous-extensions-4118#CHECK: llxaq %r0, 0119 120 llxaq %r0, 0121 122#CHECK: error: instruction requires: concurrent-functions123#CHECK: pfcr %r0, %r0, 0124 125 pfcr %r0, %r0, 0126 127#CHECK: error: invalid operand128#CHECK: qpaci -1129#CHECK: error: invalid operand130#CHECK: qpaci 4096131#CHECK: error: invalid use of indexed addressing132#CHECK: qpaci 0(%r1,%r2)133 134 qpaci -1135 qpaci 4096136 qpaci 0(%r1,%r2)137 138#CHECK: error: invalid operand139#CHECK: rdp %r0, %r0, %r0, -1140#CHECK: error: invalid operand141#CHECK: rdp %r0, %r0, %r0, 16142 143 rdp %r0, %r0, %r0, -1144 rdp %r0, %r0, %r0, 16145 146#CHECK: error: invalid operand147#CHECK: stbear -1148#CHECK: error: invalid operand149#CHECK: stbear 4096150#CHECK: error: invalid use of indexed addressing151#CHECK: stbear 0(%r1,%r2)152 153 stbear -1154 stbear 4096155 stbear 0(%r1,%r2)156 157#CHECK: error: instruction requires: vector-enhancements-3158#CHECK: vavgq %v0, %v0, %v0159 160 vavgq %v0, %v0, %v0161 162#CHECK: error: instruction requires: vector-enhancements-3163#CHECK: vavglq %v0, %v0, %v0164 165 vavglq %v0, %v0, %v0166 167#CHECK: error: instruction requires: vector-enhancements-3168#CHECK: vblend %v0, %v0, %v0, %v0, 0169#CHECK: error: instruction requires: vector-enhancements-3170#CHECK: vblendb %v0, %v0, %v0, %v0171#CHECK: error: instruction requires: vector-enhancements-3172#CHECK: vblendh %v0, %v0, %v0, %v0173#CHECK: error: instruction requires: vector-enhancements-3174#CHECK: vblendf %v0, %v0, %v0, %v0175#CHECK: error: instruction requires: vector-enhancements-3176#CHECK: vblendg %v0, %v0, %v0, %v0177#CHECK: error: instruction requires: vector-enhancements-3178#CHECK: vblendq %v0, %v0, %v0, %v0179 180 vblend %v0, %v0, %v0, %v0, 0181 vblendb %v0, %v0, %v0, %v0182 vblendh %v0, %v0, %v0, %v0183 vblendf %v0, %v0, %v0, %v0184 vblendg %v0, %v0, %v0, %v0185 vblendq %v0, %v0, %v0, %v0186 187#CHECK: error: instruction requires: vector-enhancements-3188#CHECK: vceqq %v0, %v0, %v0189#CHECK: error: instruction requires: vector-enhancements-3190#CHECK: vceqqs %v0, %v0, %v0191 192 vceqq %v0, %v0, %v0193 vceqqs %v0, %v0, %v0194 195#CHECK: error: instruction requires: vector-enhancements-3196#CHECK: vchq %v0, %v0, %v0197#CHECK: error: instruction requires: vector-enhancements-3198#CHECK: vchqs %v0, %v0, %v0199 200 vchq %v0, %v0, %v0201 vchqs %v0, %v0, %v0202 203#CHECK: error: instruction requires: vector-enhancements-3204#CHECK: vchlq %v0, %v0, %v0205#CHECK: error: instruction requires: vector-enhancements-3206#CHECK: vchlqs %v0, %v0, %v0207 208 vchlq %v0, %v0, %v0209 vchlqs %v0, %v0, %v0210 211#CHECK: error: invalid operand212#CHECK: vcfn %v0, %v0, 0, -1213#CHECK: error: invalid operand214#CHECK: vcfn %v0, %v0, 0, 16215#CHECK: error: invalid operand216#CHECK: vcfn %v0, %v0, -1, 0217#CHECK: error: invalid operand218#CHECK: vcfn %v0, %v0, 16, 0219 220 vcfn %v0, %v0, 0, -1221 vcfn %v0, %v0, 0, 16222 vcfn %v0, %v0, -1, 0223 vcfn %v0, %v0, 16, 0224 225#CHECK: error: invalid operand226#CHECK: vclfnl %v0, %v0, 0, -1227#CHECK: error: invalid operand228#CHECK: vclfnl %v0, %v0, 0, 16229#CHECK: error: invalid operand230#CHECK: vclfnl %v0, %v0, -1, 0231#CHECK: error: invalid operand232#CHECK: vclfnl %v0, %v0, 16, 0233 234 vclfnl %v0, %v0, 0, -1235 vclfnl %v0, %v0, 0, 16236 vclfnl %v0, %v0, -1, 0237 vclfnl %v0, %v0, 16, 0238 239#CHECK: error: invalid operand240#CHECK: vclfnh %v0, %v0, 0, -1241#CHECK: error: invalid operand242#CHECK: vclfnh %v0, %v0, 0, 16243#CHECK: error: invalid operand244#CHECK: vclfnh %v0, %v0, -1, 0245#CHECK: error: invalid operand246#CHECK: vclfnh %v0, %v0, 16, 0247 248 vclfnh %v0, %v0, 0, -1249 vclfnh %v0, %v0, 0, 16250 vclfnh %v0, %v0, -1, 0251 vclfnh %v0, %v0, 16, 0252 253#CHECK: error: invalid operand254#CHECK: vcnf %v0, %v0, 0, -1255#CHECK: error: invalid operand256#CHECK: vcnf %v0, %v0, 0, 16257#CHECK: error: invalid operand258#CHECK: vcnf %v0, %v0, -1, 0259#CHECK: error: invalid operand260#CHECK: vcnf %v0, %v0, 16, 0261 262 vcnf %v0, %v0, 0, -1263 vcnf %v0, %v0, 0, 16264 vcnf %v0, %v0, -1, 0265 vcnf %v0, %v0, 16, 0266 267#CHECK: error: invalid operand268#CHECK: vcrnf %v0, %v0, %v0, 0, -1269#CHECK: error: invalid operand270#CHECK: vcrnf %v0, %v0, %v0, 0, 16271#CHECK: error: invalid operand272#CHECK: vcrnf %v0, %v0, %v0, -1, 0273#CHECK: error: invalid operand274#CHECK: vcrnf %v0, %v0, %v0, 16, 0275 276 vcrnf %v0, %v0, %v0, 0, -1277 vcrnf %v0, %v0, %v0, 0, 16278 vcrnf %v0, %v0, %v0, -1, 0279 vcrnf %v0, %v0, %v0, 16, 0280 281#CHECK: error: invalid operand282#CHECK: vclzdp %v0, %v0, -1283#CHECK: error: invalid operand284#CHECK: vclzdp %v0, %v0, 16285 286 vclzdp %v0, %v0, -1287 vclzdp %v0, %v0, 16288 289#CHECK: error: instruction requires: vector-enhancements-3290#CHECK: vclzq %v0, %v0291 292 vclzq %v0, %v0293 294#CHECK: error: instruction requires: vector-enhancements-3295#CHECK: vctzq %v0, %v0296 297 vctzq %v0, %v0298 299#CHECK: error: invalid operand300#CHECK: vcsph %v0, %v0, %v0, -1301#CHECK: error: invalid operand302#CHECK: vcsph %v0, %v0, %v0, 16303 304 vcsph %v0, %v0, %v0, -1305 vcsph %v0, %v0, %v0, 16306 307#CHECK: error: instruction requires: vector-packed-decimal-enhancement-3308#CHECK: vcvbq %v0, %v0, 0309 310 vcvbq %v0, %v0, 0311 312#CHECK: error: instruction requires: vector-packed-decimal-enhancement-3313#CHECK: vcvdq %v0, %v0, 0, 0314 315 vcvdq %v0, %v0, 0, 0316 317#CHECK: error: instruction requires: vector-enhancements-3318#CHECK: vd %v0, %v0, %v0, 0, 0319#CHECK: vdf %v0, %v0, %v0, 0320#CHECK: vdg %v0, %v0, %v0, 0321#CHECK: vdq %v0, %v0, %v0, 0322 323 vd %v0, %v0, %v0, 0, 0324 vdf %v0, %v0, %v0, 0325 vdg %v0, %v0, %v0, 0326 vdq %v0, %v0, %v0, 0327 328#CHECK: error: instruction requires: vector-enhancements-3329#CHECK: vdl %v0, %v0, %v0, 0, 0330#CHECK: vdlf %v0, %v0, %v0, 0331#CHECK: vdlg %v0, %v0, %v0, 0332#CHECK: vdlq %v0, %v0, %v0, 0333 334 vdl %v0, %v0, %v0, 0, 0335 vdlf %v0, %v0, %v0, 0336 vdlg %v0, %v0, %v0, 0337 vdlq %v0, %v0, %v0, 0338 339#CHECK: error: instruction requires: vector-enhancements-3340#CHECK: veval %v0, %v0, %v0, %v0, 0341 342 veval %v0, %v0, %v0, %v0, 0343 344#CHECK: error: instruction requires: vector-enhancements-3345#CHECK: vecq %v0, %v0346 347 vecq %v0, %v0348 349#CHECK: error: instruction requires: vector-enhancements-3350#CHECK: veclq %v0, %v0351 352 veclq %v0, %v0353 354#CHECK: error: instruction requires: vector-enhancements-3355#CHECK: vgem %v0, %v0, 0356#CHECK: error: instruction requires: vector-enhancements-3357#CHECK: vgemb %v0, %v0358#CHECK: error: instruction requires: vector-enhancements-3359#CHECK: vgemh %v0, %v0360#CHECK: error: instruction requires: vector-enhancements-3361#CHECK: vgemf %v0, %v0362#CHECK: error: instruction requires: vector-enhancements-3363#CHECK: vgemg %v0, %v0364#CHECK: error: instruction requires: vector-enhancements-3365#CHECK: vgemq %v0, %v0366 367 vgem %v0, %v0, 0368 vgemb %v0, %v0369 vgemh %v0, %v0370 vgemf %v0, %v0371 vgemg %v0, %v0372 vgemq %v0, %v0373 374#CHECK: error: instruction requires: vector-enhancements-3375#CHECK: vlcq %v0, %v0376 377 vlcq %v0, %v0378 379#CHECK: error: instruction requires: vector-enhancements-3380#CHECK: vlpq %v0, %v0381 382 vlpq %v0, %v0383 384#CHECK: error: instruction requires: vector-enhancements-3385#CHECK: vmalg %v0, %v0, %v0, %v0386#CHECK: error: instruction requires: vector-enhancements-3387#CHECK: vmalq %v0, %v0, %v0, %v0388 389 vmalg %v0, %v0, %v0, %v0390 vmalq %v0, %v0, %v0, %v0391 392#CHECK: error: instruction requires: vector-enhancements-3393#CHECK: vmahg %v0, %v0, %v0, %v0394#CHECK: error: instruction requires: vector-enhancements-3395#CHECK: vmahq %v0, %v0, %v0, %v0396 397 vmahg %v0, %v0, %v0, %v0398 vmahq %v0, %v0, %v0, %v0399 400#CHECK: error: instruction requires: vector-enhancements-3401#CHECK: vmalhg %v0, %v0, %v0, %v0402#CHECK: error: instruction requires: vector-enhancements-3403#CHECK: vmalhq %v0, %v0, %v0, %v0404 405 vmalhg %v0, %v0, %v0, %v0406 vmalhq %v0, %v0, %v0, %v0407 408#CHECK: error: instruction requires: vector-enhancements-3409#CHECK: vmaeg %v0, %v0, %v0, %v0410 411 vmaeg %v0, %v0, %v0, %v0412 413#CHECK: error: instruction requires: vector-enhancements-3414#CHECK: vmaleg %v0, %v0, %v0, %v0415 416 vmaleg %v0, %v0, %v0, %v0417 418#CHECK: error: instruction requires: vector-enhancements-3419#CHECK: vmaog %v0, %v0, %v0, %v0420 421 vmaog %v0, %v0, %v0, %v0422 423#CHECK: error: instruction requires: vector-enhancements-3424#CHECK: vmalog %v0, %v0, %v0, %v0425 426 vmalog %v0, %v0, %v0, %v0427 428#CHECK: error: instruction requires: vector-enhancements-3429#CHECK: vmlg %v0, %v0, %v0430#CHECK: error: instruction requires: vector-enhancements-3431#CHECK: vmlq %v0, %v0, %v0432 433 vmlg %v0, %v0, %v0434 vmlq %v0, %v0, %v0435 436#CHECK: error: instruction requires: vector-enhancements-3437#CHECK: vmhg %v0, %v0, %v0438#CHECK: error: instruction requires: vector-enhancements-3439#CHECK: vmhq %v0, %v0, %v0440 441 vmhg %v0, %v0, %v0442 vmhq %v0, %v0, %v0443 444#CHECK: error: instruction requires: vector-enhancements-3445#CHECK: vmlhg %v0, %v0, %v0446#CHECK: error: instruction requires: vector-enhancements-3447#CHECK: vmlhq %v0, %v0, %v0448 449 vmlhg %v0, %v0, %v0450 vmlhq %v0, %v0, %v0451 452#CHECK: error: instruction requires: vector-enhancements-3453#CHECK: vmeg %v0, %v0, %v0454 455 vmeg %v0, %v0, %v0456 457#CHECK: error: instruction requires: vector-enhancements-3458#CHECK: vmleg %v0, %v0, %v0459 460 vmleg %v0, %v0, %v0461 462#CHECK: error: instruction requires: vector-enhancements-3463#CHECK: vmog %v0, %v0, %v0464 465 vmog %v0, %v0, %v0466 467#CHECK: error: instruction requires: vector-enhancements-3468#CHECK: vmlog %v0, %v0, %v0469 470 vmlog %v0, %v0, %v0471 472#CHECK: error: instruction requires: vector-enhancements-3473#CHECK: vmnq %v0, %v0, %v0474 475 vmnq %v0, %v0, %v0476 477#CHECK: error: instruction requires: vector-enhancements-3478#CHECK: vmnlq %v0, %v0, %v0479 480 vmnlq %v0, %v0, %v0481 482#CHECK: error: instruction requires: vector-enhancements-3483#CHECK: vmxq %v0, %v0, %v0484 485 vmxq %v0, %v0, %v0486 487#CHECK: error: instruction requires: vector-enhancements-3488#CHECK: vmxlq %v0, %v0, %v0489 490 vmxlq %v0, %v0, %v0491 492#CHECK: error: invalid operand493#CHECK: vpkzr %v0, %v0, %v0, 0, -1494#CHECK: error: invalid operand495#CHECK: vpkzr %v0, %v0, %v0, 0, 16496#CHECK: error: invalid operand497#CHECK: vpkzr %v0, %v0, %v0, -1, 0498#CHECK: error: invalid operand499#CHECK: vpkzr %v0, %v0, %v0, 256, 0500 501 vpkzr %v0, %v0, %v0, 0, -1502 vpkzr %v0, %v0, %v0, 0, 16503 vpkzr %v0, %v0, %v0, -1, 0504 vpkzr %v0, %v0, %v0, 256, 0505 506#CHECK: error: instruction requires: vector-enhancements-3507#CHECK: vr %v0, %v0, %v0, 0, 0508#CHECK: vrf %v0, %v0, %v0, 0509#CHECK: vrg %v0, %v0, %v0, 0510#CHECK: vrq %v0, %v0, %v0, 0511 512 vr %v0, %v0, %v0, 0, 0513 vrf %v0, %v0, %v0, 0514 vrg %v0, %v0, %v0, 0515 vrq %v0, %v0, %v0, 0516 517#CHECK: error: instruction requires: vector-enhancements-3518#CHECK: vrl %v0, %v0, %v0, 0, 0519#CHECK: vrlf %v0, %v0, %v0, 0520#CHECK: vrlg %v0, %v0, %v0, 0521#CHECK: vrlq %v0, %v0, %v0, 0522 523 vrl %v0, %v0, %v0, 0, 0524 vrlf %v0, %v0, %v0, 0525 vrlg %v0, %v0, %v0, 0526 vrlq %v0, %v0, %v0, 0527 528#CHECK: error: invalid operand529#CHECK: vschp %v0, %v0, %v0, 0, -1530#CHECK: error: invalid operand531#CHECK: vschp %v0, %v0, %v0, 0, 16532#CHECK: error: invalid operand533#CHECK: vschp %v0, %v0, %v0, -1, 0534#CHECK: error: invalid operand535#CHECK: vschp %v0, %v0, %v0, 16, 0536 537 vschp %v0, %v0, %v0, 0, -1538 vschp %v0, %v0, %v0, 0, 16539 vschp %v0, %v0, %v0, -1, 0540 vschp %v0, %v0, %v0, 16, 0541 542#CHECK: error: invalid operand543#CHECK: vschsp %v0, %v0, %v0, -1544#CHECK: error: invalid operand545#CHECK: vschsp %v0, %v0, %v0, 16546 547 vschsp %v0, %v0, %v0, -1548 vschsp %v0, %v0, %v0, 16549 550#CHECK: error: invalid operand551#CHECK: vschdp %v0, %v0, %v0, -1552#CHECK: error: invalid operand553#CHECK: vschdp %v0, %v0, %v0, 16554 555 vschdp %v0, %v0, %v0, -1556 vschdp %v0, %v0, %v0, 16557 558#CHECK: error: invalid operand559#CHECK: vschxp %v0, %v0, %v0, -1560#CHECK: error: invalid operand561#CHECK: vschxp %v0, %v0, %v0, 16562 563 vschxp %v0, %v0, %v0, -1564 vschxp %v0, %v0, %v0, 16565 566#CHECK: error: invalid operand567#CHECK: vsrpr %v0, %v0, %v0, 0, -1568#CHECK: error: invalid operand569#CHECK: vsrpr %v0, %v0, %v0, 0, 16570#CHECK: error: invalid operand571#CHECK: vsrpr %v0, %v0, %v0, -1, 0572#CHECK: error: invalid operand573#CHECK: vsrpr %v0, %v0, %v0, 256, 0574 575 vsrpr %v0, %v0, %v0, 0, -1576 vsrpr %v0, %v0, %v0, 0, 16577 vsrpr %v0, %v0, %v0, -1, 0578 vsrpr %v0, %v0, %v0, 256, 0579 580#CHECK: error: instruction requires: vector-packed-decimal-enhancement-3581#CHECK: vtp %v0, 0582 583 vtp %v0, 0584 585#CHECK: error: instruction requires: vector-packed-decimal-enhancement-3586#CHECK: vtz %v0, %v0, 0587 588 vtz %v0, %v0, 0589 590#CHECK: error: instruction requires: vector-enhancements-3591#CHECK: vuphg %v0, %v0592 593 vuphg %v0, %v0594 595#CHECK: error: instruction requires: vector-enhancements-3596#CHECK: vuplg %v0, %v0597 598 vuplg %v0, %v0599 600#CHECK: error: instruction requires: vector-enhancements-3601#CHECK: vuplhg %v0, %v0602 603 vuplhg %v0, %v0604 605#CHECK: error: instruction requires: vector-enhancements-3606#CHECK: vupllg %v0, %v0607 608 vupllg %v0, %v0609 610#CHECK: error: invalid operand611#CHECK: vupkzh %v0, %v0, -1612#CHECK: error: invalid operand613#CHECK: vupkzh %v0, %v0, 16614 615 vupkzh %v0, %v0, -1616 vupkzh %v0, %v0, 16617 618#CHECK: error: invalid operand619#CHECK: vupkzl %v0, %v0, -1620#CHECK: error: invalid operand621#CHECK: vupkzl %v0, %v0, 16622 623 vupkzl %v0, %v0, -1624 vupkzl %v0, %v0, 16625