1# For z13 only. 2# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z13 < %s 2> %t 3# RUN: FileCheck < %t %s 4 5#CHECK: error: invalid operand 6#CHECK: lcbb %r0, 0, -1 7#CHECK: error: invalid operand 8#CHECK: lcbb %r0, 0, 16 9#CHECK: error: invalid operand 10#CHECK: lcbb %r0, -1, 0 11#CHECK: error: invalid operand 12#CHECK: lcbb %r0, 4096, 0 13#CHECK: error: invalid use of vector addressing 14#CHECK: lcbb %r0, 0(%v1,%r2), 0 15 16 lcbb %r0, 0, -1 17 lcbb %r0, 0, 16 18 lcbb %r0, -1, 0 19 lcbb %r0, 4096, 0 20 lcbb %r0, 0(%v1,%r2), 0 21 22#CHECK: error: invalid operand 23#CHECK: vcdgb %v0, %v0, 0, -1 24#CHECK: error: invalid operand 25#CHECK: vcdgb %v0, %v0, 0, 16 26#CHECK: error: invalid operand 27#CHECK: vcdgb %v0, %v0, -1, 0 28#CHECK: error: invalid operand 29#CHECK: vcdgb %v0, %v0, 16, 0 30 31 vcdgb %v0, %v0, 0, -1 32 vcdgb %v0, %v0, 0, 16 33 vcdgb %v0, %v0, -1, 0 34 vcdgb %v0, %v0, 16, 0 35 36#CHECK: error: invalid operand 37#CHECK: vcdlgb %v0, %v0, 0, -1 38#CHECK: error: invalid operand 39#CHECK: vcdlgb %v0, %v0, 0, 16 40#CHECK: error: invalid operand 41#CHECK: vcdlgb %v0, %v0, -1, 0 42#CHECK: error: invalid operand 43#CHECK: vcdlgb %v0, %v0, 16, 0 44 45 vcdlgb %v0, %v0, 0, -1 46 vcdlgb %v0, %v0, 0, 16 47 vcdlgb %v0, %v0, -1, 0 48 vcdlgb %v0, %v0, 16, 0 49 50#CHECK: error: invalid operand 51#CHECK: vcgdb %v0, %v0, 0, -1 52#CHECK: error: invalid operand 53#CHECK: vcgdb %v0, %v0, 0, 16 54#CHECK: error: invalid operand 55#CHECK: vcgdb %v0, %v0, -1, 0 56#CHECK: error: invalid operand 57#CHECK: vcgdb %v0, %v0, 16, 0 58 59 vcgdb %v0, %v0, 0, -1 60 vcgdb %v0, %v0, 0, 16 61 vcgdb %v0, %v0, -1, 0 62 vcgdb %v0, %v0, 16, 0 63 64#CHECK: error: invalid operand 65#CHECK: vclgdb %v0, %v0, 0, -1 66#CHECK: error: invalid operand 67#CHECK: vclgdb %v0, %v0, 0, 16 68#CHECK: error: invalid operand 69#CHECK: vclgdb %v0, %v0, -1, 0 70#CHECK: error: invalid operand 71#CHECK: vclgdb %v0, %v0, 16, 0 72 73 vclgdb %v0, %v0, 0, -1 74 vclgdb %v0, %v0, 0, 16 75 vclgdb %v0, %v0, -1, 0 76 vclgdb %v0, %v0, 16, 0 77 78#CHECK: error: invalid operand 79#CHECK: verimb %v0, %v0, %v0, -1 80#CHECK: error: invalid operand 81#CHECK: verimb %v0, %v0, %v0, 256 82 83 verimb %v0, %v0, %v0, -1 84 verimb %v0, %v0, %v0, 256 85 86#CHECK: error: invalid operand 87#CHECK: verimf %v0, %v0, %v0, -1 88#CHECK: error: invalid operand 89#CHECK: verimf %v0, %v0, %v0, 256 90 91 verimf %v0, %v0, %v0, -1 92 verimf %v0, %v0, %v0, 256 93 94#CHECK: error: invalid operand 95#CHECK: verimg %v0, %v0, %v0, -1 96#CHECK: error: invalid operand 97#CHECK: verimg %v0, %v0, %v0, 256 98 99 verimg %v0, %v0, %v0, -1 100 verimg %v0, %v0, %v0, 256 101 102#CHECK: error: invalid operand 103#CHECK: verimh %v0, %v0, %v0, -1 104#CHECK: error: invalid operand 105#CHECK: verimh %v0, %v0, %v0, 256 106 107 verimh %v0, %v0, %v0, -1 108 verimh %v0, %v0, %v0, 256 109 110#CHECK: error: invalid operand 111#CHECK: verllb %v0, %v0, -1 112#CHECK: error: invalid operand 113#CHECK: verllb %v0, %v0, 4096 114 115 verllb %v0, %v0, -1 116 verllb %v0, %v0, 4096 117 118#CHECK: error: invalid operand 119#CHECK: verllf %v0, %v0, -1 120#CHECK: error: invalid operand 121#CHECK: verllf %v0, %v0, 4096 122 123 verllf %v0, %v0, -1 124 verllf %v0, %v0, 4096 125 126#CHECK: error: invalid operand 127#CHECK: verllg %v0, %v0, -1 128#CHECK: error: invalid operand 129#CHECK: verllg %v0, %v0, 4096 130 131 verllg %v0, %v0, -1 132 verllg %v0, %v0, 4096 133 134#CHECK: error: invalid operand 135#CHECK: verllh %v0, %v0, -1 136#CHECK: error: invalid operand 137#CHECK: verllh %v0, %v0, 4096 138 139 verllh %v0, %v0, -1 140 verllh %v0, %v0, 4096 141 142#CHECK: error: invalid operand 143#CHECK: veslb %v0, %v0, -1 144#CHECK: error: invalid operand 145#CHECK: veslb %v0, %v0, 4096 146 147 veslb %v0, %v0, -1 148 veslb %v0, %v0, 4096 149 150#CHECK: error: invalid operand 151#CHECK: veslf %v0, %v0, -1 152#CHECK: error: invalid operand 153#CHECK: veslf %v0, %v0, 4096 154 155 veslf %v0, %v0, -1 156 veslf %v0, %v0, 4096 157 158#CHECK: error: invalid operand 159#CHECK: veslg %v0, %v0, -1 160#CHECK: error: invalid operand 161#CHECK: veslg %v0, %v0, 4096 162 163 veslg %v0, %v0, -1 164 veslg %v0, %v0, 4096 165 166#CHECK: error: invalid operand 167#CHECK: veslh %v0, %v0, -1 168#CHECK: error: invalid operand 169#CHECK: veslh %v0, %v0, 4096 170 171 veslh %v0, %v0, -1 172 veslh %v0, %v0, 4096 173 174#CHECK: error: invalid operand 175#CHECK: vesrab %v0, %v0, -1 176#CHECK: error: invalid operand 177#CHECK: vesrab %v0, %v0, 4096 178 179 vesrab %v0, %v0, -1 180 vesrab %v0, %v0, 4096 181 182#CHECK: error: invalid operand 183#CHECK: vesraf %v0, %v0, -1 184#CHECK: error: invalid operand 185#CHECK: vesraf %v0, %v0, 4096 186 187 vesraf %v0, %v0, -1 188 vesraf %v0, %v0, 4096 189 190#CHECK: error: invalid operand 191#CHECK: vesrag %v0, %v0, -1 192#CHECK: error: invalid operand 193#CHECK: vesrag %v0, %v0, 4096 194 195 vesrag %v0, %v0, -1 196 vesrag %v0, %v0, 4096 197 198#CHECK: error: invalid operand 199#CHECK: vesrah %v0, %v0, -1 200#CHECK: error: invalid operand 201#CHECK: vesrah %v0, %v0, 4096 202 203 vesrah %v0, %v0, -1 204 vesrah %v0, %v0, 4096 205 206#CHECK: error: invalid operand 207#CHECK: vesrlb %v0, %v0, -1 208#CHECK: error: invalid operand 209#CHECK: vesrlb %v0, %v0, 4096 210 211 vesrlb %v0, %v0, -1 212 vesrlb %v0, %v0, 4096 213 214#CHECK: error: invalid operand 215#CHECK: vesrlf %v0, %v0, -1 216#CHECK: error: invalid operand 217#CHECK: vesrlf %v0, %v0, 4096 218 219 vesrlf %v0, %v0, -1 220 vesrlf %v0, %v0, 4096 221 222#CHECK: error: invalid operand 223#CHECK: vesrlg %v0, %v0, -1 224#CHECK: error: invalid operand 225#CHECK: vesrlg %v0, %v0, 4096 226 227 vesrlg %v0, %v0, -1 228 vesrlg %v0, %v0, 4096 229 230#CHECK: error: invalid operand 231#CHECK: vesrlh %v0, %v0, -1 232#CHECK: error: invalid operand 233#CHECK: vesrlh %v0, %v0, 4096 234 235 vesrlh %v0, %v0, -1 236 vesrlh %v0, %v0, 4096 237 238#CHECK: error: invalid operand 239#CHECK: vfaeb %v0, %v0, %v0, -1 240#CHECK: error: invalid operand 241#CHECK: vfaeb %v0, %v0, %v0, 16 242#CHECK: error: too few operands 243#CHECK: vfaeb %v0, %v0 244#CHECK: error: invalid operand 245#CHECK: vfaeb %v0, %v0, %v0, 0, 0 246 247 vfaeb %v0, %v0, %v0, -1 248 vfaeb %v0, %v0, %v0, 16 249 vfaeb %v0, %v0 250 vfaeb %v0, %v0, %v0, 0, 0 251 252#CHECK: error: invalid operand 253#CHECK: vfaebs %v0, %v0, %v0, -1 254#CHECK: error: invalid operand 255#CHECK: vfaebs %v0, %v0, %v0, 16 256#CHECK: error: too few operands 257#CHECK: vfaebs %v0, %v0 258#CHECK: error: invalid operand 259#CHECK: vfaebs %v0, %v0, %v0, 0, 0 260 261 vfaebs %v0, %v0, %v0, -1 262 vfaebs %v0, %v0, %v0, 16 263 vfaebs %v0, %v0 264 vfaebs %v0, %v0, %v0, 0, 0 265 266#CHECK: error: invalid operand 267#CHECK: vfaef %v0, %v0, %v0, -1 268#CHECK: error: invalid operand 269#CHECK: vfaef %v0, %v0, %v0, 16 270#CHECK: error: too few operands 271#CHECK: vfaef %v0, %v0 272#CHECK: error: invalid operand 273#CHECK: vfaef %v0, %v0, %v0, 0, 0 274 275 vfaef %v0, %v0, %v0, -1 276 vfaef %v0, %v0, %v0, 16 277 vfaef %v0, %v0 278 vfaef %v0, %v0, %v0, 0, 0 279 280#CHECK: error: invalid operand 281#CHECK: vfaeh %v0, %v0, %v0, -1 282#CHECK: error: invalid operand 283#CHECK: vfaeh %v0, %v0, %v0, 16 284#CHECK: error: too few operands 285#CHECK: vfaeh %v0, %v0 286#CHECK: error: invalid operand 287#CHECK: vfaeh %v0, %v0, %v0, 0, 0 288 289 vfaeh %v0, %v0, %v0, -1 290 vfaeh %v0, %v0, %v0, 16 291 vfaeh %v0, %v0 292 vfaeh %v0, %v0, %v0, 0, 0 293 294#CHECK: error: invalid operand 295#CHECK: vfaezh %v0, %v0, %v0, -1 296#CHECK: error: invalid operand 297#CHECK: vfaezh %v0, %v0, %v0, 16 298#CHECK: error: too few operands 299#CHECK: vfaezh %v0, %v0 300#CHECK: error: invalid operand 301#CHECK: vfaezh %v0, %v0, %v0, 0, 0 302 303 vfaezh %v0, %v0, %v0, -1 304 vfaezh %v0, %v0, %v0, 16 305 vfaezh %v0, %v0 306 vfaezh %v0, %v0, %v0, 0, 0 307 308#CHECK: error: invalid operand 309#CHECK: vfaezfs %v0, %v0, %v0, -1 310#CHECK: error: invalid operand 311#CHECK: vfaezfs %v0, %v0, %v0, 16 312#CHECK: error: too few operands 313#CHECK: vfaezfs %v0, %v0 314#CHECK: error: invalid operand 315#CHECK: vfaezfs %v0, %v0, %v0, 0, 0 316 317 vfaezfs %v0, %v0, %v0, -1 318 vfaezfs %v0, %v0, %v0, 16 319 vfaezfs %v0, %v0 320 vfaezfs %v0, %v0, %v0, 0, 0 321 322#CHECK: error: invalid operand 323#CHECK: vfidb %v0, %v0, 0, -1 324#CHECK: error: invalid operand 325#CHECK: vfidb %v0, %v0, 0, 16 326#CHECK: error: invalid operand 327#CHECK: vfidb %v0, %v0, -1, 0 328#CHECK: error: invalid operand 329#CHECK: vfidb %v0, %v0, 16, 0 330 331 vfidb %v0, %v0, 0, -1 332 vfidb %v0, %v0, 0, 16 333 vfidb %v0, %v0, -1, 0 334 vfidb %v0, %v0, 16, 0 335 336#CHECK: error: invalid operand 337#CHECK: vftcidb %v0, %v0, -1 338#CHECK: error: invalid operand 339#CHECK: vftcidb %v0, %v0, 4096 340 341 vftcidb %v0, %v0, -1 342 vftcidb %v0, %v0, 4096 343 344#CHECK: error: invalid operand 345#CHECK: vgbm %v0, -1 346#CHECK: error: invalid operand 347#CHECK: vgbm %v0, 0x10000 348 349 vgbm %v0, -1 350 vgbm %v0, 0x10000 351 352#CHECK: error: vector index required 353#CHECK: vgef %v0, 0(%r1), 0 354#CHECK: error: vector index required 355#CHECK: vgef %v0, 0(%r2,%r1), 0 356#CHECK: error: invalid operand 357#CHECK: vgef %v0, 0(%v0,%r1), -1 358#CHECK: error: invalid operand 359#CHECK: vgef %v0, 0(%v0,%r1), 4 360#CHECK: error: invalid operand 361#CHECK: vgef %v0, -1(%v0,%r1), 0 362#CHECK: error: invalid operand 363#CHECK: vgef %v0, 4096(%v0,%r1), 0 364 365 vgef %v0, 0(%r1), 0 366 vgef %v0, 0(%r2,%r1), 0 367 vgef %v0, 0(%v0,%r1), -1 368 vgef %v0, 0(%v0,%r1), 4 369 vgef %v0, -1(%v0,%r1), 0 370 vgef %v0, 4096(%v0,%r1), 0 371 372#CHECK: error: vector index required 373#CHECK: vgeg %v0, 0(%r1), 0 374#CHECK: error: vector index required 375#CHECK: vgeg %v0, 0(%r2,%r1), 0 376#CHECK: error: invalid operand 377#CHECK: vgeg %v0, 0(%v0,%r1), -1 378#CHECK: error: invalid operand 379#CHECK: vgeg %v0, 0(%v0,%r1), 2 380#CHECK: error: invalid operand 381#CHECK: vgeg %v0, -1(%v0,%r1), 0 382#CHECK: error: invalid operand 383#CHECK: vgeg %v0, 4096(%v0,%r1), 0 384 385 vgeg %v0, 0(%r1), 0 386 vgeg %v0, 0(%r2,%r1), 0 387 vgeg %v0, 0(%v0,%r1), -1 388 vgeg %v0, 0(%v0,%r1), 2 389 vgeg %v0, -1(%v0,%r1), 0 390 vgeg %v0, 4096(%v0,%r1), 0 391 392#CHECK: error: invalid operand 393#CHECK: vgmb %v0, 0, -1 394#CHECK: error: invalid operand 395#CHECK: vgmb %v0, 0, -1 396#CHECK: error: invalid operand 397#CHECK: vgmb %v0, -1, 0 398#CHECK: error: invalid operand 399#CHECK: vgmb %v0, 256, 0 400 401 vgmb %v0, 0, -1 402 vgmb %v0, 0, -1 403 vgmb %v0, -1, 0 404 vgmb %v0, 256, 0 405 406#CHECK: error: invalid operand 407#CHECK: vgmf %v0, 0, -1 408#CHECK: error: invalid operand 409#CHECK: vgmf %v0, 0, -1 410#CHECK: error: invalid operand 411#CHECK: vgmf %v0, -1, 0 412#CHECK: error: invalid operand 413#CHECK: vgmf %v0, 256, 0 414 415 vgmf %v0, 0, -1 416 vgmf %v0, 0, -1 417 vgmf %v0, -1, 0 418 vgmf %v0, 256, 0 419 420#CHECK: error: invalid operand 421#CHECK: vgmg %v0, 0, -1 422#CHECK: error: invalid operand 423#CHECK: vgmg %v0, 0, -1 424#CHECK: error: invalid operand 425#CHECK: vgmg %v0, -1, 0 426#CHECK: error: invalid operand 427#CHECK: vgmg %v0, 256, 0 428 429 vgmg %v0, 0, -1 430 vgmg %v0, 0, -1 431 vgmg %v0, -1, 0 432 vgmg %v0, 256, 0 433 434#CHECK: error: invalid operand 435#CHECK: vgmh %v0, 0, -1 436#CHECK: error: invalid operand 437#CHECK: vgmh %v0, 0, -1 438#CHECK: error: invalid operand 439#CHECK: vgmh %v0, -1, 0 440#CHECK: error: invalid operand 441#CHECK: vgmh %v0, 256, 0 442 443 vgmh %v0, 0, -1 444 vgmh %v0, 0, -1 445 vgmh %v0, -1, 0 446 vgmh %v0, 256, 0 447 448#CHECK: error: invalid operand 449#CHECK: vl %v0, -1 450#CHECK: error: invalid operand 451#CHECK: vl %v0, 4096 452#CHECK: error: invalid use of vector addressing 453#CHECK: vl %v0, 0(%v1,%r2) 454 455 vl %v0, -1 456 vl %v0, 4096 457 vl %v0, 0(%v1,%r2) 458 459#CHECK: error: invalid operand 460#CHECK: vlbb %v0, 0, -1 461#CHECK: error: invalid operand 462#CHECK: vlbb %v0, 0, 16 463#CHECK: error: invalid operand 464#CHECK: vlbb %v0, -1, 0 465#CHECK: error: invalid operand 466#CHECK: vlbb %v0, 4096, 0 467#CHECK: error: invalid use of vector addressing 468#CHECK: vlbb %v0, 0(%v1,%r2), 0 469 470 vlbb %v0, 0, -1 471 vlbb %v0, 0, 16 472 vlbb %v0, -1, 0 473 vlbb %v0, 4096, 0 474 vlbb %v0, 0(%v1,%r2), 0 475 476#CHECK: error: invalid operand 477#CHECK: vleb %v0, 0, -1 478#CHECK: error: invalid operand 479#CHECK: vleb %v0, 0, 16 480#CHECK: error: invalid operand 481#CHECK: vleb %v0, -1, 0 482#CHECK: error: invalid operand 483#CHECK: vleb %v0, 4096, 0 484#CHECK: error: invalid use of vector addressing 485#CHECK: vleb %v0, 0(%v1,%r2), 0 486 487 vleb %v0, 0, -1 488 vleb %v0, 0, 16 489 vleb %v0, -1, 0 490 vleb %v0, 4096, 0 491 vleb %v0, 0(%v1,%r2), 0 492 493#CHECK: error: invalid operand 494#CHECK: vledb %v0, %v0, 0, -1 495#CHECK: error: invalid operand 496#CHECK: vledb %v0, %v0, 0, 16 497#CHECK: error: invalid operand 498#CHECK: vledb %v0, %v0, -1, 0 499#CHECK: error: invalid operand 500#CHECK: vledb %v0, %v0, 16, 0 501 502 vledb %v0, %v0, 0, -1 503 vledb %v0, %v0, 0, 16 504 vledb %v0, %v0, -1, 0 505 vledb %v0, %v0, 16, 0 506 507#CHECK: error: invalid operand 508#CHECK: vlef %v0, 0, -1 509#CHECK: error: invalid operand 510#CHECK: vlef %v0, 0, 4 511#CHECK: error: invalid operand 512#CHECK: vlef %v0, -1, 0 513#CHECK: error: invalid operand 514#CHECK: vlef %v0, 4096, 0 515#CHECK: error: invalid use of vector addressing 516#CHECK: vlef %v0, 0(%v1,%r2), 0 517 518 vlef %v0, 0, -1 519 vlef %v0, 0, 4 520 vlef %v0, -1, 0 521 vlef %v0, 4096, 0 522 vlef %v0, 0(%v1,%r2), 0 523 524#CHECK: error: invalid operand 525#CHECK: vleg %v0, 0, -1 526#CHECK: error: invalid operand 527#CHECK: vleg %v0, 0, 2 528#CHECK: error: invalid operand 529#CHECK: vleg %v0, -1, 0 530#CHECK: error: invalid operand 531#CHECK: vleg %v0, 4096, 0 532#CHECK: error: invalid use of vector addressing 533#CHECK: vleg %v0, 0(%v1,%r2), 0 534 535 vleg %v0, 0, -1 536 vleg %v0, 0, 2 537 vleg %v0, -1, 0 538 vleg %v0, 4096, 0 539 vleg %v0, 0(%v1,%r2), 0 540 541#CHECK: error: invalid operand 542#CHECK: vleh %v0, 0, -1 543#CHECK: error: invalid operand 544#CHECK: vleh %v0, 0, 8 545#CHECK: error: invalid operand 546#CHECK: vleh %v0, -1, 0 547#CHECK: error: invalid operand 548#CHECK: vleh %v0, 4096, 0 549#CHECK: error: invalid use of vector addressing 550#CHECK: vleh %v0, 0(%v1,%r2), 0 551 552 vleh %v0, 0, -1 553 vleh %v0, 0, 8 554 vleh %v0, -1, 0 555 vleh %v0, 4096, 0 556 vleh %v0, 0(%v1,%r2), 0 557 558#CHECK: error: invalid operand 559#CHECK: vleib %v0, 0, -1 560#CHECK: error: invalid operand 561#CHECK: vleib %v0, 0, 16 562#CHECK: error: invalid operand 563#CHECK: vleib %v0, -32769, 0 564#CHECK: error: invalid operand 565#CHECK: vleib %v0, 32768, 0 566 567 vleib %v0, 0, -1 568 vleib %v0, 0, 16 569 vleib %v0, -32769, 0 570 vleib %v0, 32768, 0 571 572#CHECK: error: invalid operand 573#CHECK: vleif %v0, 0, -1 574#CHECK: error: invalid operand 575#CHECK: vleif %v0, 0, 4 576#CHECK: error: invalid operand 577#CHECK: vleif %v0, -32769, 0 578#CHECK: error: invalid operand 579#CHECK: vleif %v0, 32768, 0 580 581 vleif %v0, 0, -1 582 vleif %v0, 0, 4 583 vleif %v0, -32769, 0 584 vleif %v0, 32768, 0 585 586#CHECK: error: invalid operand 587#CHECK: vleig %v0, 0, -1 588#CHECK: error: invalid operand 589#CHECK: vleig %v0, 0, 2 590#CHECK: error: invalid operand 591#CHECK: vleig %v0, -32769, 0 592#CHECK: error: invalid operand 593#CHECK: vleig %v0, 32768, 0 594 595 vleig %v0, 0, -1 596 vleig %v0, 0, 2 597 vleig %v0, -32769, 0 598 vleig %v0, 32768, 0 599 600#CHECK: error: invalid operand 601#CHECK: vleih %v0, 0, -1 602#CHECK: error: invalid operand 603#CHECK: vleih %v0, 0, 8 604#CHECK: error: invalid operand 605#CHECK: vleih %v0, -32769, 0 606#CHECK: error: invalid operand 607#CHECK: vleih %v0, 32768, 0 608 609 vleih %v0, 0, -1 610 vleih %v0, 0, 8 611 vleih %v0, -32769, 0 612 vleih %v0, 32768, 0 613 614#CHECK: error: invalid operand 615#CHECK: vlgvb %r0, %v0, -1 616#CHECK: error: invalid operand 617#CHECK: vlgvb %r0, %v0, 4096 618#CHECK: error: %r0 used in an address 619#CHECK: vlgvb %r0, %v0, 0(%r0) 620 621 vlgvb %r0, %v0, -1 622 vlgvb %r0, %v0, 4096 623 vlgvb %r0, %v0, 0(%r0) 624 625#CHECK: error: invalid operand 626#CHECK: vlgvf %r0, %v0, -1 627#CHECK: error: invalid operand 628#CHECK: vlgvf %r0, %v0, 4096 629#CHECK: error: %r0 used in an address 630#CHECK: vlgvf %r0, %v0, 0(%r0) 631 632 vlgvf %r0, %v0, -1 633 vlgvf %r0, %v0, 4096 634 vlgvf %r0, %v0, 0(%r0) 635 636#CHECK: error: invalid operand 637#CHECK: vlgvg %r0, %v0, -1 638#CHECK: error: invalid operand 639#CHECK: vlgvg %r0, %v0, 4096 640#CHECK: error: %r0 used in an address 641#CHECK: vlgvg %r0, %v0, 0(%r0) 642 643 vlgvg %r0, %v0, -1 644 vlgvg %r0, %v0, 4096 645 vlgvg %r0, %v0, 0(%r0) 646 647#CHECK: error: invalid operand 648#CHECK: vlgvh %r0, %v0, -1 649#CHECK: error: invalid operand 650#CHECK: vlgvh %r0, %v0, 4096 651#CHECK: error: %r0 used in an address 652#CHECK: vlgvh %r0, %v0, 0(%r0) 653 654 vlgvh %r0, %v0, -1 655 vlgvh %r0, %v0, 4096 656 vlgvh %r0, %v0, 0(%r0) 657 658#CHECK: error: invalid operand 659#CHECK: vll %v0, %r0, -1 660#CHECK: error: invalid operand 661#CHECK: vll %v0, %r0, 4096 662#CHECK: error: %r0 used in an address 663#CHECK: vll %v0, %r0, 0(%r0) 664 665 vll %v0, %r0, -1 666 vll %v0, %r0, 4096 667 vll %v0, %r0, 0(%r0) 668 669#CHECK: error: invalid operand 670#CHECK: vllezb %v0, -1 671#CHECK: error: invalid operand 672#CHECK: vllezb %v0, 4096 673#CHECK: error: invalid use of vector addressing 674#CHECK: vllezb %v0, 0(%v1,%r2) 675 676 vllezb %v0, -1 677 vllezb %v0, 4096 678 vllezb %v0, 0(%v1,%r2) 679 680#CHECK: error: invalid operand 681#CHECK: vllezf %v0, -1 682#CHECK: error: invalid operand 683#CHECK: vllezf %v0, 4096 684#CHECK: error: invalid use of vector addressing 685#CHECK: vllezf %v0, 0(%v1,%r2) 686 687 vllezf %v0, -1 688 vllezf %v0, 4096 689 vllezf %v0, 0(%v1,%r2) 690 691#CHECK: error: invalid operand 692#CHECK: vllezg %v0, -1 693#CHECK: error: invalid operand 694#CHECK: vllezg %v0, 4096 695#CHECK: error: invalid use of vector addressing 696#CHECK: vllezg %v0, 0(%v1,%r2) 697 698 vllezg %v0, -1 699 vllezg %v0, 4096 700 vllezg %v0, 0(%v1,%r2) 701 702#CHECK: error: invalid operand 703#CHECK: vllezh %v0, -1 704#CHECK: error: invalid operand 705#CHECK: vllezh %v0, 4096 706#CHECK: error: invalid use of vector addressing 707#CHECK: vllezh %v0, 0(%v1,%r2) 708 709 vllezh %v0, -1 710 vllezh %v0, 4096 711 vllezh %v0, 0(%v1,%r2) 712 713#CHECK: error: invalid operand 714#CHECK: vlm %v0, %v0, -1 715#CHECK: error: invalid operand 716#CHECK: vlm %v0, %v0, 4096 717 718 vlm %v0, %v0, -1 719 vlm %v0, %v0, 4096 720 721#CHECK: error: invalid operand 722#CHECK: vlrepb %v0, -1 723#CHECK: error: invalid operand 724#CHECK: vlrepb %v0, 4096 725#CHECK: error: invalid use of vector addressing 726#CHECK: vlrepb %v0, 0(%v1,%r2) 727 728 vlrepb %v0, -1 729 vlrepb %v0, 4096 730 vlrepb %v0, 0(%v1,%r2) 731 732#CHECK: error: invalid operand 733#CHECK: vlrepf %v0, -1 734#CHECK: error: invalid operand 735#CHECK: vlrepf %v0, 4096 736#CHECK: error: invalid use of vector addressing 737#CHECK: vlrepf %v0, 0(%v1,%r2) 738 739 vlrepf %v0, -1 740 vlrepf %v0, 4096 741 vlrepf %v0, 0(%v1,%r2) 742 743#CHECK: error: invalid operand 744#CHECK: vlrepg %v0, -1 745#CHECK: error: invalid operand 746#CHECK: vlrepg %v0, 4096 747#CHECK: error: invalid use of vector addressing 748#CHECK: vlrepg %v0, 0(%v1,%r2) 749 750 vlrepg %v0, -1 751 vlrepg %v0, 4096 752 vlrepg %v0, 0(%v1,%r2) 753 754#CHECK: error: invalid operand 755#CHECK: vlreph %v0, -1 756#CHECK: error: invalid operand 757#CHECK: vlreph %v0, 4096 758#CHECK: error: invalid use of vector addressing 759#CHECK: vlreph %v0, 0(%v1,%r2) 760 761 vlreph %v0, -1 762 vlreph %v0, 4096 763 vlreph %v0, 0(%v1,%r2) 764 765#CHECK: error: invalid operand 766#CHECK: vlvgb %v0, %r0, -1 767#CHECK: error: invalid operand 768#CHECK: vlvgb %v0, %r0, 4096 769#CHECK: error: %r0 used in an address 770#CHECK: vlvgb %v0, %r0, 0(%r0) 771 772 vlvgb %v0, %r0, -1 773 vlvgb %v0, %r0, 4096 774 vlvgb %v0, %r0, 0(%r0) 775 776#CHECK: error: invalid operand 777#CHECK: vlvgf %v0, %r0, -1 778#CHECK: error: invalid operand 779#CHECK: vlvgf %v0, %r0, 4096 780#CHECK: error: %r0 used in an address 781#CHECK: vlvgf %v0, %r0, 0(%r0) 782 783 vlvgf %v0, %r0, -1 784 vlvgf %v0, %r0, 4096 785 vlvgf %v0, %r0, 0(%r0) 786 787#CHECK: error: invalid operand 788#CHECK: vlvgg %v0, %r0, -1 789#CHECK: error: invalid operand 790#CHECK: vlvgg %v0, %r0, 4096 791#CHECK: error: %r0 used in an address 792#CHECK: vlvgg %v0, %r0, 0(%r0) 793 794 vlvgg %v0, %r0, -1 795 vlvgg %v0, %r0, 4096 796 vlvgg %v0, %r0, 0(%r0) 797 798#CHECK: error: invalid operand 799#CHECK: vlvgh %v0, %r0, -1 800#CHECK: error: invalid operand 801#CHECK: vlvgh %v0, %r0, 4096 802#CHECK: error: %r0 used in an address 803#CHECK: vlvgh %v0, %r0, 0(%r0) 804 805 vlvgh %v0, %r0, -1 806 vlvgh %v0, %r0, 4096 807 vlvgh %v0, %r0, 0(%r0) 808 809#CHECK: error: invalid operand 810#CHECK: vpdi %v0, %v0, %v0, -1 811#CHECK: error: invalid operand 812#CHECK: vpdi %v0, %v0, %v0, 16 813 814 vpdi %v0, %v0, %v0, -1 815 vpdi %v0, %v0, %v0, 16 816 817#CHECK: error: invalid operand 818#CHECK: vrepb %v0, %v0, -1 819#CHECK: error: invalid operand 820#CHECK: vrepb %v0, %v0, 65536 821 822 vrepb %v0, %v0, -1 823 vrepb %v0, %v0, 65536 824 825#CHECK: error: invalid operand 826#CHECK: vrepf %v0, %v0, -1 827#CHECK: error: invalid operand 828#CHECK: vrepf %v0, %v0, 65536 829 830 vrepf %v0, %v0, -1 831 vrepf %v0, %v0, 65536 832 833#CHECK: error: invalid operand 834#CHECK: vrepg %v0, %v0, -1 835#CHECK: error: invalid operand 836#CHECK: vrepg %v0, %v0, 65536 837 838 vrepg %v0, %v0, -1 839 vrepg %v0, %v0, 65536 840 841#CHECK: error: invalid operand 842#CHECK: vreph %v0, %v0, -1 843#CHECK: error: invalid operand 844#CHECK: vreph %v0, %v0, 65536 845 846 vreph %v0, %v0, -1 847 vreph %v0, %v0, 65536 848 849#CHECK: error: invalid operand 850#CHECK: vrepib %v0, -32769 851#CHECK: error: invalid operand 852#CHECK: vrepib %v0, 32768 853 854 vrepib %v0, -32769 855 vrepib %v0, 32768 856 857#CHECK: error: invalid operand 858#CHECK: vrepif %v0, -32769 859#CHECK: error: invalid operand 860#CHECK: vrepif %v0, 32768 861 862 vrepif %v0, -32769 863 vrepif %v0, 32768 864 865#CHECK: error: invalid operand 866#CHECK: vrepig %v0, -32769 867#CHECK: error: invalid operand 868#CHECK: vrepig %v0, 32768 869 870 vrepig %v0, -32769 871 vrepig %v0, 32768 872 873#CHECK: error: invalid operand 874#CHECK: vrepih %v0, -32769 875#CHECK: error: invalid operand 876#CHECK: vrepih %v0, 32768 877 878 vrepih %v0, -32769 879 vrepih %v0, 32768 880 881#CHECK: error: vector index required 882#CHECK: vscef %v0, 0(%r1), 0 883#CHECK: error: vector index required 884#CHECK: vscef %v0, 0(%r2,%r1), 0 885#CHECK: error: invalid operand 886#CHECK: vscef %v0, 0(%v0,%r1), -1 887#CHECK: error: invalid operand 888#CHECK: vscef %v0, 0(%v0,%r1), 4 889#CHECK: error: invalid operand 890#CHECK: vscef %v0, -1(%v0,%r1), 0 891#CHECK: error: invalid operand 892#CHECK: vscef %v0, 4096(%v0,%r1), 0 893 894 vscef %v0, 0(%r1), 0 895 vscef %v0, 0(%r2,%r1), 0 896 vscef %v0, 0(%v0,%r1), -1 897 vscef %v0, 0(%v0,%r1), 4 898 vscef %v0, -1(%v0,%r1), 0 899 vscef %v0, 4096(%v0,%r1), 0 900 901#CHECK: error: vector index required 902#CHECK: vsceg %v0, 0(%r1), 0 903#CHECK: error: vector index required 904#CHECK: vsceg %v0, 0(%r2,%r1), 0 905#CHECK: error: invalid operand 906#CHECK: vsceg %v0, 0(%v0,%r1), -1 907#CHECK: error: invalid operand 908#CHECK: vsceg %v0, 0(%v0,%r1), 2 909#CHECK: error: invalid operand 910#CHECK: vsceg %v0, -1(%v0,%r1), 0 911#CHECK: error: invalid operand 912#CHECK: vsceg %v0, 4096(%v0,%r1), 0 913 914 vsceg %v0, 0(%r1), 0 915 vsceg %v0, 0(%r2,%r1), 0 916 vsceg %v0, 0(%v0,%r1), -1 917 vsceg %v0, 0(%v0,%r1), 2 918 vsceg %v0, -1(%v0,%r1), 0 919 vsceg %v0, 4096(%v0,%r1), 0 920 921#CHECK: error: invalid operand 922#CHECK: vsldb %v0, %v0, %v0, -1 923#CHECK: error: invalid operand 924#CHECK: vsldb %v0, %v0, %v0, 256 925 926 vsldb %v0, %v0, %v0, -1 927 vsldb %v0, %v0, %v0, 256 928 929#CHECK: error: invalid operand 930#CHECK: vst %v0, -1 931#CHECK: error: invalid operand 932#CHECK: vst %v0, 4096 933#CHECK: error: invalid use of vector addressing 934#CHECK: vst %v0, 0(%v1,%r2) 935 936 vst %v0, -1 937 vst %v0, 4096 938 vst %v0, 0(%v1,%r2) 939 940#CHECK: error: invalid operand 941#CHECK: vsteb %v0, 0, -1 942#CHECK: error: invalid operand 943#CHECK: vsteb %v0, 0, 16 944#CHECK: error: invalid operand 945#CHECK: vsteb %v0, -1, 0 946#CHECK: error: invalid operand 947#CHECK: vsteb %v0, 4096, 0 948#CHECK: error: invalid use of vector addressing 949#CHECK: vsteb %v0, 0(%v1,%r2), 0 950 951 vsteb %v0, 0, -1 952 vsteb %v0, 0, 16 953 vsteb %v0, -1, 0 954 vsteb %v0, 4096, 0 955 vsteb %v0, 0(%v1,%r2), 0 956 957#CHECK: error: invalid operand 958#CHECK: vstef %v0, 0, -1 959#CHECK: error: invalid operand 960#CHECK: vstef %v0, 0, 4 961#CHECK: error: invalid operand 962#CHECK: vstef %v0, -1, 0 963#CHECK: error: invalid operand 964#CHECK: vstef %v0, 4096, 0 965#CHECK: error: invalid use of vector addressing 966#CHECK: vstef %v0, 0(%v1,%r2), 0 967 968 vstef %v0, 0, -1 969 vstef %v0, 0, 4 970 vstef %v0, -1, 0 971 vstef %v0, 4096, 0 972 vstef %v0, 0(%v1,%r2), 0 973 974#CHECK: error: invalid operand 975#CHECK: vsteg %v0, 0, -1 976#CHECK: error: invalid operand 977#CHECK: vsteg %v0, 0, 2 978#CHECK: error: invalid operand 979#CHECK: vsteg %v0, -1, 0 980#CHECK: error: invalid operand 981#CHECK: vsteg %v0, 4096, 0 982#CHECK: error: invalid use of vector addressing 983#CHECK: vsteg %v0, 0(%v1,%r2), 0 984 985 vsteg %v0, 0, -1 986 vsteg %v0, 0, 2 987 vsteg %v0, -1, 0 988 vsteg %v0, 4096, 0 989 vsteg %v0, 0(%v1,%r2), 0 990 991#CHECK: error: invalid operand 992#CHECK: vsteh %v0, 0, -1 993#CHECK: error: invalid operand 994#CHECK: vsteh %v0, 0, 8 995#CHECK: error: invalid operand 996#CHECK: vsteh %v0, -1, 0 997#CHECK: error: invalid operand 998#CHECK: vsteh %v0, 4096, 0 999#CHECK: error: invalid use of vector addressing 1000#CHECK: vsteh %v0, 0(%v1,%r2), 0 1001 1002 vsteh %v0, 0, -1 1003 vsteh %v0, 0, 8 1004 vsteh %v0, -1, 0 1005 vsteh %v0, 4096, 0 1006 vsteh %v0, 0(%v1,%r2), 0 1007 1008#CHECK: error: invalid operand 1009#CHECK: vstl %v0, %r0, -1 1010#CHECK: error: invalid operand 1011#CHECK: vstl %v0, %r0, 4096 1012#CHECK: error: %r0 used in an address 1013#CHECK: vstl %v0, %r0, 0(%r0) 1014 1015 vstl %v0, %r0, -1 1016 vstl %v0, %r0, 4096 1017 vstl %v0, %r0, 0(%r0) 1018 1019#CHECK: error: invalid operand 1020#CHECK: vstm %v0, %v0, -1 1021#CHECK: error: invalid operand 1022#CHECK: vstm %v0, %v0, 4096 1023 1024 vstm %v0, %v0, -1 1025 vstm %v0, %v0, 4096 1026 1027#CHECK: error: invalid operand 1028#CHECK: vstrcb %v0, %v0, %v0, %v0, -1 1029#CHECK: error: invalid operand 1030#CHECK: vstrcb %v0, %v0, %v0, %v0, 16 1031#CHECK: error: too few operands 1032#CHECK: vstrcb %v0, %v0, %v0 1033#CHECK: error: invalid operand 1034#CHECK: vstrcb %v0, %v0, %v0, %v0, 0, 0 1035 1036 vstrcb %v0, %v0, %v0, %v0, -1 1037 vstrcb %v0, %v0, %v0, %v0, 16 1038 vstrcb %v0, %v0, %v0 1039 vstrcb %v0, %v0, %v0, %v0, 0, 0 1040 1041#CHECK: error: invalid operand 1042#CHECK: vstrcbs %v0, %v0, %v0, %v0, -1 1043#CHECK: error: invalid operand 1044#CHECK: vstrcbs %v0, %v0, %v0, %v0, 16 1045#CHECK: error: too few operands 1046#CHECK: vstrcbs %v0, %v0, %v0 1047#CHECK: error: invalid operand 1048#CHECK: vstrcbs %v0, %v0, %v0, %v0, 0, 0 1049 1050 vstrcbs %v0, %v0, %v0, %v0, -1 1051 vstrcbs %v0, %v0, %v0, %v0, 16 1052 vstrcbs %v0, %v0, %v0 1053 vstrcbs %v0, %v0, %v0, %v0, 0, 0 1054 1055#CHECK: error: invalid operand 1056#CHECK: vstrcf %v0, %v0, %v0, %v0, -1 1057#CHECK: error: invalid operand 1058#CHECK: vstrcf %v0, %v0, %v0, %v0, 16 1059#CHECK: error: too few operands 1060#CHECK: vstrcf %v0, %v0, %v0 1061#CHECK: error: invalid operand 1062#CHECK: vstrcf %v0, %v0, %v0, %v0, 0, 0 1063 1064 vstrcf %v0, %v0, %v0, %v0, -1 1065 vstrcf %v0, %v0, %v0, %v0, 16 1066 vstrcf %v0, %v0, %v0 1067 vstrcf %v0, %v0, %v0, %v0, 0, 0 1068 1069#CHECK: error: invalid operand 1070#CHECK: vstrch %v0, %v0, %v0, %v0, -1 1071#CHECK: error: invalid operand 1072#CHECK: vstrch %v0, %v0, %v0, %v0, 16 1073#CHECK: error: too few operands 1074#CHECK: vstrch %v0, %v0, %v0 1075#CHECK: error: invalid operand 1076#CHECK: vstrch %v0, %v0, %v0, %v0, 0, 0 1077 1078 vstrch %v0, %v0, %v0, %v0, -1 1079 vstrch %v0, %v0, %v0, %v0, 16 1080 vstrch %v0, %v0, %v0 1081 vstrch %v0, %v0, %v0, %v0, 0, 0 1082 1083#CHECK: error: invalid operand 1084#CHECK: vstrczh %v0, %v0, %v0, %v0, -1 1085#CHECK: error: invalid operand 1086#CHECK: vstrczh %v0, %v0, %v0, %v0, 16 1087#CHECK: error: too few operands 1088#CHECK: vstrczh %v0, %v0, %v0 1089#CHECK: error: invalid operand 1090#CHECK: vstrczh %v0, %v0, %v0, %v0, 0, 0 1091 1092 vstrczh %v0, %v0, %v0, %v0, -1 1093 vstrczh %v0, %v0, %v0, %v0, 16 1094 vstrczh %v0, %v0, %v0 1095 vstrczh %v0, %v0, %v0, %v0, 0, 0 1096 1097#CHECK: error: invalid operand 1098#CHECK: vstrczfs %v0, %v0, %v0, %v0, -1 1099#CHECK: error: invalid operand 1100#CHECK: vstrczfs %v0, %v0, %v0, %v0, 16 1101#CHECK: error: too few operands 1102#CHECK: vstrczfs %v0, %v0, %v0 1103#CHECK: error: invalid operand 1104#CHECK: vstrczfs %v0, %v0, %v0, %v0, 0, 0 1105 1106 vstrczfs %v0, %v0, %v0, %v0, -1 1107 vstrczfs %v0, %v0, %v0, %v0, 16 1108 vstrczfs %v0, %v0, %v0 1109 vstrczfs %v0, %v0, %v0, %v0, 0, 0 1110 1111#CHECK: error: invalid operand 1112#CHECK: wcdgb %v0, %v0, 0, -1 1113#CHECK: error: invalid operand 1114#CHECK: wcdgb %v0, %v0, 0, 16 1115#CHECK: error: invalid operand 1116#CHECK: wcdgb %v0, %v0, -1, 0 1117#CHECK: error: invalid operand 1118#CHECK: wcdgb %v0, %v0, 16, 0 1119 1120 wcdgb %v0, %v0, 0, -1 1121 wcdgb %v0, %v0, 0, 16 1122 wcdgb %v0, %v0, -1, 0 1123 wcdgb %v0, %v0, 16, 0 1124 1125#CHECK: error: invalid operand 1126#CHECK: wcdlgb %v0, %v0, 0, -1 1127#CHECK: error: invalid operand 1128#CHECK: wcdlgb %v0, %v0, 0, 16 1129#CHECK: error: invalid operand 1130#CHECK: wcdlgb %v0, %v0, -1, 0 1131#CHECK: error: invalid operand 1132#CHECK: wcdlgb %v0, %v0, 16, 0 1133 1134 wcdlgb %v0, %v0, 0, -1 1135 wcdlgb %v0, %v0, 0, 16 1136 wcdlgb %v0, %v0, -1, 0 1137 wcdlgb %v0, %v0, 16, 0 1138 1139#CHECK: error: invalid operand 1140#CHECK: wcgdb %v0, %v0, 0, -1 1141#CHECK: error: invalid operand 1142#CHECK: wcgdb %v0, %v0, 0, 16 1143#CHECK: error: invalid operand 1144#CHECK: wcgdb %v0, %v0, -1, 0 1145#CHECK: error: invalid operand 1146#CHECK: wcgdb %v0, %v0, 16, 0 1147 1148 wcgdb %v0, %v0, 0, -1 1149 wcgdb %v0, %v0, 0, 16 1150 wcgdb %v0, %v0, -1, 0 1151 wcgdb %v0, %v0, 16, 0 1152 1153#CHECK: error: invalid operand 1154#CHECK: wclgdb %v0, %v0, 0, -1 1155#CHECK: error: invalid operand 1156#CHECK: wclgdb %v0, %v0, 0, 16 1157#CHECK: error: invalid operand 1158#CHECK: wclgdb %v0, %v0, -1, 0 1159#CHECK: error: invalid operand 1160#CHECK: wclgdb %v0, %v0, 16, 0 1161 1162 wclgdb %v0, %v0, 0, -1 1163 wclgdb %v0, %v0, 0, 16 1164 wclgdb %v0, %v0, -1, 0 1165 wclgdb %v0, %v0, 16, 0 1166 1167#CHECK: error: invalid operand 1168#CHECK: wfidb %v0, %v0, 0, -1 1169#CHECK: error: invalid operand 1170#CHECK: wfidb %v0, %v0, 0, 16 1171#CHECK: error: invalid operand 1172#CHECK: wfidb %v0, %v0, -1, 0 1173#CHECK: error: invalid operand 1174#CHECK: wfidb %v0, %v0, 16, 0 1175 1176 wfidb %v0, %v0, 0, -1 1177 wfidb %v0, %v0, 0, 16 1178 wfidb %v0, %v0, -1, 0 1179 wfidb %v0, %v0, 16, 0 1180 1181#CHECK: error: invalid operand 1182#CHECK: wftcidb %v0, %v0, -1 1183#CHECK: error: invalid operand 1184#CHECK: wftcidb %v0, %v0, 4096 1185 1186 wftcidb %v0, %v0, -1 1187 wftcidb %v0, %v0, 4096 1188 1189#CHECK: error: invalid operand 1190#CHECK: wledb %v0, %v0, 0, -1 1191#CHECK: error: invalid operand 1192#CHECK: wledb %v0, %v0, 0, 16 1193#CHECK: error: invalid operand 1194#CHECK: wledb %v0, %v0, -1, 0 1195#CHECK: error: invalid operand 1196#CHECK: wledb %v0, %v0, 16, 0 1197 1198 wledb %v0, %v0, 0, -1 1199 wledb %v0, %v0, 0, 16 1200 wledb %v0, %v0, -1, 0 1201 wledb %v0, %v0, 16, 0 1202 1203#CHECK: error: invalid operand 1204#CHECK: lochie %r0, 66000 1205#CHECK: error: invalid operand 1206#CHECK: lochie %f0, 0 1207#CHECK: error: invalid operand 1208#CHECK: lochie 0, %r0 1209 1210 lochie %r0, 66000 1211 lochie %f0, 0 1212 lochie 0, %r0 1213 1214#CHECK: error: invalid operand 1215#CHECK: locghie %r0, 66000 1216#CHECK: error: invalid operand 1217#CHECK: locghie %f0, 0 1218#CHECK: error: invalid operand 1219#CHECK: locghie 0, %r0 1220 1221 locghie %r0, 66000 1222 locghie %f0, 0 1223 locghie 0, %r0 1224 1225