{ ***************************************************** }
{                                                       }
{  Pascal language binding for the Capstone engine      }
{                                                       }
{  Unit Name: Capstone Api Header                       }
{     Author: Lsuper 2024.05.01                         }
{    Purpose: ppc.h                                     }
{    License: Mozilla Public License 2.0                }
{                                                       }
{  Copyright (c) 1998-2024 Super Studio                 }
{                                                       }
{ ***************************************************** }

unit Capstone.Ppc;

{$I Capstone.inc}

interface

type
  /// PPC branch codes for some branch instructions
  ppc_bc = Integer;
  Pppc_bc = ^ppc_bc;

const
  PPC_BC_INVALID = 0;
  PPC_BC_LT = 12;
  PPC_BC_LE = 36;
  PPC_BC_EQ = 76;
  PPC_BC_GE = 4;
  PPC_BC_GT = 44;
  PPC_BC_NE = 68;
  PPC_BC_UN = 108;
  PPC_BC_NU = 100;
  /// summary overflow
  PPC_BC_SO = 140;
  /// not summary overflow
  PPC_BC_NS = 132;

/// PPC branch hint for some branch instructions
type
  ppc_bh = Integer;
  Pppc_bh = ^ppc_bh;

const
  /// no hint
  PPC_BH_INVALID = 0;
  /// PLUS hint
  PPC_BH_PLUS = 1;
  /// MINUS hint
  PPC_BH_MINUS = 2;

/// Operand type for instruction's operands
type
  ppc_op_type = Integer;
  Pppc_op_type = ^ppc_op_type;

const
  /// = CS_OP_INVALID (Uninitialized).
  PPC_OP_INVALID = 0;
  /// = CS_OP_REG (Register operand).
  PPC_OP_REG = 1;
  /// = CS_OP_IMM (Immediate operand).
  PPC_OP_IMM = 2;
  /// = CS_OP_MEM (Memory operand).
  PPC_OP_MEM_ = 3;
  /// Condition Register field
  PPC_OP_CRX_ = 64;

/// PPC registers
type
  ppc_reg = Integer;
  Pppc_reg = ^ppc_reg;

const
  PPC_REG_INVALID = 0;
  PPC_REG_CARRY = 2;
  PPC_REG_CTR = 3;
  PPC_REG_LR = 5;
  PPC_REG_RM = 6;
  PPC_REG_VRSAVE = 8;
  PPC_REG_XER = 9;
  PPC_REG_ZERO = 10;
  PPC_REG_CR0 = 12;
  PPC_REG_CR1 = 13;
  PPC_REG_CR2 = 14;
  PPC_REG_CR3 = 15;
  PPC_REG_CR4 = 16;
  PPC_REG_CR5 = 17;
  PPC_REG_CR6 = 18;
  PPC_REG_CR7 = 19;
  PPC_REG_CTR8 = 20;
  PPC_REG_F0 = 21;
  PPC_REG_F1 = 22;
  PPC_REG_F2 = 23;
  PPC_REG_F3 = 24;
  PPC_REG_F4 = 25;
  PPC_REG_F5 = 26;
  PPC_REG_F6 = 27;
  PPC_REG_F7 = 28;
  PPC_REG_F8 = 29;
  PPC_REG_F9 = 30;
  PPC_REG_F10 = 31;
  PPC_REG_F11 = 32;
  PPC_REG_F12 = 33;
  PPC_REG_F13 = 34;
  PPC_REG_F14 = 35;
  PPC_REG_F15 = 36;
  PPC_REG_F16 = 37;
  PPC_REG_F17 = 38;
  PPC_REG_F18 = 39;
  PPC_REG_F19 = 40;
  PPC_REG_F20 = 41;
  PPC_REG_F21 = 42;
  PPC_REG_F22 = 43;
  PPC_REG_F23 = 44;
  PPC_REG_F24 = 45;
  PPC_REG_F25 = 46;
  PPC_REG_F26 = 47;
  PPC_REG_F27 = 48;
  PPC_REG_F28 = 49;
  PPC_REG_F29 = 50;
  PPC_REG_F30 = 51;
  PPC_REG_F31 = 52;
  PPC_REG_LR8 = 54;
  PPC_REG_Q0 = 55;
  PPC_REG_Q1 = 56;
  PPC_REG_Q2 = 57;
  PPC_REG_Q3 = 58;
  PPC_REG_Q4 = 59;
  PPC_REG_Q5 = 60;
  PPC_REG_Q6 = 61;
  PPC_REG_Q7 = 62;
  PPC_REG_Q8 = 63;
  PPC_REG_Q9 = 64;
  PPC_REG_Q10 = 65;
  PPC_REG_Q11 = 66;
  PPC_REG_Q12 = 67;
  PPC_REG_Q13 = 68;
  PPC_REG_Q14 = 69;
  PPC_REG_Q15 = 70;
  PPC_REG_Q16 = 71;
  PPC_REG_Q17 = 72;
  PPC_REG_Q18 = 73;
  PPC_REG_Q19 = 74;
  PPC_REG_Q20 = 75;
  PPC_REG_Q21 = 76;
  PPC_REG_Q22 = 77;
  PPC_REG_Q23 = 78;
  PPC_REG_Q24 = 79;
  PPC_REG_Q25 = 80;
  PPC_REG_Q26 = 81;
  PPC_REG_Q27 = 82;
  PPC_REG_Q28 = 83;
  PPC_REG_Q29 = 84;
  PPC_REG_Q30 = 85;
  PPC_REG_Q31 = 86;
  PPC_REG_R0 = 87;
  PPC_REG_R1 = 88;
  PPC_REG_R2 = 89;
  PPC_REG_R3 = 90;
  PPC_REG_R4 = 91;
  PPC_REG_R5 = 92;
  PPC_REG_R6 = 93;
  PPC_REG_R7 = 94;
  PPC_REG_R8 = 95;
  PPC_REG_R9 = 96;
  PPC_REG_R10 = 97;
  PPC_REG_R11 = 98;
  PPC_REG_R12 = 99;
  PPC_REG_R13 = 100;
  PPC_REG_R14 = 101;
  PPC_REG_R15 = 102;
  PPC_REG_R16 = 103;
  PPC_REG_R17 = 104;
  PPC_REG_R18 = 105;
  PPC_REG_R19 = 106;
  PPC_REG_R20 = 107;
  PPC_REG_R21 = 108;
  PPC_REG_R22 = 109;
  PPC_REG_R23 = 110;
  PPC_REG_R24 = 111;
  PPC_REG_R25 = 112;
  PPC_REG_R26 = 113;
  PPC_REG_R27 = 114;
  PPC_REG_R28 = 115;
  PPC_REG_R29 = 116;
  PPC_REG_R30 = 117;
  PPC_REG_R31 = 118;
  PPC_REG_V0 = 151;
  PPC_REG_V1 = 152;
  PPC_REG_V2 = 153;
  PPC_REG_V3 = 154;
  PPC_REG_V4 = 155;
  PPC_REG_V5 = 156;
  PPC_REG_V6 = 157;
  PPC_REG_V7 = 158;
  PPC_REG_V8 = 159;
  PPC_REG_V9 = 160;
  PPC_REG_V10 = 161;
  PPC_REG_V11 = 162;
  PPC_REG_V12 = 163;
  PPC_REG_V13 = 164;
  PPC_REG_V14 = 165;
  PPC_REG_V15 = 166;
  PPC_REG_V16 = 167;
  PPC_REG_V17 = 168;
  PPC_REG_V18 = 169;
  PPC_REG_V19 = 170;
  PPC_REG_V20 = 171;
  PPC_REG_V21 = 172;
  PPC_REG_V22 = 173;
  PPC_REG_V23 = 174;
  PPC_REG_V24 = 175;
  PPC_REG_V25 = 176;
  PPC_REG_V26 = 177;
  PPC_REG_V27 = 178;
  PPC_REG_V28 = 179;
  PPC_REG_V29 = 180;
  PPC_REG_V30 = 181;
  PPC_REG_V31 = 182;
  PPC_REG_VS0 = 215;
  PPC_REG_VS1 = 216;
  PPC_REG_VS2 = 217;
  PPC_REG_VS3 = 218;
  PPC_REG_VS4 = 219;
  PPC_REG_VS5 = 220;
  PPC_REG_VS6 = 221;
  PPC_REG_VS7 = 222;
  PPC_REG_VS8 = 223;
  PPC_REG_VS9 = 224;
  PPC_REG_VS10 = 225;
  PPC_REG_VS11 = 226;
  PPC_REG_VS12 = 227;
  PPC_REG_VS13 = 228;
  PPC_REG_VS14 = 229;
  PPC_REG_VS15 = 230;
  PPC_REG_VS16 = 231;
  PPC_REG_VS17 = 232;
  PPC_REG_VS18 = 233;
  PPC_REG_VS19 = 234;
  PPC_REG_VS20 = 235;
  PPC_REG_VS21 = 236;
  PPC_REG_VS22 = 237;
  PPC_REG_VS23 = 238;
  PPC_REG_VS24 = 239;
  PPC_REG_VS25 = 240;
  PPC_REG_VS26 = 241;
  PPC_REG_VS27 = 242;
  PPC_REG_VS28 = 243;
  PPC_REG_VS29 = 244;
  PPC_REG_VS30 = 245;
  PPC_REG_VS31 = 246;
  PPC_REG_VS32 = 247;
  PPC_REG_VS33 = 248;
  PPC_REG_VS34 = 249;
  PPC_REG_VS35 = 250;
  PPC_REG_VS36 = 251;
  PPC_REG_VS37 = 252;
  PPC_REG_VS38 = 253;
  PPC_REG_VS39 = 254;
  PPC_REG_VS40 = 255;
  PPC_REG_VS41 = 256;
  PPC_REG_VS42 = 257;
  PPC_REG_VS43 = 258;
  PPC_REG_VS44 = 259;
  PPC_REG_VS45 = 260;
  PPC_REG_VS46 = 261;
  PPC_REG_VS47 = 262;
  PPC_REG_VS48 = 263;
  PPC_REG_VS49 = 264;
  PPC_REG_VS50 = 265;
  PPC_REG_VS51 = 266;
  PPC_REG_VS52 = 267;
  PPC_REG_VS53 = 268;
  PPC_REG_VS54 = 269;
  PPC_REG_VS55 = 270;
  PPC_REG_VS56 = 271;
  PPC_REG_VS57 = 272;
  PPC_REG_VS58 = 273;
  PPC_REG_VS59 = 274;
  PPC_REG_VS60 = 275;
  PPC_REG_VS61 = 276;
  PPC_REG_VS62 = 277;
  PPC_REG_VS63 = 278;
  PPC_REG_CR0EQ = 312;
  PPC_REG_CR1EQ = 313;
  PPC_REG_CR2EQ = 314;
  PPC_REG_CR3EQ = 315;
  PPC_REG_CR4EQ = 316;
  PPC_REG_CR5EQ = 317;
  PPC_REG_CR6EQ = 318;
  PPC_REG_CR7EQ = 319;
  PPC_REG_CR0GT = 320;
  PPC_REG_CR1GT = 321;
  PPC_REG_CR2GT = 322;
  PPC_REG_CR3GT = 323;
  PPC_REG_CR4GT = 324;
  PPC_REG_CR5GT = 325;
  PPC_REG_CR6GT = 326;
  PPC_REG_CR7GT = 327;
  PPC_REG_CR0LT = 328;
  PPC_REG_CR1LT = 329;
  PPC_REG_CR2LT = 330;
  PPC_REG_CR3LT = 331;
  PPC_REG_CR4LT = 332;
  PPC_REG_CR5LT = 333;
  PPC_REG_CR6LT = 334;
  PPC_REG_CR7LT = 335;
  PPC_REG_CR0UN = 336;
  PPC_REG_CR1UN = 337;
  PPC_REG_CR2UN = 338;
  PPC_REG_CR3UN = 339;
  PPC_REG_CR4UN = 340;
  PPC_REG_CR5UN = 341;
  PPC_REG_CR6UN = 342;
  PPC_REG_CR7UN = 343;
  PPC_REG_ENDING = 344;

/// PPC instruction
type
  ppc_insn = Integer;
  Pppc_insn = ^ppc_insn;

