1 #ifndef CAPSTONE_PPC_H 2 #define CAPSTONE_PPC_H 3 4 /* Capstone Disassembly Engine */ 5 /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */ 6 7 #ifdef __cplusplus 8 extern "C" { 9 #endif 10 11 #include "platform.h" 12 13 #ifdef _MSC_VER 14 #pragma warning(disable:4201) 15 #endif 16 17 /// PPC branch codes for some branch instructions 18 typedef enum ppc_bc { 19 PPC_BC_INVALID = 0, 20 PPC_BC_LT = (0 << 5) | 12, 21 PPC_BC_LE = (1 << 5) | 4, 22 PPC_BC_EQ = (2 << 5) | 12, 23 PPC_BC_GE = (0 << 5) | 4, 24 PPC_BC_GT = (1 << 5) | 12, 25 PPC_BC_NE = (2 << 5) | 4, 26 PPC_BC_UN = (3 << 5) | 12, 27 PPC_BC_NU = (3 << 5) | 4, 28 29 // extra conditions 30 PPC_BC_SO = (4 << 5) | 12, ///< summary overflow 31 PPC_BC_NS = (4 << 5) | 4, ///< not summary overflow 32 } ppc_bc; 33 34 /// PPC branch hint for some branch instructions 35 typedef enum ppc_bh { 36 PPC_BH_INVALID = 0, ///< no hint 37 PPC_BH_PLUS, ///< PLUS hint 38 PPC_BH_MINUS, ///< MINUS hint 39 } ppc_bh; 40 41 /// Operand type for instruction's operands 42 typedef enum ppc_op_type { 43 PPC_OP_INVALID = 0, ///< = CS_OP_INVALID (Uninitialized). 44 PPC_OP_REG, ///< = CS_OP_REG (Register operand). 45 PPC_OP_IMM, ///< = CS_OP_IMM (Immediate operand). 46 PPC_OP_MEM, ///< = CS_OP_MEM (Memory operand). 47 PPC_OP_CRX = 64, ///< Condition Register field 48 } ppc_op_type; 49 50 /// PPC registers 51 typedef enum ppc_reg { 52 PPC_REG_INVALID = 0, 53 54 PPC_REG_CARRY, 55 PPC_REG_CR0, 56 PPC_REG_CR1, 57 PPC_REG_CR2, 58 PPC_REG_CR3, 59 PPC_REG_CR4, 60 PPC_REG_CR5, 61 PPC_REG_CR6, 62 PPC_REG_CR7, 63 PPC_REG_CTR, 64 PPC_REG_F0, 65 PPC_REG_F1, 66 PPC_REG_F2, 67 PPC_REG_F3, 68 PPC_REG_F4, 69 PPC_REG_F5, 70 PPC_REG_F6, 71 PPC_REG_F7, 72 PPC_REG_F8, 73 PPC_REG_F9, 74 PPC_REG_F10, 75 PPC_REG_F11, 76 PPC_REG_F12, 77 PPC_REG_F13, 78 PPC_REG_F14, 79 PPC_REG_F15, 80 PPC_REG_F16, 81 PPC_REG_F17, 82 PPC_REG_F18, 83 PPC_REG_F19, 84 PPC_REG_F20, 85 PPC_REG_F21, 86 PPC_REG_F22, 87 PPC_REG_F23, 88 PPC_REG_F24, 89 PPC_REG_F25, 90 PPC_REG_F26, 91 PPC_REG_F27, 92 PPC_REG_F28, 93 PPC_REG_F29, 94 PPC_REG_F30, 95 PPC_REG_F31, 96 PPC_REG_LR, 97 PPC_REG_R0, 98 PPC_REG_R1, 99 PPC_REG_R2, 100 PPC_REG_R3, 101 PPC_REG_R4, 102 PPC_REG_R5, 103 PPC_REG_R6, 104 PPC_REG_R7, 105 PPC_REG_R8, 106 PPC_REG_R9, 107 PPC_REG_R10, 108 PPC_REG_R11, 109 PPC_REG_R12, 110 PPC_REG_R13, 111 PPC_REG_R14, 112 PPC_REG_R15, 113 PPC_REG_R16, 114 PPC_REG_R17, 115 PPC_REG_R18, 116 PPC_REG_R19, 117 PPC_REG_R20, 118 PPC_REG_R21, 119 PPC_REG_R22, 120 PPC_REG_R23, 121 PPC_REG_R24, 122 PPC_REG_R25, 123 PPC_REG_R26, 124 PPC_REG_R27, 125 PPC_REG_R28, 126 PPC_REG_R29, 127 PPC_REG_R30, 128 PPC_REG_R31, 129 PPC_REG_V0, 130 PPC_REG_V1, 131 PPC_REG_V2, 132 PPC_REG_V3, 133 PPC_REG_V4, 134 PPC_REG_V5, 135 PPC_REG_V6, 136 PPC_REG_V7, 137 PPC_REG_V8, 138 PPC_REG_V9, 139 PPC_REG_V10, 140 PPC_REG_V11, 141 PPC_REG_V12, 142 PPC_REG_V13, 143 PPC_REG_V14, 144 PPC_REG_V15, 145 PPC_REG_V16, 146 PPC_REG_V17, 147 PPC_REG_V18, 148 PPC_REG_V19, 149 PPC_REG_V20, 150 PPC_REG_V21, 151 PPC_REG_V22, 152 PPC_REG_V23, 153 PPC_REG_V24, 154 PPC_REG_V25, 155 PPC_REG_V26, 156 PPC_REG_V27, 157 PPC_REG_V28, 158 PPC_REG_V29, 159 PPC_REG_V30, 160 PPC_REG_V31, 161 PPC_REG_VRSAVE, 162 PPC_REG_VS0, 163 PPC_REG_VS1, 164 PPC_REG_VS2, 165 PPC_REG_VS3, 166 PPC_REG_VS4, 167 PPC_REG_VS5, 168 PPC_REG_VS6, 169 PPC_REG_VS7, 170 PPC_REG_VS8, 171 PPC_REG_VS9, 172 PPC_REG_VS10, 173 PPC_REG_VS11, 174 PPC_REG_VS12, 175 PPC_REG_VS13, 176 PPC_REG_VS14, 177 PPC_REG_VS15, 178 PPC_REG_VS16, 179 PPC_REG_VS17, 180 PPC_REG_VS18, 181 PPC_REG_VS19, 182 PPC_REG_VS20, 183 PPC_REG_VS21, 184 PPC_REG_VS22, 185 PPC_REG_VS23, 186 PPC_REG_VS24, 187 PPC_REG_VS25, 188 PPC_REG_VS26, 189 PPC_REG_VS27, 190 PPC_REG_VS28, 191 PPC_REG_VS29, 192 PPC_REG_VS30, 193 PPC_REG_VS31, 194 PPC_REG_VS32, 195 PPC_REG_VS33, 196 PPC_REG_VS34, 197 PPC_REG_VS35, 198 PPC_REG_VS36, 199 PPC_REG_VS37, 200 PPC_REG_VS38, 201 PPC_REG_VS39, 202 PPC_REG_VS40, 203 PPC_REG_VS41, 204 PPC_REG_VS42, 205 PPC_REG_VS43, 206 PPC_REG_VS44, 207 PPC_REG_VS45, 208 PPC_REG_VS46, 209 PPC_REG_VS47, 210 PPC_REG_VS48, 211 PPC_REG_VS49, 212 PPC_REG_VS50, 213 PPC_REG_VS51, 214 PPC_REG_VS52, 215 PPC_REG_VS53, 216 PPC_REG_VS54, 217 PPC_REG_VS55, 218 PPC_REG_VS56, 219 PPC_REG_VS57, 220 PPC_REG_VS58, 221 PPC_REG_VS59, 222 PPC_REG_VS60, 223 PPC_REG_VS61, 224 PPC_REG_VS62, 225 PPC_REG_VS63, 226 PPC_REG_Q0, 227 PPC_REG_Q1, 228 PPC_REG_Q2, 229 PPC_REG_Q3, 230 PPC_REG_Q4, 231 PPC_REG_Q5, 232 PPC_REG_Q6, 233 PPC_REG_Q7, 234 PPC_REG_Q8, 235 PPC_REG_Q9, 236 PPC_REG_Q10, 237 PPC_REG_Q11, 238 PPC_REG_Q12, 239 PPC_REG_Q13, 240 PPC_REG_Q14, 241 PPC_REG_Q15, 242 PPC_REG_Q16, 243 PPC_REG_Q17, 244 PPC_REG_Q18, 245 PPC_REG_Q19, 246 PPC_REG_Q20, 247 PPC_REG_Q21, 248 PPC_REG_Q22, 249 PPC_REG_Q23, 250 PPC_REG_Q24, 251 PPC_REG_Q25, 252 PPC_REG_Q26, 253 PPC_REG_Q27, 254 PPC_REG_Q28, 255 PPC_REG_Q29, 256 PPC_REG_Q30, 257 PPC_REG_Q31, 258 259 // extra registers for PPCMapping.c 260 PPC_REG_RM, 261 PPC_REG_CTR8, 262 PPC_REG_LR8, 263 PPC_REG_CR1EQ, 264 PPC_REG_X2, 265 266 PPC_REG_ENDING, // <-- mark the end of the list of registers 267 } ppc_reg; 268 269 /// Instruction's operand referring to memory 270 /// This is associated with PPC_OP_MEM operand type above 271 typedef struct ppc_op_mem { 272 ppc_reg base; ///< base register 273 int32_t disp; ///< displacement/offset value 274 } ppc_op_mem; 275 276 typedef struct ppc_op_crx { 277 unsigned int scale; 278 ppc_reg reg; 279 ppc_bc cond; 280 } ppc_op_crx; 281 282 /// Instruction operand 283 typedef struct cs_ppc_op { 284 ppc_op_type type; ///< operand type 285 union { 286 ppc_reg reg; ///< register value for REG operand 287 int64_t imm; ///< immediate value for IMM operand 288 ppc_op_mem mem; ///< base/disp value for MEM operand 289 ppc_op_crx crx; ///< operand with condition register 290 }; 291 } cs_ppc_op; 292 293 /// Instruction structure 294 typedef struct cs_ppc { 295 /// branch code for branch instructions 296 ppc_bc bc; 297 298 /// branch hint for branch instructions 299 ppc_bh bh; 300 301 /// if update_cr0 = True, then this 'dot' insn updates CR0 302 bool update_cr0; 303 304 /// Number of operands of this instruction, 305 /// or 0 when instruction has no operand. 306 uint8_t op_count; 307 cs_ppc_op operands[8]; ///< operands for this instruction. 308 } cs_ppc; 309 310 /// PPC instruction 311 typedef enum ppc_insn { 312 PPC_INS_INVALID = 0, 313 314 PPC_INS_ADD, 315 PPC_INS_ADDC, 316 PPC_INS_ADDE, 317 PPC_INS_ADDI, 318 PPC_INS_ADDIC, 319 PPC_INS_ADDIS, 320 PPC_INS_ADDME, 321 PPC_INS_ADDZE, 322 PPC_INS_AND, 323 PPC_INS_ANDC, 324 PPC_INS_ANDIS, 325 PPC_INS_ANDI, 326 PPC_INS_ATTN, 327 PPC_INS_B, 328 PPC_INS_BA, 329 PPC_INS_BC, 330 PPC_INS_BCCTR, 331 PPC_INS_BCCTRL, 332 PPC_INS_BCL, 333 PPC_INS_BCLR, 334 PPC_INS_BCLRL, 335 PPC_INS_BCTR, 336 PPC_INS_BCTRL, 337 PPC_INS_BCT, 338 PPC_INS_BDNZ, 339 PPC_INS_BDNZA, 340 PPC_INS_BDNZL, 341 PPC_INS_BDNZLA, 342 PPC_INS_BDNZLR, 343 PPC_INS_BDNZLRL, 344 PPC_INS_BDZ, 345 PPC_INS_BDZA, 346 PPC_INS_BDZL, 347 PPC_INS_BDZLA, 348 PPC_INS_BDZLR, 349 PPC_INS_BDZLRL, 350 PPC_INS_BL, 351 PPC_INS_BLA, 352 PPC_INS_BLR, 353 PPC_INS_BLRL, 354 PPC_INS_BRINC, 355 PPC_INS_CMPB, 356 PPC_INS_CMPD, 357 PPC_INS_CMPDI, 358 PPC_INS_CMPLD, 359 PPC_INS_CMPLDI, 360 PPC_INS_CMPLW, 361 PPC_INS_CMPLWI, 362 PPC_INS_CMPW, 363 PPC_INS_CMPWI, 364 PPC_INS_CNTLZD, 365 PPC_INS_CNTLZW, 366 PPC_INS_CREQV, 367 PPC_INS_CRXOR, 368 PPC_INS_CRAND, 369 PPC_INS_CRANDC, 370 PPC_INS_CRNAND, 371 PPC_INS_CRNOR, 372 PPC_INS_CROR, 373 PPC_INS_CRORC, 374 PPC_INS_DCBA, 375 PPC_INS_DCBF, 376 PPC_INS_DCBI, 377 PPC_INS_DCBST, 378 PPC_INS_DCBT, 379 PPC_INS_DCBTST, 380 PPC_INS_DCBZ, 381 PPC_INS_DCBZL, 382 PPC_INS_DCCCI, 383 PPC_INS_DIVD, 384 PPC_INS_DIVDU, 385 PPC_INS_DIVW, 386 PPC_INS_DIVWU, 387 PPC_INS_DSS, 388 PPC_INS_DSSALL, 389 PPC_INS_DST, 390 PPC_INS_DSTST, 391 PPC_INS_DSTSTT, 392 PPC_INS_DSTT, 393 PPC_INS_EQV, 394 PPC_INS_EVABS, 395 PPC_INS_EVADDIW, 396 PPC_INS_EVADDSMIAAW, 397 PPC_INS_EVADDSSIAAW, 398 PPC_INS_EVADDUMIAAW, 399 PPC_INS_EVADDUSIAAW, 400 PPC_INS_EVADDW, 401 PPC_INS_EVAND, 402 PPC_INS_EVANDC, 403 PPC_INS_EVCMPEQ, 404 PPC_INS_EVCMPGTS, 405 PPC_INS_EVCMPGTU, 406 PPC_INS_EVCMPLTS, 407 PPC_INS_EVCMPLTU, 408 PPC_INS_EVCNTLSW, 409 PPC_INS_EVCNTLZW, 410 PPC_INS_EVDIVWS, 411 PPC_INS_EVDIVWU, 412 PPC_INS_EVEQV, 413 PPC_INS_EVEXTSB, 414 PPC_INS_EVEXTSH, 415 PPC_INS_EVLDD, 416 PPC_INS_EVLDDX, 417 PPC_INS_EVLDH, 418 PPC_INS_EVLDHX, 419 PPC_INS_EVLDW, 420 PPC_INS_EVLDWX, 421 PPC_INS_EVLHHESPLAT, 422 PPC_INS_EVLHHESPLATX, 423 PPC_INS_EVLHHOSSPLAT, 424 PPC_INS_EVLHHOSSPLATX, 425 PPC_INS_EVLHHOUSPLAT, 426 PPC_INS_EVLHHOUSPLATX, 427 PPC_INS_EVLWHE, 428 PPC_INS_EVLWHEX, 429 PPC_INS_EVLWHOS, 430 PPC_INS_EVLWHOSX, 431 PPC_INS_EVLWHOU, 432 PPC_INS_EVLWHOUX, 433 PPC_INS_EVLWHSPLAT, 434 PPC_INS_EVLWHSPLATX, 435 PPC_INS_EVLWWSPLAT, 436 PPC_INS_EVLWWSPLATX, 437 PPC_INS_EVMERGEHI, 438 PPC_INS_EVMERGEHILO, 439 PPC_INS_EVMERGELO, 440 PPC_INS_EVMERGELOHI, 441 PPC_INS_EVMHEGSMFAA, 442 PPC_INS_EVMHEGSMFAN, 443 PPC_INS_EVMHEGSMIAA, 444 PPC_INS_EVMHEGSMIAN, 445 PPC_INS_EVMHEGUMIAA, 446 PPC_INS_EVMHEGUMIAN, 447 PPC_INS_EVMHESMF, 448 PPC_INS_EVMHESMFA, 449 PPC_INS_EVMHESMFAAW, 450 PPC_INS_EVMHESMFANW, 451 PPC_INS_EVMHESMI, 452 PPC_INS_EVMHESMIA, 453 PPC_INS_EVMHESMIAAW, 454 PPC_INS_EVMHESMIANW, 455 PPC_INS_EVMHESSF, 456 PPC_INS_EVMHESSFA, 457 PPC_INS_EVMHESSFAAW, 458 PPC_INS_EVMHESSFANW, 459 PPC_INS_EVMHESSIAAW, 460 PPC_INS_EVMHESSIANW, 461 PPC_INS_EVMHEUMI, 462 PPC_INS_EVMHEUMIA, 463 PPC_INS_EVMHEUMIAAW, 464 PPC_INS_EVMHEUMIANW, 465 PPC_INS_EVMHEUSIAAW, 466 PPC_INS_EVMHEUSIANW, 467 PPC_INS_EVMHOGSMFAA, 468 PPC_INS_EVMHOGSMFAN, 469 PPC_INS_EVMHOGSMIAA, 470 PPC_INS_EVMHOGSMIAN, 471 PPC_INS_EVMHOGUMIAA, 472 PPC_INS_EVMHOGUMIAN, 473 PPC_INS_EVMHOSMF, 474 PPC_INS_EVMHOSMFA, 475 PPC_INS_EVMHOSMFAAW, 476 PPC_INS_EVMHOSMFANW, 477 PPC_INS_EVMHOSMI, 478 PPC_INS_EVMHOSMIA, 479 PPC_INS_EVMHOSMIAAW, 480 PPC_INS_EVMHOSMIANW, 481 PPC_INS_EVMHOSSF, 482 PPC_INS_EVMHOSSFA, 483 PPC_INS_EVMHOSSFAAW, 484 PPC_INS_EVMHOSSFANW, 485 PPC_INS_EVMHOSSIAAW, 486 PPC_INS_EVMHOSSIANW, 487 PPC_INS_EVMHOUMI, 488 PPC_INS_EVMHOUMIA, 489 PPC_INS_EVMHOUMIAAW, 490 PPC_INS_EVMHOUMIANW, 491 PPC_INS_EVMHOUSIAAW, 492 PPC_INS_EVMHOUSIANW, 493 PPC_INS_EVMRA, 494 PPC_INS_EVMWHSMF, 495 PPC_INS_EVMWHSMFA, 496 PPC_INS_EVMWHSMI, 497 PPC_INS_EVMWHSMIA, 498 PPC_INS_EVMWHSSF, 499 PPC_INS_EVMWHSSFA, 500 PPC_INS_EVMWHUMI, 501 PPC_INS_EVMWHUMIA, 502 PPC_INS_EVMWLSMIAAW, 503 PPC_INS_EVMWLSMIANW, 504 PPC_INS_EVMWLSSIAAW, 505 PPC_INS_EVMWLSSIANW, 506 PPC_INS_EVMWLUMI, 507 PPC_INS_EVMWLUMIA, 508 PPC_INS_EVMWLUMIAAW, 509 PPC_INS_EVMWLUMIANW, 510 PPC_INS_EVMWLUSIAAW, 511 PPC_INS_EVMWLUSIANW, 512 PPC_INS_EVMWSMF, 513 PPC_INS_EVMWSMFA, 514 PPC_INS_EVMWSMFAA, 515 PPC_INS_EVMWSMFAN, 516 PPC_INS_EVMWSMI, 517 PPC_INS_EVMWSMIA, 518 PPC_INS_EVMWSMIAA, 519 PPC_INS_EVMWSMIAN, 520 PPC_INS_EVMWSSF, 521 PPC_INS_EVMWSSFA, 522 PPC_INS_EVMWSSFAA, 523 PPC_INS_EVMWSSFAN, 524 PPC_INS_EVMWUMI, 525 PPC_INS_EVMWUMIA, 526 PPC_INS_EVMWUMIAA, 527 PPC_INS_EVMWUMIAN, 528 PPC_INS_EVNAND, 529 PPC_INS_EVNEG, 530 PPC_INS_EVNOR, 531 PPC_INS_EVOR, 532 PPC_INS_EVORC, 533 PPC_INS_EVRLW, 534 PPC_INS_EVRLWI, 535 PPC_INS_EVRNDW, 536 PPC_INS_EVSLW, 537 PPC_INS_EVSLWI, 538 PPC_INS_EVSPLATFI, 539 PPC_INS_EVSPLATI, 540 PPC_INS_EVSRWIS, 541 PPC_INS_EVSRWIU, 542 PPC_INS_EVSRWS, 543 PPC_INS_EVSRWU, 544 PPC_INS_EVSTDD, 545 PPC_INS_EVSTDDX, 546 PPC_INS_EVSTDH, 547 PPC_INS_EVSTDHX, 548 PPC_INS_EVSTDW, 549 PPC_INS_EVSTDWX, 550 PPC_INS_EVSTWHE, 551 PPC_INS_EVSTWHEX, 552 PPC_INS_EVSTWHO, 553 PPC_INS_EVSTWHOX, 554 PPC_INS_EVSTWWE, 555 PPC_INS_EVSTWWEX, 556 PPC_INS_EVSTWWO, 557 PPC_INS_EVSTWWOX, 558 PPC_INS_EVSUBFSMIAAW, 559 PPC_INS_EVSUBFSSIAAW, 560 PPC_INS_EVSUBFUMIAAW, 561 PPC_INS_EVSUBFUSIAAW, 562 PPC_INS_EVSUBFW, 563 PPC_INS_EVSUBIFW, 564 PPC_INS_EVXOR, 565 PPC_INS_EXTSB, 566 PPC_INS_EXTSH, 567 PPC_INS_EXTSW, 568 PPC_INS_EIEIO, 569 PPC_INS_FABS, 570 PPC_INS_FADD, 571 PPC_INS_FADDS, 572 PPC_INS_FCFID, 573 PPC_INS_FCFIDS, 574 PPC_INS_FCFIDU, 575 PPC_INS_FCFIDUS, 576 PPC_INS_FCMPU, 577 PPC_INS_FCPSGN, 578 PPC_INS_FCTID, 579 PPC_INS_FCTIDUZ, 580 PPC_INS_FCTIDZ, 581 PPC_INS_FCTIW, 582 PPC_INS_FCTIWUZ, 583 PPC_INS_FCTIWZ, 584 PPC_INS_FDIV, 585 PPC_INS_FDIVS, 586 PPC_INS_FMADD, 587 PPC_INS_FMADDS, 588 PPC_INS_FMR, 589 PPC_INS_FMSUB, 590 PPC_INS_FMSUBS, 591 PPC_INS_FMUL, 592 PPC_INS_FMULS, 593 PPC_INS_FNABS, 594 PPC_INS_FNEG, 595 PPC_INS_FNMADD, 596 PPC_INS_FNMADDS, 597 PPC_INS_FNMSUB, 598 PPC_INS_FNMSUBS, 599 PPC_INS_FRE, 600 PPC_INS_FRES, 601 PPC_INS_FRIM, 602 PPC_INS_FRIN, 603 PPC_INS_FRIP, 604 PPC_INS_FRIZ, 605 PPC_INS_FRSP, 606 PPC_INS_FRSQRTE, 607 PPC_INS_FRSQRTES, 608 PPC_INS_FSEL, 609 PPC_INS_FSQRT, 610 PPC_INS_FSQRTS, 611 PPC_INS_FSUB, 612 PPC_INS_FSUBS, 613 PPC_INS_ICBI, 614 PPC_INS_ICBT, 615 PPC_INS_ICCCI, 616 PPC_INS_ISEL, 617 PPC_INS_ISYNC, 618 PPC_INS_LA, 619 PPC_INS_LBZ, 620 PPC_INS_LBZCIX, 621 PPC_INS_LBZU, 622 PPC_INS_LBZUX, 623 PPC_INS_LBZX, 624 PPC_INS_LD, 625 PPC_INS_LDARX, 626 PPC_INS_LDBRX, 627 PPC_INS_LDCIX, 628 PPC_INS_LDU, 629 PPC_INS_LDUX, 630 PPC_INS_LDX, 631 PPC_INS_LFD, 632 PPC_INS_LFDU, 633 PPC_INS_LFDUX, 634 PPC_INS_LFDX, 635 PPC_INS_LFIWAX, 636 PPC_INS_LFIWZX, 637 PPC_INS_LFS, 638 PPC_INS_LFSU, 639 PPC_INS_LFSUX, 640 PPC_INS_LFSX, 641 PPC_INS_LHA, 642 PPC_INS_LHAU, 643 PPC_INS_LHAUX, 644 PPC_INS_LHAX, 645 PPC_INS_LHBRX, 646 PPC_INS_LHZ, 647 PPC_INS_LHZCIX, 648 PPC_INS_LHZU, 649 PPC_INS_LHZUX, 650 PPC_INS_LHZX, 651 PPC_INS_LI, 652 PPC_INS_LIS, 653 PPC_INS_LMW, 654 PPC_INS_LSWI, 655 PPC_INS_LVEBX, 656 PPC_INS_LVEHX, 657 PPC_INS_LVEWX, 658 PPC_INS_LVSL, 659 PPC_INS_LVSR, 660 PPC_INS_LVX, 661 PPC_INS_LVXL, 662 PPC_INS_LWA, 663 PPC_INS_LWARX, 664 PPC_INS_LWAUX, 665 PPC_INS_LWAX, 666 PPC_INS_LWBRX, 667 PPC_INS_LWZ, 668 PPC_INS_LWZCIX, 669 PPC_INS_LWZU, 670 PPC_INS_LWZUX, 671 PPC_INS_LWZX, 672 PPC_INS_LXSDX, 673 PPC_INS_LXVD2X, 674 PPC_INS_LXVDSX, 675 PPC_INS_LXVW4X, 676 PPC_INS_MBAR, 677 PPC_INS_MCRF, 678 PPC_INS_MCRFS, 679 PPC_INS_MFCR, 680 PPC_INS_MFCTR, 681 PPC_INS_MFDCR, 682 PPC_INS_MFFS, 683 PPC_INS_MFLR, 684 PPC_INS_MFMSR, 685 PPC_INS_MFOCRF, 686 PPC_INS_MFSPR, 687 PPC_INS_MFSR, 688 PPC_INS_MFSRIN, 689 PPC_INS_MFTB, 690 PPC_INS_MFVSCR, 691 PPC_INS_MSYNC, 692 PPC_INS_MTCRF, 693 PPC_INS_MTCTR, 694 PPC_INS_MTDCR, 695 PPC_INS_MTFSB0, 696 PPC_INS_MTFSB1, 697 PPC_INS_MTFSF, 698 PPC_INS_MTFSFI, 699 PPC_INS_MTLR, 700 PPC_INS_MTMSR, 701 PPC_INS_MTMSRD, 702 PPC_INS_MTOCRF, 703 PPC_INS_MTSPR, 704 PPC_INS_MTSR, 705 PPC_INS_MTSRIN, 706 PPC_INS_MTVSCR, 707 PPC_INS_MULHD, 708 PPC_INS_MULHDU, 709 PPC_INS_MULHW, 710 PPC_INS_MULHWU, 711 PPC_INS_MULLD, 712 PPC_INS_MULLI, 713 PPC_INS_MULLW, 714 PPC_INS_NAND, 715 PPC_INS_NEG, 716 PPC_INS_NOP, 717 PPC_INS_ORI, 718 PPC_INS_NOR, 719 PPC_INS_OR, 720 PPC_INS_ORC, 721 PPC_INS_ORIS, 722 PPC_INS_POPCNTD, 723 PPC_INS_POPCNTW, 724 PPC_INS_QVALIGNI, 725 PPC_INS_QVESPLATI, 726 PPC_INS_QVFABS, 727 PPC_INS_QVFADD, 728 PPC_INS_QVFADDS, 729 PPC_INS_QVFCFID, 730 PPC_INS_QVFCFIDS, 731 PPC_INS_QVFCFIDU, 732 PPC_INS_QVFCFIDUS, 733 PPC_INS_QVFCMPEQ, 734 PPC_INS_QVFCMPGT, 735 PPC_INS_QVFCMPLT, 736 PPC_INS_QVFCPSGN, 737 PPC_INS_QVFCTID, 738 PPC_INS_QVFCTIDU, 739 PPC_INS_QVFCTIDUZ, 740 PPC_INS_QVFCTIDZ, 741 PPC_INS_QVFCTIW, 742 PPC_INS_QVFCTIWU, 743 PPC_INS_QVFCTIWUZ, 744 PPC_INS_QVFCTIWZ, 745 PPC_INS_QVFLOGICAL, 746 PPC_INS_QVFMADD, 747 PPC_INS_QVFMADDS, 748 PPC_INS_QVFMR, 749 PPC_INS_QVFMSUB, 750 PPC_INS_QVFMSUBS, 751 PPC_INS_QVFMUL, 752 PPC_INS_QVFMULS, 753 PPC_INS_QVFNABS, 754 PPC_INS_QVFNEG, 755 PPC_INS_QVFNMADD, 756 PPC_INS_QVFNMADDS, 757 PPC_INS_QVFNMSUB, 758 PPC_INS_QVFNMSUBS, 759 PPC_INS_QVFPERM, 760 PPC_INS_QVFRE, 761 PPC_INS_QVFRES, 762 PPC_INS_QVFRIM, 763 PPC_INS_QVFRIN, 764 PPC_INS_QVFRIP, 765 PPC_INS_QVFRIZ, 766 PPC_INS_QVFRSP, 767 PPC_INS_QVFRSQRTE, 768 PPC_INS_QVFRSQRTES, 769 PPC_INS_QVFSEL, 770 PPC_INS_QVFSUB, 771 PPC_INS_QVFSUBS, 772 PPC_INS_QVFTSTNAN, 773 PPC_INS_QVFXMADD, 774 PPC_INS_QVFXMADDS, 775 PPC_INS_QVFXMUL, 776 PPC_INS_QVFXMULS, 777 PPC_INS_QVFXXCPNMADD, 778 PPC_INS_QVFXXCPNMADDS, 779 PPC_INS_QVFXXMADD, 780 PPC_INS_QVFXXMADDS, 781 PPC_INS_QVFXXNPMADD, 782 PPC_INS_QVFXXNPMADDS, 783 PPC_INS_QVGPCI, 784 PPC_INS_QVLFCDUX, 785 PPC_INS_QVLFCDUXA, 786 PPC_INS_QVLFCDX, 787 PPC_INS_QVLFCDXA, 788 PPC_INS_QVLFCSUX, 789 PPC_INS_QVLFCSUXA, 790 PPC_INS_QVLFCSX, 791 PPC_INS_QVLFCSXA, 792 PPC_INS_QVLFDUX, 793 PPC_INS_QVLFDUXA, 794 PPC_INS_QVLFDX, 795 PPC_INS_QVLFDXA, 796 PPC_INS_QVLFIWAX, 797 PPC_INS_QVLFIWAXA, 798 PPC_INS_QVLFIWZX, 799 PPC_INS_QVLFIWZXA, 800 PPC_INS_QVLFSUX, 801 PPC_INS_QVLFSUXA, 802 PPC_INS_QVLFSX, 803 PPC_INS_QVLFSXA, 804 PPC_INS_QVLPCLDX, 805 PPC_INS_QVLPCLSX, 806 PPC_INS_QVLPCRDX, 807 PPC_INS_QVLPCRSX, 808 PPC_INS_QVSTFCDUX, 809 PPC_INS_QVSTFCDUXA, 810 PPC_INS_QVSTFCDUXI, 811 PPC_INS_QVSTFCDUXIA, 812 PPC_INS_QVSTFCDX, 813 PPC_INS_QVSTFCDXA, 814 PPC_INS_QVSTFCDXI, 815 PPC_INS_QVSTFCDXIA, 816 PPC_INS_QVSTFCSUX, 817 PPC_INS_QVSTFCSUXA, 818 PPC_INS_QVSTFCSUXI, 819 PPC_INS_QVSTFCSUXIA, 820 PPC_INS_QVSTFCSX, 821 PPC_INS_QVSTFCSXA, 822 PPC_INS_QVSTFCSXI, 823 PPC_INS_QVSTFCSXIA, 824 PPC_INS_QVSTFDUX, 825 PPC_INS_QVSTFDUXA, 826 PPC_INS_QVSTFDUXI, 827 PPC_INS_QVSTFDUXIA, 828 PPC_INS_QVSTFDX, 829 PPC_INS_QVSTFDXA, 830 PPC_INS_QVSTFDXI, 831 PPC_INS_QVSTFDXIA, 832 PPC_INS_QVSTFIWX, 833 PPC_INS_QVSTFIWXA, 834 PPC_INS_QVSTFSUX, 835 PPC_INS_QVSTFSUXA, 836 PPC_INS_QVSTFSUXI, 837 PPC_INS_QVSTFSUXIA, 838 PPC_INS_QVSTFSX, 839 PPC_INS_QVSTFSXA, 840 PPC_INS_QVSTFSXI, 841 PPC_INS_QVSTFSXIA, 842 PPC_INS_RFCI, 843 PPC_INS_RFDI, 844 PPC_INS_RFI, 845 PPC_INS_RFID, 846 PPC_INS_RFMCI, 847 PPC_INS_RLDCL, 848 PPC_INS_RLDCR, 849 PPC_INS_RLDIC, 850 PPC_INS_RLDICL, 851 PPC_INS_RLDICR, 852 PPC_INS_RLDIMI, 853 PPC_INS_RLWIMI, 854 PPC_INS_RLWINM, 855 PPC_INS_RLWNM, 856 PPC_INS_SC, 857 PPC_INS_SLBIA, 858 PPC_INS_SLBIE, 859 PPC_INS_SLBMFEE, 860 PPC_INS_SLBMTE, 861 PPC_INS_SLD, 862 PPC_INS_SLW, 863 PPC_INS_SRAD, 864 PPC_INS_SRADI, 865 PPC_INS_SRAW, 866 PPC_INS_SRAWI, 867 PPC_INS_SRD, 868 PPC_INS_SRW, 869 PPC_INS_STB, 870 PPC_INS_STBCIX, 871 PPC_INS_STBU, 872 PPC_INS_STBUX, 873 PPC_INS_STBX, 874 PPC_INS_STD, 875 PPC_INS_STDBRX, 876 PPC_INS_STDCIX, 877 PPC_INS_STDCX, 878 PPC_INS_STDU, 879 PPC_INS_STDUX, 880 PPC_INS_STDX, 881 PPC_INS_STFD, 882 PPC_INS_STFDU, 883 PPC_INS_STFDUX, 884 PPC_INS_STFDX, 885 PPC_INS_STFIWX, 886 PPC_INS_STFS, 887 PPC_INS_STFSU, 888 PPC_INS_STFSUX, 889 PPC_INS_STFSX, 890 PPC_INS_STH, 891 PPC_INS_STHBRX, 892 PPC_INS_STHCIX, 893 PPC_INS_STHU, 894 PPC_INS_STHUX, 895 PPC_INS_STHX, 896 PPC_INS_STMW, 897 PPC_INS_STSWI, 898 PPC_INS_STVEBX, 899 PPC_INS_STVEHX, 900 PPC_INS_STVEWX, 901 PPC_INS_STVX, 902 PPC_INS_STVXL, 903 PPC_INS_STW, 904 PPC_INS_STWBRX, 905 PPC_INS_STWCIX, 906 PPC_INS_STWCX, 907 PPC_INS_STWU, 908 PPC_INS_STWUX, 909 PPC_INS_STWX, 910 PPC_INS_STXSDX, 911 PPC_INS_STXVD2X, 912 PPC_INS_STXVW4X, 913 PPC_INS_SUBF, 914 PPC_INS_SUBFC, 915 PPC_INS_SUBFE, 916 PPC_INS_SUBFIC, 917 PPC_INS_SUBFME, 918 PPC_INS_SUBFZE, 919 PPC_INS_SYNC, 920 PPC_INS_TD, 921 PPC_INS_TDI, 922 PPC_INS_TLBIA, 923 PPC_INS_TLBIE, 924 PPC_INS_TLBIEL, 925 PPC_INS_TLBIVAX, 926 PPC_INS_TLBLD, 927 PPC_INS_TLBLI, 928 PPC_INS_TLBRE, 929 PPC_INS_TLBSX, 930 PPC_INS_TLBSYNC, 931 PPC_INS_TLBWE, 932 PPC_INS_TRAP, 933 PPC_INS_TW, 934 PPC_INS_TWI, 935 PPC_INS_VADDCUW, 936 PPC_INS_VADDFP, 937 PPC_INS_VADDSBS, 938 PPC_INS_VADDSHS, 939 PPC_INS_VADDSWS, 940 PPC_INS_VADDUBM, 941 PPC_INS_VADDUBS, 942 PPC_INS_VADDUDM, 943 PPC_INS_VADDUHM, 944 PPC_INS_VADDUHS, 945 PPC_INS_VADDUWM, 946 PPC_INS_VADDUWS, 947 PPC_INS_VAND, 948 PPC_INS_VANDC, 949 PPC_INS_VAVGSB, 950 PPC_INS_VAVGSH, 951 PPC_INS_VAVGSW, 952 PPC_INS_VAVGUB, 953 PPC_INS_VAVGUH, 954 PPC_INS_VAVGUW, 955 PPC_INS_VCFSX, 956 PPC_INS_VCFUX, 957 PPC_INS_VCLZB, 958 PPC_INS_VCLZD, 959 PPC_INS_VCLZH, 960 PPC_INS_VCLZW, 961 PPC_INS_VCMPBFP, 962 PPC_INS_VCMPEQFP, 963 PPC_INS_VCMPEQUB, 964 PPC_INS_VCMPEQUD, 965 PPC_INS_VCMPEQUH, 966 PPC_INS_VCMPEQUW, 967 PPC_INS_VCMPGEFP, 968 PPC_INS_VCMPGTFP, 969 PPC_INS_VCMPGTSB, 970 PPC_INS_VCMPGTSD, 971 PPC_INS_VCMPGTSH, 972 PPC_INS_VCMPGTSW, 973 PPC_INS_VCMPGTUB, 974 PPC_INS_VCMPGTUD, 975 PPC_INS_VCMPGTUH, 976 PPC_INS_VCMPGTUW, 977 PPC_INS_VCTSXS, 978 PPC_INS_VCTUXS, 979 PPC_INS_VEQV, 980 PPC_INS_VEXPTEFP, 981 PPC_INS_VLOGEFP, 982 PPC_INS_VMADDFP, 983 PPC_INS_VMAXFP, 984 PPC_INS_VMAXSB, 985 PPC_INS_VMAXSD, 986 PPC_INS_VMAXSH, 987 PPC_INS_VMAXSW, 988 PPC_INS_VMAXUB, 989 PPC_INS_VMAXUD, 990 PPC_INS_VMAXUH, 991 PPC_INS_VMAXUW, 992 PPC_INS_VMHADDSHS, 993 PPC_INS_VMHRADDSHS, 994 PPC_INS_VMINUD, 995 PPC_INS_VMINFP, 996 PPC_INS_VMINSB, 997 PPC_INS_VMINSD, 998 PPC_INS_VMINSH, 999 PPC_INS_VMINSW, 1000 PPC_INS_VMINUB, 1001 PPC_INS_VMINUH, 1002 PPC_INS_VMINUW, 1003 PPC_INS_VMLADDUHM, 1004 PPC_INS_VMRGHB, 1005 PPC_INS_VMRGHH, 1006 PPC_INS_VMRGHW, 1007 PPC_INS_VMRGLB, 1008 PPC_INS_VMRGLH, 1009 PPC_INS_VMRGLW, 1010 PPC_INS_VMSUMMBM, 1011 PPC_INS_VMSUMSHM, 1012 PPC_INS_VMSUMSHS, 1013 PPC_INS_VMSUMUBM, 1014 PPC_INS_VMSUMUHM, 1015 PPC_INS_VMSUMUHS, 1016 PPC_INS_VMULESB, 1017 PPC_INS_VMULESH, 1018 PPC_INS_VMULESW, 1019 PPC_INS_VMULEUB, 1020 PPC_INS_VMULEUH, 1021 PPC_INS_VMULEUW, 1022 PPC_INS_VMULOSB, 1023 PPC_INS_VMULOSH, 1024 PPC_INS_VMULOSW, 1025 PPC_INS_VMULOUB, 1026 PPC_INS_VMULOUH, 1027 PPC_INS_VMULOUW, 1028 PPC_INS_VMULUWM, 1029 PPC_INS_VNAND, 1030 PPC_INS_VNMSUBFP, 1031 PPC_INS_VNOR, 1032 PPC_INS_VOR, 1033 PPC_INS_VORC, 1034 PPC_INS_VPERM, 1035 PPC_INS_VPKPX, 1036 PPC_INS_VPKSHSS, 1037 PPC_INS_VPKSHUS, 1038 PPC_INS_VPKSWSS, 1039 PPC_INS_VPKSWUS, 1040 PPC_INS_VPKUHUM, 1041 PPC_INS_VPKUHUS, 1042 PPC_INS_VPKUWUM, 1043 PPC_INS_VPKUWUS, 1044 PPC_INS_VPOPCNTB, 1045 PPC_INS_VPOPCNTD, 1046 PPC_INS_VPOPCNTH, 1047 PPC_INS_VPOPCNTW, 1048 PPC_INS_VREFP, 1049 PPC_INS_VRFIM, 1050 PPC_INS_VRFIN, 1051 PPC_INS_VRFIP, 1052 PPC_INS_VRFIZ, 1053 PPC_INS_VRLB, 1054 PPC_INS_VRLD, 1055 PPC_INS_VRLH, 1056 PPC_INS_VRLW, 1057 PPC_INS_VRSQRTEFP, 1058 PPC_INS_VSEL, 1059 PPC_INS_VSL, 1060 PPC_INS_VSLB, 1061 PPC_INS_VSLD, 1062 PPC_INS_VSLDOI, 1063 PPC_INS_VSLH, 1064 PPC_INS_VSLO, 1065 PPC_INS_VSLW, 1066 PPC_INS_VSPLTB, 1067 PPC_INS_VSPLTH, 1068 PPC_INS_VSPLTISB, 1069 PPC_INS_VSPLTISH, 1070 PPC_INS_VSPLTISW, 1071 PPC_INS_VSPLTW, 1072 PPC_INS_VSR, 1073 PPC_INS_VSRAB, 1074 PPC_INS_VSRAD, 1075 PPC_INS_VSRAH, 1076 PPC_INS_VSRAW, 1077 PPC_INS_VSRB, 1078 PPC_INS_VSRD, 1079 PPC_INS_VSRH, 1080 PPC_INS_VSRO, 1081 PPC_INS_VSRW, 1082 PPC_INS_VSUBCUW, 1083 PPC_INS_VSUBFP, 1084 PPC_INS_VSUBSBS, 1085 PPC_INS_VSUBSHS, 1086 PPC_INS_VSUBSWS, 1087 PPC_INS_VSUBUBM, 1088 PPC_INS_VSUBUBS, 1089 PPC_INS_VSUBUDM, 1090 PPC_INS_VSUBUHM, 1091 PPC_INS_VSUBUHS, 1092 PPC_INS_VSUBUWM, 1093 PPC_INS_VSUBUWS, 1094 PPC_INS_VSUM2SWS, 1095 PPC_INS_VSUM4SBS, 1096 PPC_INS_VSUM4SHS, 1097 PPC_INS_VSUM4UBS, 1098 PPC_INS_VSUMSWS, 1099 PPC_INS_VUPKHPX, 1100 PPC_INS_VUPKHSB, 1101 PPC_INS_VUPKHSH, 1102 PPC_INS_VUPKLPX, 1103 PPC_INS_VUPKLSB, 1104 PPC_INS_VUPKLSH, 1105 PPC_INS_VXOR, 1106 PPC_INS_WAIT, 1107 PPC_INS_WRTEE, 1108 PPC_INS_WRTEEI, 1109 PPC_INS_XOR, 1110 PPC_INS_XORI, 1111 PPC_INS_XORIS, 1112 PPC_INS_XSABSDP, 1113 PPC_INS_XSADDDP, 1114 PPC_INS_XSCMPODP, 1115 PPC_INS_XSCMPUDP, 1116 PPC_INS_XSCPSGNDP, 1117 PPC_INS_XSCVDPSP, 1118 PPC_INS_XSCVDPSXDS, 1119 PPC_INS_XSCVDPSXWS, 1120 PPC_INS_XSCVDPUXDS, 1121 PPC_INS_XSCVDPUXWS, 1122 PPC_INS_XSCVSPDP, 1123 PPC_INS_XSCVSXDDP, 1124 PPC_INS_XSCVUXDDP, 1125 PPC_INS_XSDIVDP, 1126 PPC_INS_XSMADDADP, 1127 PPC_INS_XSMADDMDP, 1128 PPC_INS_XSMAXDP, 1129 PPC_INS_XSMINDP, 1130 PPC_INS_XSMSUBADP, 1131 PPC_INS_XSMSUBMDP, 1132 PPC_INS_XSMULDP, 1133 PPC_INS_XSNABSDP, 1134 PPC_INS_XSNEGDP, 1135 PPC_INS_XSNMADDADP, 1136 PPC_INS_XSNMADDMDP, 1137 PPC_INS_XSNMSUBADP, 1138 PPC_INS_XSNMSUBMDP, 1139 PPC_INS_XSRDPI, 1140 PPC_INS_XSRDPIC, 1141 PPC_INS_XSRDPIM, 1142 PPC_INS_XSRDPIP, 1143 PPC_INS_XSRDPIZ, 1144 PPC_INS_XSREDP, 1145 PPC_INS_XSRSQRTEDP, 1146 PPC_INS_XSSQRTDP, 1147 PPC_INS_XSSUBDP, 1148 PPC_INS_XSTDIVDP, 1149 PPC_INS_XSTSQRTDP, 1150 PPC_INS_XVABSDP, 1151 PPC_INS_XVABSSP, 1152 PPC_INS_XVADDDP, 1153 PPC_INS_XVADDSP, 1154 PPC_INS_XVCMPEQDP, 1155 PPC_INS_XVCMPEQSP, 1156 PPC_INS_XVCMPGEDP, 1157 PPC_INS_XVCMPGESP, 1158 PPC_INS_XVCMPGTDP, 1159 PPC_INS_XVCMPGTSP, 1160 PPC_INS_XVCPSGNDP, 1161 PPC_INS_XVCPSGNSP, 1162 PPC_INS_XVCVDPSP, 1163 PPC_INS_XVCVDPSXDS, 1164 PPC_INS_XVCVDPSXWS, 1165 PPC_INS_XVCVDPUXDS, 1166 PPC_INS_XVCVDPUXWS, 1167 PPC_INS_XVCVSPDP, 1168 PPC_INS_XVCVSPSXDS, 1169 PPC_INS_XVCVSPSXWS, 1170 PPC_INS_XVCVSPUXDS, 1171 PPC_INS_XVCVSPUXWS, 1172 PPC_INS_XVCVSXDDP, 1173 PPC_INS_XVCVSXDSP, 1174 PPC_INS_XVCVSXWDP, 1175 PPC_INS_XVCVSXWSP, 1176 PPC_INS_XVCVUXDDP, 1177 PPC_INS_XVCVUXDSP, 1178 PPC_INS_XVCVUXWDP, 1179 PPC_INS_XVCVUXWSP, 1180 PPC_INS_XVDIVDP, 1181 PPC_INS_XVDIVSP, 1182 PPC_INS_XVMADDADP, 1183 PPC_INS_XVMADDASP, 1184 PPC_INS_XVMADDMDP, 1185 PPC_INS_XVMADDMSP, 1186 PPC_INS_XVMAXDP, 1187 PPC_INS_XVMAXSP, 1188 PPC_INS_XVMINDP, 1189 PPC_INS_XVMINSP, 1190 PPC_INS_XVMSUBADP, 1191 PPC_INS_XVMSUBASP, 1192 PPC_INS_XVMSUBMDP, 1193 PPC_INS_XVMSUBMSP, 1194 PPC_INS_XVMULDP, 1195 PPC_INS_XVMULSP, 1196 PPC_INS_XVNABSDP, 1197 PPC_INS_XVNABSSP, 1198 PPC_INS_XVNEGDP, 1199 PPC_INS_XVNEGSP, 1200 PPC_INS_XVNMADDADP, 1201 PPC_INS_XVNMADDASP, 1202 PPC_INS_XVNMADDMDP, 1203 PPC_INS_XVNMADDMSP, 1204 PPC_INS_XVNMSUBADP, 1205 PPC_INS_XVNMSUBASP, 1206 PPC_INS_XVNMSUBMDP, 1207 PPC_INS_XVNMSUBMSP, 1208 PPC_INS_XVRDPI, 1209 PPC_INS_XVRDPIC, 1210 PPC_INS_XVRDPIM, 1211 PPC_INS_XVRDPIP, 1212 PPC_INS_XVRDPIZ, 1213 PPC_INS_XVREDP, 1214 PPC_INS_XVRESP, 1215 PPC_INS_XVRSPI, 1216 PPC_INS_XVRSPIC, 1217 PPC_INS_XVRSPIM, 1218 PPC_INS_XVRSPIP, 1219 PPC_INS_XVRSPIZ, 1220 PPC_INS_XVRSQRTEDP, 1221 PPC_INS_XVRSQRTESP, 1222 PPC_INS_XVSQRTDP, 1223 PPC_INS_XVSQRTSP, 1224 PPC_INS_XVSUBDP, 1225 PPC_INS_XVSUBSP, 1226 PPC_INS_XVTDIVDP, 1227 PPC_INS_XVTDIVSP, 1228 PPC_INS_XVTSQRTDP, 1229 PPC_INS_XVTSQRTSP, 1230 PPC_INS_XXLAND, 1231 PPC_INS_XXLANDC, 1232 PPC_INS_XXLEQV, 1233 PPC_INS_XXLNAND, 1234 PPC_INS_XXLNOR, 1235 PPC_INS_XXLOR, 1236 PPC_INS_XXLORC, 1237 PPC_INS_XXLXOR, 1238 PPC_INS_XXMRGHW, 1239 PPC_INS_XXMRGLW, 1240 PPC_INS_XXPERMDI, 1241 PPC_INS_XXSEL, 1242 PPC_INS_XXSLDWI, 1243 PPC_INS_XXSPLTW, 1244 PPC_INS_BCA, 1245 PPC_INS_BCLA, 1246 1247 // extra & alias instructions 1248 PPC_INS_SLWI, 1249 PPC_INS_SRWI, 1250 PPC_INS_SLDI, 1251 1252 PPC_INS_BTA, 1253 PPC_INS_CRSET, 1254 PPC_INS_CRNOT, 1255 PPC_INS_CRMOVE, 1256 PPC_INS_CRCLR, 1257 PPC_INS_MFBR0, 1258 PPC_INS_MFBR1, 1259 PPC_INS_MFBR2, 1260 PPC_INS_MFBR3, 1261 PPC_INS_MFBR4, 1262 PPC_INS_MFBR5, 1263 PPC_INS_MFBR6, 1264 PPC_INS_MFBR7, 1265 PPC_INS_MFXER, 1266 PPC_INS_MFRTCU, 1267 PPC_INS_MFRTCL, 1268 PPC_INS_MFDSCR, 1269 PPC_INS_MFDSISR, 1270 PPC_INS_MFDAR, 1271 PPC_INS_MFSRR2, 1272 PPC_INS_MFSRR3, 1273 PPC_INS_MFCFAR, 1274 PPC_INS_MFAMR, 1275 PPC_INS_MFPID, 1276 PPC_INS_MFTBLO, 1277 PPC_INS_MFTBHI, 1278 PPC_INS_MFDBATU, 1279 PPC_INS_MFDBATL, 1280 PPC_INS_MFIBATU, 1281 PPC_INS_MFIBATL, 1282 PPC_INS_MFDCCR, 1283 PPC_INS_MFICCR, 1284 PPC_INS_MFDEAR, 1285 PPC_INS_MFESR, 1286 PPC_INS_MFSPEFSCR, 1287 PPC_INS_MFTCR, 1288 PPC_INS_MFASR, 1289 PPC_INS_MFPVR, 1290 PPC_INS_MFTBU, 1291 PPC_INS_MTCR, 1292 PPC_INS_MTBR0, 1293 PPC_INS_MTBR1, 1294 PPC_INS_MTBR2, 1295 PPC_INS_MTBR3, 1296 PPC_INS_MTBR4, 1297 PPC_INS_MTBR5, 1298 PPC_INS_MTBR6, 1299 PPC_INS_MTBR7, 1300 PPC_INS_MTXER, 1301 PPC_INS_MTDSCR, 1302 PPC_INS_MTDSISR, 1303 PPC_INS_MTDAR, 1304 PPC_INS_MTSRR2, 1305 PPC_INS_MTSRR3, 1306 PPC_INS_MTCFAR, 1307 PPC_INS_MTAMR, 1308 PPC_INS_MTPID, 1309 PPC_INS_MTTBL, 1310 PPC_INS_MTTBU, 1311 PPC_INS_MTTBLO, 1312 PPC_INS_MTTBHI, 1313 PPC_INS_MTDBATU, 1314 PPC_INS_MTDBATL, 1315 PPC_INS_MTIBATU, 1316 PPC_INS_MTIBATL, 1317 PPC_INS_MTDCCR, 1318 PPC_INS_MTICCR, 1319 PPC_INS_MTDEAR, 1320 PPC_INS_MTESR, 1321 PPC_INS_MTSPEFSCR, 1322 PPC_INS_MTTCR, 1323 PPC_INS_NOT, 1324 PPC_INS_MR, 1325 PPC_INS_ROTLD, 1326 PPC_INS_ROTLDI, 1327 PPC_INS_CLRLDI, 1328 PPC_INS_ROTLWI, 1329 PPC_INS_CLRLWI, 1330 PPC_INS_ROTLW, 1331 PPC_INS_SUB, 1332 PPC_INS_SUBC, 1333 PPC_INS_LWSYNC, 1334 PPC_INS_PTESYNC, 1335 PPC_INS_TDLT, 1336 PPC_INS_TDEQ, 1337 PPC_INS_TDGT, 1338 PPC_INS_TDNE, 1339 PPC_INS_TDLLT, 1340 PPC_INS_TDLGT, 1341 PPC_INS_TDU, 1342 PPC_INS_TDLTI, 1343 PPC_INS_TDEQI, 1344 PPC_INS_TDGTI, 1345 PPC_INS_TDNEI, 1346 PPC_INS_TDLLTI, 1347 PPC_INS_TDLGTI, 1348 PPC_INS_TDUI, 1349 PPC_INS_TLBREHI, 1350 PPC_INS_TLBRELO, 1351 PPC_INS_TLBWEHI, 1352 PPC_INS_TLBWELO, 1353 PPC_INS_TWLT, 1354 PPC_INS_TWEQ, 1355 PPC_INS_TWGT, 1356 PPC_INS_TWNE, 1357 PPC_INS_TWLLT, 1358 PPC_INS_TWLGT, 1359 PPC_INS_TWU, 1360 PPC_INS_TWLTI, 1361 PPC_INS_TWEQI, 1362 PPC_INS_TWGTI, 1363 PPC_INS_TWNEI, 1364 PPC_INS_TWLLTI, 1365 PPC_INS_TWLGTI, 1366 PPC_INS_TWUI, 1367 PPC_INS_WAITRSV, 1368 PPC_INS_WAITIMPL, 1369 PPC_INS_XNOP, 1370 PPC_INS_XVMOVDP, 1371 PPC_INS_XVMOVSP, 1372 PPC_INS_XXSPLTD, 1373 PPC_INS_XXMRGHD, 1374 PPC_INS_XXMRGLD, 1375 PPC_INS_XXSWAPD, 1376 PPC_INS_BT, 1377 PPC_INS_BF, 1378 PPC_INS_BDNZT, 1379 PPC_INS_BDNZF, 1380 PPC_INS_BDZF, 1381 PPC_INS_BDZT, 1382 PPC_INS_BFA, 1383 PPC_INS_BDNZTA, 1384 PPC_INS_BDNZFA, 1385 PPC_INS_BDZTA, 1386 PPC_INS_BDZFA, 1387 PPC_INS_BTCTR, 1388 PPC_INS_BFCTR, 1389 PPC_INS_BTCTRL, 1390 PPC_INS_BFCTRL, 1391 PPC_INS_BTL, 1392 PPC_INS_BFL, 1393 PPC_INS_BDNZTL, 1394 PPC_INS_BDNZFL, 1395 PPC_INS_BDZTL, 1396 PPC_INS_BDZFL, 1397 PPC_INS_BTLA, 1398 PPC_INS_BFLA, 1399 PPC_INS_BDNZTLA, 1400 PPC_INS_BDNZFLA, 1401 PPC_INS_BDZTLA, 1402 PPC_INS_BDZFLA, 1403 PPC_INS_BTLR, 1404 PPC_INS_BFLR, 1405 PPC_INS_BDNZTLR, 1406 PPC_INS_BDZTLR, 1407 PPC_INS_BDZFLR, 1408 PPC_INS_BTLRL, 1409 PPC_INS_BFLRL, 1410 PPC_INS_BDNZTLRL, 1411 PPC_INS_BDNZFLRL, 1412 PPC_INS_BDZTLRL, 1413 PPC_INS_BDZFLRL, 1414 1415 // QPX 1416 PPC_INS_QVFAND, 1417 PPC_INS_QVFCLR, 1418 PPC_INS_QVFANDC, 1419 PPC_INS_QVFCTFB, 1420 PPC_INS_QVFXOR, 1421 PPC_INS_QVFOR, 1422 PPC_INS_QVFNOR, 1423 PPC_INS_QVFEQU, 1424 PPC_INS_QVFNOT, 1425 PPC_INS_QVFORC, 1426 PPC_INS_QVFNAND, 1427 PPC_INS_QVFSET, 1428 1429 PPC_INS_ENDING, // <-- mark the end of the list of instructions 1430 } ppc_insn; 1431 1432 /// Group of PPC instructions 1433 typedef enum ppc_insn_group { 1434 PPC_GRP_INVALID = 0, ///< = CS_GRP_INVALID 1435 1436 // Generic groups 1437 // all jump instructions (conditional+direct+indirect jumps) 1438 PPC_GRP_JUMP, ///< = CS_GRP_JUMP 1439 1440 // Architecture-specific groups 1441 PPC_GRP_ALTIVEC = 128, 1442 PPC_GRP_MODE32, 1443 PPC_GRP_MODE64, 1444 PPC_GRP_BOOKE, 1445 PPC_GRP_NOTBOOKE, 1446 PPC_GRP_SPE, 1447 PPC_GRP_VSX, 1448 PPC_GRP_E500, 1449 PPC_GRP_PPC4XX, 1450 PPC_GRP_PPC6XX, 1451 PPC_GRP_ICBT, 1452 PPC_GRP_P8ALTIVEC, 1453 PPC_GRP_P8VECTOR, 1454 PPC_GRP_QPX, 1455 1456 PPC_GRP_ENDING, // <-- mark the end of the list of groups 1457 } ppc_insn_group; 1458 1459 #ifdef __cplusplus 1460 } 1461 #endif 1462 1463 #endif 1464