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