1 # RUN: llvm-mc --disassemble %s -triple powerpc64-unknown-unknown -mcpu=pwr7 | FileCheck %s 2 3 # CHECK: lvebx 2, 3, 4 4 0x7c 0x43 0x20 0x0e 5 6 # CHECK: lvehx 2, 3, 4 7 0x7c 0x43 0x20 0x4e 8 9 # CHECK: lvewx 2, 3, 4 10 0x7c 0x43 0x20 0x8e 11 12 # CHECK: lvx 2, 3, 4 13 0x7c 0x43 0x20 0xce 14 15 # CHECK: lvxl 2, 3, 4 16 0x7c 0x43 0x22 0xce 17 18 # CHECK: stvebx 2, 3, 4 19 0x7c 0x43 0x21 0x0e 20 21 # CHECK: stvehx 2, 3, 4 22 0x7c 0x43 0x21 0x4e 23 24 # CHECK: stvewx 2, 3, 4 25 0x7c 0x43 0x21 0x8e 26 27 # CHECK: stvx 2, 3, 4 28 0x7c 0x43 0x21 0xce 29 30 # CHECK: stvxl 2, 3, 4 31 0x7c 0x43 0x23 0xce 32 33 # CHECK: lvsl 2, 3, 4 34 0x7c 0x43 0x20 0x0c 35 36 # CHECK: lvsr 2, 3, 4 37 0x7c 0x43 0x20 0x4c 38 39 # CHECK: vpkpx 2, 3, 4 40 0x10 0x43 0x23 0x0e 41 42 # CHECK: vpkshss 2, 3, 4 43 0x10 0x43 0x21 0x8e 44 45 # CHECK: vpkshus 2, 3, 4 46 0x10 0x43 0x21 0x0e 47 48 # CHECK: vpkswss 2, 3, 4 49 0x10 0x43 0x21 0xce 50 51 # CHECK: vpkswus 2, 3, 4 52 0x10 0x43 0x21 0x4e 53 54 # CHECK: vpkuhum 2, 3, 4 55 0x10 0x43 0x20 0x0e 56 57 # CHECK: vpkuhus 2, 3, 4 58 0x10 0x43 0x20 0x8e 59 60 # CHECK: vpkuwum 2, 3, 4 61 0x10 0x43 0x20 0x4e 62 63 # CHECK: vpkuwus 2, 3, 4 64 0x10 0x43 0x20 0xce 65 66 # CHECK: vupkhpx 2, 3 67 0x10 0x40 0x1b 0x4e 68 69 # CHECK: vupkhsb 2, 3 70 0x10 0x40 0x1a 0x0e 71 72 # CHECK: vupkhsh 2, 3 73 0x10 0x40 0x1a 0x4e 74 75 # CHECK: vupklpx 2, 3 76 0x10 0x40 0x1b 0xce 77 78 # CHECK: vupklsb 2, 3 79 0x10 0x40 0x1a 0x8e 80 81 # CHECK: vupklsh 2, 3 82 0x10 0x40 0x1a 0xce 83 84 # CHECK: vmrghb 2, 3, 4 85 0x10 0x43 0x20 0x0c 86 87 # CHECK: vmrghh 2, 3, 4 88 0x10 0x43 0x20 0x4c 89 90 # CHECK: vmrghw 2, 3, 4 91 0x10 0x43 0x20 0x8c 92 93 # CHECK: vmrglb 2, 3, 4 94 0x10 0x43 0x21 0x0c 95 96 # CHECK: vmrglh 2, 3, 4 97 0x10 0x43 0x21 0x4c 98 99 # CHECK: vmrglw 2, 3, 4 100 0x10 0x43 0x21 0x8c 101 102 # CHECK: vmrgew 2, 3, 4 103 0x10 0x43 0x27 0x8c 104 105 # CHECK: vmrgow 2, 3, 4 106 0x10 0x43 0x26 0x8c 107 108 # CHECK: vspltb 2, 3, 1 109 0x10 0x41 0x1a 0x0c 110 111 # CHECK: vsplth 2, 3, 1 112 0x10 0x41 0x1a 0x4c 113 114 # CHECK: vspltw 2, 3, 1 115 0x10 0x41 0x1a 0x8c 116 117 # CHECK: vspltisb 2, 3 118 0x10 0x43 0x03 0x0c 119 120 # CHECK: vspltish 2, 3 121 0x10 0x43 0x03 0x4c 122 123 # CHECK: vspltisw 2, 3 124 0x10 0x43 0x03 0x8c 125 126 # CHECK: vperm 2, 3, 4, 5 127 0x10 0x43 0x21 0x6b 128 129 # CHECK: vpermxor 2, 3, 4, 5 130 0x10 0x43 0x21 0x6d 131 132 # CHECK: vsbox 2, 5 133 0x10 0x45 0x05 0xc8 134 135 # CHECK: vcipher 2, 5, 17 136 0x10 0x45 0x8d 0x08 137 138 # CHECK: vcipherlast 2, 5, 17 139 0x10 0x45 0x8d 0x09 140 141 # CHECK: vncipher 2, 5, 17 142 0x10,0x45,0x8d,0x48 143 144 # CHECK: vncipherlast 2, 5, 17 145 0x10,0x45,0x8d,0x49 146 147 # CHECK: vpmsumb 2, 5, 17 148 0x10 0x45 0x8c 0x08 149 150 # CHECK: vpmsumh 2, 5, 17 151 0x10 0x45 0x8c 0x48 152 153 # CHECK: vpmsumw 2, 5, 17 154 0x10 0x45 0x8c 0x88 155 156 # CHECK: vpmsumd 2, 5, 17 157 0x10 0x45 0x8c 0xc8 158 159 # CHECK: vshasigmaw 2, 3, 0, 11 160 0x10 0x43 0x5e 0x82 161 162 # CHECK: vshasigmad 2, 3, 1, 15 163 0x10 0x43 0xfe 0xc2 164 165 # CHECK: vsel 2, 3, 4, 5 166 0x10 0x43 0x21 0x6a 167 168 # CHECK: vsl 2, 3, 4 169 0x10 0x43 0x21 0xc4 170 171 # CHECK: vsldoi 2, 3, 4, 5 172 0x10 0x43 0x21 0x6c 173 174 # CHECK: vslo 2, 3, 4 175 0x10 0x43 0x24 0x0c 176 177 # CHECK: vsr 2, 3, 4 178 0x10 0x43 0x22 0xc4 179 180 # CHECK: vsro 2, 3, 4 181 0x10 0x43 0x24 0x4c 182 183 # CHECK: vaddcuw 2, 3, 4 184 0x10 0x43 0x21 0x80 185 186 # CHECK: vaddsbs 2, 3, 4 187 0x10 0x43 0x23 0x00 188 189 # CHECK: vaddshs 2, 3, 4 190 0x10 0x43 0x23 0x40 191 192 # CHECK: vaddsws 2, 3, 4 193 0x10 0x43 0x23 0x80 194 195 # CHECK: vaddubm 2, 3, 4 196 0x10 0x43 0x20 0x00 197 198 # CHECK: vadduhm 2, 3, 4 199 0x10 0x43 0x20 0x40 200 201 # CHECK: vadduwm 2, 3, 4 202 0x10 0x43 0x20 0x80 203 204 # CHECK: vaddudm 2, 3, 4 205 0x10 0x43 0x20 0xc0 206 207 # CHECK: vaddubs 2, 3, 4 208 0x10 0x43 0x22 0x00 209 210 # CHECK: vadduhs 2, 3, 4 211 0x10 0x43 0x22 0x40 212 213 # CHECK: vadduws 2, 3, 4 214 0x10 0x43 0x22 0x80 215 216 # CHECK: vadduqm 2, 3, 4 217 0x10 0x43 0x21 0x00 218 219 # CHECK: vaddeuqm 2, 3, 4, 5 220 0x10 0x43 0x21 0x7c 221 222 # CHECK: vaddcuq 2, 3, 4 223 0x10 0x43 0x21 0x40 224 225 # CHECK: vaddecuq 2, 3, 4, 5 226 0x10 0x43 0x21 0x7d 227 228 # CHECK: vsubcuw 2, 3, 4 229 0x10 0x43 0x25 0x80 230 231 # CHECK: vsubsbs 2, 3, 4 232 0x10 0x43 0x27 0x00 233 234 # CHECK: vsubshs 2, 3, 4 235 0x10 0x43 0x27 0x40 236 237 # CHECK: vsubsws 2, 3, 4 238 0x10 0x43 0x27 0x80 239 240 # CHECK: vsububm 2, 3, 4 241 0x10 0x43 0x24 0x00 242 243 # CHECK: vsubuhm 2, 3, 4 244 0x10 0x43 0x24 0x40 245 246 # CHECK: vsubuwm 2, 3, 4 247 0x10 0x43 0x24 0x80 248 249 # CHECK: vsubudm 2, 3, 4 250 0x10 0x43 0x24 0xc0 251 252 # CHECK: vsububs 2, 3, 4 253 0x10 0x43 0x26 0x00 254 255 # CHECK: vsubuhs 2, 3, 4 256 0x10 0x43 0x26 0x40 257 258 # CHECK: vsubuws 2, 3, 4 259 0x10 0x43 0x26 0x80 260 261 # CHECK: vsubuqm 2, 3, 4 262 0x10 0x43 0x25 0x00 263 264 # CHECK: vsubeuqm 2, 3, 4, 5 265 0x10 0x43 0x21 0x7e 266 267 # CHECK: vsubcuq 2, 3, 4 268 0x10 0x43 0x25 0x40 269 270 # CHECK: vsubecuq 2, 3, 4, 5 271 0x10 0x43 0x21 0x7f 272 273 # CHECK: vmulesb 2, 3, 4 274 0x10 0x43 0x23 0x08 275 276 # CHECK: vmulesh 2, 3, 4 277 0x10 0x43 0x23 0x48 278 279 # CHECK: vmulesw 2, 3, 4 280 0x10 0x43 0x23 0x88 281 282 # CHECK: vmuleub 2, 3, 4 283 0x10 0x43 0x22 0x08 284 285 # CHECK: vmuleuh 2, 3, 4 286 0x10 0x43 0x22 0x48 287 288 # CHECK: vmuleuw 2, 3, 4 289 0x10 0x43 0x22 0x88 290 291 # CHECK: vmulosb 2, 3, 4 292 0x10 0x43 0x21 0x08 293 294 # CHECK: vmulosh 2, 3, 4 295 0x10 0x43 0x21 0x48 296 297 # CHECK: vmulosw 2, 3, 4 298 0x10 0x43 0x21 0x88 299 300 # CHECK: vmuloub 2, 3, 4 301 0x10 0x43 0x20 0x08 302 303 # CHECK: vmulouh 2, 3, 4 304 0x10 0x43 0x20 0x48 305 306 # CHECK: vmulouw 2, 3, 4 307 0x10 0x43 0x20 0x88 308 309 # CHECK: vmuluwm 2, 3, 4 310 0x10 0x43 0x20 0x89 311 312 # CHECK: vmhaddshs 2, 3, 4, 5 313 0x10 0x43 0x21 0x60 314 315 # CHECK: vmhraddshs 2, 3, 4, 5 316 0x10 0x43 0x21 0x61 317 318 # CHECK: vmladduhm 2, 3, 4, 5 319 0x10 0x43 0x21 0x62 320 321 # CHECK: vmsumubm 2, 3, 4, 5 322 0x10 0x43 0x21 0x64 323 324 # CHECK: vmsummbm 2, 3, 4, 5 325 0x10 0x43 0x21 0x65 326 327 # CHECK: vmsumshm 2, 3, 4, 5 328 0x10 0x43 0x21 0x68 329 330 # CHECK: vmsumshs 2, 3, 4, 5 331 0x10 0x43 0x21 0x69 332 333 # CHECK: vmsumuhm 2, 3, 4, 5 334 0x10 0x43 0x21 0x66 335 336 # CHECK: vmsumuhs 2, 3, 4, 5 337 0x10 0x43 0x21 0x67 338 339 # CHECK: vsumsws 2, 3, 4 340 0x10 0x43 0x27 0x88 341 342 # CHECK: vsum2sws 2, 3, 4 343 0x10 0x43 0x26 0x88 344 345 # CHECK: vsum4sbs 2, 3, 4 346 0x10 0x43 0x27 0x08 347 348 # CHECK: vsum4shs 2, 3, 4 349 0x10 0x43 0x26 0x48 350 351 # CHECK: vsum4ubs 2, 3, 4 352 0x10 0x43 0x26 0x08 353 354 # CHECK: vavgsb 2, 3, 4 355 0x10 0x43 0x25 0x02 356 357 # CHECK: vavgsh 2, 3, 4 358 0x10 0x43 0x25 0x42 359 360 # CHECK: vavgsw 2, 3, 4 361 0x10 0x43 0x25 0x82 362 363 # CHECK: vavgub 2, 3, 4 364 0x10 0x43 0x24 0x02 365 366 # CHECK: vavguh 2, 3, 4 367 0x10 0x43 0x24 0x42 368 369 # CHECK: vavguw 2, 3, 4 370 0x10 0x43 0x24 0x82 371 372 # CHECK: vmaxsb 2, 3, 4 373 0x10 0x43 0x21 0x02 374 375 # CHECK: vmaxsh 2, 3, 4 376 0x10 0x43 0x21 0x42 377 378 # CHECK: vmaxsw 2, 3, 4 379 0x10 0x43 0x21 0x82 380 381 # CHECK: vmaxsd 2, 3, 4 382 0x10 0x43 0x21 0xc2 383 384 # CHECK: vmaxub 2, 3, 4 385 0x10 0x43 0x20 0x02 386 387 # CHECK: vmaxuh 2, 3, 4 388 0x10 0x43 0x20 0x42 389 390 # CHECK: vmaxuw 2, 3, 4 391 0x10 0x43 0x20 0x82 392 393 # CHECK: vmaxud 2, 3, 4 394 0x10 0x43 0x20 0xc2 395 396 # CHECK: vminsb 2, 3, 4 397 0x10 0x43 0x23 0x02 398 399 # CHECK: vminsh 2, 3, 4 400 0x10 0x43 0x23 0x42 401 402 # CHECK: vminsw 2, 3, 4 403 0x10 0x43 0x23 0x82 404 405 # CHECK: vminsd 2, 3, 4 406 0x10 0x43 0x23 0xc2 407 408 # CHECK: vminub 2, 3, 4 409 0x10 0x43 0x22 0x02 410 411 # CHECK: vminuh 2, 3, 4 412 0x10 0x43 0x22 0x42 413 414 # CHECK: vminuw 2, 3, 4 415 0x10 0x43 0x22 0x82 416 417 # CHECK: vminud 2, 3, 4 418 0x10 0x43 0x22 0xc2 419 420 # CHECK: vcmpequb 2, 3, 4 421 0x10 0x43 0x20 0x06 422 423 # CHECK: vcmpequb. 2, 3, 4 424 0x10 0x43 0x24 0x06 425 426 # CHECK: vcmpequh 2, 3, 4 427 0x10 0x43 0x20 0x46 428 429 # CHECK: vcmpequh. 2, 3, 4 430 0x10 0x43 0x24 0x46 431 432 # CHECK: vcmpequw 2, 3, 4 433 0x10 0x43 0x20 0x86 434 435 # CHECK: vcmpequw. 2, 3, 4 436 0x10 0x43 0x24 0x86 437 438 # CHECK: vcmpequd 2, 3, 4 439 0x10 0x43 0x20 0xc7 440 441 # CHECK: vcmpequd. 2, 3, 4 442 0x10 0x43 0x24 0xc7 443 444 # CHECK: vcmpgtsb 2, 3, 4 445 0x10 0x43 0x23 0x06 446 447 # CHECK: vcmpgtsb. 2, 3, 4 448 0x10 0x43 0x27 0x06 449 450 # CHECK: vcmpgtsh 2, 3, 4 451 0x10 0x43 0x23 0x46 452 453 # CHECK: vcmpgtsh. 2, 3, 4 454 0x10 0x43 0x27 0x46 455 456 # CHECK: vcmpgtsw 2, 3, 4 457 0x10 0x43 0x23 0x86 458 459 # CHECK: vcmpgtsw. 2, 3, 4 460 0x10 0x43 0x27 0x86 461 462 # CHECK: vcmpgtsd 2, 3, 4 463 0x10 0x43 0x23 0xc7 464 465 # CHECK: vcmpgtsd. 2, 3, 4 466 0x10 0x43 0x27 0xc7 467 468 # CHECK: vcmpgtub 2, 3, 4 469 0x10 0x43 0x22 0x06 470 471 # CHECK: vcmpgtub. 2, 3, 4 472 0x10 0x43 0x26 0x06 473 474 # CHECK: vcmpgtuh 2, 3, 4 475 0x10 0x43 0x22 0x46 476 477 # CHECK: vcmpgtuh. 2, 3, 4 478 0x10 0x43 0x26 0x46 479 480 # CHECK: vcmpgtuw 2, 3, 4 481 0x10 0x43 0x22 0x86 482 483 # CHECK: vcmpgtuw. 2, 3, 4 484 0x10 0x43 0x26 0x86 485 486 # CHECK: vcmpgtud 2, 3, 4 487 0x10 0x43 0x22 0xc7 488 489 # CHECK: vcmpgtud. 2, 3, 4 490 0x10 0x43 0x26 0xc7 491 492 # CHECK: vand 2, 3, 4 493 0x10 0x43 0x24 0x04 494 495 # CHECK: vandc 2, 3, 4 496 0x10 0x43 0x24 0x44 497 498 # CHECK: veqv 2, 3, 4 499 0x10 0x43 0x26 0x84 500 501 # CHECK: vnand 2, 3, 4 502 0x10 0x43 0x25 0x84 503 504 # CHECK: vorc 2, 3, 4 505 0x10 0x43 0x25 0x44 506 507 # CHECK: vnor 2, 3, 4 508 0x10 0x43 0x25 0x04 509 510 # CHECK: vor 2, 3, 4 511 0x10 0x43 0x24 0x84 512 513 # CHECK: vxor 2, 3, 4 514 0x10 0x43 0x24 0xc4 515 516 # CHECK: vrlb 2, 3, 4 517 0x10 0x43 0x20 0x04 518 519 # CHECK: vrlh 2, 3, 4 520 0x10 0x43 0x20 0x44 521 522 # CHECK: vrlw 2, 3, 4 523 0x10 0x43 0x20 0x84 524 525 # CHECK: vslb 2, 3, 4 526 0x10 0x43 0x21 0x04 527 528 # CHECK: vslh 2, 3, 4 529 0x10 0x43 0x21 0x44 530 531 # CHECK: vslw 2, 3, 4 532 0x10 0x43 0x21 0x84 533 534 # CHECK: vrld 2, 3, 4 535 0x10 0x43 0x20 0xc4 536 537 # CHECK: vsrb 2, 3, 4 538 0x10 0x43 0x22 0x04 539 540 # CHECK: vsrh 2, 3, 4 541 0x10 0x43 0x22 0x44 542 543 # CHECK: vsrw 2, 3, 4 544 0x10 0x43 0x22 0x84 545 546 # CHECK: vsrd 2, 3, 4 547 0x10 0x43 0x26 0xc4 548 549 # CHECK: vsrab 2, 3, 4 550 0x10 0x43 0x23 0x04 551 552 # CHECK: vsrah 2, 3, 4 553 0x10 0x43 0x23 0x44 554 555 # CHECK: vsraw 2, 3, 4 556 0x10 0x43 0x23 0x84 557 558 # CHECK: vsrad 2, 3, 4 559 0x10 0x43 0x23 0xc4 560 561 # CHECK: vaddfp 2, 3, 4 562 0x10 0x43 0x20 0x0a 563 564 # CHECK: vsubfp 2, 3, 4 565 0x10 0x43 0x20 0x4a 566 567 # CHECK: vmaddfp 2, 3, 4, 5 568 0x10 0x43 0x29 0x2e 569 570 # CHECK: vnmsubfp 2, 3, 4, 5 571 0x10 0x43 0x29 0x2f 572 573 # CHECK: vmaxfp 2, 3, 4 574 0x10 0x43 0x24 0x0a 575 576 # CHECK: vminfp 2, 3, 4 577 0x10 0x43 0x24 0x4a 578 579 # CHECK: vctsxs 2, 3, 4 580 0x10 0x44 0x1b 0xca 581 582 # CHECK: vctuxs 2, 3, 4 583 0x10 0x44 0x1b 0x8a 584 585 # CHECK: vcfsx 2, 3, 4 586 0x10 0x44 0x1b 0x4a 587 588 # CHECK: vcfux 2, 3, 4 589 0x10 0x44 0x1b 0x0a 590 591 # CHECK: vrfim 2, 3 592 0x10 0x40 0x1a 0xca 593 594 # CHECK: vrfin 2, 3 595 0x10 0x40 0x1a 0x0a 596 597 # CHECK: vrfip 2, 3 598 0x10 0x40 0x1a 0x8a 599 600 # CHECK: vrfiz 2, 3 601 0x10 0x40 0x1a 0x4a 602 603 # CHECK: vcmpbfp 2, 3, 4 604 0x10 0x43 0x23 0xc6 605 606 # CHECK: vcmpbfp. 2, 3, 4 607 0x10 0x43 0x27 0xc6 608 609 # CHECK: vcmpeqfp 2, 3, 4 610 0x10 0x43 0x20 0xc6 611 612 # CHECK: vcmpeqfp. 2, 3, 4 613 0x10 0x43 0x24 0xc6 614 615 # CHECK: vcmpgefp 2, 3, 4 616 0x10 0x43 0x21 0xc6 617 618 # CHECK: vcmpgefp. 2, 3, 4 619 0x10 0x43 0x25 0xc6 620 621 # CHECK: vcmpgtfp 2, 3, 4 622 0x10 0x43 0x22 0xc6 623 624 # CHECK: vcmpgtfp. 2, 3, 4 625 0x10 0x43 0x26 0xc6 626 627 # CHECK: vexptefp 2, 3 628 0x10 0x40 0x19 0x8a 629 630 # CHECK: vlogefp 2, 3 631 0x10 0x40 0x19 0xca 632 633 # CHECK: vrefp 2, 3 634 0x10 0x40 0x19 0x0a 635 636 # CHECK: vrsqrtefp 2, 3 637 0x10 0x40 0x19 0x4a 638 639 # CHECK: vgbbd 2, 3 640 0x10 0x40 0x1d 0x0c 641 642 # CHECK: vbpermq 2, 5, 17 643 0x10 0x45 0x8d 0x4c 644 645 # CHECK: vclzb 2, 3 646 0x10 0x40 0x1f 0x02 647 648 # CHECK: vclzh 2, 3 649 0x10 0x40 0x1f 0x42 650 651 # CHECK: vclzw 2, 3 652 0x10 0x40 0x1f 0x82 653 654 # CHECK: vclzd 2, 3 655 0x10 0x40 0x1f 0xc2 656 657 # CHECK: vpopcntb 2, 3 658 0x10 0x40 0x1f 0x03 659 660 # CHECK: vpopcnth 2, 3 661 0x10 0x40 0x1f 0x43 662 663 # CHECK: vpopcntw 2, 3 664 0x10 0x40 0x1f 0x83 665 666 # CHECK: vpopcntd 2, 3 667 0x10 0x40 0x1f 0xc3 668 669 # CHECK: mtvscr 2 670 0x10 0x00 0x16 0x44 671 672 # CHECK: mfvscr 2 673 0x10 0x40 0x06 0x04 674 675