const
  PPC_INS_INVALID = 0;
  PPC_INS_ADD = 1;
  PPC_INS_ADDC = 2;
  PPC_INS_ADDE = 3;
  PPC_INS_ADDI = 4;
  PPC_INS_ADDIC = 5;
  PPC_INS_ADDIS = 6;
  PPC_INS_ADDME = 7;
  PPC_INS_ADDPCIS = 8;
  PPC_INS_ADDZE = 9;
  PPC_INS_AND = 10;
  PPC_INS_ANDC = 11;
  PPC_INS_ANDI = 12;
  PPC_INS_ANDIS = 13;
  PPC_INS_ATTN = 14;
  PPC_INS_B = 15;
  PPC_INS_BA = 16;
  PPC_INS_BC = 17;
  PPC_INS_BCA = 18;
  PPC_INS_BCCTR = 19;
  PPC_INS_BCCTRL = 20;
  PPC_INS_BCDCFN = 21;
  PPC_INS_BCDCFSQ = 22;
  PPC_INS_BCDCFZ = 23;
  PPC_INS_BCDCPSGN = 24;
  PPC_INS_BCDCTN = 25;
  PPC_INS_BCDCTSQ = 26;
  PPC_INS_BCDCTZ = 27;
  PPC_INS_BCDS = 28;
  PPC_INS_BCDSETSGN = 29;
  PPC_INS_BCDSR = 30;
  PPC_INS_BCDTRUNC = 31;
  PPC_INS_BCDUS = 32;
  PPC_INS_BCDUTRUNC = 33;
  PPC_INS_BCL = 34;
  PPC_INS_BCLA = 35;
  PPC_INS_BCLR = 36;
  PPC_INS_BCLRL = 37;
  PPC_INS_BCTR = 38;
  PPC_INS_BCTRL = 39;
  PPC_INS_BDNZ = 40;
  PPC_INS_BDNZA = 41;
  PPC_INS_BDNZF = 42;
  PPC_INS_BDNZFA = 43;
  PPC_INS_BDNZFL = 44;
  PPC_INS_BDNZFLA = 45;
  PPC_INS_BDNZFLR = 46;
  PPC_INS_BDNZFLRL = 47;
  PPC_INS_BDNZL = 48;
  PPC_INS_BDNZLA = 49;
  PPC_INS_BDNZLR = 50;
  PPC_INS_BDNZLRL = 51;
  PPC_INS_BDNZT = 52;
  PPC_INS_BDNZTA = 53;
  PPC_INS_BDNZTL = 54;
  PPC_INS_BDNZTLA = 55;
  PPC_INS_BDNZTLR = 56;
  PPC_INS_BDNZTLRL = 57;
  PPC_INS_BDZ = 58;
  PPC_INS_BDZA = 59;
  PPC_INS_BDZF = 60;
  PPC_INS_BDZFA = 61;
  PPC_INS_BDZFL = 62;
  PPC_INS_BDZFLA = 63;
  PPC_INS_BDZFLR = 64;
  PPC_INS_BDZFLRL = 65;
  PPC_INS_BDZL = 66;
  PPC_INS_BDZLA = 67;
  PPC_INS_BDZLR = 68;
  PPC_INS_BDZLRL = 69;
  PPC_INS_BDZT = 70;
  PPC_INS_BDZTA = 71;
  PPC_INS_BDZTL = 72;
  PPC_INS_BDZTLA = 73;
  PPC_INS_BDZTLR = 74;
  PPC_INS_BDZTLRL = 75;
  PPC_INS_BEQ = 76;
  PPC_INS_BEQA = 77;
  PPC_INS_BEQCTR = 78;
  PPC_INS_BEQCTRL = 79;
  PPC_INS_BEQL = 80;
  PPC_INS_BEQLA = 81;
  PPC_INS_BEQLR = 82;
  PPC_INS_BEQLRL = 83;
  PPC_INS_BF = 84;
  PPC_INS_BFA = 85;
  PPC_INS_BFCTR = 86;
  PPC_INS_BFCTRL = 87;
  PPC_INS_BFL = 88;
  PPC_INS_BFLA = 89;
  PPC_INS_BFLR = 90;
  PPC_INS_BFLRL = 91;
  PPC_INS_BGE = 92;
  PPC_INS_BGEA = 93;
  PPC_INS_BGECTR = 94;
  PPC_INS_BGECTRL = 95;
  PPC_INS_BGEL = 96;
  PPC_INS_BGELA = 97;
  PPC_INS_BGELR = 98;
  PPC_INS_BGELRL = 99;
  PPC_INS_BGT = 100;
  PPC_INS_BGTA = 101;
  PPC_INS_BGTCTR = 102;
  PPC_INS_BGTCTRL = 103;
  PPC_INS_BGTL = 104;
  PPC_INS_BGTLA = 105;
  PPC_INS_BGTLR = 106;
  PPC_INS_BGTLRL = 107;
  PPC_INS_BL = 108;
  PPC_INS_BLA = 109;
  PPC_INS_BLE = 110;
  PPC_INS_BLEA = 111;
  PPC_INS_BLECTR = 112;
  PPC_INS_BLECTRL = 113;
  PPC_INS_BLEL = 114;
  PPC_INS_BLELA = 115;
  PPC_INS_BLELR = 116;
  PPC_INS_BLELRL = 117;
  PPC_INS_BLR = 118;
  PPC_INS_BLRL = 119;
  PPC_INS_BLT = 120;
  PPC_INS_BLTA = 121;
  PPC_INS_BLTCTR = 122;
  PPC_INS_BLTCTRL = 123;
  PPC_INS_BLTL = 124;
  PPC_INS_BLTLA = 125;
  PPC_INS_BLTLR = 126;
  PPC_INS_BLTLRL = 127;
  PPC_INS_BNE = 128;
  PPC_INS_BNEA = 129;
  PPC_INS_BNECTR = 130;
  PPC_INS_BNECTRL = 131;
  PPC_INS_BNEL = 132;
  PPC_INS_BNELA = 133;
  PPC_INS_BNELR = 134;
  PPC_INS_BNELRL = 135;
  PPC_INS_BNG = 136;
  PPC_INS_BNGA = 137;
  PPC_INS_BNGCTR = 138;
  PPC_INS_BNGCTRL = 139;
  PPC_INS_BNGL = 140;
  PPC_INS_BNGLA = 141;
  PPC_INS_BNGLR = 142;
  PPC_INS_BNGLRL = 143;
  PPC_INS_BNL = 144;
  PPC_INS_BNLA = 145;
  PPC_INS_BNLCTR = 146;
  PPC_INS_BNLCTRL = 147;
  PPC_INS_BNLL = 148;
  PPC_INS_BNLLA = 149;
  PPC_INS_BNLLR = 150;
  PPC_INS_BNLLRL = 151;
  PPC_INS_BNS = 152;
  PPC_INS_BNSA = 153;
  PPC_INS_BNSCTR = 154;
  PPC_INS_BNSCTRL = 155;
  PPC_INS_BNSL = 156;
  PPC_INS_BNSLA = 157;
  PPC_INS_BNSLR = 158;
  PPC_INS_BNSLRL = 159;
  PPC_INS_BNU = 160;
  PPC_INS_BNUA = 161;
  PPC_INS_BNUCTR = 162;
  PPC_INS_BNUCTRL = 163;
  PPC_INS_BNUL = 164;
  PPC_INS_BNULA = 165;
  PPC_INS_BNULR = 166;
  PPC_INS_BNULRL = 167;
  PPC_INS_BPERMD = 168;
  PPC_INS_BRINC = 169;
  PPC_INS_BSO = 170;
  PPC_INS_BSOA = 171;
  PPC_INS_BSOCTR = 172;
  PPC_INS_BSOCTRL = 173;
  PPC_INS_BSOL = 174;
  PPC_INS_BSOLA = 175;
  PPC_INS_BSOLR = 176;
  PPC_INS_BSOLRL = 177;
  PPC_INS_BT = 178;
  PPC_INS_BTA = 179;
  PPC_INS_BTCTR = 180;
  PPC_INS_BTCTRL = 181;
  PPC_INS_BTL = 182;
  PPC_INS_BTLA = 183;
  PPC_INS_BTLR = 184;
  PPC_INS_BTLRL = 185;
  PPC_INS_BUN = 186;
  PPC_INS_BUNA = 187;
  PPC_INS_BUNCTR = 188;
  PPC_INS_BUNCTRL = 189;
  PPC_INS_BUNL = 190;
  PPC_INS_BUNLA = 191;
  PPC_INS_BUNLR = 192;
  PPC_INS_BUNLRL = 193;
  PPC_INS_CLRBHRB = 194;
  PPC_INS_CLRLDI = 195;
  PPC_INS_CLRLSLDI = 196;
  PPC_INS_CLRLSLWI = 197;
  PPC_INS_CLRLWI = 198;
  PPC_INS_CLRRDI = 199;
  PPC_INS_CLRRWI = 200;
  PPC_INS_CMP = 201;
  PPC_INS_CMPB = 202;
  PPC_INS_CMPD = 203;
  PPC_INS_CMPDI = 204;
  PPC_INS_CMPEQB = 205;
  PPC_INS_CMPI = 206;
  PPC_INS_CMPL = 207;
  PPC_INS_CMPLD = 208;
  PPC_INS_CMPLDI = 209;
  PPC_INS_CMPLI = 210;
  PPC_INS_CMPLW = 211;
  PPC_INS_CMPLWI = 212;
  PPC_INS_CMPRB = 213;
  PPC_INS_CMPW = 214;
  PPC_INS_CMPWI = 215;
  PPC_INS_CNTLZD = 216;
  PPC_INS_CNTLZW = 217;
  PPC_INS_CNTTZD = 218;
  PPC_INS_CNTTZW = 219;
  PPC_INS_COPY = 220;
  PPC_INS_COPY_FIRST = 221;
  PPC_INS_CP_ABORT = 222;
  PPC_INS_CRAND = 223;
  PPC_INS_CRANDC = 224;
  PPC_INS_CRCLR = 225;
  PPC_INS_CREQV = 226;
  PPC_INS_CRMOVE = 227;
  PPC_INS_CRNAND = 228;
  PPC_INS_CRNOR = 229;
  PPC_INS_CRNOT = 230;
  PPC_INS_CROR = 231;
  PPC_INS_CRORC = 232;
  PPC_INS_CRSET = 233;
  PPC_INS_CRXOR = 234;
  PPC_INS_DARN = 235;
  PPC_INS_DCBA = 236;
  PPC_INS_DCBF = 237;
  PPC_INS_DCBFEP = 238;
  PPC_INS_DCBFL = 239;
  PPC_INS_DCBFLP = 240;
  PPC_INS_DCBI = 241;
  PPC_INS_DCBST = 242;
  PPC_INS_DCBSTEP = 243;
  PPC_INS_DCBT = 244;
  PPC_INS_DCBTCT = 245;
  PPC_INS_DCBTDS = 246;
  PPC_INS_DCBTEP = 247;
  PPC_INS_DCBTST = 248;
  PPC_INS_DCBTSTCT = 249;
  PPC_INS_DCBTSTDS = 250;
  PPC_INS_DCBTSTEP = 251;
  PPC_INS_DCBTSTT = 252;
  PPC_INS_DCBTT = 253;
  PPC_INS_DCBZ = 254;
  PPC_INS_DCBZEP = 255;
  PPC_INS_DCBZL = 256;
  PPC_INS_DCBZLEP = 257;
  PPC_INS_DCCCI = 258;
  PPC_INS_DCI = 259;
  PPC_INS_DIVD = 260;
  PPC_INS_DIVDE = 261;
  PPC_INS_DIVDEU = 262;
  PPC_INS_DIVDU = 263;
  PPC_INS_DIVW = 264;
  PPC_INS_DIVWE = 265;
  PPC_INS_DIVWEU = 266;
  PPC_INS_DIVWU = 267;
  PPC_INS_DSS = 268;
  PPC_INS_DSSALL = 269;
  PPC_INS_DST = 270;
  PPC_INS_DSTST = 271;
  PPC_INS_DSTSTT = 272;
  PPC_INS_DSTT = 273;
  PPC_INS_EFDABS = 274;
  PPC_INS_EFDADD = 275;
  PPC_INS_EFDCFS = 276;
  PPC_INS_EFDCFSF = 277;
  PPC_INS_EFDCFSI = 278;
  PPC_INS_EFDCFSID = 279;
  PPC_INS_EFDCFUF = 280;
  PPC_INS_EFDCFUI = 281;
  PPC_INS_EFDCFUID = 282;
  PPC_INS_EFDCMPEQ = 283;
  PPC_INS_EFDCMPGT = 284;
  PPC_INS_EFDCMPLT = 285;
  PPC_INS_EFDCTSF = 286;
  PPC_INS_EFDCTSI = 287;
  PPC_INS_EFDCTSIDZ = 288;
  PPC_INS_EFDCTSIZ = 289;
  PPC_INS_EFDCTUF = 290;
  PPC_INS_EFDCTUI = 291;
  PPC_INS_EFDCTUIDZ = 292;
  PPC_INS_EFDCTUIZ = 293;
  PPC_INS_EFDDIV = 294;
  PPC_INS_EFDMUL = 295;
  PPC_INS_EFDNABS = 296;
  PPC_INS_EFDNEG = 297;
  PPC_INS_EFDSUB = 298;
  PPC_INS_EFDTSTEQ = 299;
  PPC_INS_EFDTSTGT = 300;
  PPC_INS_EFDTSTLT = 301;
  PPC_INS_EFSABS = 302;
  PPC_INS_EFSADD = 303;
  PPC_INS_EFSCFD = 304;
  PPC_INS_EFSCFSF = 305;
  PPC_INS_EFSCFSI = 306;
  PPC_INS_EFSCFUF = 307;
  PPC_INS_EFSCFUI = 308;
  PPC_INS_EFSCMPEQ = 309;
  PPC_INS_EFSCMPGT = 310;
  PPC_INS_EFSCMPLT = 311;
  PPC_INS_EFSCTSF = 312;
  PPC_INS_EFSCTSI = 313;
  PPC_INS_EFSCTSIZ = 314;
  PPC_INS_EFSCTUF = 315;
  PPC_INS_EFSCTUI = 316;
  PPC_INS_EFSCTUIZ = 317;
  PPC_INS_EFSDIV = 318;
  PPC_INS_EFSMUL = 319;
  PPC_INS_EFSNABS = 320;
  PPC_INS_EFSNEG = 321;
  PPC_INS_EFSSUB = 322;
  PPC_INS_EFSTSTEQ = 323;
  PPC_INS_EFSTSTGT = 324;
  PPC_INS_EFSTSTLT = 325;
  PPC_INS_EIEIO = 326;
  PPC_INS_EQV = 327;
  PPC_INS_EVABS = 328;
  PPC_INS_EVADDIW = 329;
  PPC_INS_EVADDSMIAAW = 330;
  PPC_INS_EVADDSSIAAW = 331;
  PPC_INS_EVADDUMIAAW = 332;
  PPC_INS_EVADDUSIAAW = 333;
  PPC_INS_EVADDW = 334;
  PPC_INS_EVAND = 335;
  PPC_INS_EVANDC = 336;
  PPC_INS_EVCMPEQ = 337;
  PPC_INS_EVCMPGTS = 338;
  PPC_INS_EVCMPGTU = 339;
  PPC_INS_EVCMPLTS = 340;
  PPC_INS_EVCMPLTU = 341;
  PPC_INS_EVCNTLSW = 342;
  PPC_INS_EVCNTLZW = 343;
  PPC_INS_EVDIVWS = 344;
  PPC_INS_EVDIVWU = 345;
  PPC_INS_EVEQV = 346;
  PPC_INS_EVEXTSB = 347;
  PPC_INS_EVEXTSH = 348;
  PPC_INS_EVFSABS = 349;
  PPC_INS_EVFSADD = 350;
  PPC_INS_EVFSCFSF = 351;
  PPC_INS_EVFSCFSI = 352;
  PPC_INS_EVFSCFUF = 353;
  PPC_INS_EVFSCFUI = 354;
  PPC_INS_EVFSCMPEQ = 355;
  PPC_INS_EVFSCMPGT = 356;
  PPC_INS_EVFSCMPLT = 357;
  PPC_INS_EVFSCTSF = 358;
  PPC_INS_EVFSCTSI = 359;
  PPC_INS_EVFSCTSIZ = 360;
  PPC_INS_EVFSCTUI = 361;
  PPC_INS_EVFSDIV = 362;
  PPC_INS_EVFSMUL = 363;
  PPC_INS_EVFSNABS = 364;
  PPC_INS_EVFSNEG = 365;
  PPC_INS_EVFSSUB = 366;
  PPC_INS_EVFSTSTEQ = 367;
  PPC_INS_EVFSTSTGT = 368;
  PPC_INS_EVFSTSTLT = 369;
  PPC_INS_EVLDD = 370;
  PPC_INS_EVLDDX = 371;
  PPC_INS_EVLDH = 372;
  PPC_INS_EVLDHX = 373;
  PPC_INS_EVLDW = 374;
  PPC_INS_EVLDWX = 375;
  PPC_INS_EVLHHESPLAT = 376;
  PPC_INS_EVLHHESPLATX = 377;
  PPC_INS_EVLHHOSSPLAT = 378;
  PPC_INS_EVLHHOSSPLATX = 379;
  PPC_INS_EVLHHOUSPLAT = 380;
  PPC_INS_EVLHHOUSPLATX = 381;
  PPC_INS_EVLWHE = 382;
  PPC_INS_EVLWHEX = 383;
  PPC_INS_EVLWHOS = 384;
  PPC_INS_EVLWHOSX = 385;
  PPC_INS_EVLWHOU = 386;
  PPC_INS_EVLWHOUX = 387;
  PPC_INS_EVLWHSPLAT = 388;
  PPC_INS_EVLWHSPLATX = 389;
  PPC_INS_EVLWWSPLAT = 390;
  PPC_INS_EVLWWSPLATX = 391;
  PPC_INS_EVMERGEHI = 392;
  PPC_INS_EVMERGEHILO = 393;
  PPC_INS_EVMERGELO = 394;
  PPC_INS_EVMERGELOHI = 395;
  PPC_INS_EVMHEGSMFAA = 396;
  PPC_INS_EVMHEGSMFAN = 397;
  PPC_INS_EVMHEGSMIAA = 398;
  PPC_INS_EVMHEGSMIAN = 399;
  PPC_INS_EVMHEGUMIAA = 400;
  PPC_INS_EVMHEGUMIAN = 401;
  PPC_INS_EVMHESMF = 402;
  PPC_INS_EVMHESMFA = 403;
  PPC_INS_EVMHESMFAAW = 404;
  PPC_INS_EVMHESMFANW = 405;
  PPC_INS_EVMHESMI = 406;
  PPC_INS_EVMHESMIA = 407;
  PPC_INS_EVMHESMIAAW = 408;
  PPC_INS_EVMHESMIANW = 409;
  PPC_INS_EVMHESSF = 410;
  PPC_INS_EVMHESSFA = 411;
  PPC_INS_EVMHESSFAAW = 412;
  PPC_INS_EVMHESSFANW = 413;
  PPC_INS_EVMHESSIAAW = 414;
  PPC_INS_EVMHESSIANW = 415;
  PPC_INS_EVMHEUMI = 416;
  PPC_INS_EVMHEUMIA = 417;
  PPC_INS_EVMHEUMIAAW = 418;
  PPC_INS_EVMHEUMIANW = 419;
  PPC_INS_EVMHEUSIAAW = 420;
  PPC_INS_EVMHEUSIANW = 421;
  PPC_INS_EVMHOGSMFAA = 422;
  PPC_INS_EVMHOGSMFAN = 423;
  PPC_INS_EVMHOGSMIAA = 424;
  PPC_INS_EVMHOGSMIAN = 425;
  PPC_INS_EVMHOGUMIAA = 426;
  PPC_INS_EVMHOGUMIAN = 427;
  PPC_INS_EVMHOSMF = 428;
  PPC_INS_EVMHOSMFA = 429;
  PPC_INS_EVMHOSMFAAW = 430;
  PPC_INS_EVMHOSMFANW = 431;
  PPC_INS_EVMHOSMI = 432;
  PPC_INS_EVMHOSMIA = 433;
  PPC_INS_EVMHOSMIAAW = 434;
  PPC_INS_EVMHOSMIANW = 435;
  PPC_INS_EVMHOSSF = 436;
  PPC_INS_EVMHOSSFA = 437;
  PPC_INS_EVMHOSSFAAW = 438;
  PPC_INS_EVMHOSSFANW = 439;
  PPC_INS_EVMHOSSIAAW = 440;
  PPC_INS_EVMHOSSIANW = 441;
  PPC_INS_EVMHOUMI = 442;
  PPC_INS_EVMHOUMIA = 443;
  PPC_INS_EVMHOUMIAAW = 444;
  PPC_INS_EVMHOUMIANW = 445;
  PPC_INS_EVMHOUSIAAW = 446;
  PPC_INS_EVMHOUSIANW = 447;
  PPC_INS_EVMRA = 448;
  PPC_INS_EVMWHSMF = 449;
  PPC_INS_EVMWHSMFA = 450;
  PPC_INS_EVMWHSMI = 451;
  PPC_INS_EVMWHSMIA = 452;
  PPC_INS_EVMWHSSF = 453;
  PPC_INS_EVMWHSSFA = 454;
  PPC_INS_EVMWHUMI = 455;
  PPC_INS_EVMWHUMIA = 456;
  PPC_INS_EVMWLSMIAAW = 457;
  PPC_INS_EVMWLSMIANW = 458;
  PPC_INS_EVMWLSSIAAW = 459;
  PPC_INS_EVMWLSSIANW = 460;
  PPC_INS_EVMWLUMI = 461;
  PPC_INS_EVMWLUMIA = 462;
  PPC_INS_EVMWLUMIAAW = 463;
  PPC_INS_EVMWLUMIANW = 464;
  PPC_INS_EVMWLUSIAAW = 465;
  PPC_INS_EVMWLUSIANW = 466;
  PPC_INS_EVMWSMF = 467;
  PPC_INS_EVMWSMFA = 468;
  PPC_INS_EVMWSMFAA = 469;
  PPC_INS_EVMWSMFAN = 470;
  PPC_INS_EVMWSMI = 471;
  PPC_INS_EVMWSMIA = 472;
  PPC_INS_EVMWSMIAA = 473;
  PPC_INS_EVMWSMIAN = 474;
  PPC_INS_EVMWSSF = 475;
  PPC_INS_EVMWSSFA = 476;
  PPC_INS_EVMWSSFAA = 477;
  PPC_INS_EVMWSSFAN = 478;
  PPC_INS_EVMWUMI = 479;
  PPC_INS_EVMWUMIA = 480;
  PPC_INS_EVMWUMIAA = 481;
  PPC_INS_EVMWUMIAN = 482;
  PPC_INS_EVNAND = 483;
  PPC_INS_EVNEG = 484;
  PPC_INS_EVNOR = 485;
  PPC_INS_EVOR = 486;
  PPC_INS_EVORC = 487;
  PPC_INS_EVRLW = 488;
  PPC_INS_EVRLWI = 489;
  PPC_INS_EVRNDW = 490;
  PPC_INS_EVSEL = 491;
  PPC_INS_EVSLW = 492;
  PPC_INS_EVSLWI = 493;
  PPC_INS_EVSPLATFI = 494;
  PPC_INS_EVSPLATI = 495;
  PPC_INS_EVSRWIS = 496;
  PPC_INS_EVSRWIU = 497;
  PPC_INS_EVSRWS = 498;
  PPC_INS_EVSRWU = 499;
  PPC_INS_EVSTDD = 500;
  PPC_INS_EVSTDDX = 501;
  PPC_INS_EVSTDH = 502;
  PPC_INS_EVSTDHX = 503;
  PPC_INS_EVSTDW = 504;
  PPC_INS_EVSTDWX = 505;
  PPC_INS_EVSTWHE = 506;
  PPC_INS_EVSTWHEX = 507;
  PPC_INS_EVSTWHO = 508;
  PPC_INS_EVSTWHOX = 509;
  PPC_INS_EVSTWWE = 510;
  PPC_INS_EVSTWWEX = 511;
  PPC_INS_EVSTWWO = 512;
  PPC_INS_EVSTWWOX = 513;
  PPC_INS_EVSUBFSMIAAW = 514;
  PPC_INS_EVSUBFSSIAAW = 515;
  PPC_INS_EVSUBFUMIAAW = 516;
  PPC_INS_EVSUBFUSIAAW = 517;
  PPC_INS_EVSUBFW = 518;
  PPC_INS_EVSUBIFW = 519;
  PPC_INS_EVXOR = 520;
  PPC_INS_EXTLDI = 521;
  PPC_INS_EXTLWI = 522;
  PPC_INS_EXTRDI = 523;
  PPC_INS_EXTRWI = 524;
  PPC_INS_EXTSB = 525;
  PPC_INS_EXTSH = 526;
  PPC_INS_EXTSW = 527;
  PPC_INS_EXTSWSLI = 528;
  PPC_INS_FABS = 529;
  PPC_INS_FADD = 530;
  PPC_INS_FADDS = 531;
  PPC_INS_FCFID = 532;
  PPC_INS_FCFIDS = 533;
  PPC_INS_FCFIDU = 534;
  PPC_INS_FCFIDUS = 535;
  PPC_INS_FCMPU = 536;
  PPC_INS_FCPSGN = 537;
  PPC_INS_FCTID = 538;
  PPC_INS_FCTIDU = 539;
  PPC_INS_FCTIDUZ = 540;
  PPC_INS_FCTIDZ = 541;
  PPC_INS_FCTIW = 542;
  PPC_INS_FCTIWU = 543;
  PPC_INS_FCTIWUZ = 544;
  PPC_INS_FCTIWZ = 545;
  PPC_INS_FDIV = 546;
  PPC_INS_FDIVS = 547;
  PPC_INS_FMADD = 548;
  PPC_INS_FMADDS = 549;
  PPC_INS_FMR = 550;
  PPC_INS_FMSUB = 551;
  PPC_INS_FMSUBS = 552;
  PPC_INS_FMUL = 553;
  PPC_INS_FMULS = 554;
  PPC_INS_FNABS = 555;
  PPC_INS_FNEG = 556;
  PPC_INS_FNMADD = 557;
  PPC_INS_FNMADDS = 558;
  PPC_INS_FNMSUB = 559;
  PPC_INS_FNMSUBS = 560;
  PPC_INS_FRE = 561;
  PPC_INS_FRES = 562;
  PPC_INS_FRIM = 563;
  PPC_INS_FRIN = 564;
  PPC_INS_FRIP = 565;
  PPC_INS_FRIZ = 566;
  PPC_INS_FRSP = 567;
  PPC_INS_FRSQRTE = 568;
  PPC_INS_FRSQRTES = 569;
  PPC_INS_FSEL = 570;
  PPC_INS_FSQRT = 571;
  PPC_INS_FSQRTS = 572;
  PPC_INS_FSUB = 573;
  PPC_INS_FSUBS = 574;
  PPC_INS_FTDIV = 575;
  PPC_INS_FTSQRT = 576;
  PPC_INS_HRFID = 577;
  PPC_INS_ICBI = 578;
  PPC_INS_ICBIEP = 579;
  PPC_INS_ICBLC = 580;
  PPC_INS_ICBLQ = 581;
  PPC_INS_ICBT = 582;
  PPC_INS_ICBTLS = 583;
  PPC_INS_ICCCI = 584;
  PPC_INS_ICI = 585;
  PPC_INS_INSLWI = 586;
  PPC_INS_INSRDI = 587;
  PPC_INS_INSRWI = 588;
  PPC_INS_ISEL = 589;
  PPC_INS_ISYNC = 590;
  PPC_INS_LA = 591;
  PPC_INS_LBARX = 592;
  PPC_INS_LBEPX = 593;
  PPC_INS_LBZ = 594;
  PPC_INS_LBZCIX = 595;
  PPC_INS_LBZU = 596;
  PPC_INS_LBZUX = 597;
  PPC_INS_LBZX = 598;
  PPC_INS_LD = 599;
  PPC_INS_LDARX = 600;
  PPC_INS_LDAT = 601;
  PPC_INS_LDBRX = 602;
  PPC_INS_LDCIX = 603;
  PPC_INS_LDMX = 604;
  PPC_INS_LDU = 605;
  PPC_INS_LDUX = 606;
  PPC_INS_LDX = 607;
  PPC_INS_LFD = 608;
  PPC_INS_LFDEPX = 609;
  PPC_INS_LFDU = 610;
  PPC_INS_LFDUX = 611;
  PPC_INS_LFDX = 612;
  PPC_INS_LFIWAX = 613;
  PPC_INS_LFIWZX = 614;
  PPC_INS_LFS = 615;
  PPC_INS_LFSU = 616;
  PPC_INS_LFSUX = 617;
  PPC_INS_LFSX = 618;
  PPC_INS_LHA = 619;
  PPC_INS_LHARX = 620;
  PPC_INS_LHAU = 621;
  PPC_INS_LHAUX = 622;
  PPC_INS_LHAX = 623;
  PPC_INS_LHBRX = 624;
  PPC_INS_LHEPX = 625;
  PPC_INS_LHZ = 626;
  PPC_INS_LHZCIX = 627;
  PPC_INS_LHZU = 628;
  PPC_INS_LHZUX = 629;
  PPC_INS_LHZX = 630;
  PPC_INS_LI = 631;
  PPC_INS_LIS = 632;
  PPC_INS_LMW = 633;
  PPC_INS_LNIA = 634;
  PPC_INS_LSWI = 635;
  PPC_INS_LVEBX = 636;
  PPC_INS_LVEHX = 637;
  PPC_INS_LVEWX = 638;
  PPC_INS_LVSL = 639;
  PPC_INS_LVSR = 640;
  PPC_INS_LVX = 641;
  PPC_INS_LVXL = 642;
  PPC_INS_LWA = 643;
  PPC_INS_LWARX = 644;
  PPC_INS_LWAT = 645;
  PPC_INS_LWAUX = 646;
  PPC_INS_LWAX = 647;
  PPC_INS_LWBRX = 648;
  PPC_INS_LWEPX = 649;
  PPC_INS_LWSYNC = 650;
  PPC_INS_LWZ = 651;
  PPC_INS_LWZCIX = 652;
  PPC_INS_LWZU = 653;
  PPC_INS_LWZUX = 654;
  PPC_INS_LWZX = 655;
  PPC_INS_LXSD = 656;
  PPC_INS_LXSDX = 657;
  PPC_INS_LXSIBZX = 658;
  PPC_INS_LXSIHZX = 659;
  PPC_INS_LXSIWAX = 660;
  PPC_INS_LXSIWZX = 661;
  PPC_INS_LXSSP = 662;
  PPC_INS_LXSSPX = 663;
  PPC_INS_LXV = 664;
  PPC_INS_LXVB16X = 665;
  PPC_INS_LXVD2X = 666;
  PPC_INS_LXVDSX = 667;
  PPC_INS_LXVH8X = 668;
  PPC_INS_LXVL = 669;
  PPC_INS_LXVLL = 670;
  PPC_INS_LXVW4X = 671;
  PPC_INS_LXVWSX = 672;
  PPC_INS_LXVX = 673;
  PPC_INS_MADDHD = 674;
  PPC_INS_MADDHDU = 675;
  PPC_INS_MADDLD = 676;
  PPC_INS_MBAR = 677;
  PPC_INS_MCRF = 678;
  PPC_INS_MCRFS = 679;
  PPC_INS_MCRXRX = 680;
  PPC_INS_MFAMR = 681;
  PPC_INS_MFASR = 682;
  PPC_INS_MFBHRBE = 683;
  PPC_INS_MFBR0 = 684;
  PPC_INS_MFBR1 = 685;
  PPC_INS_MFBR2 = 686;
  PPC_INS_MFBR3 = 687;
  PPC_INS_MFBR4 = 688;
  PPC_INS_MFBR5 = 689;
  PPC_INS_MFBR6 = 690;
  PPC_INS_MFBR7 = 691;
  PPC_INS_MFCFAR = 692;
  PPC_INS_MFCR = 693;
  PPC_INS_MFCTR = 694;
  PPC_INS_MFDAR = 695;
  PPC_INS_MFDBATL = 696;
  PPC_INS_MFDBATU = 697;
  PPC_INS_MFDCCR = 698;
  PPC_INS_MFDCR = 699;
  PPC_INS_MFDEAR = 700;
  PPC_INS_MFDEC = 701;
  PPC_INS_MFDSCR = 702;
  PPC_INS_MFDSISR = 703;
  PPC_INS_MFESR = 704;
  PPC_INS_MFFPRD = 705;
  PPC_INS_MFFS = 706;
  PPC_INS_MFFSCDRN = 707;
  PPC_INS_MFFSCDRNI = 708;
  PPC_INS_MFFSCE = 709;
  PPC_INS_MFFSCRN = 710;
  PPC_INS_MFFSCRNI = 711;
  PPC_INS_MFFSL = 712;
  PPC_INS_MFIBATL = 713;
  PPC_INS_MFIBATU = 714;
  PPC_INS_MFICCR = 715;
  PPC_INS_MFLR = 716;
  PPC_INS_MFMSR = 717;
  PPC_INS_MFOCRF = 718;
  PPC_INS_MFPID = 719;
  PPC_INS_MFPMR = 720;
  PPC_INS_MFPVR = 721;
  PPC_INS_MFRTCL = 722;
  PPC_INS_MFRTCU = 723;
  PPC_INS_MFSDR1 = 724;
  PPC_INS_MFSPEFSCR = 725;
  PPC_INS_MFSPR = 726;
  PPC_INS_MFSPRG = 727;
  PPC_INS_MFSPRG0 = 728;
  PPC_INS_MFSPRG1 = 729;
  PPC_INS_MFSPRG2 = 730;
  PPC_INS_MFSPRG3 = 731;
  PPC_INS_MFSPRG4 = 732;
  PPC_INS_MFSPRG5 = 733;
  PPC_INS_MFSPRG6 = 734;
  PPC_INS_MFSPRG7 = 735;
  PPC_INS_MFSR = 736;
  PPC_INS_MFSRIN = 737;
  PPC_INS_MFSRR0 = 738;
  PPC_INS_MFSRR1 = 739;
  PPC_INS_MFSRR2 = 740;
  PPC_INS_MFSRR3 = 741;
  PPC_INS_MFTB = 742;
  PPC_INS_MFTBHI = 743;
  PPC_INS_MFTBL = 744;
  PPC_INS_MFTBLO = 745;
  PPC_INS_MFTBU = 746;
  PPC_INS_MFTCR = 747;
  PPC_INS_MFVRD = 748;
  PPC_INS_MFVRSAVE = 749;
  PPC_INS_MFVSCR = 750;
  PPC_INS_MFVSRD = 751;
  PPC_INS_MFVSRLD = 752;
  PPC_INS_MFVSRWZ = 753;
  PPC_INS_MFXER = 754;
  PPC_INS_MODSD = 755;
  PPC_INS_MODSW = 756;
  PPC_INS_MODUD = 757;
  PPC_INS_MODUW = 758;
  PPC_INS_MR = 759;
  PPC_INS_MSGSYNC = 760;
  PPC_INS_MSYNC = 761;
  PPC_INS_MTAMR = 762;
  PPC_INS_MTASR = 763;
  PPC_INS_MTBR0 = 764;
  PPC_INS_MTBR1 = 765;
  PPC_INS_MTBR2 = 766;
  PPC_INS_MTBR3 = 767;
  PPC_INS_MTBR4 = 768;
  PPC_INS_MTBR5 = 769;
  PPC_INS_MTBR6 = 770;
  PPC_INS_MTBR7 = 771;
  PPC_INS_MTCFAR = 772;
  PPC_INS_MTCR = 773;
  PPC_INS_MTCRF = 774;
  PPC_INS_MTCTR = 775;
  PPC_INS_MTDAR = 776;
  PPC_INS_MTDBATL = 777;
  PPC_INS_MTDBATU = 778;
  PPC_INS_MTDCCR = 779;
  PPC_INS_MTDCR = 780;
  PPC_INS_MTDEAR = 781;
  PPC_INS_MTDEC = 782;
  PPC_INS_MTDSCR = 783;
  PPC_INS_MTDSISR = 784;
  PPC_INS_MTESR = 785;
  PPC_INS_MTFSB0 = 786;
  PPC_INS_MTFSB1 = 787;
  PPC_INS_MTFSF = 788;
  PPC_INS_MTFSFI = 789;
  PPC_INS_MTIBATL = 790;
  PPC_INS_MTIBATU = 791;
  PPC_INS_MTICCR = 792;
  PPC_INS_MTLR = 793;
  PPC_INS_MTMSR = 794;
  PPC_INS_MTMSRD = 795;
  PPC_INS_MTOCRF = 796;
  PPC_INS_MTPID = 797;
  PPC_INS_MTPMR = 798;
  PPC_INS_MTSDR1 = 799;
  PPC_INS_MTSPEFSCR = 800;
  PPC_INS_MTSPR = 801;
  PPC_INS_MTSPRG = 802;
  PPC_INS_MTSPRG0 = 803;
  PPC_INS_MTSPRG1 = 804;
  PPC_INS_MTSPRG2 = 805;
  PPC_INS_MTSPRG3 = 806;
  PPC_INS_MTSPRG4 = 807;
  PPC_INS_MTSPRG5 = 808;
  PPC_INS_MTSPRG6 = 809;
  PPC_INS_MTSPRG7 = 810;
  PPC_INS_MTSR = 811;
  PPC_INS_MTSRIN = 812;
  PPC_INS_MTSRR0 = 813;
  PPC_INS_MTSRR1 = 814;
  PPC_INS_MTSRR2 = 815;
  PPC_INS_MTSRR3 = 816;
  PPC_INS_MTTBHI = 817;
  PPC_INS_MTTBL = 818;
  PPC_INS_MTTBLO = 819;
  PPC_INS_MTTBU = 820;
  PPC_INS_MTTCR = 821;
  PPC_INS_MTVRSAVE = 822;
  PPC_INS_MTVSCR = 823;
  PPC_INS_MTVSRD = 824;
  PPC_INS_MTVSRDD = 825;
  PPC_INS_MTVSRWA = 826;
  PPC_INS_MTVSRWS = 827;
  PPC_INS_MTVSRWZ = 828;
  PPC_INS_MTXER = 829;
  PPC_INS_MULHD = 830;
  PPC_INS_MULHDU = 831;
  PPC_INS_MULHW = 832;
  PPC_INS_MULHWU = 833;
  PPC_INS_MULLD = 834;
  PPC_INS_MULLI = 835;
  PPC_INS_MULLW = 836;
  PPC_INS_NAND = 837;
  PPC_INS_NAP = 838;
  PPC_INS_NEG = 839;
  PPC_INS_NOP = 840;
  PPC_INS_NOR = 841;
  PPC_INS_NOT = 842;
  PPC_INS_OR = 843;
  PPC_INS_ORC = 844;
  PPC_INS_ORI = 845;
  PPC_INS_ORIS = 846;
  PPC_INS_PASTE = 847;
  PPC_INS_PASTE_LAST = 848;
  PPC_INS_POPCNTB = 849;
  PPC_INS_POPCNTD = 850;
  PPC_INS_POPCNTW = 851;
  PPC_INS_PTESYNC = 852;
  PPC_INS_QVALIGNI = 853;
  PPC_INS_QVESPLATI = 854;
  PPC_INS_QVFABS = 855;
  PPC_INS_QVFADD = 856;
  PPC_INS_QVFADDS = 857;
  PPC_INS_QVFAND = 858;
  PPC_INS_QVFANDC = 859;
  PPC_INS_QVFCFID = 860;
  PPC_INS_QVFCFIDS = 861;
  PPC_INS_QVFCFIDU = 862;
  PPC_INS_QVFCFIDUS = 863;
  PPC_INS_QVFCLR = 864;
  PPC_INS_QVFCMPEQ = 865;
  PPC_INS_QVFCMPGT = 866;
  PPC_INS_QVFCMPLT = 867;
  PPC_INS_QVFCPSGN = 868;
  PPC_INS_QVFCTFB = 869;
  PPC_INS_QVFCTID = 870;
  PPC_INS_QVFCTIDU = 871;
  PPC_INS_QVFCTIDUZ = 872;
  PPC_INS_QVFCTIDZ = 873;
  PPC_INS_QVFCTIW = 874;
  PPC_INS_QVFCTIWU = 875;
  PPC_INS_QVFCTIWUZ = 876;
  PPC_INS_QVFCTIWZ = 877;
  PPC_INS_QVFEQU = 878;
  PPC_INS_QVFLOGICAL = 879;
  PPC_INS_QVFMADD = 880;
  PPC_INS_QVFMADDS = 881;
  PPC_INS_QVFMR = 882;
  PPC_INS_QVFMSUB = 883;
  PPC_INS_QVFMSUBS = 884;
  PPC_INS_QVFMUL = 885;
  PPC_INS_QVFMULS = 886;
  PPC_INS_QVFNABS = 887;
  PPC_INS_QVFNAND = 888;
  PPC_INS_QVFNEG = 889;
  PPC_INS_QVFNMADD = 890;
  PPC_INS_QVFNMADDS = 891;
  PPC_INS_QVFNMSUB = 892;
  PPC_INS_QVFNMSUBS = 893;
  PPC_INS_QVFNOR = 894;
  PPC_INS_QVFNOT = 895;
  PPC_INS_QVFOR = 896;
  PPC_INS_QVFORC = 897;
  PPC_INS_QVFPERM = 898;
  PPC_INS_QVFRE = 899;
  PPC_INS_QVFRES = 900;
  PPC_INS_QVFRIM = 901;
  PPC_INS_QVFRIN = 902;
  PPC_INS_QVFRIP = 903;
  PPC_INS_QVFRIZ = 904;
  PPC_INS_QVFRSP = 905;
  PPC_INS_QVFRSQRTE = 906;
  PPC_INS_QVFRSQRTES = 907;
  PPC_INS_QVFSEL = 908;
  PPC_INS_QVFSET = 909;
  PPC_INS_QVFSUB = 910;
  PPC_INS_QVFSUBS = 911;
  PPC_INS_QVFTSTNAN = 912;
  PPC_INS_QVFXMADD = 913;
  PPC_INS_QVFXMADDS = 914;
  PPC_INS_QVFXMUL = 915;
  PPC_INS_QVFXMULS = 916;
  PPC_INS_QVFXOR = 917;
  PPC_INS_QVFXXCPNMADD = 918;
  PPC_INS_QVFXXCPNMADDS = 919;
  PPC_INS_QVFXXMADD = 920;
  PPC_INS_QVFXXMADDS = 921;
  PPC_INS_QVFXXNPMADD = 922;
  PPC_INS_QVFXXNPMADDS = 923;
  PPC_INS_QVGPCI = 924;
  PPC_INS_QVLFCDUX = 925;
  PPC_INS_QVLFCDUXA = 926;
  PPC_INS_QVLFCDX = 927;
  PPC_INS_QVLFCDXA = 928;
  PPC_INS_QVLFCSUX = 929;
  PPC_INS_QVLFCSUXA = 930;
  PPC_INS_QVLFCSX = 931;
  PPC_INS_QVLFCSXA = 932;
  PPC_INS_QVLFDUX = 933;
  PPC_INS_QVLFDUXA = 934;
  PPC_INS_QVLFDX = 935;
  PPC_INS_QVLFDXA = 936;
  PPC_INS_QVLFIWAX = 937;
  PPC_INS_QVLFIWAXA = 938;
  PPC_INS_QVLFIWZX = 939;
  PPC_INS_QVLFIWZXA = 940;
  PPC_INS_QVLFSUX = 941;
  PPC_INS_QVLFSUXA = 942;
  PPC_INS_QVLFSX = 943;
  PPC_INS_QVLFSXA = 944;
  PPC_INS_QVLPCLDX = 945;
  PPC_INS_QVLPCLSX = 946;
  PPC_INS_QVLPCRDX = 947;
  PPC_INS_QVLPCRSX = 948;
  PPC_INS_QVSTFCDUX = 949;
  PPC_INS_QVSTFCDUXA = 950;
  PPC_INS_QVSTFCDUXI = 951;
  PPC_INS_QVSTFCDUXIA = 952;
  PPC_INS_QVSTFCDX = 953;
  PPC_INS_QVSTFCDXA = 954;
  PPC_INS_QVSTFCDXI = 955;
  PPC_INS_QVSTFCDXIA = 956;
  PPC_INS_QVSTFCSUX = 957;
  PPC_INS_QVSTFCSUXA = 958;
  PPC_INS_QVSTFCSUXI = 959;
  PPC_INS_QVSTFCSUXIA = 960;
  PPC_INS_QVSTFCSX = 961;
  PPC_INS_QVSTFCSXA = 962;
  PPC_INS_QVSTFCSXI = 963;
  PPC_INS_QVSTFCSXIA = 964;
  PPC_INS_QVSTFDUX = 965;
  PPC_INS_QVSTFDUXA = 966;
  PPC_INS_QVSTFDUXI = 967;
  PPC_INS_QVSTFDUXIA = 968;
  PPC_INS_QVSTFDX = 969;
  PPC_INS_QVSTFDXA = 970;
  PPC_INS_QVSTFDXI = 971;
  PPC_INS_QVSTFDXIA = 972;
  PPC_INS_QVSTFIWX = 973;
  PPC_INS_QVSTFIWXA = 974;
  PPC_INS_QVSTFSUX = 975;
  PPC_INS_QVSTFSUXA = 976;
  PPC_INS_QVSTFSUXI = 977;
  PPC_INS_QVSTFSUXIA = 978;
  PPC_INS_QVSTFSX = 979;
  PPC_INS_QVSTFSXA = 980;
  PPC_INS_QVSTFSXI = 981;
  PPC_INS_QVSTFSXIA = 982;
  PPC_INS_RFCI = 983;
  PPC_INS_RFDI = 984;
  PPC_INS_RFEBB = 985;
  PPC_INS_RFI = 986;
  PPC_INS_RFID = 987;
  PPC_INS_RFMCI = 988;
  PPC_INS_RLDCL = 989;
  PPC_INS_RLDCR = 990;
  PPC_INS_RLDIC = 991;
  PPC_INS_RLDICL = 992;
  PPC_INS_RLDICR = 993;
  PPC_INS_RLDIMI = 994;
  PPC_INS_RLWIMI = 995;
  PPC_INS_RLWINM = 996;
  PPC_INS_RLWNM = 997;
  PPC_INS_ROTLD = 998;
  PPC_INS_ROTLDI = 999;
  PPC_INS_ROTLW = 1000;
  PPC_INS_ROTLWI = 1001;
  PPC_INS_ROTRDI = 1002;
  PPC_INS_ROTRWI = 1003;
  PPC_INS_SC = 1004;
  PPC_INS_SETB = 1005;
  PPC_INS_SLBIA = 1006;
  PPC_INS_SLBIE = 1007;
  PPC_INS_SLBIEG = 1008;
  PPC_INS_SLBMFEE = 1009;
  PPC_INS_SLBMFEV = 1010;
  PPC_INS_SLBMTE = 1011;
  PPC_INS_SLBSYNC = 1012;
  PPC_INS_SLD = 1013;
  PPC_INS_SLDI = 1014;
  PPC_INS_SLW = 1015;
  PPC_INS_SLWI = 1016;
  PPC_INS_SRAD = 1017;
  PPC_INS_SRADI = 1018;
  PPC_INS_SRAW = 1019;
  PPC_INS_SRAWI = 1020;
  PPC_INS_SRD = 1021;
  PPC_INS_SRDI = 1022;
  PPC_INS_SRW = 1023;
  PPC_INS_SRWI = 1024;
  PPC_INS_STB = 1025;
  PPC_INS_STBCIX = 1026;
  PPC_INS_STBCX = 1027;
  PPC_INS_STBEPX = 1028;
  PPC_INS_STBU = 1029;
  PPC_INS_STBUX = 1030;
  PPC_INS_STBX = 1031;
  PPC_INS_STD = 1032;
  PPC_INS_STDAT = 1033;
  PPC_INS_STDBRX = 1034;
  PPC_INS_STDCIX = 1035;
  PPC_INS_STDCX = 1036;
  PPC_INS_STDU = 1037;
  PPC_INS_STDUX = 1038;
  PPC_INS_STDX = 1039;
  PPC_INS_STFD = 1040;
  PPC_INS_STFDEPX = 1041;
  PPC_INS_STFDU = 1042;
  PPC_INS_STFDUX = 1043;
  PPC_INS_STFDX = 1044;
  PPC_INS_STFIWX = 1045;
  PPC_INS_STFS = 1046;
  PPC_INS_STFSU = 1047;
  PPC_INS_STFSUX = 1048;
  PPC_INS_STFSX = 1049;
  PPC_INS_STH = 1050;
  PPC_INS_STHBRX = 1051;
  PPC_INS_STHCIX = 1052;
  PPC_INS_STHCX = 1053;
  PPC_INS_STHEPX = 1054;
  PPC_INS_STHU = 1055;
  PPC_INS_STHUX = 1056;
  PPC_INS_STHX = 1057;
  PPC_INS_STMW = 1058;
  PPC_INS_STOP = 1059;
  PPC_INS_STSWI = 1060;
  PPC_INS_STVEBX = 1061;
  PPC_INS_STVEHX = 1062;
  PPC_INS_STVEWX = 1063;
  PPC_INS_STVX = 1064;
  PPC_INS_STVXL = 1065;
  PPC_INS_STW = 1066;
  PPC_INS_STWAT = 1067;
  PPC_INS_STWBRX = 1068;
  PPC_INS_STWCIX = 1069;
  PPC_INS_STWCX = 1070;
  PPC_INS_STWEPX = 1071;
  PPC_INS_STWU = 1072;
  PPC_INS_STWUX = 1073;
  PPC_INS_STWX = 1074;
  PPC_INS_STXSD = 1075;
  PPC_INS_STXSDX = 1076;
  PPC_INS_STXSIBX = 1077;
  PPC_INS_STXSIHX = 1078;
  PPC_INS_STXSIWX = 1079;
  PPC_INS_STXSSP = 1080;
  PPC_INS_STXSSPX = 1081;
  PPC_INS_STXV = 1082;
  PPC_INS_STXVB16X = 1083;
  PPC_INS_STXVD2X = 1084;
  PPC_INS_STXVH8X = 1085;
  PPC_INS_STXVL = 1086;
  PPC_INS_STXVLL = 1087;
  PPC_INS_STXVW4X = 1088;
  PPC_INS_STXVX = 1089;
  PPC_INS_SUB = 1090;
  PPC_INS_SUBC = 1091;
  PPC_INS_SUBF = 1092;
  PPC_INS_SUBFC = 1093;
  PPC_INS_SUBFE = 1094;
  PPC_INS_SUBFIC = 1095;
  PPC_INS_SUBFME = 1096;
  PPC_INS_SUBFZE = 1097;
  PPC_INS_SUBI = 1098;
  PPC_INS_SUBIC = 1099;
  PPC_INS_SUBIS = 1100;
  PPC_INS_SUBPCIS = 1101;
  PPC_INS_SYNC = 1102;
  PPC_INS_TABORT = 1103;
  PPC_INS_TABORTDC = 1104;
  PPC_INS_TABORTDCI = 1105;
  PPC_INS_TABORTWC = 1106;
  PPC_INS_TABORTWCI = 1107;
  PPC_INS_TBEGIN = 1108;
  PPC_INS_TCHECK = 1109;
  PPC_INS_TD = 1110;
  PPC_INS_TDEQ = 1111;
  PPC_INS_TDEQI = 1112;
  PPC_INS_TDGE = 1113;
  PPC_INS_TDGEI = 1114;
  PPC_INS_TDGT = 1115;
  PPC_INS_TDGTI = 1116;
  PPC_INS_TDI = 1117;
  PPC_INS_TDLE = 1118;
  PPC_INS_TDLEI = 1119;
  PPC_INS_TDLGE = 1120;
  PPC_INS_TDLGEI = 1121;
  PPC_INS_TDLGT = 1122;
  PPC_INS_TDLGTI = 1123;
  PPC_INS_TDLLE = 1124;
  PPC_INS_TDLLEI = 1125;
  PPC_INS_TDLLT = 1126;
  PPC_INS_TDLLTI = 1127;
  PPC_INS_TDLNG = 1128;
  PPC_INS_TDLNGI = 1129;
  PPC_INS_TDLNL = 1130;
  PPC_INS_TDLNLI = 1131;
  PPC_INS_TDLT = 1132;
  PPC_INS_TDLTI = 1133;
  PPC_INS_TDNE = 1134;
  PPC_INS_TDNEI = 1135;
  PPC_INS_TDNG = 1136;
  PPC_INS_TDNGI = 1137;
  PPC_INS_TDNL = 1138;
  PPC_INS_TDNLI = 1139;
  PPC_INS_TDU = 1140;
  PPC_INS_TDUI = 1141;
  PPC_INS_TEND = 1142;
  PPC_INS_TLBIA = 1143;
  PPC_INS_TLBIE = 1144;
  PPC_INS_TLBIEL = 1145;
  PPC_INS_TLBIVAX = 1146;
  PPC_INS_TLBLD = 1147;
  PPC_INS_TLBLI = 1148;
  PPC_INS_TLBRE = 1149;
  PPC_INS_TLBREHI = 1150;
  PPC_INS_TLBRELO = 1151;
  PPC_INS_TLBSX = 1152;
  PPC_INS_TLBSYNC = 1153;
  PPC_INS_TLBWE = 1154;
  PPC_INS_TLBWEHI = 1155;
  PPC_INS_TLBWELO = 1156;
  PPC_INS_TRAP = 1157;
  PPC_INS_TRECHKPT = 1158;
  PPC_INS_TRECLAIM = 1159;
  PPC_INS_TSR = 1160;
  PPC_INS_TW = 1161;
  PPC_INS_TWEQ = 1162;
  PPC_INS_TWEQI = 1163;
  PPC_INS_TWGE = 1164;
  PPC_INS_TWGEI = 1165;
  PPC_INS_TWGT = 1166;
  PPC_INS_TWGTI = 1167;
  PPC_INS_TWI = 1168;
  PPC_INS_TWLE = 1169;
  PPC_INS_TWLEI = 1170;
  PPC_INS_TWLGE = 1171;
  PPC_INS_TWLGEI = 1172;
  PPC_INS_TWLGT = 1173;
  PPC_INS_TWLGTI = 1174;
  PPC_INS_TWLLE = 1175;
  PPC_INS_TWLLEI = 1176;
  PPC_INS_TWLLT = 1177;
  PPC_INS_TWLLTI = 1178;
  PPC_INS_TWLNG = 1179;
  PPC_INS_TWLNGI = 1180;
  PPC_INS_TWLNL = 1181;
  PPC_INS_TWLNLI = 1182;
  PPC_INS_TWLT = 1183;
  PPC_INS_TWLTI = 1184;
  PPC_INS_TWNE = 1185;
  PPC_INS_TWNEI = 1186;
  PPC_INS_TWNG = 1187;
  PPC_INS_TWNGI = 1188;
  PPC_INS_TWNL = 1189;
  PPC_INS_TWNLI = 1190;
  PPC_INS_TWU = 1191;
  PPC_INS_TWUI = 1192;
  PPC_INS_VABSDUB = 1193;
  PPC_INS_VABSDUH = 1194;
  PPC_INS_VABSDUW = 1195;
  PPC_INS_VADDCUQ = 1196;
  PPC_INS_VADDCUW = 1197;
  PPC_INS_VADDECUQ = 1198;
  PPC_INS_VADDEUQM = 1199;
  PPC_INS_VADDFP = 1200;
  PPC_INS_VADDSBS = 1201;
  PPC_INS_VADDSHS = 1202;
  PPC_INS_VADDSWS = 1203;
  PPC_INS_VADDUBM = 1204;
  PPC_INS_VADDUBS = 1205;
  PPC_INS_VADDUDM = 1206;
  PPC_INS_VADDUHM = 1207;
  PPC_INS_VADDUHS = 1208;
  PPC_INS_VADDUQM = 1209;
  PPC_INS_VADDUWM = 1210;
  PPC_INS_VADDUWS = 1211;
  PPC_INS_VAND = 1212;
  PPC_INS_VANDC = 1213;
  PPC_INS_VAVGSB = 1214;
  PPC_INS_VAVGSH = 1215;
  PPC_INS_VAVGSW = 1216;
  PPC_INS_VAVGUB = 1217;
  PPC_INS_VAVGUH = 1218;
  PPC_INS_VAVGUW = 1219;
  PPC_INS_VBPERMD = 1220;
  PPC_INS_VBPERMQ = 1221;
  PPC_INS_VCFSX = 1222;
  PPC_INS_VCFUX = 1223;
  PPC_INS_VCIPHER = 1224;
  PPC_INS_VCIPHERLAST = 1225;
  PPC_INS_VCLZB = 1226;
  PPC_INS_VCLZD = 1227;
  PPC_INS_VCLZH = 1228;
  PPC_INS_VCLZLSBB = 1229;
  PPC_INS_VCLZW = 1230;
  PPC_INS_VCMPBFP = 1231;
  PPC_INS_VCMPEQFP = 1232;
  PPC_INS_VCMPEQUB = 1233;
  PPC_INS_VCMPEQUD = 1234;
  PPC_INS_VCMPEQUH = 1235;
  PPC_INS_VCMPEQUW = 1236;
  PPC_INS_VCMPGEFP = 1237;
  PPC_INS_VCMPGTFP = 1238;
  PPC_INS_VCMPGTSB = 1239;
  PPC_INS_VCMPGTSD = 1240;
  PPC_INS_VCMPGTSH = 1241;
  PPC_INS_VCMPGTSW = 1242;
  PPC_INS_VCMPGTUB = 1243;
  PPC_INS_VCMPGTUD = 1244;
  PPC_INS_VCMPGTUH = 1245;
  PPC_INS_VCMPGTUW = 1246;
  PPC_INS_VCMPNEB = 1247;
  PPC_INS_VCMPNEH = 1248;
  PPC_INS_VCMPNEW = 1249;
  PPC_INS_VCMPNEZB = 1250;
  PPC_INS_VCMPNEZH = 1251;
  PPC_INS_VCMPNEZW = 1252;
  PPC_INS_VCTSXS = 1253;
  PPC_INS_VCTUXS = 1254;
  PPC_INS_VCTZB = 1255;
  PPC_INS_VCTZD = 1256;
  PPC_INS_VCTZH = 1257;
  PPC_INS_VCTZLSBB = 1258;
  PPC_INS_VCTZW = 1259;
  PPC_INS_VEQV = 1260;
  PPC_INS_VEXPTEFP = 1261;
  PPC_INS_VEXTRACTD = 1262;
  PPC_INS_VEXTRACTUB = 1263;
  PPC_INS_VEXTRACTUH = 1264;
  PPC_INS_VEXTRACTUW = 1265;
  PPC_INS_VEXTSB2D = 1266;
  PPC_INS_VEXTSB2W = 1267;
  PPC_INS_VEXTSH2D = 1268;
  PPC_INS_VEXTSH2W = 1269;
  PPC_INS_VEXTSW2D = 1270;
  PPC_INS_VEXTUBLX = 1271;
  PPC_INS_VEXTUBRX = 1272;
  PPC_INS_VEXTUHLX = 1273;
  PPC_INS_VEXTUHRX = 1274;
  PPC_INS_VEXTUWLX = 1275;
  PPC_INS_VEXTUWRX = 1276;
  PPC_INS_VGBBD = 1277;
  PPC_INS_VINSERTB = 1278;
  PPC_INS_VINSERTD = 1279;
  PPC_INS_VINSERTH = 1280;
  PPC_INS_VINSERTW = 1281;
  PPC_INS_VLOGEFP = 1282;
  PPC_INS_VMADDFP = 1283;
  PPC_INS_VMAXFP = 1284;
  PPC_INS_VMAXSB = 1285;
  PPC_INS_VMAXSD = 1286;
  PPC_INS_VMAXSH = 1287;
  PPC_INS_VMAXSW = 1288;
  PPC_INS_VMAXUB = 1289;
  PPC_INS_VMAXUD = 1290;
  PPC_INS_VMAXUH = 1291;
  PPC_INS_VMAXUW = 1292;
  PPC_INS_VMHADDSHS = 1293;
  PPC_INS_VMHRADDSHS = 1294;
  PPC_INS_VMINFP = 1295;
  PPC_INS_VMINSB = 1296;
  PPC_INS_VMINSD = 1297;
  PPC_INS_VMINSH = 1298;
  PPC_INS_VMINSW = 1299;
  PPC_INS_VMINUB = 1300;
  PPC_INS_VMINUD = 1301;
  PPC_INS_VMINUH = 1302;
  PPC_INS_VMINUW = 1303;
  PPC_INS_VMLADDUHM = 1304;
  PPC_INS_VMR = 1305;
  PPC_INS_VMRGEW = 1306;
  PPC_INS_VMRGHB = 1307;
  PPC_INS_VMRGHH = 1308;
  PPC_INS_VMRGHW = 1309;
  PPC_INS_VMRGLB = 1310;
  PPC_INS_VMRGLH = 1311;
  PPC_INS_VMRGLW = 1312;
  PPC_INS_VMRGOW = 1313;
  PPC_INS_VMSUMMBM = 1314;
  PPC_INS_VMSUMSHM = 1315;
  PPC_INS_VMSUMSHS = 1316;
  PPC_INS_VMSUMUBM = 1317;
  PPC_INS_VMSUMUHM = 1318;
  PPC_INS_VMSUMUHS = 1319;
  PPC_INS_VMUL10CUQ = 1320;
  PPC_INS_VMUL10ECUQ = 1321;
  PPC_INS_VMUL10EUQ = 1322;
  PPC_INS_VMUL10UQ = 1323;
  PPC_INS_VMULESB = 1324;
  PPC_INS_VMULESH = 1325;
  PPC_INS_VMULESW = 1326;
  PPC_INS_VMULEUB = 1327;
  PPC_INS_VMULEUH = 1328;
  PPC_INS_VMULEUW = 1329;
  PPC_INS_VMULOSB = 1330;
  PPC_INS_VMULOSH = 1331;
  PPC_INS_VMULOSW = 1332;
  PPC_INS_VMULOUB = 1333;
  PPC_INS_VMULOUH = 1334;
  PPC_INS_VMULOUW = 1335;
  PPC_INS_VMULUWM = 1336;
  PPC_INS_VNAND = 1337;
  PPC_INS_VNCIPHER = 1338;
  PPC_INS_VNCIPHERLAST = 1339;
  PPC_INS_VNEGD = 1340;
  PPC_INS_VNEGW = 1341;
  PPC_INS_VNMSUBFP = 1342;
  PPC_INS_VNOR = 1343;
  PPC_INS_VNOT = 1344;
  PPC_INS_VOR = 1345;
  PPC_INS_VORC = 1346;
  PPC_INS_VPERM = 1347;
  PPC_INS_VPERMR = 1348;
  PPC_INS_VPERMXOR = 1349;
  PPC_INS_VPKPX = 1350;
  PPC_INS_VPKSDSS = 1351;
  PPC_INS_VPKSDUS = 1352;
  PPC_INS_VPKSHSS = 1353;
  PPC_INS_VPKSHUS = 1354;
  PPC_INS_VPKSWSS = 1355;
  PPC_INS_VPKSWUS = 1356;
  PPC_INS_VPKUDUM = 1357;
  PPC_INS_VPKUDUS = 1358;
  PPC_INS_VPKUHUM = 1359;
  PPC_INS_VPKUHUS = 1360;
  PPC_INS_VPKUWUM = 1361;
  PPC_INS_VPKUWUS = 1362;
  PPC_INS_VPMSUMB = 1363;
  PPC_INS_VPMSUMD = 1364;
  PPC_INS_VPMSUMH = 1365;
  PPC_INS_VPMSUMW = 1366;
  PPC_INS_VPOPCNTB = 1367;
  PPC_INS_VPOPCNTD = 1368;
  PPC_INS_VPOPCNTH = 1369;
  PPC_INS_VPOPCNTW = 1370;
  PPC_INS_VPRTYBD = 1371;
  PPC_INS_VPRTYBQ = 1372;
  PPC_INS_VPRTYBW = 1373;
  PPC_INS_VREFP = 1374;
  PPC_INS_VRFIM = 1375;
  PPC_INS_VRFIN = 1376;
  PPC_INS_VRFIP = 1377;
  PPC_INS_VRFIZ = 1378;
  PPC_INS_VRLB = 1379;
  PPC_INS_VRLD = 1380;
  PPC_INS_VRLDMI = 1381;
  PPC_INS_VRLDNM = 1382;
  PPC_INS_VRLH = 1383;
  PPC_INS_VRLW = 1384;
  PPC_INS_VRLWMI = 1385;
  PPC_INS_VRLWNM = 1386;
  PPC_INS_VRSQRTEFP = 1387;
  PPC_INS_VSBOX = 1388;
  PPC_INS_VSEL = 1389;
  PPC_INS_VSHASIGMAD = 1390;
  PPC_INS_VSHASIGMAW = 1391;
  PPC_INS_VSL = 1392;
  PPC_INS_VSLB = 1393;
  PPC_INS_VSLD = 1394;
  PPC_INS_VSLDOI = 1395;
  PPC_INS_VSLH = 1396;
  PPC_INS_VSLO = 1397;
  PPC_INS_VSLV = 1398;
  PPC_INS_VSLW = 1399;
  PPC_INS_VSPLTB = 1400;
  PPC_INS_VSPLTH = 1401;
  PPC_INS_VSPLTISB = 1402;
  PPC_INS_VSPLTISH = 1403;
  PPC_INS_VSPLTISW = 1404;
  PPC_INS_VSPLTW = 1405;
  PPC_INS_VSR = 1406;
  PPC_INS_VSRAB = 1407;
  PPC_INS_VSRAD = 1408;
  PPC_INS_VSRAH = 1409;
  PPC_INS_VSRAW = 1410;
  PPC_INS_VSRB = 1411;
  PPC_INS_VSRD = 1412;
  PPC_INS_VSRH = 1413;
  PPC_INS_VSRO = 1414;
  PPC_INS_VSRV = 1415;
  PPC_INS_VSRW = 1416;
  PPC_INS_VSUBCUQ = 1417;
  PPC_INS_VSUBCUW = 1418;
  PPC_INS_VSUBECUQ = 1419;
  PPC_INS_VSUBEUQM = 1420;
  PPC_INS_VSUBFP = 1421;
  PPC_INS_VSUBSBS = 1422;
  PPC_INS_VSUBSHS = 1423;
  PPC_INS_VSUBSWS = 1424;
  PPC_INS_VSUBUBM = 1425;
  PPC_INS_VSUBUBS = 1426;
  PPC_INS_VSUBUDM = 1427;
  PPC_INS_VSUBUHM = 1428;
  PPC_INS_VSUBUHS = 1429;
  PPC_INS_VSUBUQM = 1430;
  PPC_INS_VSUBUWM = 1431;
  PPC_INS_VSUBUWS = 1432;
  PPC_INS_VSUM2SWS = 1433;
  PPC_INS_VSUM4SBS = 1434;
  PPC_INS_VSUM4SHS = 1435;
  PPC_INS_VSUM4UBS = 1436;
  PPC_INS_VSUMSWS = 1437;
  PPC_INS_VUPKHPX = 1438;
  PPC_INS_VUPKHSB = 1439;
  PPC_INS_VUPKHSH = 1440;
  PPC_INS_VUPKHSW = 1441;
  PPC_INS_VUPKLPX = 1442;
  PPC_INS_VUPKLSB = 1443;
  PPC_INS_VUPKLSH = 1444;
  PPC_INS_VUPKLSW = 1445;
  PPC_INS_VXOR = 1446;
  PPC_INS_WAIT = 1447;
  PPC_INS_WAITIMPL = 1448;
  PPC_INS_WAITRSV = 1449;
  PPC_INS_WRTEE = 1450;
  PPC_INS_WRTEEI = 1451;
  PPC_INS_XNOP = 1452;
  PPC_INS_XOR = 1453;
  PPC_INS_XORI = 1454;
  PPC_INS_XORIS = 1455;
  PPC_INS_XSABSDP = 1456;
  PPC_INS_XSABSQP = 1457;
  PPC_INS_XSADDDP = 1458;
  PPC_INS_XSADDQP = 1459;
  PPC_INS_XSADDQPO = 1460;
  PPC_INS_XSADDSP = 1461;
  PPC_INS_XSCMPEQDP = 1462;
  PPC_INS_XSCMPEXPDP = 1463;
  PPC_INS_XSCMPEXPQP = 1464;
  PPC_INS_XSCMPGEDP = 1465;
  PPC_INS_XSCMPGTDP = 1466;
  PPC_INS_XSCMPODP = 1467;
  PPC_INS_XSCMPOQP = 1468;
  PPC_INS_XSCMPUDP = 1469;
  PPC_INS_XSCMPUQP = 1470;
  PPC_INS_XSCPSGNDP = 1471;
  PPC_INS_XSCPSGNQP = 1472;
  PPC_INS_XSCVDPHP = 1473;
  PPC_INS_XSCVDPQP = 1474;
  PPC_INS_XSCVDPSP = 1475;
  PPC_INS_XSCVDPSPN = 1476;
  PPC_INS_XSCVDPSXDS = 1477;
  PPC_INS_XSCVDPSXWS = 1478;
  PPC_INS_XSCVDPUXDS = 1479;
  PPC_INS_XSCVDPUXWS = 1480;
  PPC_INS_XSCVHPDP = 1481;
  PPC_INS_XSCVQPDP = 1482;
  PPC_INS_XSCVQPDPO = 1483;
  PPC_INS_XSCVQPSDZ = 1484;
  PPC_INS_XSCVQPSWZ = 1485;
  PPC_INS_XSCVQPUDZ = 1486;
  PPC_INS_XSCVQPUWZ = 1487;
  PPC_INS_XSCVSDQP = 1488;
  PPC_INS_XSCVSPDP = 1489;
  PPC_INS_XSCVSPDPN = 1490;
  PPC_INS_XSCVSXDDP = 1491;
  PPC_INS_XSCVSXDSP = 1492;
  PPC_INS_XSCVUDQP = 1493;
  PPC_INS_XSCVUXDDP = 1494;
  PPC_INS_XSCVUXDSP = 1495;
  PPC_INS_XSDIVDP = 1496;
  PPC_INS_XSDIVQP = 1497;
  PPC_INS_XSDIVQPO = 1498;
  PPC_INS_XSDIVSP = 1499;
  PPC_INS_XSIEXPDP = 1500;
  PPC_INS_XSIEXPQP = 1501;
  PPC_INS_XSMADDADP = 1502;
  PPC_INS_XSMADDASP = 1503;
  PPC_INS_XSMADDMDP = 1504;
  PPC_INS_XSMADDMSP = 1505;
  PPC_INS_XSMADDQP = 1506;
  PPC_INS_XSMADDQPO = 1507;
  PPC_INS_XSMAXCDP = 1508;
  PPC_INS_XSMAXDP = 1509;
  PPC_INS_XSMAXJDP = 1510;
  PPC_INS_XSMINCDP = 1511;
  PPC_INS_XSMINDP = 1512;
  PPC_INS_XSMINJDP = 1513;
  PPC_INS_XSMSUBADP = 1514;
  PPC_INS_XSMSUBASP = 1515;
  PPC_INS_XSMSUBMDP = 1516;
  PPC_INS_XSMSUBMSP = 1517;
  PPC_INS_XSMSUBQP = 1518;
  PPC_INS_XSMSUBQPO = 1519;
  PPC_INS_XSMULDP = 1520;
  PPC_INS_XSMULQP = 1521;
  PPC_INS_XSMULQPO = 1522;
  PPC_INS_XSMULSP = 1523;
  PPC_INS_XSNABSDP = 1524;
  PPC_INS_XSNABSQP = 1525;
  PPC_INS_XSNEGDP = 1526;
  PPC_INS_XSNEGQP = 1527;
  PPC_INS_XSNMADDADP = 1528;
  PPC_INS_XSNMADDASP = 1529;
  PPC_INS_XSNMADDMDP = 1530;
  PPC_INS_XSNMADDMSP = 1531;
  PPC_INS_XSNMADDQP = 1532;
  PPC_INS_XSNMADDQPO = 1533;
  PPC_INS_XSNMSUBADP = 1534;
  PPC_INS_XSNMSUBASP = 1535;
  PPC_INS_XSNMSUBMDP = 1536;
  PPC_INS_XSNMSUBMSP = 1537;
  PPC_INS_XSNMSUBQP = 1538;
  PPC_INS_XSNMSUBQPO = 1539;
  PPC_INS_XSRDPI = 1540;
  PPC_INS_XSRDPIC = 1541;
  PPC_INS_XSRDPIM = 1542;
  PPC_INS_XSRDPIP = 1543;
  PPC_INS_XSRDPIZ = 1544;
  PPC_INS_XSREDP = 1545;
  PPC_INS_XSRESP = 1546;
  PPC_INS_XSRQPI = 1547;
  PPC_INS_XSRQPIX = 1548;
  PPC_INS_XSRQPXP = 1549;
  PPC_INS_XSRSP = 1550;
  PPC_INS_XSRSQRTEDP = 1551;
  PPC_INS_XSRSQRTESP = 1552;
  PPC_INS_XSSQRTDP = 1553;
  PPC_INS_XSSQRTQP = 1554;
  PPC_INS_XSSQRTQPO = 1555;
  PPC_INS_XSSQRTSP = 1556;
  PPC_INS_XSSUBDP = 1557;
  PPC_INS_XSSUBQP = 1558;
  PPC_INS_XSSUBQPO = 1559;
  PPC_INS_XSSUBSP = 1560;
  PPC_INS_XSTDIVDP = 1561;
  PPC_INS_XSTSQRTDP = 1562;
  PPC_INS_XSTSTDCDP = 1563;
  PPC_INS_XSTSTDCQP = 1564;
  PPC_INS_XSTSTDCSP = 1565;
  PPC_INS_XSXEXPDP = 1566;
  PPC_INS_XSXEXPQP = 1567;
  PPC_INS_XSXSIGDP = 1568;
  PPC_INS_XSXSIGQP = 1569;
  PPC_INS_XVABSDP = 1570;
  PPC_INS_XVABSSP = 1571;
  PPC_INS_XVADDDP = 1572;
  PPC_INS_XVADDSP = 1573;
  PPC_INS_XVCMPEQDP = 1574;
  PPC_INS_XVCMPEQSP = 1575;
  PPC_INS_XVCMPGEDP = 1576;
  PPC_INS_XVCMPGESP = 1577;
  PPC_INS_XVCMPGTDP = 1578;
  PPC_INS_XVCMPGTSP = 1579;
  PPC_INS_XVCPSGNDP = 1580;
  PPC_INS_XVCPSGNSP = 1581;
  PPC_INS_XVCVDPSP = 1582;
  PPC_INS_XVCVDPSXDS = 1583;
  PPC_INS_XVCVDPSXWS = 1584;
  PPC_INS_XVCVDPUXDS = 1585;
  PPC_INS_XVCVDPUXWS = 1586;
  PPC_INS_XVCVHPSP = 1587;
  PPC_INS_XVCVSPDP = 1588;
  PPC_INS_XVCVSPHP = 1589;
  PPC_INS_XVCVSPSXDS = 1590;
  PPC_INS_XVCVSPSXWS = 1591;
  PPC_INS_XVCVSPUXDS = 1592;
  PPC_INS_XVCVSPUXWS = 1593;
  PPC_INS_XVCVSXDDP = 1594;
  PPC_INS_XVCVSXDSP = 1595;
  PPC_INS_XVCVSXWDP = 1596;
  PPC_INS_XVCVSXWSP = 1597;
  PPC_INS_XVCVUXDDP = 1598;
  PPC_INS_XVCVUXDSP = 1599;
  PPC_INS_XVCVUXWDP = 1600;
  PPC_INS_XVCVUXWSP = 1601;
  PPC_INS_XVDIVDP = 1602;
  PPC_INS_XVDIVSP = 1603;
  PPC_INS_XVIEXPDP = 1604;
  PPC_INS_XVIEXPSP = 1605;
  PPC_INS_XVMADDADP = 1606;
  PPC_INS_XVMADDASP = 1607;
  PPC_INS_XVMADDMDP = 1608;
  PPC_INS_XVMADDMSP = 1609;
  PPC_INS_XVMAXDP = 1610;
  PPC_INS_XVMAXSP = 1611;
  PPC_INS_XVMINDP = 1612;
  PPC_INS_XVMINSP = 1613;
  PPC_INS_XVMOVDP = 1614;
  PPC_INS_XVMOVSP = 1615;
  PPC_INS_XVMSUBADP = 1616;
  PPC_INS_XVMSUBASP = 1617;
  PPC_INS_XVMSUBMDP = 1618;
  PPC_INS_XVMSUBMSP = 1619;
  PPC_INS_XVMULDP = 1620;
  PPC_INS_XVMULSP = 1621;
  PPC_INS_XVNABSDP = 1622;
  PPC_INS_XVNABSSP = 1623;
  PPC_INS_XVNEGDP = 1624;
  PPC_INS_XVNEGSP = 1625;
  PPC_INS_XVNMADDADP = 1626;
  PPC_INS_XVNMADDASP = 1627;
  PPC_INS_XVNMADDMDP = 1628;
  PPC_INS_XVNMADDMSP = 1629;
  PPC_INS_XVNMSUBADP = 1630;
  PPC_INS_XVNMSUBASP = 1631;
  PPC_INS_XVNMSUBMDP = 1632;
  PPC_INS_XVNMSUBMSP = 1633;
  PPC_INS_XVRDPI = 1634;
  PPC_INS_XVRDPIC = 1635;
  PPC_INS_XVRDPIM = 1636;
  PPC_INS_XVRDPIP = 1637;
  PPC_INS_XVRDPIZ = 1638;
  PPC_INS_XVREDP = 1639;
  PPC_INS_XVRESP = 1640;
  PPC_INS_XVRSPI = 1641;
  PPC_INS_XVRSPIC = 1642;
  PPC_INS_XVRSPIM = 1643;
  PPC_INS_XVRSPIP = 1644;
  PPC_INS_XVRSPIZ = 1645;
  PPC_INS_XVRSQRTEDP = 1646;
  PPC_INS_XVRSQRTESP = 1647;
  PPC_INS_XVSQRTDP = 1648;
  PPC_INS_XVSQRTSP = 1649;
  PPC_INS_XVSUBDP = 1650;
  PPC_INS_XVSUBSP = 1651;
  PPC_INS_XVTDIVDP = 1652;
  PPC_INS_XVTDIVSP = 1653;
  PPC_INS_XVTSQRTDP = 1654;
  PPC_INS_XVTSQRTSP = 1655;
  PPC_INS_XVTSTDCDP = 1656;
  PPC_INS_XVTSTDCSP = 1657;
  PPC_INS_XVXEXPDP = 1658;
  PPC_INS_XVXEXPSP = 1659;
  PPC_INS_XVXSIGDP = 1660;
  PPC_INS_XVXSIGSP = 1661;
  PPC_INS_XXBRD = 1662;
  PPC_INS_XXBRH = 1663;
  PPC_INS_XXBRQ = 1664;
  PPC_INS_XXBRW = 1665;
  PPC_INS_XXEXTRACTUW = 1666;
  PPC_INS_XXINSERTW = 1667;
  PPC_INS_XXLAND = 1668;
  PPC_INS_XXLANDC = 1669;
  PPC_INS_XXLEQV = 1670;
  PPC_INS_XXLNAND = 1671;
  PPC_INS_XXLNOR = 1672;
  PPC_INS_XXLOR = 1673;
  PPC_INS_XXLORC = 1674;
  PPC_INS_XXLXOR = 1675;
  PPC_INS_XXMRGHD = 1676;
  PPC_INS_XXMRGHW = 1677;
  PPC_INS_XXMRGLD = 1678;
  PPC_INS_XXMRGLW = 1679;
  PPC_INS_XXPERM = 1680;
  PPC_INS_XXPERMDI = 1681;
  PPC_INS_XXPERMR = 1682;
  PPC_INS_XXSEL = 1683;
  PPC_INS_XXSLDWI = 1684;
  PPC_INS_XXSPLTD = 1685;
  PPC_INS_XXSPLTIB = 1686;
  PPC_INS_XXSPLTW = 1687;
  PPC_INS_XXSWAPD = 1688;
  PPC_INS_DCBZ_L = 1689;
  PPC_INS_PSQ_L = 1690;
  PPC_INS_PSQ_LU = 1691;
  PPC_INS_PSQ_LUX = 1692;
  PPC_INS_PSQ_LX = 1693;
  PPC_INS_PSQ_ST = 1694;
  PPC_INS_PSQ_STU = 1695;
  PPC_INS_PSQ_STUX = 1696;
  PPC_INS_PSQ_STX = 1697;
  PPC_INS_PS_ABS = 1698;
  PPC_INS_PS_ADD = 1699;
  PPC_INS_PS_CMPO0 = 1700;
  PPC_INS_PS_CMPO1 = 1701;
  PPC_INS_PS_CMPU0 = 1702;
  PPC_INS_PS_CMPU1 = 1703;
  PPC_INS_PS_DIV = 1704;
  PPC_INS_PS_MADD = 1705;
  PPC_INS_PS_MADDS0 = 1706;
  PPC_INS_PS_MADDS1 = 1707;
  PPC_INS_PS_MERGE00 = 1708;
  PPC_INS_PS_MERGE01 = 1709;
  PPC_INS_PS_MERGE10 = 1710;
  PPC_INS_PS_MERGE11 = 1711;
  PPC_INS_PS_MR = 1712;
  PPC_INS_PS_MSUB = 1713;
  PPC_INS_PS_MUL = 1714;
  PPC_INS_PS_MULS0 = 1715;
  PPC_INS_PS_MULS1 = 1716;
  PPC_INS_PS_NABS = 1717;
  PPC_INS_PS_NEG = 1718;
  PPC_INS_PS_NMADD = 1719;
  PPC_INS_PS_NMSUB = 1720;
  PPC_INS_PS_RES = 1721;
  PPC_INS_PS_RSQRTE = 1722;
  PPC_INS_PS_SEL = 1723;
  PPC_INS_PS_SUB = 1724;
  PPC_INS_PS_SUM0 = 1725;
  PPC_INS_PS_SUM1 = 1726;
  PPC_INS_ENDING = 1727;

