1# For z15 only. 2# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z15 < %s 2> %t 3# RUN: FileCheck < %t %s 4# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=arch13 < %s 2> %t 5# RUN: FileCheck < %t %s 6 7#CHECK: error: invalid register pair 8#CHECK: dfltcc %r1, %r2, %r4 9#CHECK: error: invalid register pair 10#CHECK: dfltcc %r2, %r1, %r4 11 12 dfltcc %r1, %r2, %r4 13 dfltcc %r2, %r1, %r4 14 15#CHECK: error: invalid register pair 16#CHECK: kdsa %r0, %r1 17 18 kdsa %r0, %r1 19 20#CHECK: error: invalid operand 21#CHECK: ldrv %f0, -1 22#CHECK: error: invalid operand 23#CHECK: ldrv %f0, 4096 24#CHECK: error: invalid use of vector addressing 25#CHECK: ldrv %f0, 0(%v1,%r2) 26 27 ldrv %f0, -1 28 ldrv %f0, 4096 29 ldrv %f0, 0(%v1,%r2) 30 31#CHECK: error: invalid operand 32#CHECK: lerv %f0, -1 33#CHECK: error: invalid operand 34#CHECK: lerv %f0, 4096 35#CHECK: error: invalid use of vector addressing 36#CHECK: lerv %f0, 0(%v1,%r2) 37 38 lerv %f0, -1 39 lerv %f0, 4096 40 lerv %f0, 0(%v1,%r2) 41 42#CHECK: error: invalid use of indexed addressing 43#CHECK: mvcrl 160(%r1,%r15),160(%r15) 44#CHECK: error: invalid operand 45#CHECK: mvcrl -1(%r1),160(%r15) 46#CHECK: error: invalid operand 47#CHECK: mvcrl 4096(%r1),160(%r15) 48#CHECK: error: invalid operand 49#CHECK: mvcrl 0(%r1),-1(%r15) 50#CHECK: error: invalid operand 51#CHECK: mvcrl 0(%r1),4096(%r15) 52 53 mvcrl 160(%r1,%r15),160(%r15) 54 mvcrl -1(%r1),160(%r15) 55 mvcrl 4096(%r1),160(%r15) 56 mvcrl 0(%r1),-1(%r15) 57 mvcrl 0(%r1),4096(%r15) 58 59#CHECK: error: invalid operand 60#CHECK: popcnt %r2, %r4, -1 61#CHECK: error: invalid operand 62#CHECK: popcnt %r2, %r4, 16 63 64 popcnt %r2, %r4, -1 65 popcnt %r2, %r4, 16 66 67#CHECK: error: invalid operand 68#CHECK: selgr %r0, %r0, %r0, -1 69#CHECK: error: invalid operand 70#CHECK: selgr %r0, %r0, %r0, 16 71 72 selgr %r0, %r0, %r0, -1 73 selgr %r0, %r0, %r0, 16 74 75#CHECK: error: invalid operand 76#CHECK: selfhr %r0, %r0, %r0, -1 77#CHECK: error: invalid operand 78#CHECK: selfhr %r0, %r0, %r0, 16 79 80 selfhr %r0, %r0, %r0, -1 81 selfhr %r0, %r0, %r0, 16 82 83#CHECK: error: invalid operand 84#CHECK: selr %r0, %r0, %r0, -1 85#CHECK: error: invalid operand 86#CHECK: selr %r0, %r0, %r0, 16 87 88 selr %r0, %r0, %r0, -1 89 selr %r0, %r0, %r0, 16 90 91#CHECK: error: invalid register pair 92#CHECK: sortl %r1, %r2 93#CHECK: error: invalid register pair 94#CHECK: sortl %r2, %r1 95 96 sortl %r1, %r2 97 sortl %r2, %r1 98 99#CHECK: error: invalid operand 100#CHECK: stdrv %f0, -1 101#CHECK: error: invalid operand 102#CHECK: stdrv %f0, 4096 103#CHECK: error: invalid use of vector addressing 104#CHECK: stdrv %f0, 0(%v1,%r2) 105 106 stdrv %f0, -1 107 stdrv %f0, 4096 108 stdrv %f0, 0(%v1,%r2) 109 110#CHECK: error: invalid operand 111#CHECK: sterv %f0, -1 112#CHECK: error: invalid operand 113#CHECK: sterv %f0, 4096 114#CHECK: error: invalid use of vector addressing 115#CHECK: sterv %f0, 0(%v1,%r2) 116 117 sterv %f0, -1 118 sterv %f0, 4096 119 sterv %f0, 0(%v1,%r2) 120 121#CHECK: error: invalid operand 122#CHECK: vcefb %v0, %v0, 0, -1 123#CHECK: error: invalid operand 124#CHECK: vcefb %v0, %v0, 0, 16 125#CHECK: error: invalid operand 126#CHECK: vcefb %v0, %v0, -1, 0 127#CHECK: error: invalid operand 128#CHECK: vcefb %v0, %v0, 16, 0 129 130 vcefb %v0, %v0, 0, -1 131 vcefb %v0, %v0, 0, 16 132 vcefb %v0, %v0, -1, 0 133 vcefb %v0, %v0, 16, 0 134 135#CHECK: error: invalid operand 136#CHECK: vcelfb %v0, %v0, 0, -1 137#CHECK: error: invalid operand 138#CHECK: vcelfb %v0, %v0, 0, 16 139#CHECK: error: invalid operand 140#CHECK: vcelfb %v0, %v0, -1, 0 141#CHECK: error: invalid operand 142#CHECK: vcelfb %v0, %v0, 16, 0 143 144 vcelfb %v0, %v0, 0, -1 145 vcelfb %v0, %v0, 0, 16 146 vcelfb %v0, %v0, -1, 0 147 vcelfb %v0, %v0, 16, 0 148 149#CHECK: error: invalid operand 150#CHECK: vcfeb %v0, %v0, 0, -1 151#CHECK: error: invalid operand 152#CHECK: vcfeb %v0, %v0, 0, 16 153#CHECK: error: invalid operand 154#CHECK: vcfeb %v0, %v0, -1, 0 155#CHECK: error: invalid operand 156#CHECK: vcfeb %v0, %v0, 16, 0 157 158 vcfeb %v0, %v0, 0, -1 159 vcfeb %v0, %v0, 0, 16 160 vcfeb %v0, %v0, -1, 0 161 vcfeb %v0, %v0, 16, 0 162 163#CHECK: error: invalid operand 164#CHECK: vcfpl %v0, %v0, 0, 0, -1 165#CHECK: error: invalid operand 166#CHECK: vcfpl %v0, %v0, 0, 0, 16 167#CHECK: error: invalid operand 168#CHECK: vcfpl %v0, %v0, 0, -1, 0 169#CHECK: error: invalid operand 170#CHECK: vcfpl %v0, %v0, 0, 16, 0 171#CHECK: error: invalid operand 172#CHECK: vcfpl %v0, %v0, -1, 0, 0 173#CHECK: error: invalid operand 174#CHECK: vcfpl %v0, %v0, 16, 0, 0 175 176 vcfpl %v0, %v0, 0, 0, -1 177 vcfpl %v0, %v0, 0, 0, 16 178 vcfpl %v0, %v0, 0, -1, 0 179 vcfpl %v0, %v0, 0, 16, 0 180 vcfpl %v0, %v0, -1, 0, 0 181 vcfpl %v0, %v0, 16, 0, 0 182 183#CHECK: error: invalid operand 184#CHECK: vcfps %v0, %v0, 0, 0, -1 185#CHECK: error: invalid operand 186#CHECK: vcfps %v0, %v0, 0, 0, 16 187#CHECK: error: invalid operand 188#CHECK: vcfps %v0, %v0, 0, -1, 0 189#CHECK: error: invalid operand 190#CHECK: vcfps %v0, %v0, 0, 16, 0 191#CHECK: error: invalid operand 192#CHECK: vcfps %v0, %v0, -1, 0, 0 193#CHECK: error: invalid operand 194#CHECK: vcfps %v0, %v0, 16, 0, 0 195 196 vcfps %v0, %v0, 0, 0, -1 197 vcfps %v0, %v0, 0, 0, 16 198 vcfps %v0, %v0, 0, -1, 0 199 vcfps %v0, %v0, 0, 16, 0 200 vcfps %v0, %v0, -1, 0, 0 201 vcfps %v0, %v0, 16, 0, 0 202 203#CHECK: error: invalid operand 204#CHECK: vclfeb %v0, %v0, 0, -1 205#CHECK: error: invalid operand 206#CHECK: vclfeb %v0, %v0, 0, 16 207#CHECK: error: invalid operand 208#CHECK: vclfeb %v0, %v0, -1, 0 209#CHECK: error: invalid operand 210#CHECK: vclfeb %v0, %v0, 16, 0 211 212 vclfeb %v0, %v0, 0, -1 213 vclfeb %v0, %v0, 0, 16 214 vclfeb %v0, %v0, -1, 0 215 vclfeb %v0, %v0, 16, 0 216 217#CHECK: error: invalid operand 218#CHECK: vclfp %v0, %v0, 0, 0, -1 219#CHECK: error: invalid operand 220#CHECK: vclfp %v0, %v0, 0, 0, 16 221#CHECK: error: invalid operand 222#CHECK: vclfp %v0, %v0, 0, -1, 0 223#CHECK: error: invalid operand 224#CHECK: vclfp %v0, %v0, 0, 16, 0 225#CHECK: error: invalid operand 226#CHECK: vclfp %v0, %v0, -1, 0, 0 227#CHECK: error: invalid operand 228#CHECK: vclfp %v0, %v0, 16, 0, 0 229 230 vclfp %v0, %v0, 0, 0, -1 231 vclfp %v0, %v0, 0, 0, 16 232 vclfp %v0, %v0, 0, -1, 0 233 vclfp %v0, %v0, 0, 16, 0 234 vclfp %v0, %v0, -1, 0, 0 235 vclfp %v0, %v0, 16, 0, 0 236 237#CHECK: error: invalid operand 238#CHECK: vcsfp %v0, %v0, 0, 0, -1 239#CHECK: error: invalid operand 240#CHECK: vcsfp %v0, %v0, 0, 0, 16 241#CHECK: error: invalid operand 242#CHECK: vcsfp %v0, %v0, 0, -1, 0 243#CHECK: error: invalid operand 244#CHECK: vcsfp %v0, %v0, 0, 16, 0 245#CHECK: error: invalid operand 246#CHECK: vcsfp %v0, %v0, -1, 0, 0 247#CHECK: error: invalid operand 248#CHECK: vcsfp %v0, %v0, 16, 0, 0 249 250 vcsfp %v0, %v0, 0, 0, -1 251 vcsfp %v0, %v0, 0, 0, 16 252 vcsfp %v0, %v0, 0, -1, 0 253 vcsfp %v0, %v0, 0, 16, 0 254 vcsfp %v0, %v0, -1, 0, 0 255 vcsfp %v0, %v0, 16, 0, 0 256 257#CHECK: error: invalid operand 258#CHECK: vcvb %r0, %v0, 0, -1 259#CHECK: error: invalid operand 260#CHECK: vcvb %r0, %v0, 0, 16 261 262 vcvb %r0, %v0, 0, -1 263 vcvb %r0, %v0, 0, 16 264 265#CHECK: error: invalid operand 266#CHECK: vcvbg %r0, %v0, 0, -1 267#CHECK: error: invalid operand 268#CHECK: vcvbg %r0, %v0, 0, 16 269 270 vcvbg %r0, %v0, 0, -1 271 vcvbg %r0, %v0, 0, 16 272 273#CHECK: error: invalid operand 274#CHECK: vlbr %v0, 0, -1 275#CHECK: error: invalid operand 276#CHECK: vlbr %v0, 0, 16 277#CHECK: error: invalid operand 278#CHECK: vlbr %v0, -1, 0 279#CHECK: error: invalid operand 280#CHECK: vlbr %v0, 4096, 0 281#CHECK: error: invalid use of vector addressing 282#CHECK: vlbr %v0, 0(%v1,%r2), 0 283 284 vlbr %v0, 0, -1 285 vlbr %v0, 0, 16 286 vlbr %v0, -1, 0 287 vlbr %v0, 4096, 0 288 vlbr %v0, 0(%v1,%r2), 0 289 290#CHECK: error: invalid operand 291#CHECK: vlbrf %v0, -1 292#CHECK: error: invalid operand 293#CHECK: vlbrf %v0, 4096 294#CHECK: error: invalid use of vector addressing 295#CHECK: vlbrf %v0, 0(%v1,%r2) 296 297 vlbrf %v0, -1 298 vlbrf %v0, 4096 299 vlbrf %v0, 0(%v1,%r2) 300 301#CHECK: error: invalid operand 302#CHECK: vlbrg %v0, -1 303#CHECK: error: invalid operand 304#CHECK: vlbrg %v0, 4096 305#CHECK: error: invalid use of vector addressing 306#CHECK: vlbrg %v0, 0(%v1,%r2) 307 308 vlbrg %v0, -1 309 vlbrg %v0, 4096 310 vlbrg %v0, 0(%v1,%r2) 311 312#CHECK: error: invalid operand 313#CHECK: vlbrh %v0, -1 314#CHECK: error: invalid operand 315#CHECK: vlbrh %v0, 4096 316#CHECK: error: invalid use of vector addressing 317#CHECK: vlbrh %v0, 0(%v1,%r2) 318 319 vlbrh %v0, -1 320 vlbrh %v0, 4096 321 vlbrh %v0, 0(%v1,%r2) 322 323#CHECK: error: invalid operand 324#CHECK: vlbrq %v0, -1 325#CHECK: error: invalid operand 326#CHECK: vlbrq %v0, 4096 327#CHECK: error: invalid use of vector addressing 328#CHECK: vlbrq %v0, 0(%v1,%r2) 329 330 vlbrq %v0, -1 331 vlbrq %v0, 4096 332 vlbrq %v0, 0(%v1,%r2) 333 334#CHECK: error: invalid operand 335#CHECK: vlbrrep %v0, 0, -1 336#CHECK: error: invalid operand 337#CHECK: vlbrrep %v0, 0, 16 338#CHECK: error: invalid operand 339#CHECK: vlbrrep %v0, -1, 0 340#CHECK: error: invalid operand 341#CHECK: vlbrrep %v0, 4096, 0 342#CHECK: error: invalid use of vector addressing 343#CHECK: vlbrrep %v0, 0(%v1,%r2), 0 344 345 vlbrrep %v0, 0, -1 346 vlbrrep %v0, 0, 16 347 vlbrrep %v0, -1, 0 348 vlbrrep %v0, 4096, 0 349 vlbrrep %v0, 0(%v1,%r2), 0 350 351#CHECK: error: invalid operand 352#CHECK: vlbrrepf %v0, -1 353#CHECK: error: invalid operand 354#CHECK: vlbrrepf %v0, 4096 355#CHECK: error: invalid use of vector addressing 356#CHECK: vlbrrepf %v0, 0(%v1,%r2) 357 358 vlbrrepf %v0, -1 359 vlbrrepf %v0, 4096 360 vlbrrepf %v0, 0(%v1,%r2) 361 362#CHECK: error: invalid operand 363#CHECK: vlbrrepg %v0, -1 364#CHECK: error: invalid operand 365#CHECK: vlbrrepg %v0, 4096 366#CHECK: error: invalid use of vector addressing 367#CHECK: vlbrrepg %v0, 0(%v1,%r2) 368 369 vlbrrepg %v0, -1 370 vlbrrepg %v0, 4096 371 vlbrrepg %v0, 0(%v1,%r2) 372 373#CHECK: error: invalid operand 374#CHECK: vlbrreph %v0, -1 375#CHECK: error: invalid operand 376#CHECK: vlbrreph %v0, 4096 377#CHECK: error: invalid use of vector addressing 378#CHECK: vlbrreph %v0, 0(%v1,%r2) 379 380 vlbrreph %v0, -1 381 vlbrreph %v0, 4096 382 vlbrreph %v0, 0(%v1,%r2) 383 384#CHECK: error: invalid operand 385#CHECK: vlebrf %v0, 0, -1 386#CHECK: error: invalid operand 387#CHECK: vlebrf %v0, 0, 4 388#CHECK: error: invalid operand 389#CHECK: vlebrf %v0, -1, 0 390#CHECK: error: invalid operand 391#CHECK: vlebrf %v0, 4096, 0 392#CHECK: error: invalid use of vector addressing 393#CHECK: vlebrf %v0, 0(%v1,%r2), 0 394 395 vlebrf %v0, 0, -1 396 vlebrf %v0, 0, 4 397 vlebrf %v0, -1, 0 398 vlebrf %v0, 4096, 0 399 vlebrf %v0, 0(%v1,%r2), 0 400 401#CHECK: error: invalid operand 402#CHECK: vlebrg %v0, 0, -1 403#CHECK: error: invalid operand 404#CHECK: vlebrg %v0, 0, 2 405#CHECK: error: invalid operand 406#CHECK: vlebrg %v0, -1, 0 407#CHECK: error: invalid operand 408#CHECK: vlebrg %v0, 4096, 0 409#CHECK: error: invalid use of vector addressing 410#CHECK: vlebrg %v0, 0(%v1,%r2), 0 411 412 vlebrg %v0, 0, -1 413 vlebrg %v0, 0, 2 414 vlebrg %v0, -1, 0 415 vlebrg %v0, 4096, 0 416 vlebrg %v0, 0(%v1,%r2), 0 417 418#CHECK: error: invalid operand 419#CHECK: vlebrh %v0, 0, -1 420#CHECK: error: invalid operand 421#CHECK: vlebrh %v0, 0, 8 422#CHECK: error: invalid operand 423#CHECK: vlebrh %v0, -1, 0 424#CHECK: error: invalid operand 425#CHECK: vlebrh %v0, 4096, 0 426#CHECK: error: invalid use of vector addressing 427#CHECK: vlebrh %v0, 0(%v1,%r2), 0 428 429 vlebrh %v0, 0, -1 430 vlebrh %v0, 0, 8 431 vlebrh %v0, -1, 0 432 vlebrh %v0, 4096, 0 433 vlebrh %v0, 0(%v1,%r2), 0 434 435#CHECK: error: invalid operand 436#CHECK: vler %v0, 0, -1 437#CHECK: error: invalid operand 438#CHECK: vler %v0, 0, 16 439#CHECK: error: invalid operand 440#CHECK: vler %v0, -1, 0 441#CHECK: error: invalid operand 442#CHECK: vler %v0, 4096, 0 443#CHECK: error: invalid use of vector addressing 444#CHECK: vler %v0, 0(%v1,%r2), 0 445 446 vler %v0, 0, -1 447 vler %v0, 0, 16 448 vler %v0, -1, 0 449 vler %v0, 4096, 0 450 vler %v0, 0(%v1,%r2), 0 451 452#CHECK: error: invalid operand 453#CHECK: vlerf %v0, -1 454#CHECK: error: invalid operand 455#CHECK: vlerf %v0, 4096 456#CHECK: error: invalid use of vector addressing 457#CHECK: vlerf %v0, 0(%v1,%r2) 458 459 vlerf %v0, -1 460 vlerf %v0, 4096 461 vlerf %v0, 0(%v1,%r2) 462 463#CHECK: error: invalid operand 464#CHECK: vlerg %v0, -1 465#CHECK: error: invalid operand 466#CHECK: vlerg %v0, 4096 467#CHECK: error: invalid use of vector addressing 468#CHECK: vlerg %v0, 0(%v1,%r2) 469 470 vlerg %v0, -1 471 vlerg %v0, 4096 472 vlerg %v0, 0(%v1,%r2) 473 474#CHECK: error: invalid operand 475#CHECK: vlerh %v0, -1 476#CHECK: error: invalid operand 477#CHECK: vlerh %v0, 4096 478#CHECK: error: invalid use of vector addressing 479#CHECK: vlerh %v0, 0(%v1,%r2) 480 481 vlerh %v0, -1 482 vlerh %v0, 4096 483 vlerh %v0, 0(%v1,%r2) 484 485#CHECK: error: invalid operand 486#CHECK: vllebrz %v0, 0, -1 487#CHECK: error: invalid operand 488#CHECK: vllebrz %v0, 0, 16 489#CHECK: error: invalid operand 490#CHECK: vllebrz %v0, -1, 0 491#CHECK: error: invalid operand 492#CHECK: vllebrz %v0, 4096, 0 493#CHECK: error: invalid use of vector addressing 494#CHECK: vllebrz %v0, 0(%v1,%r2), 0 495 496 vllebrz %v0, 0, -1 497 vllebrz %v0, 0, 16 498 vllebrz %v0, -1, 0 499 vllebrz %v0, 4096, 0 500 vllebrz %v0, 0(%v1,%r2), 0 501 502#CHECK: error: invalid operand 503#CHECK: vllebrze %v0, -1 504#CHECK: error: invalid operand 505#CHECK: vllebrze %v0, 4096 506#CHECK: error: invalid use of vector addressing 507#CHECK: vllebrze %v0, 0(%v1,%r2) 508 509 vllebrze %v0, -1 510 vllebrze %v0, 4096 511 vllebrze %v0, 0(%v1,%r2) 512 513#CHECK: error: invalid operand 514#CHECK: vllebrzf %v0, -1 515#CHECK: error: invalid operand 516#CHECK: vllebrzf %v0, 4096 517#CHECK: error: invalid use of vector addressing 518#CHECK: vllebrzf %v0, 0(%v1,%r2) 519 520 vllebrzf %v0, -1 521 vllebrzf %v0, 4096 522 vllebrzf %v0, 0(%v1,%r2) 523 524#CHECK: error: invalid operand 525#CHECK: vllebrzg %v0, -1 526#CHECK: error: invalid operand 527#CHECK: vllebrzg %v0, 4096 528#CHECK: error: invalid use of vector addressing 529#CHECK: vllebrzg %v0, 0(%v1,%r2) 530 531 vllebrzg %v0, -1 532 vllebrzg %v0, 4096 533 vllebrzg %v0, 0(%v1,%r2) 534 535#CHECK: error: invalid operand 536#CHECK: vllebrzh %v0, -1 537#CHECK: error: invalid operand 538#CHECK: vllebrzh %v0, 4096 539#CHECK: error: invalid use of vector addressing 540#CHECK: vllebrzh %v0, 0(%v1,%r2) 541 542 vllebrzh %v0, -1 543 vllebrzh %v0, 4096 544 vllebrzh %v0, 0(%v1,%r2) 545 546#CHECK: error: invalid operand 547#CHECK: vsld %v0, %v0, %v0, -1 548#CHECK: error: invalid operand 549#CHECK: vsld %v0, %v0, %v0, 256 550 551 vsld %v0, %v0, %v0, -1 552 vsld %v0, %v0, %v0, 256 553 554#CHECK: error: invalid operand 555#CHECK: vsrd %v0, %v0, %v0, -1 556#CHECK: error: invalid operand 557#CHECK: vsrd %v0, %v0, %v0, 256 558 559 vsrd %v0, %v0, %v0, -1 560 vsrd %v0, %v0, %v0, 256 561 562#CHECK: error: invalid operand 563#CHECK: vstbr %v0, 0, -1 564#CHECK: error: invalid operand 565#CHECK: vstbr %v0, 0, 16 566#CHECK: error: invalid operand 567#CHECK: vstbr %v0, -1, 0 568#CHECK: error: invalid operand 569#CHECK: vstbr %v0, 4096, 0 570#CHECK: error: invalid use of vector addressing 571#CHECK: vstbr %v0, 0(%v1,%r2), 0 572 573 vstbr %v0, 0, -1 574 vstbr %v0, 0, 16 575 vstbr %v0, -1, 0 576 vstbr %v0, 4096, 0 577 vstbr %v0, 0(%v1,%r2), 0 578 579#CHECK: error: invalid operand 580#CHECK: vstbrf %v0, -1 581#CHECK: error: invalid operand 582#CHECK: vstbrf %v0, 4096 583#CHECK: error: invalid use of vector addressing 584#CHECK: vstbrf %v0, 0(%v1,%r2) 585 586 vstbrf %v0, -1 587 vstbrf %v0, 4096 588 vstbrf %v0, 0(%v1,%r2) 589 590#CHECK: error: invalid operand 591#CHECK: vstbrg %v0, -1 592#CHECK: error: invalid operand 593#CHECK: vstbrg %v0, 4096 594#CHECK: error: invalid use of vector addressing 595#CHECK: vstbrg %v0, 0(%v1,%r2) 596 597 vstbrg %v0, -1 598 vstbrg %v0, 4096 599 vstbrg %v0, 0(%v1,%r2) 600 601#CHECK: error: invalid operand 602#CHECK: vstbrh %v0, -1 603#CHECK: error: invalid operand 604#CHECK: vstbrh %v0, 4096 605#CHECK: error: invalid use of vector addressing 606#CHECK: vstbrh %v0, 0(%v1,%r2) 607 608 vstbrh %v0, -1 609 vstbrh %v0, 4096 610 vstbrh %v0, 0(%v1,%r2) 611 612#CHECK: error: invalid operand 613#CHECK: vstbrq %v0, -1 614#CHECK: error: invalid operand 615#CHECK: vstbrq %v0, 4096 616#CHECK: error: invalid use of vector addressing 617#CHECK: vstbrq %v0, 0(%v1,%r2) 618 619 vstbrq %v0, -1 620 vstbrq %v0, 4096 621 vstbrq %v0, 0(%v1,%r2) 622 623#CHECK: error: invalid operand 624#CHECK: vstebrf %v0, 0, -1 625#CHECK: error: invalid operand 626#CHECK: vstebrf %v0, 0, 4 627#CHECK: error: invalid operand 628#CHECK: vstebrf %v0, -1, 0 629#CHECK: error: invalid operand 630#CHECK: vstebrf %v0, 4096, 0 631#CHECK: error: invalid use of vector addressing 632#CHECK: vstebrf %v0, 0(%v1,%r2), 0 633 634 vstebrf %v0, 0, -1 635 vstebrf %v0, 0, 4 636 vstebrf %v0, -1, 0 637 vstebrf %v0, 4096, 0 638 vstebrf %v0, 0(%v1,%r2), 0 639 640#CHECK: error: invalid operand 641#CHECK: vstebrg %v0, 0, -1 642#CHECK: error: invalid operand 643#CHECK: vstebrg %v0, 0, 2 644#CHECK: error: invalid operand 645#CHECK: vstebrg %v0, -1, 0 646#CHECK: error: invalid operand 647#CHECK: vstebrg %v0, 4096, 0 648#CHECK: error: invalid use of vector addressing 649#CHECK: vstebrg %v0, 0(%v1,%r2), 0 650 651 vstebrg %v0, 0, -1 652 vstebrg %v0, 0, 2 653 vstebrg %v0, -1, 0 654 vstebrg %v0, 4096, 0 655 vstebrg %v0, 0(%v1,%r2), 0 656 657#CHECK: error: invalid operand 658#CHECK: vstebrh %v0, 0, -1 659#CHECK: error: invalid operand 660#CHECK: vstebrh %v0, 0, 8 661#CHECK: error: invalid operand 662#CHECK: vstebrh %v0, -1, 0 663#CHECK: error: invalid operand 664#CHECK: vstebrh %v0, 4096, 0 665#CHECK: error: invalid use of vector addressing 666#CHECK: vstebrh %v0, 0(%v1,%r2), 0 667 668 vstebrh %v0, 0, -1 669 vstebrh %v0, 0, 8 670 vstebrh %v0, -1, 0 671 vstebrh %v0, 4096, 0 672 vstebrh %v0, 0(%v1,%r2), 0 673 674#CHECK: error: invalid operand 675#CHECK: vster %v0, 0, -1 676#CHECK: error: invalid operand 677#CHECK: vster %v0, 0, 16 678#CHECK: error: invalid operand 679#CHECK: vster %v0, -1, 0 680#CHECK: error: invalid operand 681#CHECK: vster %v0, 4096, 0 682#CHECK: error: invalid use of vector addressing 683#CHECK: vster %v0, 0(%v1,%r2), 0 684 685 vster %v0, 0, -1 686 vster %v0, 0, 16 687 vster %v0, -1, 0 688 vster %v0, 4096, 0 689 vster %v0, 0(%v1,%r2), 0 690 691#CHECK: error: invalid operand 692#CHECK: vsterf %v0, -1 693#CHECK: error: invalid operand 694#CHECK: vsterf %v0, 4096 695#CHECK: error: invalid use of vector addressing 696#CHECK: vsterf %v0, 0(%v1,%r2) 697 698 vsterf %v0, -1 699 vsterf %v0, 4096 700 vsterf %v0, 0(%v1,%r2) 701 702#CHECK: error: invalid operand 703#CHECK: vsterg %v0, -1 704#CHECK: error: invalid operand 705#CHECK: vsterg %v0, 4096 706#CHECK: error: invalid use of vector addressing 707#CHECK: vsterg %v0, 0(%v1,%r2) 708 709 vsterg %v0, -1 710 vsterg %v0, 4096 711 vsterg %v0, 0(%v1,%r2) 712 713#CHECK: error: invalid operand 714#CHECK: vsterh %v0, -1 715#CHECK: error: invalid operand 716#CHECK: vsterh %v0, 4096 717#CHECK: error: invalid use of vector addressing 718#CHECK: vsterh %v0, 0(%v1,%r2) 719 720 vsterh %v0, -1 721 vsterh %v0, 4096 722 vsterh %v0, 0(%v1,%r2) 723 724#CHECK: error: invalid operand 725#CHECK: vstrs %v0, %v0, %v0, %v0, 0, -1 726#CHECK: error: invalid operand 727#CHECK: vstrs %v0, %v0, %v0, %v0, 0, 16 728#CHECK: error: invalid operand 729#CHECK: vstrs %v0, %v0, %v0, %v0, -1, 0 730#CHECK: error: invalid operand 731#CHECK: vstrs %v0, %v0, %v0, %v0, 16, 0 732#CHECK: error: too few operands 733#CHECK: vstrs %v0, %v0, %v0, %v0 734#CHECK: error: invalid operand 735#CHECK: vstrs %v0, %v0, %v0, %v0, 0, 0, 0 736 737 vstrs %v0, %v0, %v0, %v0, 0, -1 738 vstrs %v0, %v0, %v0, %v0, 0, 16 739 vstrs %v0, %v0, %v0, %v0, -1, 0 740 vstrs %v0, %v0, %v0, %v0, 16, 0 741 vstrs %v0, %v0, %v0, %v0 742 vstrs %v0, %v0, %v0, %v0, 0, 0, 0 743 744#CHECK: error: invalid operand 745#CHECK: vstrsb %v0, %v0, %v0, %v0, -1 746#CHECK: error: invalid operand 747#CHECK: vstrsb %v0, %v0, %v0, %v0, 16 748#CHECK: error: too few operands 749#CHECK: vstrsb %v0, %v0, %v0 750#CHECK: error: invalid operand 751#CHECK: vstrsb %v0, %v0, %v0, %v0, 0, 0 752 753 vstrsb %v0, %v0, %v0, %v0, -1 754 vstrsb %v0, %v0, %v0, %v0, 16 755 vstrsb %v0, %v0, %v0 756 vstrsb %v0, %v0, %v0, %v0, 0, 0 757 758#CHECK: error: invalid operand 759#CHECK: vstrsf %v0, %v0, %v0, %v0, -1 760#CHECK: error: invalid operand 761#CHECK: vstrsf %v0, %v0, %v0, %v0, 16 762#CHECK: error: too few operands 763#CHECK: vstrsf %v0, %v0, %v0 764#CHECK: error: invalid operand 765#CHECK: vstrsf %v0, %v0, %v0, %v0, 0, 0 766 767 vstrsf %v0, %v0, %v0, %v0, -1 768 vstrsf %v0, %v0, %v0, %v0, 16 769 vstrsf %v0, %v0, %v0 770 vstrsf %v0, %v0, %v0, %v0, 0, 0 771 772#CHECK: error: invalid operand 773#CHECK: vstrsh %v0, %v0, %v0, %v0, -1 774#CHECK: error: invalid operand 775#CHECK: vstrsh %v0, %v0, %v0, %v0, 16 776#CHECK: error: too few operands 777#CHECK: vstrsh %v0, %v0, %v0 778#CHECK: error: invalid operand 779#CHECK: vstrsh %v0, %v0, %v0, %v0, 0, 0 780 781 vstrsh %v0, %v0, %v0, %v0, -1 782 vstrsh %v0, %v0, %v0, %v0, 16 783 vstrsh %v0, %v0, %v0 784 vstrsh %v0, %v0, %v0, %v0, 0, 0 785 786#CHECK: error: invalid operand 787#CHECK: vstrszb %v0, %v0, %v0, %v0, -1 788#CHECK: error: invalid operand 789#CHECK: vstrszb %v0, %v0, %v0, %v0, 16 790#CHECK: error: too few operands 791#CHECK: vstrszb %v0, %v0, %v0 792#CHECK: error: invalid operand 793#CHECK: vstrszb %v0, %v0, %v0, %v0, 0, 0 794 795 vstrszb %v0, %v0, %v0, %v0, -1 796 vstrszb %v0, %v0, %v0, %v0, 16 797 vstrszb %v0, %v0, %v0 798 vstrszb %v0, %v0, %v0, %v0, 0, 0 799 800#CHECK: error: invalid operand 801#CHECK: vstrszf %v0, %v0, %v0, %v0, -1 802#CHECK: error: invalid operand 803#CHECK: vstrszf %v0, %v0, %v0, %v0, 16 804#CHECK: error: too few operands 805#CHECK: vstrszf %v0, %v0, %v0 806#CHECK: error: invalid operand 807#CHECK: vstrszf %v0, %v0, %v0, %v0, 0, 0 808 809 vstrszf %v0, %v0, %v0, %v0, -1 810 vstrszf %v0, %v0, %v0, %v0, 16 811 vstrszf %v0, %v0, %v0 812 vstrszf %v0, %v0, %v0, %v0, 0, 0 813 814#CHECK: error: invalid operand 815#CHECK: vstrszh %v0, %v0, %v0, %v0, -1 816#CHECK: error: invalid operand 817#CHECK: vstrszh %v0, %v0, %v0, %v0, 16 818#CHECK: error: too few operands 819#CHECK: vstrszh %v0, %v0, %v0 820#CHECK: error: invalid operand 821#CHECK: vstrszh %v0, %v0, %v0, %v0, 0, 0 822 823 vstrszh %v0, %v0, %v0, %v0, -1 824 vstrszh %v0, %v0, %v0, %v0, 16 825 vstrszh %v0, %v0, %v0 826 vstrszh %v0, %v0, %v0, %v0, 0, 0 827 828#CHECK: error: invalid operand 829#CHECK: wcefb %v0, %v0, 0, -1 830#CHECK: error: invalid operand 831#CHECK: wcefb %v0, %v0, 0, 16 832#CHECK: error: invalid operand 833#CHECK: wcefb %v0, %v0, -1, 0 834#CHECK: error: invalid operand 835#CHECK: wcefb %v0, %v0, 16, 0 836 837 wcefb %v0, %v0, 0, -1 838 wcefb %v0, %v0, 0, 16 839 wcefb %v0, %v0, -1, 0 840 wcefb %v0, %v0, 16, 0 841 842#CHECK: error: invalid operand 843#CHECK: wcelfb %v0, %v0, 0, -1 844#CHECK: error: invalid operand 845#CHECK: wcelfb %v0, %v0, 0, 16 846#CHECK: error: invalid operand 847#CHECK: wcelfb %v0, %v0, -1, 0 848#CHECK: error: invalid operand 849#CHECK: wcelfb %v0, %v0, 16, 0 850 851 wcelfb %v0, %v0, 0, -1 852 wcelfb %v0, %v0, 0, 16 853 wcelfb %v0, %v0, -1, 0 854 wcelfb %v0, %v0, 16, 0 855 856#CHECK: error: invalid operand 857#CHECK: wcfeb %v0, %v0, 0, -1 858#CHECK: error: invalid operand 859#CHECK: wcfeb %v0, %v0, 0, 16 860#CHECK: error: invalid operand 861#CHECK: wcfeb %v0, %v0, -1, 0 862#CHECK: error: invalid operand 863#CHECK: wcfeb %v0, %v0, 16, 0 864 865 wcfeb %v0, %v0, 0, -1 866 wcfeb %v0, %v0, 0, 16 867 wcfeb %v0, %v0, -1, 0 868 wcfeb %v0, %v0, 16, 0 869 870#CHECK: error: invalid operand 871#CHECK: wclfeb %v0, %v0, 0, -1 872#CHECK: error: invalid operand 873#CHECK: wclfeb %v0, %v0, 0, 16 874#CHECK: error: invalid operand 875#CHECK: wclfeb %v0, %v0, -1, 0 876#CHECK: error: invalid operand 877#CHECK: wclfeb %v0, %v0, 16, 0 878 879 wclfeb %v0, %v0, 0, -1 880 wclfeb %v0, %v0, 0, 16 881 wclfeb %v0, %v0, -1, 0 882 wclfeb %v0, %v0, 16, 0 883 884