/// Group of PPC instructions
type
  ppc_insn_group = Integer;
  Pppc_insn_group = ^ppc_insn_group;

const
  /// = CS_GRP_INVALID
  PPC_GRP_INVALID = 0;
  /// = CS_GRP_JUMP
  PPC_GRP_JUMP = 1;
  PPC_GRP_ALTIVEC = 128;
  PPC_GRP_MODE32 = 129;
  PPC_GRP_MODE64 = 130;
  PPC_GRP_BOOKE = 131;
  PPC_GRP_NOTBOOKE = 132;
  PPC_GRP_SPE = 133;
  PPC_GRP_VSX = 134;
  PPC_GRP_E500 = 135;
  PPC_GRP_PPC4XX = 136;
  PPC_GRP_PPC6XX = 137;
  PPC_GRP_ICBT = 138;
  PPC_GRP_P8ALTIVEC = 139;
  PPC_GRP_P8VECTOR = 140;
  PPC_GRP_QPX = 141;
  PPC_GRP_PS = 142;
  PPC_GRP_ENDING = 143;

type
  // Forward declarations
  Pppc_op_mem = ^ppc_op_mem;
  Pppc_op_crx = ^ppc_op_crx;
  Pcs_ppc_op = ^cs_ppc_op;
  Pcs_ppc = ^cs_ppc;

  /// Instruction's operand referring to memory
  /// This is associated with PPC_OP_MEM operand type above
  ppc_op_mem = record
    /// base register
    base: ppc_reg;
    /// displacement/offset value
    disp: Int32;
  end;

  ppc_op_crx = record
    scale: Cardinal;
    reg: ppc_reg;
    cond: ppc_bc;
  end;

  cs_ppc_op_detail = record
    case Integer of
      0: (/// register value for REG operand
    reg: ppc_reg);
      1: (/// immediate value for IMM operand
    imm: Int64);
      2: (/// base/disp value for MEM operand
    mem: ppc_op_mem);
      3: (/// operand with condition register
    crx: ppc_op_crx);
  end;

  /// Instruction operand
  cs_ppc_op = record
    /// operand type
    type_: ppc_op_type;
    /// union op detail
    detail: cs_ppc_op_detail;
  end;

  /// Instruction structure
  cs_ppc = record
    /// branch code for branch instructions
    bc: ppc_bc;
    /// branch hint for branch instructions
    bh: ppc_bh;
    /// if update_cr0 = True, then this 'dot' insn updates CR0
    update_cr0: Boolean;
    /// Number of operands of this instruction,
    /// or 0 when instruction has no operand.
    op_count: UInt8;
    /// operands for this instruction.
    operands: array[0..7] of cs_ppc_op;
  end;

implementation

end.
