LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/PowerPC - PPCGenSubtargetInfo.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 82 84 97.6 %
Date: 2017-09-14 15:23:50 Functions: 3 6 50.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
       2             : |*                                                                            *|
       3             : |* Subtarget Enumeration Source Fragment                                      *|
       4             : |*                                                                            *|
       5             : |* Automatically generated file, do not edit!                                 *|
       6             : |*                                                                            *|
       7             : \*===----------------------------------------------------------------------===*/
       8             : 
       9             : 
      10             : #ifdef GET_SUBTARGETINFO_ENUM
      11             : #undef GET_SUBTARGETINFO_ENUM
      12             : 
      13             : namespace llvm {
      14             : namespace PPC {
      15             : enum {
      16             :   DeprecatedDST = 0,
      17             :   Directive32 = 1,
      18             :   Directive64 = 2,
      19             :   Directive440 = 3,
      20             :   Directive601 = 4,
      21             :   Directive602 = 5,
      22             :   Directive603 = 6,
      23             :   Directive604 = 7,
      24             :   Directive620 = 8,
      25             :   Directive750 = 9,
      26             :   Directive970 = 10,
      27             :   Directive7400 = 11,
      28             :   DirectiveA2 = 12,
      29             :   DirectiveE500mc = 13,
      30             :   DirectiveE5500 = 14,
      31             :   DirectivePwr3 = 15,
      32             :   DirectivePwr4 = 16,
      33             :   DirectivePwr5 = 17,
      34             :   DirectivePwr5x = 18,
      35             :   DirectivePwr6 = 19,
      36             :   DirectivePwr6x = 20,
      37             :   DirectivePwr7 = 21,
      38             :   DirectivePwr8 = 22,
      39             :   DirectivePwr9 = 23,
      40             :   Feature64Bit = 24,
      41             :   Feature64BitRegs = 25,
      42             :   FeatureAltivec = 26,
      43             :   FeatureBPERMD = 27,
      44             :   FeatureBookE = 28,
      45             :   FeatureCMPB = 29,
      46             :   FeatureCRBits = 30,
      47             :   FeatureDirectMove = 31,
      48             :   FeatureE500 = 32,
      49             :   FeatureExtDiv = 33,
      50             :   FeatureFCPSGN = 34,
      51             :   FeatureFPCVT = 35,
      52             :   FeatureFPRND = 36,
      53             :   FeatureFRE = 37,
      54             :   FeatureFRES = 38,
      55             :   FeatureFRSQRTE = 39,
      56             :   FeatureFRSQRTES = 40,
      57             :   FeatureFSqrt = 41,
      58             :   FeatureFloat128 = 42,
      59             :   FeatureFusion = 43,
      60             :   FeatureHTM = 44,
      61             :   FeatureHardFloat = 45,
      62             :   FeatureICBT = 46,
      63             :   FeatureISA3_0 = 47,
      64             :   FeatureISEL = 48,
      65             :   FeatureInvariantFunctionDescriptors = 49,
      66             :   FeatureLDBRX = 50,
      67             :   FeatureLFIWAX = 51,
      68             :   FeatureLongCall = 52,
      69             :   FeatureMFOCRF = 53,
      70             :   FeatureMFTB = 54,
      71             :   FeatureMSYNC = 55,
      72             :   FeatureP8Altivec = 56,
      73             :   FeatureP8Crypto = 57,
      74             :   FeatureP8Vector = 58,
      75             :   FeatureP9Altivec = 59,
      76             :   FeatureP9Vector = 60,
      77             :   FeaturePOPCNTD = 61,
      78             :   FeaturePPC4xx = 62,
      79             :   FeaturePPC6xx = 63,
      80             :   FeaturePartwordAtomic = 64,
      81             :   FeatureQPX = 65,
      82             :   FeatureRecipPrec = 66,
      83             :   FeatureSPE = 67,
      84             :   FeatureSTFIWX = 68,
      85             :   FeatureSlowPOPCNTD = 69,
      86             :   FeatureVSX = 70
      87             : };
      88             : } // end namespace PPC
      89             : } // end namespace llvm
      90             : 
      91             : #endif // GET_SUBTARGETINFO_ENUM
      92             : 
      93             : 
      94             : #ifdef GET_SUBTARGETINFO_MC_DESC
      95             : #undef GET_SUBTARGETINFO_MC_DESC
      96             : 
      97             : namespace llvm {
      98             : // Sorted (by key) array of values for CPU features.
      99             : extern const llvm::SubtargetFeatureKV PPCFeatureKV[] = {
     100             :   { "64bit", "Enable 64-bit instructions", { PPC::Feature64Bit }, { } },
     101             :   { "64bitregs", "Enable 64-bit registers usage for ppc32 [beta]", { PPC::Feature64BitRegs }, { } },
     102             :   { "altivec", "Enable Altivec instructions", { PPC::FeatureAltivec }, { PPC::FeatureHardFloat } },
     103             :   { "booke", "Enable Book E instructions", { PPC::FeatureBookE }, { PPC::FeatureICBT } },
     104             :   { "bpermd", "Enable the bpermd instruction", { PPC::FeatureBPERMD }, { } },
     105             :   { "cmpb", "Enable the cmpb instruction", { PPC::FeatureCMPB }, { } },
     106             :   { "crbits", "Use condition-register bits individually", { PPC::FeatureCRBits }, { } },
     107             :   { "crypto", "Enable POWER8 Crypto instructions", { PPC::FeatureP8Crypto }, { PPC::FeatureP8Altivec } },
     108             :   { "direct-move", "Enable Power8 direct move instructions", { PPC::FeatureDirectMove }, { PPC::FeatureVSX } },
     109             :   { "e500", "Enable E500/E500mc instructions", { PPC::FeatureE500 }, { } },
     110             :   { "extdiv", "Enable extended divide instructions", { PPC::FeatureExtDiv }, { } },
     111             :   { "fcpsgn", "Enable the fcpsgn instruction", { PPC::FeatureFCPSGN }, { PPC::FeatureHardFloat } },
     112             :   { "float128", "Enable the __float128 data type for IEEE-754R Binary128.", { PPC::FeatureFloat128 }, { PPC::FeatureVSX } },
     113             :   { "fpcvt", "Enable fc[ft]* (unsigned and single-precision) and lfiwzx instructions", { PPC::FeatureFPCVT }, { PPC::FeatureHardFloat } },
     114             :   { "fprnd", "Enable the fri[mnpz] instructions", { PPC::FeatureFPRND }, { PPC::FeatureHardFloat } },
     115             :   { "fre", "Enable the fre instruction", { PPC::FeatureFRE }, { PPC::FeatureHardFloat } },
     116             :   { "fres", "Enable the fres instruction", { PPC::FeatureFRES }, { PPC::FeatureHardFloat } },
     117             :   { "frsqrte", "Enable the frsqrte instruction", { PPC::FeatureFRSQRTE }, { PPC::FeatureHardFloat } },
     118             :   { "frsqrtes", "Enable the frsqrtes instruction", { PPC::FeatureFRSQRTES }, { PPC::FeatureHardFloat } },
     119             :   { "fsqrt", "Enable the fsqrt instruction", { PPC::FeatureFSqrt }, { PPC::FeatureHardFloat } },
     120             :   { "fusion", "Target supports add/load integer fusion.", { PPC::FeatureFusion }, { } },
     121             :   { "hard-float", "Enable floating-point instructions", { PPC::FeatureHardFloat }, { } },
     122             :   { "htm", "Enable Hardware Transactional Memory instructions", { PPC::FeatureHTM }, { } },
     123             :   { "icbt", "Enable icbt instruction", { PPC::FeatureICBT }, { } },
     124             :   { "invariant-function-descriptors", "Assume function descriptors are invariant", { PPC::FeatureInvariantFunctionDescriptors }, { } },
     125             :   { "isa-v30-instructions", "Enable instructions added in ISA 3.0.", { PPC::FeatureISA3_0 }, { } },
     126             :   { "isel", "Enable the isel instruction", { PPC::FeatureISEL }, { } },
     127             :   { "ldbrx", "Enable the ldbrx instruction", { PPC::FeatureLDBRX }, { } },
     128             :   { "lfiwax", "Enable the lfiwax instruction", { PPC::FeatureLFIWAX }, { PPC::FeatureHardFloat } },
     129             :   { "longcall", "Always use indirect calls", { PPC::FeatureLongCall }, { } },
     130             :   { "mfocrf", "Enable the MFOCRF instruction", { PPC::FeatureMFOCRF }, { } },
     131             :   { "msync", "Has only the msync instruction instead of sync", { PPC::FeatureMSYNC }, { PPC::FeatureBookE } },
     132             :   { "partword-atomics", "Enable l[bh]arx and st[bh]cx.", { PPC::FeaturePartwordAtomic }, { } },
     133             :   { "popcntd", "Enable the popcnt[dw] instructions", { PPC::FeaturePOPCNTD }, { } },
     134             :   { "power8-altivec", "Enable POWER8 Altivec instructions", { PPC::FeatureP8Altivec }, { PPC::FeatureAltivec } },
     135             :   { "power8-vector", "Enable POWER8 vector instructions", { PPC::FeatureP8Vector }, { PPC::FeatureVSX, PPC::FeatureP8Altivec } },
     136             :   { "power9-altivec", "Enable POWER9 Altivec instructions", { PPC::FeatureP9Altivec }, { PPC::FeatureISA3_0, PPC::FeatureP8Altivec } },
     137             :   { "power9-vector", "Enable POWER9 vector instructions", { PPC::FeatureP9Vector }, { PPC::FeatureISA3_0, PPC::FeatureP8Vector, PPC::FeatureP9Altivec } },
     138             :   { "ppc4xx", "Enable PPC 4xx instructions", { PPC::FeaturePPC4xx }, { } },
     139             :   { "ppc6xx", "Enable PPC 6xx instructions", { PPC::FeaturePPC6xx }, { } },
     140             :   { "qpx", "Enable QPX instructions", { PPC::FeatureQPX }, { PPC::FeatureHardFloat } },
     141             :   { "recipprec", "Assume higher precision reciprocal estimates", { PPC::FeatureRecipPrec }, { } },
     142             :   { "slow-popcntd", "Has slow popcnt[dw] instructions", { PPC::FeatureSlowPOPCNTD }, { } },
     143             :   { "spe", "Enable SPE instructions", { PPC::FeatureSPE }, { PPC::FeatureHardFloat } },
     144             :   { "stfiwx", "Enable the stfiwx instruction", { PPC::FeatureSTFIWX }, { PPC::FeatureHardFloat } },
     145             :   { "vsx", "Enable VSX instructions", { PPC::FeatureVSX }, { PPC::FeatureAltivec } }
     146       72306 : };
     147             : 
     148             : // Sorted (by key) array of values for CPU subtype.
     149             : extern const llvm::SubtargetFeatureKV PPCSubTypeKV[] = {
     150             :   { "440", "Select the 440 processor", { PPC::Directive440, PPC::FeatureISEL, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureICBT, PPC::FeatureBookE, PPC::FeatureMSYNC, PPC::FeatureMFTB }, { } },
     151             :   { "450", "Select the 450 processor", { PPC::Directive440, PPC::FeatureISEL, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureICBT, PPC::FeatureBookE, PPC::FeatureMSYNC, PPC::FeatureMFTB }, { } },
     152             :   { "601", "Select the 601 processor", { PPC::Directive601, PPC::FeatureHardFloat }, { } },
     153             :   { "602", "Select the 602 processor", { PPC::Directive602, PPC::FeatureHardFloat, PPC::FeatureMFTB }, { } },
     154             :   { "603", "Select the 603 processor", { PPC::Directive603, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureMFTB }, { } },
     155             :   { "603e", "Select the 603e processor", { PPC::Directive603, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureMFTB }, { } },
     156             :   { "603ev", "Select the 603ev processor", { PPC::Directive603, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureMFTB }, { } },
     157             :   { "604", "Select the 604 processor", { PPC::Directive604, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureMFTB }, { } },
     158             :   { "604e", "Select the 604e processor", { PPC::Directive604, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureMFTB }, { } },
     159             :   { "620", "Select the 620 processor", { PPC::Directive620, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureMFTB }, { } },
     160             :   { "7400", "Select the 7400 processor", { PPC::Directive7400, PPC::FeatureAltivec, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureMFTB }, { } },
     161             :   { "7450", "Select the 7450 processor", { PPC::Directive7400, PPC::FeatureAltivec, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureMFTB }, { } },
     162             :   { "750", "Select the 750 processor", { PPC::Directive750, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureMFTB }, { } },
     163             :   { "970", "Select the 970 processor", { PPC::Directive970, PPC::FeatureAltivec, PPC::FeatureMFOCRF, PPC::FeatureFSqrt, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureSTFIWX, PPC::Feature64Bit, PPC::FeatureMFTB }, { } },
     164             :   { "a2", "Select the a2 processor", { PPC::DirectiveA2, PPC::FeatureICBT, PPC::FeatureBookE, PPC::FeatureMFOCRF, PPC::FeatureFCPSGN, PPC::FeatureFSqrt, PPC::FeatureFRE, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureFRSQRTES, PPC::FeatureRecipPrec, PPC::FeatureSTFIWX, PPC::FeatureLFIWAX, PPC::FeatureFPRND, PPC::FeatureFPCVT, PPC::FeatureISEL, PPC::FeatureSlowPOPCNTD, PPC::FeatureCMPB, PPC::FeatureLDBRX, PPC::Feature64Bit, PPC::FeatureMFTB }, { } },
     165             :   { "a2q", "Select the a2q processor", { PPC::DirectiveA2, PPC::FeatureICBT, PPC::FeatureBookE, PPC::FeatureMFOCRF, PPC::FeatureFCPSGN, PPC::FeatureFSqrt, PPC::FeatureFRE, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureFRSQRTES, PPC::FeatureRecipPrec, PPC::FeatureSTFIWX, PPC::FeatureLFIWAX, PPC::FeatureFPRND, PPC::FeatureFPCVT, PPC::FeatureISEL, PPC::FeatureSlowPOPCNTD, PPC::FeatureCMPB, PPC::FeatureLDBRX, PPC::Feature64Bit, PPC::FeatureQPX, PPC::FeatureMFTB }, { } },
     166             :   { "e500mc", "Select the e500mc processor", { PPC::DirectiveE500mc, PPC::FeatureSTFIWX, PPC::FeatureICBT, PPC::FeatureBookE, PPC::FeatureISEL, PPC::FeatureMFTB }, { } },
     167             :   { "e5500", "Select the e5500 processor", { PPC::DirectiveE5500, PPC::FeatureMFOCRF, PPC::Feature64Bit, PPC::FeatureSTFIWX, PPC::FeatureICBT, PPC::FeatureBookE, PPC::FeatureISEL, PPC::FeatureMFTB }, { } },
     168             :   { "g3", "Select the g3 processor", { PPC::Directive750, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureMFTB }, { } },
     169             :   { "g4", "Select the g4 processor", { PPC::Directive7400, PPC::FeatureAltivec, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureMFTB }, { } },
     170             :   { "g4+", "Select the g4+ processor", { PPC::Directive7400, PPC::FeatureAltivec, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureMFTB }, { } },
     171             :   { "g5", "Select the g5 processor", { PPC::Directive970, PPC::FeatureAltivec, PPC::FeatureMFOCRF, PPC::FeatureFSqrt, PPC::FeatureSTFIWX, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::Feature64Bit, PPC::FeatureMFTB, PPC::DeprecatedDST }, { } },
     172             :   { "generic", "Select the generic processor", { PPC::Directive32, PPC::FeatureHardFloat, PPC::FeatureMFTB }, { } },
     173             :   { "ppc", "Select the ppc processor", { PPC::Directive32, PPC::FeatureHardFloat, PPC::FeatureMFTB }, { } },
     174             :   { "ppc32", "Select the ppc32 processor", { PPC::Directive32, PPC::FeatureHardFloat, PPC::FeatureMFTB }, { } },
     175             :   { "ppc64", "Select the ppc64 processor", { PPC::Directive64, PPC::FeatureAltivec, PPC::FeatureMFOCRF, PPC::FeatureFSqrt, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureSTFIWX, PPC::Feature64Bit, PPC::FeatureMFTB }, { } },
     176             :   { "ppc64le", "Select the ppc64le processor", { PPC::DirectivePwr7, PPC::FeatureAltivec, PPC::FeatureVSX, PPC::FeatureMFOCRF, PPC::FeatureFCPSGN, PPC::FeatureFSqrt, PPC::FeatureFRE, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureFRSQRTES, PPC::FeatureRecipPrec, PPC::FeatureSTFIWX, PPC::FeatureLFIWAX, PPC::FeatureFPRND, PPC::FeatureFPCVT, PPC::FeatureISEL, PPC::FeaturePOPCNTD, PPC::FeatureCMPB, PPC::FeatureLDBRX, PPC::Feature64Bit, PPC::FeatureBPERMD, PPC::FeatureExtDiv, PPC::FeatureMFTB, PPC::DeprecatedDST, PPC::DirectivePwr8, PPC::FeatureP8Altivec, PPC::FeatureP8Vector, PPC::FeatureP8Crypto, PPC::FeatureHTM, PPC::FeatureDirectMove, PPC::FeatureICBT, PPC::FeaturePartwordAtomic, PPC::FeatureFusion }, { } },
     177             :   { "pwr3", "Select the pwr3 processor", { PPC::DirectivePwr3, PPC::FeatureAltivec, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureMFOCRF, PPC::FeatureSTFIWX, PPC::Feature64Bit }, { } },
     178             :   { "pwr4", "Select the pwr4 processor", { PPC::DirectivePwr4, PPC::FeatureAltivec, PPC::FeatureMFOCRF, PPC::FeatureFSqrt, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureSTFIWX, PPC::Feature64Bit, PPC::FeatureMFTB }, { } },
     179             :   { "pwr5", "Select the pwr5 processor", { PPC::DirectivePwr5, PPC::FeatureAltivec, PPC::FeatureMFOCRF, PPC::FeatureFSqrt, PPC::FeatureFRE, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureFRSQRTES, PPC::FeatureSTFIWX, PPC::Feature64Bit, PPC::FeatureMFTB, PPC::DeprecatedDST }, { } },
     180             :   { "pwr5x", "Select the pwr5x processor", { PPC::DirectivePwr5x, PPC::FeatureAltivec, PPC::FeatureMFOCRF, PPC::FeatureFSqrt, PPC::FeatureFRE, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureFRSQRTES, PPC::FeatureSTFIWX, PPC::FeatureFPRND, PPC::Feature64Bit, PPC::FeatureMFTB, PPC::DeprecatedDST }, { } },
     181             :   { "pwr6", "Select the pwr6 processor", { PPC::DirectivePwr6, PPC::FeatureAltivec, PPC::FeatureMFOCRF, PPC::FeatureFCPSGN, PPC::FeatureFSqrt, PPC::FeatureFRE, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureFRSQRTES, PPC::FeatureRecipPrec, PPC::FeatureSTFIWX, PPC::FeatureLFIWAX, PPC::FeatureCMPB, PPC::FeatureFPRND, PPC::Feature64Bit, PPC::FeatureMFTB, PPC::DeprecatedDST }, { } },
     182             :   { "pwr6x", "Select the pwr6x processor", { PPC::DirectivePwr5x, PPC::FeatureAltivec, PPC::FeatureMFOCRF, PPC::FeatureFCPSGN, PPC::FeatureFSqrt, PPC::FeatureFRE, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureFRSQRTES, PPC::FeatureRecipPrec, PPC::FeatureSTFIWX, PPC::FeatureLFIWAX, PPC::FeatureCMPB, PPC::FeatureFPRND, PPC::Feature64Bit, PPC::FeatureMFTB, PPC::DeprecatedDST }, { } },
     183             :   { "pwr7", "Select the pwr7 processor", { PPC::DirectivePwr7, PPC::FeatureAltivec, PPC::FeatureVSX, PPC::FeatureMFOCRF, PPC::FeatureFCPSGN, PPC::FeatureFSqrt, PPC::FeatureFRE, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureFRSQRTES, PPC::FeatureRecipPrec, PPC::FeatureSTFIWX, PPC::FeatureLFIWAX, PPC::FeatureFPRND, PPC::FeatureFPCVT, PPC::FeatureISEL, PPC::FeaturePOPCNTD, PPC::FeatureCMPB, PPC::FeatureLDBRX, PPC::Feature64Bit, PPC::FeatureBPERMD, PPC::FeatureExtDiv, PPC::FeatureMFTB, PPC::DeprecatedDST }, { } },
     184             :   { "pwr8", "Select the pwr8 processor", { PPC::DirectivePwr7, PPC::FeatureAltivec, PPC::FeatureVSX, PPC::FeatureMFOCRF, PPC::FeatureFCPSGN, PPC::FeatureFSqrt, PPC::FeatureFRE, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureFRSQRTES, PPC::FeatureRecipPrec, PPC::FeatureSTFIWX, PPC::FeatureLFIWAX, PPC::FeatureFPRND, PPC::FeatureFPCVT, PPC::FeatureISEL, PPC::FeaturePOPCNTD, PPC::FeatureCMPB, PPC::FeatureLDBRX, PPC::Feature64Bit, PPC::FeatureBPERMD, PPC::FeatureExtDiv, PPC::FeatureMFTB, PPC::DeprecatedDST, PPC::DirectivePwr8, PPC::FeatureP8Altivec, PPC::FeatureP8Vector, PPC::FeatureP8Crypto, PPC::FeatureHTM, PPC::FeatureDirectMove, PPC::FeatureICBT, PPC::FeaturePartwordAtomic, PPC::FeatureFusion }, { } },
     185             :   { "pwr9", "Select the pwr9 processor", { PPC::DirectivePwr7, PPC::FeatureAltivec, PPC::FeatureVSX, PPC::FeatureMFOCRF, PPC::FeatureFCPSGN, PPC::FeatureFSqrt, PPC::FeatureFRE, PPC::FeatureFRES, PPC::FeatureFRSQRTE, PPC::FeatureFRSQRTES, PPC::FeatureRecipPrec, PPC::FeatureSTFIWX, PPC::FeatureLFIWAX, PPC::FeatureFPRND, PPC::FeatureFPCVT, PPC::FeatureISEL, PPC::FeaturePOPCNTD, PPC::FeatureCMPB, PPC::FeatureLDBRX, PPC::Feature64Bit, PPC::FeatureBPERMD, PPC::FeatureExtDiv, PPC::FeatureMFTB, PPC::DeprecatedDST, PPC::DirectivePwr8, PPC::FeatureP8Altivec, PPC::FeatureP8Vector, PPC::FeatureP8Crypto, PPC::FeatureHTM, PPC::FeatureDirectMove, PPC::FeatureICBT, PPC::FeaturePartwordAtomic, PPC::FeatureFusion, PPC::DirectivePwr9, PPC::FeatureP9Altivec, PPC::FeatureP9Vector, PPC::FeatureISA3_0 }, { } }
     186       72306 : };
     187             : 
     188             : #ifdef DBGFIELD
     189             : #error "<target>GenSubtargetInfo.inc requires a DBGFIELD macro"
     190             : #endif
     191             : #ifndef NDEBUG
     192             : #define DBGFIELD(x) x,
     193             : #else
     194             : #define DBGFIELD(x)
     195             : #endif
     196             : 
     197             : // Functional units for "PPC440Itineraries"
     198             : namespace PPC440ItinerariesFU {
     199             :   const unsigned P440_DISS1 = 1 << 0;
     200             :   const unsigned P440_DISS2 = 1 << 1;
     201             :   const unsigned P440_FRACC = 1 << 2;
     202             :   const unsigned P440_IRACC = 1 << 3;
     203             :   const unsigned P440_IEXE1 = 1 << 4;
     204             :   const unsigned P440_IEXE2 = 1 << 5;
     205             :   const unsigned P440_IWB = 1 << 6;
     206             :   const unsigned P440_LRACC = 1 << 7;
     207             :   const unsigned P440_JEXE1 = 1 << 8;
     208             :   const unsigned P440_JEXE2 = 1 << 9;
     209             :   const unsigned P440_JWB = 1 << 10;
     210             :   const unsigned P440_AGEN = 1 << 11;
     211             :   const unsigned P440_CRD = 1 << 12;
     212             :   const unsigned P440_LWB = 1 << 13;
     213             :   const unsigned P440_FEXE1 = 1 << 14;
     214             :   const unsigned P440_FEXE2 = 1 << 15;
     215             :   const unsigned P440_FEXE3 = 1 << 16;
     216             :   const unsigned P440_FEXE4 = 1 << 17;
     217             :   const unsigned P440_FEXE5 = 1 << 18;
     218             :   const unsigned P440_FEXE6 = 1 << 19;
     219             :   const unsigned P440_FWB = 1 << 20;
     220             :   const unsigned P440_LWARX_Hold = 1 << 21;
     221             : } // end namespace PPC440ItinerariesFU
     222             : 
     223             : // Pipeline forwarding pathes for itineraries "PPC440Itineraries"
     224             : namespace PPC440ItinerariesBypass {
     225             :   const unsigned NoBypass = 0;
     226             :   const unsigned P440_GPR_Bypass = 1 << 0;
     227             :   const unsigned P440_FPR_Bypass = 1 << 1;
     228             : } // end namespace PPC440ItinerariesBypass
     229             : 
     230             : // Functional units for "G3Itineraries"
     231             : namespace G3ItinerariesFU {
     232             :   const unsigned G3_IU1 = 1 << 0;
     233             :   const unsigned G3_IU2 = 1 << 1;
     234             :   const unsigned G3_FPU1 = 1 << 2;
     235             :   const unsigned G3_BPU = 1 << 3;
     236             :   const unsigned G3_SRU = 1 << 4;
     237             :   const unsigned G3_SLU = 1 << 5;
     238             : } // end namespace G3ItinerariesFU
     239             : 
     240             : // Functional units for "G4Itineraries"
     241             : namespace G4ItinerariesFU {
     242             :   const unsigned G4_IU1 = 1 << 0;
     243             :   const unsigned G4_IU2 = 1 << 1;
     244             :   const unsigned G4_SLU = 1 << 2;
     245             :   const unsigned G4_SRU = 1 << 3;
     246             :   const unsigned G4_BPU = 1 << 4;
     247             :   const unsigned G4_FPU1 = 1 << 5;
     248             :   const unsigned G4_VIU1 = 1 << 6;
     249             :   const unsigned G4_VIU2 = 1 << 7;
     250             :   const unsigned G4_VPU = 1 << 8;
     251             :   const unsigned G4_VFPU = 1 << 9;
     252             : } // end namespace G4ItinerariesFU
     253             : 
     254             : // Functional units for "G4PlusItineraries"
     255             : namespace G4PlusItinerariesFU {
     256             :   const unsigned G4P_IU1 = 1 << 0;
     257             :   const unsigned G4P_IU2 = 1 << 1;
     258             :   const unsigned G4P_IU3 = 1 << 2;
     259             :   const unsigned G4P_IU4 = 1 << 3;
     260             :   const unsigned G4P_BPU = 1 << 4;
     261             :   const unsigned G4P_SLU = 1 << 5;
     262             :   const unsigned G4P_FPU1 = 1 << 6;
     263             :   const unsigned G4P_VFPU = 1 << 7;
     264             :   const unsigned G4P_VIU1 = 1 << 8;
     265             :   const unsigned G4P_VIU2 = 1 << 9;
     266             :   const unsigned G4P_VPU = 1 << 10;
     267             : } // end namespace G4PlusItinerariesFU
     268             : 
     269             : // Functional units for "G5Itineraries"
     270             : namespace G5ItinerariesFU {
     271             :   const unsigned G5_IU1 = 1 << 0;
     272             :   const unsigned G5_IU2 = 1 << 1;
     273             :   const unsigned G5_SLU = 1 << 2;
     274             :   const unsigned G5_BPU = 1 << 3;
     275             :   const unsigned G5_FPU1 = 1 << 4;
     276             :   const unsigned G5_FPU2 = 1 << 5;
     277             :   const unsigned G5_VFPU = 1 << 6;
     278             :   const unsigned G5_VIU1 = 1 << 7;
     279             :   const unsigned G5_VIU2 = 1 << 8;
     280             :   const unsigned G5_VPU = 1 << 9;
     281             : } // end namespace G5ItinerariesFU
     282             : 
     283             : // Functional units for "PPCA2Itineraries"
     284             : namespace PPCA2ItinerariesFU {
     285             :   const unsigned A2_XU = 1 << 0;
     286             :   const unsigned A2_FU = 1 << 1;
     287             : } // end namespace PPCA2ItinerariesFU
     288             : 
     289             : // Functional units for "PPCE500mcItineraries"
     290             : namespace PPCE500mcItinerariesFU {
     291             :   const unsigned E500_DIS0 = 1 << 0;
     292             :   const unsigned E500_DIS1 = 1 << 1;
     293             :   const unsigned E500_SFX0 = 1 << 2;
     294             :   const unsigned E500_SFX1 = 1 << 3;
     295             :   const unsigned E500_BU = 1 << 4;
     296             :   const unsigned E500_CFX_DivBypass = 1 << 5;
     297             :   const unsigned E500_CFX_0 = 1 << 6;
     298             :   const unsigned E500_LSU_0 = 1 << 7;
     299             :   const unsigned E500_FPU_0 = 1 << 8;
     300             : } // end namespace PPCE500mcItinerariesFU
     301             : 
     302             : // Pipeline forwarding pathes for itineraries "PPCE500mcItineraries"
     303             : namespace PPCE500mcItinerariesBypass {
     304             :   const unsigned NoBypass = 0;
     305             :   const unsigned E500_CR_Bypass = 1 << 0;
     306             :   const unsigned E500_GPR_Bypass = 1 << 1;
     307             :   const unsigned E500_FPR_Bypass = 1 << 2;
     308             : } // end namespace PPCE500mcItinerariesBypass
     309             : 
     310             : // Functional units for "PPCE5500Itineraries"
     311             : namespace PPCE5500ItinerariesFU {
     312             :   const unsigned E5500_DIS0 = 1 << 0;
     313             :   const unsigned E5500_DIS1 = 1 << 1;
     314             :   const unsigned E5500_SFX0 = 1 << 2;
     315             :   const unsigned E5500_SFX1 = 1 << 3;
     316             :   const unsigned E5500_BU = 1 << 4;
     317             :   const unsigned E5500_CFX_DivBypass = 1 << 5;
     318             :   const unsigned E5500_CFX_0 = 1 << 6;
     319             :   const unsigned E5500_CFX_1 = 1 << 7;
     320             :   const unsigned E5500_LSU_0 = 1 << 8;
     321             :   const unsigned E5500_FPU_0 = 1 << 9;
     322             : } // end namespace PPCE5500ItinerariesFU
     323             : 
     324             : // Pipeline forwarding pathes for itineraries "PPCE5500Itineraries"
     325             : namespace PPCE5500ItinerariesBypass {
     326             :   const unsigned NoBypass = 0;
     327             :   const unsigned E5500_CR_Bypass = 1 << 0;
     328             :   const unsigned E5500_GPR_Bypass = 1 << 1;
     329             :   const unsigned E5500_FPR_Bypass = 1 << 2;
     330             : } // end namespace PPCE5500ItinerariesBypass
     331             : 
     332             : // Functional units for "P8Itineraries"
     333             : namespace P8ItinerariesFU {
     334             :   const unsigned P8_DU1 = 1 << 0;
     335             :   const unsigned P8_DU2 = 1 << 1;
     336             :   const unsigned P8_DU3 = 1 << 2;
     337             :   const unsigned P8_DU4 = 1 << 3;
     338             :   const unsigned P8_DU5 = 1 << 4;
     339             :   const unsigned P8_DU6 = 1 << 5;
     340             :   const unsigned P8_DU7 = 1 << 6;
     341             :   const unsigned P8_DU8 = 1 << 7;
     342             :   const unsigned P8_LU1 = 1 << 8;
     343             :   const unsigned P8_LU2 = 1 << 9;
     344             :   const unsigned P8_LSU1 = 1 << 10;
     345             :   const unsigned P8_LSU2 = 1 << 11;
     346             :   const unsigned P8_FXU1 = 1 << 12;
     347             :   const unsigned P8_FXU2 = 1 << 13;
     348             :   const unsigned P8_FPU1 = 1 << 14;
     349             :   const unsigned P8_FPU2 = 1 << 15;
     350             :   const unsigned P8_CRU = 1 << 16;
     351             :   const unsigned P8_BRU = 1 << 17;
     352             : } // end namespace P8ItinerariesFU
     353             : 
     354             : // Functional units for "P7Itineraries"
     355             : namespace P7ItinerariesFU {
     356             :   const unsigned P7_DU1 = 1 << 0;
     357             :   const unsigned P7_DU2 = 1 << 1;
     358             :   const unsigned P7_DU3 = 1 << 2;
     359             :   const unsigned P7_DU4 = 1 << 3;
     360             :   const unsigned P7_DU5 = 1 << 4;
     361             :   const unsigned P7_DU6 = 1 << 5;
     362             :   const unsigned P7_LS1 = 1 << 6;
     363             :   const unsigned P7_LS2 = 1 << 7;
     364             :   const unsigned P7_FX1 = 1 << 8;
     365             :   const unsigned P7_FX2 = 1 << 9;
     366             :   const unsigned P7_VS1 = 1 << 10;
     367             :   const unsigned P7_VS2 = 1 << 11;
     368             :   const unsigned P7_CRU = 1 << 12;
     369             :   const unsigned P7_BRU = 1 << 13;
     370             : } // end namespace P7ItinerariesFU
     371             : 
     372             : extern const llvm::InstrStage PPCStages[] = {
     373             :   { 0, 0, 0, llvm::InstrStage::Required }, // No itinerary
     374             :   { 1, PPC440ItinerariesFU::P440_DISS1 | PPC440ItinerariesFU::P440_DISS2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IRACC | PPC440ItinerariesFU::P440_LRACC, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IEXE1 | PPC440ItinerariesFU::P440_JEXE1, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IEXE2 | PPC440ItinerariesFU::P440_JEXE2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IWB | PPC440ItinerariesFU::P440_JWB, -1, (llvm::InstrStage::ReservationKinds)0 }, // 1-5
     375             :   { 1, PPC440ItinerariesFU::P440_DISS1 | PPC440ItinerariesFU::P440_DISS2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IRACC, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IEXE1, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IEXE2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IWB, -1, (llvm::InstrStage::ReservationKinds)0 }, // 6-10
     376             :   { 1, PPC440ItinerariesFU::P440_DISS1 | PPC440ItinerariesFU::P440_DISS2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_LRACC, -1, (llvm::InstrStage::ReservationKinds)0 },   { 3, PPC440ItinerariesFU::P440_AGEN, 1, (llvm::InstrStage::ReservationKinds)0 },   { 2, PPC440ItinerariesFU::P440_CRD, 1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_LWB, -1, (llvm::InstrStage::ReservationKinds)0 }, // 11-15
     377             :   { 1, PPC440ItinerariesFU::P440_DISS1 | PPC440ItinerariesFU::P440_DISS2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_LRACC, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_AGEN, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_CRD, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_LWB, -1, (llvm::InstrStage::ReservationKinds)0 }, // 16-20
     378             :   { 1, PPC440ItinerariesFU::P440_DISS1 | PPC440ItinerariesFU::P440_DISS2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_LRACC, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_AGEN, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_CRD, -1, (llvm::InstrStage::ReservationKinds)0 },   { 2, PPC440ItinerariesFU::P440_LWB, -1, (llvm::InstrStage::ReservationKinds)0 }, // 21-25
     379             :   { 1, PPC440ItinerariesFU::P440_DISS1 | PPC440ItinerariesFU::P440_DISS2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IRACC, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IEXE1, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IEXE2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 33, PPC440ItinerariesFU::P440_IWB, -1, (llvm::InstrStage::ReservationKinds)0 }, // 26-30
     380             :   { 1, PPC440ItinerariesFU::P440_DISS1 | PPC440ItinerariesFU::P440_DISS2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FRACC, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE1, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE3, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE4, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE5, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE6, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FWB, -1, (llvm::InstrStage::ReservationKinds)0 }, // 31-39
     381             :   { 1, PPC440ItinerariesFU::P440_DISS1 | PPC440ItinerariesFU::P440_DISS2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FRACC, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE1, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE3, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE4, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE5, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE6, -1, (llvm::InstrStage::ReservationKinds)0 },   { 25, PPC440ItinerariesFU::P440_FWB, -1, (llvm::InstrStage::ReservationKinds)0 }, // 40-48
     382             :   { 1, PPC440ItinerariesFU::P440_DISS1 | PPC440ItinerariesFU::P440_DISS2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FRACC, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE1, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE3, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE4, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE5, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE6, -1, (llvm::InstrStage::ReservationKinds)0 },   { 13, PPC440ItinerariesFU::P440_FWB, -1, (llvm::InstrStage::ReservationKinds)0 }, // 49-57
     383             :   { 1, PPC440ItinerariesFU::P440_DISS1 | PPC440ItinerariesFU::P440_DISS2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FRACC, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_LRACC, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IRACC, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_AGEN, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_JEXE1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IEXE1, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_FEXE2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_CRD, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_JEXE2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IEXE2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 6, PPC440ItinerariesFU::P440_FEXE3, 0, (llvm::InstrStage::ReservationKinds)0 },   { 6, PPC440ItinerariesFU::P440_LWB, 0, (llvm::InstrStage::ReservationKinds)0 },   { 6, PPC440ItinerariesFU::P440_JWB, 0, (llvm::InstrStage::ReservationKinds)0 },   { 6, PPC440ItinerariesFU::P440_IWB, -1, (llvm::InstrStage::ReservationKinds)0 }, // 58-73
     384             :   { 1, PPC440ItinerariesFU::P440_DISS1, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IRACC, 0, (llvm::InstrStage::ReservationKinds)0 },   { 4, PPC440ItinerariesFU::P440_LWARX_Hold, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_LRACC, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_AGEN, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_CRD, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_LWB, -1, (llvm::InstrStage::ReservationKinds)0 }, // 74-80
     385             :   { 1, PPC440ItinerariesFU::P440_DISS1 | PPC440ItinerariesFU::P440_DISS2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IRACC, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IEXE1, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPC440ItinerariesFU::P440_IEXE2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 3, PPC440ItinerariesFU::P440_IWB, -1, (llvm::InstrStage::ReservationKinds)0 }, // 81-85
     386             :   { 1, G3ItinerariesFU::G3_IU1 | G3ItinerariesFU::G3_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 86
     387             :   { 1, G3ItinerariesFU::G3_BPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 87
     388             :   { 3, G3ItinerariesFU::G3_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 88
     389             :   { 1, G3ItinerariesFU::G3_SRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 89
     390             :   { 2, G3ItinerariesFU::G3_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 90
     391             :   { 19, G3ItinerariesFU::G3_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 91
     392             :   { 1, G3ItinerariesFU::G3_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 92
     393             :   { 31, G3ItinerariesFU::G3_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 93
     394             :   { 17, G3ItinerariesFU::G3_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 94
     395             :   { 2, G3ItinerariesFU::G3_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 95
     396             :   { 2, G3ItinerariesFU::G3_SRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 96
     397             :   { 34, G3ItinerariesFU::G3_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 97
     398             :   { 3, G3ItinerariesFU::G3_SRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 98
     399             :   { 3, G3ItinerariesFU::G3_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 99
     400             :   { 5, G3ItinerariesFU::G3_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 100
     401             :   { 6, G3ItinerariesFU::G3_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 101
     402             :   { 3, G3ItinerariesFU::G3_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 102
     403             :   { 8, G3ItinerariesFU::G3_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 103
     404             :   { 2, G3ItinerariesFU::G3_IU1 | G3ItinerariesFU::G3_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 104
     405             :   { 1, G4ItinerariesFU::G4_IU1 | G4ItinerariesFU::G4_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 105
     406             :   { 1, G4ItinerariesFU::G4_BPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 106
     407             :   { 4, G4ItinerariesFU::G4_VFPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 107
     408             :   { 8, G4ItinerariesFU::G4_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 108
     409             :   { 1, G4ItinerariesFU::G4_SRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 109
     410             :   { 2, G4ItinerariesFU::G4_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 110
     411             :   { 19, G4ItinerariesFU::G4_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 111
     412             :   { 1, G4ItinerariesFU::G4_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 112
     413             :   { 31, G4ItinerariesFU::G4_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 113
     414             :   { 17, G4ItinerariesFU::G4_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 114
     415             :   { 2, G4ItinerariesFU::G4_SRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 115
     416             :   { 3, G4ItinerariesFU::G4_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 116
     417             :   { 34, G4ItinerariesFU::G4_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 117
     418             :   { 3, G4ItinerariesFU::G4_SRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 118
     419             :   { 3, G4ItinerariesFU::G4_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 119
     420             :   { 1, G4ItinerariesFU::G4_VIU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 120
     421             :   { 5, G4ItinerariesFU::G4_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 121
     422             :   { 6, G4ItinerariesFU::G4_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 122
     423             :   { 3, G4ItinerariesFU::G4_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 123
     424             :   { 1, G4ItinerariesFU::G4_VPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 124
     425             :   { 5, G4ItinerariesFU::G4_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 125
     426             :   { 8, G4ItinerariesFU::G4_SRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 126
     427             :   { 2, G4ItinerariesFU::G4_IU1 | G4ItinerariesFU::G4_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 127
     428             :   { 1, G4PlusItinerariesFU::G4P_IU1 | G4PlusItinerariesFU::G4P_IU2 | G4PlusItinerariesFU::G4P_IU3 | G4PlusItinerariesFU::G4P_IU4, -1, (llvm::InstrStage::ReservationKinds)0 }, // 128
     429             :   { 1, G4PlusItinerariesFU::G4P_BPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 129
     430             :   { 4, G4PlusItinerariesFU::G4P_VFPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 130
     431             :   { 35, G4PlusItinerariesFU::G4P_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 131
     432             :   { 2, G4PlusItinerariesFU::G4P_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 132
     433             :   { 3, G4PlusItinerariesFU::G4P_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 133
     434             :   { 23, G4PlusItinerariesFU::G4P_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 134
     435             :   { 5, G4PlusItinerariesFU::G4P_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 135
     436             :   { 35, G4PlusItinerariesFU::G4P_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 136
     437             :   { 21, G4PlusItinerariesFU::G4P_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 137
     438             :   { 3, G4PlusItinerariesFU::G4P_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 138
     439             :   { 0, G4PlusItinerariesFU::G4P_IU1 | G4PlusItinerariesFU::G4P_IU2 | G4PlusItinerariesFU::G4P_IU3 | G4PlusItinerariesFU::G4P_IU4, -1, (llvm::InstrStage::ReservationKinds)0 }, // 139
     440             :   { 4, G4PlusItinerariesFU::G4P_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 140
     441             :   { 37, G4PlusItinerariesFU::G4P_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 141
     442             :   { 4, G4PlusItinerariesFU::G4P_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 142
     443             :   { 5, G4PlusItinerariesFU::G4P_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 143
     444             :   { 1, G4PlusItinerariesFU::G4P_VIU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 144
     445             :   { 2, G4PlusItinerariesFU::G4P_VPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 145
     446             :   { 2, G4PlusItinerariesFU::G4P_IU1 | G4PlusItinerariesFU::G4P_IU2 | G4PlusItinerariesFU::G4P_IU3 | G4PlusItinerariesFU::G4P_IU4, -1, (llvm::InstrStage::ReservationKinds)0 }, // 146
     447             :   { 2, G4PlusItinerariesFU::G4P_VFPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 147
     448             :   { 2, G5ItinerariesFU::G5_IU1 | G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 148
     449             :   { 1, G5ItinerariesFU::G5_BPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 149
     450             :   { 8, G5ItinerariesFU::G5_VFPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 150
     451             :   { 35, G5ItinerariesFU::G5_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 151
     452             :   { 3, G5ItinerariesFU::G5_IU1 | G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 152
     453             :   { 4, G5ItinerariesFU::G5_BPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 153
     454             :   { 3, G5ItinerariesFU::G5_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 154
     455             :   { 68, G5ItinerariesFU::G5_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 155
     456             :   { 36, G5ItinerariesFU::G5_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 156
     457             :   { 6, G5ItinerariesFU::G5_FPU1 | G5ItinerariesFU::G5_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 157
     458             :   { 8, G5ItinerariesFU::G5_FPU1 | G5ItinerariesFU::G5_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 158
     459             :   { 33, G5ItinerariesFU::G5_FPU1 | G5ItinerariesFU::G5_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 159
     460             :   { 40, G5ItinerariesFU::G5_FPU1 | G5ItinerariesFU::G5_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 160
     461             :   { 40, G5ItinerariesFU::G5_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 161
     462             :   { 11, G5ItinerariesFU::G5_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 162
     463             :   { 5, G5ItinerariesFU::G5_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 163
     464             :   { 64, G5ItinerariesFU::G5_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 164
     465             :   { 2, G5ItinerariesFU::G5_BPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 165
     466             :   { 3, G5ItinerariesFU::G5_BPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 166
     467             :   { 2, G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 167
     468             :   { 3, G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 168
     469             :   { 6, G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 169
     470             :   { 10, G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 170
     471             :   { 2, G5ItinerariesFU::G5_VIU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 171
     472             :   { 8, G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 172
     473             :   { 5, G5ItinerariesFU::G5_IU1 | G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 173
     474             :   { 7, G5ItinerariesFU::G5_IU1 | G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 174
     475             :   { 4, G5ItinerariesFU::G5_IU1 | G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 175
     476             :   { 3, G5ItinerariesFU::G5_VPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 176
     477             :   { 4, G5ItinerariesFU::G5_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 177
     478             :   { 1, G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 178
     479             :   { 1, G5ItinerariesFU::G5_IU1 | G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 179
     480             :   { 2, G5ItinerariesFU::G5_VFPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 180
     481             :   { 1, PPCA2ItinerariesFU::A2_XU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 181
     482             :   { 1, PPCA2ItinerariesFU::A2_FU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 182
     483             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE500mcItinerariesFU::E500_SFX0 | PPCE500mcItinerariesFU::E500_SFX1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 183-184
     484             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE500mcItinerariesFU::E500_BU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 185-186
     485             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE500mcItinerariesFU::E500_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 187-188
     486             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE500mcItinerariesFU::E500_CFX_0, 0, (llvm::InstrStage::ReservationKinds)0 },   { 14, PPCE500mcItinerariesFU::E500_CFX_DivBypass, -1, (llvm::InstrStage::ReservationKinds)0 }, // 189-191
     487             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 2, PPCE500mcItinerariesFU::E500_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 192-193
     488             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 4, PPCE500mcItinerariesFU::E500_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 194-195
     489             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 68, PPCE500mcItinerariesFU::E500_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 196-197
     490             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 38, PPCE500mcItinerariesFU::E500_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 198-199
     491             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 3, PPCE500mcItinerariesFU::E500_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 200-201
     492             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE500mcItinerariesFU::E500_SFX0 | PPCE500mcItinerariesFU::E500_SFX1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE500mcItinerariesFU::E500_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 202-204
     493             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 5, PPCE500mcItinerariesFU::E500_SFX0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 205-206
     494             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 8, PPCE500mcItinerariesFU::E500_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 207-208
     495             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 4, PPCE500mcItinerariesFU::E500_SFX0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 209-210
     496             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 2, PPCE500mcItinerariesFU::E500_SFX0 | PPCE500mcItinerariesFU::E500_SFX1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 211-212
     497             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE500mcItinerariesFU::E500_SFX0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 213-214
     498             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE500mcItinerariesFU::E500_CFX_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 215-216
     499             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE500mcItinerariesFU::E500_LSU_0, 0, (llvm::InstrStage::ReservationKinds)0 }, // 217-218
     500             :   { 1, PPCE500mcItinerariesFU::E500_DIS0 | PPCE500mcItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 2, PPCE500mcItinerariesFU::E500_SFX0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 219-220
     501             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE5500ItinerariesFU::E5500_SFX0 | PPCE5500ItinerariesFU::E5500_SFX1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 221-222
     502             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE5500ItinerariesFU::E5500_BU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 223-224
     503             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE5500ItinerariesFU::E5500_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 225-226
     504             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE5500ItinerariesFU::E5500_CFX_0, 0, (llvm::InstrStage::ReservationKinds)0 },   { 26, PPCE5500ItinerariesFU::E5500_CFX_DivBypass, -1, (llvm::InstrStage::ReservationKinds)0 }, // 227-229
     505             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE5500ItinerariesFU::E5500_CFX_0, 0, (llvm::InstrStage::ReservationKinds)0 },   { 16, PPCE5500ItinerariesFU::E5500_CFX_DivBypass, -1, (llvm::InstrStage::ReservationKinds)0 }, // 230-232
     506             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE5500ItinerariesFU::E5500_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 233-234
     507             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 31, PPCE5500ItinerariesFU::E5500_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 235-236
     508             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 16, PPCE5500ItinerariesFU::E5500_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 237-238
     509             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 3, PPCE5500ItinerariesFU::E5500_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 239-240
     510             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE5500ItinerariesFU::E5500_SFX0 | PPCE5500ItinerariesFU::E5500_SFX1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE5500ItinerariesFU::E5500_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 241-243
     511             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 4, PPCE5500ItinerariesFU::E5500_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 244-245
     512             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE5500ItinerariesFU::E5500_CFX_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 246-247
     513             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 5, PPCE5500ItinerariesFU::E5500_CFX_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 248-249
     514             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 4, PPCE5500ItinerariesFU::E5500_CFX_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 250-251
     515             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 7, PPCE5500ItinerariesFU::E5500_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 252-253
     516             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 2, PPCE5500ItinerariesFU::E5500_CFX_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 254-255
     517             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE5500ItinerariesFU::E5500_CFX_0, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE5500ItinerariesFU::E5500_CFX_1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 256-258
     518             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE5500ItinerariesFU::E5500_CFX_0, 0, (llvm::InstrStage::ReservationKinds)0 },   { 2, PPCE5500ItinerariesFU::E5500_CFX_1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 259-261
     519             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 2, PPCE5500ItinerariesFU::E5500_SFX0 | PPCE5500ItinerariesFU::E5500_SFX1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 262-263
     520             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, PPCE5500ItinerariesFU::E5500_LSU_0, 0, (llvm::InstrStage::ReservationKinds)0 }, // 264-265
     521             :   { 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 2, PPCE5500ItinerariesFU::E5500_SFX0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 266-267
     522             :   { 1, P8ItinerariesFU::P8_DU1 | P8ItinerariesFU::P8_DU2 | P8ItinerariesFU::P8_DU3 | P8ItinerariesFU::P8_DU4 | P8ItinerariesFU::P8_DU5 | P8ItinerariesFU::P8_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2 | P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2 | P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 268-269
     523             :   { 1, P8ItinerariesFU::P8_DU7 | P8ItinerariesFU::P8_DU8, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_BRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 270-271
     524             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FPU1 | P8ItinerariesFU::P8_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 272-273
     525             :   { 1, P8ItinerariesFU::P8_DU1 | P8ItinerariesFU::P8_DU2 | P8ItinerariesFU::P8_DU3 | P8ItinerariesFU::P8_DU4 | P8ItinerariesFU::P8_DU5 | P8ItinerariesFU::P8_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 274-275
     526             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_CRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 276-277
     527             :   { 1, P8ItinerariesFU::P8_DU1 | P8ItinerariesFU::P8_DU2 | P8ItinerariesFU::P8_DU3 | P8ItinerariesFU::P8_DU4 | P8ItinerariesFU::P8_DU5 | P8ItinerariesFU::P8_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2 | P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 278-279
     528             :   { 1, P8ItinerariesFU::P8_DU1 | P8ItinerariesFU::P8_DU2 | P8ItinerariesFU::P8_DU3 | P8ItinerariesFU::P8_DU4 | P8ItinerariesFU::P8_DU5 | P8ItinerariesFU::P8_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 23, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 280-281
     529             :   { 1, P8ItinerariesFU::P8_DU1 | P8ItinerariesFU::P8_DU2 | P8ItinerariesFU::P8_DU3 | P8ItinerariesFU::P8_DU4 | P8ItinerariesFU::P8_DU5 | P8ItinerariesFU::P8_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 15, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 282-283
     530             :   { 1, P8ItinerariesFU::P8_DU1 | P8ItinerariesFU::P8_DU2 | P8ItinerariesFU::P8_DU3 | P8ItinerariesFU::P8_DU4 | P8ItinerariesFU::P8_DU5 | P8ItinerariesFU::P8_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FPU1 | P8ItinerariesFU::P8_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 284-285
     531             :   { 1, P8ItinerariesFU::P8_DU1 | P8ItinerariesFU::P8_DU2 | P8ItinerariesFU::P8_DU3 | P8ItinerariesFU::P8_DU4 | P8ItinerariesFU::P8_DU5 | P8ItinerariesFU::P8_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 286-288
     532             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_BRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 289-291
     533             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU3, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2 | P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 292-296
     534             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2 | P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 297-300
     535             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU3, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU5, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2 | P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 301-307
     536             :   { 1, P8ItinerariesFU::P8_DU1 | P8ItinerariesFU::P8_DU2 | P8ItinerariesFU::P8_DU3 | P8ItinerariesFU::P8_DU4 | P8ItinerariesFU::P8_DU5 | P8ItinerariesFU::P8_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 308-309
     537             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 310-313
     538             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2 | P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2 | P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 314-317
     539             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2 | P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 318-322
     540             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU3, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU5, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2 | P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 323-331
     541             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2 | P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 332-335
     542             :   { 1, P8ItinerariesFU::P8_DU1 | P8ItinerariesFU::P8_DU2 | P8ItinerariesFU::P8_DU3 | P8ItinerariesFU::P8_DU4 | P8ItinerariesFU::P8_DU5 | P8ItinerariesFU::P8_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_CRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 336-337
     543             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 338-339
     544             :   { 1, P8ItinerariesFU::P8_DU1 | P8ItinerariesFU::P8_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FPU1 | P8ItinerariesFU::P8_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 340-341
     545             :   { 1, P8ItinerariesFU::P8_DU1 | P8ItinerariesFU::P8_DU2 | P8ItinerariesFU::P8_DU3 | P8ItinerariesFU::P8_DU4 | P8ItinerariesFU::P8_DU5 | P8ItinerariesFU::P8_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FPU1 | P8ItinerariesFU::P8_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 342-344
     546             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FPU1 | P8ItinerariesFU::P8_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 345-349
     547             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU3, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU5, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 350-357
     548             :   { 1, P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2 | P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2 | P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2 | P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 358-360
     549             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LU1 | P8ItinerariesFU::P8_LU2 | P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 361-364
     550             :   { 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU3, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU5, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_LSU1 | P8ItinerariesFU::P8_LSU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 365-373
     551             :   { 1, P7ItinerariesFU::P7_DU1 | P7ItinerariesFU::P7_DU2 | P7ItinerariesFU::P7_DU3 | P7ItinerariesFU::P7_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2 | P7ItinerariesFU::P7_LS1 | P7ItinerariesFU::P7_LS2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 374-375
     552             :   { 1, P7ItinerariesFU::P7_DU1 | P7ItinerariesFU::P7_DU2 | P7ItinerariesFU::P7_DU3 | P7ItinerariesFU::P7_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 376-377
     553             :   { 1, P7ItinerariesFU::P7_DU5 | P7ItinerariesFU::P7_DU6, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_BRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 378-379
     554             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_VS1 | P7ItinerariesFU::P7_VS2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 380-381
     555             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_CRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 382-383
     556             :   { 1, P7ItinerariesFU::P7_DU1 | P7ItinerariesFU::P7_DU2 | P7ItinerariesFU::P7_DU3 | P7ItinerariesFU::P7_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_LS1 | P7ItinerariesFU::P7_LS2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 384-385
     557             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 68, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 386-388
     558             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 36, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 389-391
     559             :   { 1, P7ItinerariesFU::P7_DU1 | P7ItinerariesFU::P7_DU2 | P7ItinerariesFU::P7_DU3 | P7ItinerariesFU::P7_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_VS1 | P7ItinerariesFU::P7_VS2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 392-393
     560             :   { 1, P7ItinerariesFU::P7_DU1 | P7ItinerariesFU::P7_DU2 | P7ItinerariesFU::P7_DU3 | P7ItinerariesFU::P7_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_LS1 | P7ItinerariesFU::P7_LS2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 394-396
     561             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_BRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 397-399
     562             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU3, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_LS1 | P7ItinerariesFU::P7_LS2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 400-404
     563             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_LS1 | P7ItinerariesFU::P7_LS2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 405-408
     564             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU3, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_LS1 | P7ItinerariesFU::P7_LS2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 409-415
     565             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_LS1 | P7ItinerariesFU::P7_LS2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 416-419
     566             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_LS1 | P7ItinerariesFU::P7_LS2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 420-424
     567             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU3, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_LS1 | P7ItinerariesFU::P7_LS2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 425-432
     568             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU3, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_CRU, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 433-438
     569             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_VS1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 439-440
     570             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 441-442
     571             :   { 1, P7ItinerariesFU::P7_DU1 | P7ItinerariesFU::P7_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_VS2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 443-444
     572             :   { 1, P7ItinerariesFU::P7_DU1 | P7ItinerariesFU::P7_DU2 | P7ItinerariesFU::P7_DU3 | P7ItinerariesFU::P7_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_LS1 | P7ItinerariesFU::P7_LS2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_VS1 | P7ItinerariesFU::P7_VS2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 445-447
     573             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_LS1 | P7ItinerariesFU::P7_LS2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_VS1 | P7ItinerariesFU::P7_VS2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 448-452
     574             :   { 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU3, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_DU4, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_LS1 | P7ItinerariesFU::P7_LS2, 0, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 },   { 1, P7ItinerariesFU::P7_FX1 | P7ItinerariesFU::P7_FX2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 453-459
     575             :   { 0, 0, 0, llvm::InstrStage::Required } // End stages
     576             : };
     577             : extern const unsigned PPCOperandCycles[] = {
     578             :   0, // No itinerary
     579             :   2,   0,   0, // 1-3
     580             :   2,   0,   0, // 4-6
     581             :   4,   0, // 7-8
     582             :   2,   0,   0, // 9-11
     583             :   4,   0,   0, // 12-14
     584             :   1,   1, // 15-16
     585             :   5,   1,   1, // 17-19
     586             :   36,   0,   0, // 20-22
     587             :   6,   0,   0, // 23-25
     588             :   6,   0,   0, // 26-28
     589             :   6,   0,   0, // 29-31
     590             :   31,   0,   0, // 32-34
     591             :   19,   0,   0, // 35-37
     592             :   6,   0,   0,   0, // 38-41
     593             :   4,   1,   1, // 42-44
     594             :   1,   1,   1, // 45-47
     595             :   2,   0,   0,   0, // 48-51
     596             :   4,   1,   1, // 52-54
     597             :   5,   2,   1,   1, // 55-58
     598             :   5,   2,   1,   1, // 59-62
     599             :   5,   1,   1, // 63-65
     600             :   5,   2,   1,   1, // 66-69
     601             :   5,   2,   1,   1, // 70-73
     602             :   4,   1,   1, // 74-76
     603             :   4,   1,   1, // 77-79
     604             :   4,   1,   1, // 80-82
     605             :   4,   1,   1, // 83-85
     606             :   4,   0,   0, // 86-88
     607             :   4,   0,   0, // 89-91
     608             :   4,   0, // 92-93
     609             :   6,   0, // 94-95
     610             :   3,   0,   0, // 96-98
     611             :   3,   0, // 99-100
     612             :   2,   0, // 101-102
     613             :   6,   0, // 103-104
     614             :   6,   0, // 105-106
     615             :   3,   0,   0, // 107-109
     616             :   2,   0, // 110-111
     617             :   5,   0, // 112-113
     618             :   4,   0,   0, // 114-116
     619             :   4,   0,   0, // 117-119
     620             :   4,   0,   0, // 120-122
     621             :   1,   1,   1, // 123-125
     622             :   2,   1,   1,   1, // 126-129
     623             :   4,   0, // 130-131
     624             :   2,   0,   0, // 132-134
     625             :   2,   0,   0, // 135-137
     626             :   4,   1,   1, // 138-140
     627             :   2,   1,   1,   1, // 141-144
     628             :   4,   1,   1, // 145-147
     629             :   4,   1,   1, // 148-150
     630             :   2,   1,   1,   1, // 151-154
     631             :   2,   1,   1,   1, // 155-158
     632             :   2,   0, // 159-160
     633             :   6,   0,   0, // 161-163
     634             :   6,   0,   0, // 164-166
     635             :   5,   1,   1, // 167-169
     636             :   5,   1,   1, // 170-172
     637             :   5,   1,   1, // 173-175
     638             :   5,   1,   1, // 176-178
     639             :   5,   1,   1, // 179-181
     640             :   1,   1,   1, // 182-184
     641             :   1,   1,   1, // 185-187
     642             :   36,   0,   0, // 188-190
     643             :   36,   0,   0, // 191-193
     644             :   36,   0,   0, // 194-196
     645             :   4,   0,   0, // 197-199
     646             :   4,   0,   0, // 200-202
     647             :   4,   0,   0, // 203-205
     648             :   4,   0,   0, // 206-208
     649             :   31,   0,   0, // 209-211
     650             :   19,   0,   0, // 212-214
     651             :   19,   0,   0, // 215-217
     652             :   31,   0,   0, // 218-220
     653             :   6,   0,   0, // 221-223
     654             :   6,   0,   0,   0, // 224-227
     655             :   6,   0,   0, // 228-230
     656             :   6,   0,   0, // 231-233
     657             :   5,   2,   1,   1, // 234-237
     658             :   5,   2,   1,   1, // 238-241
     659             :   5,   2,   1,   1, // 242-245
     660             :   5,   2,   1,   1, // 246-249
     661             :   1,   0,   0, // 250-252
     662             :   2,   0,   0, // 253-255
     663             :   6,   0,   0, // 256-258
     664             :   6, // 259
     665             :   2,   0,   0, // 260-262
     666             :   1,   0,   0, // 263-265
     667             :   1,   0,   0, // 266-268
     668             :   6,   0,   0, // 269-271
     669             :   71,   0,   0, // 272-274
     670             :   39,   0,   0, // 275-277
     671             :   2,   0,   0, // 278-280
     672             :   6,   0,   0, // 281-283
     673             :   6,   0,   0, // 284-286
     674             :   5,   0,   0, // 287-289
     675             :   72,   0,   0, // 290-292
     676             :   59,   0,   0, // 293-295
     677             :   6,   0,   0,   0, // 296-299
     678             :   69,   0,   0, // 300-302
     679             :   65,   0,   0, // 303-305
     680             :   16,   0,   0, // 306-308
     681             :   0,   0,   0, // 309-311
     682             :   2,   0,   0,   0, // 312-315
     683             :   16, // 316
     684             :   82,   0,   0, // 317-319
     685             :   6,   8,   0,   0, // 320-323
     686             :   6,   8,   0,   0, // 324-327
     687             :   6,   0,   0, // 328-330
     688             :   6,   0,   0, // 331-333
     689             :   7,   0,   0, // 334-336
     690             :   7,   9,   0,   0, // 337-340
     691             :   7,   9,   0,   0, // 341-344
     692             :   6,   0,   0, // 345-347
     693             :   6,   8,   0,   0, // 348-351
     694             :   6,   8,   0,   0, // 352-355
     695             :   5,   0,   0, // 356-358
     696             :   1,   0,   0, // 359-361
     697             :   6,   0, // 362-363
     698             :   6,   0, // 364-365
     699             :   4,   0, // 366-367
     700             :   1,   0, // 368-369
     701             :   4,   0, // 370-371
     702             :   6,   0, // 372-373
     703             :   16,   0, // 374-375
     704             :   5,   0,   0, // 376-378
     705             :   5,   0,   0, // 379-381
     706             :   6,   0,   0, // 382-384
     707             :   0,   0,   0, // 385-387
     708             :   2,   0,   0,   0, // 388-391
     709             :   16, // 392
     710             :   2,   0,   0, // 393-395
     711             :   2,   0,   0, // 396-398
     712             :   2,   0,   0, // 399-401
     713             :   82,   0,   0, // 402-404
     714             :   2,   0,   0,   0, // 405-408
     715             :   0,   0,   0, // 409-411
     716             :   82,   0,   0, // 412-414
     717             :   2,   0,   0,   0, // 415-418
     718             :   2,   0,   0,   0, // 419-422
     719             :   2,   0, // 423-424
     720             :   2,   0, // 425-426
     721             :   5,   0,   0, // 427-429
     722             :   5,   0,   0, // 430-432
     723             :   7,   0,   0, // 433-435
     724             :   7,   0,   0, // 436-438
     725             :   7,   0,   0, // 439-441
     726             :   7,   0,   0, // 442-444
     727             :   7,   0,   0, // 445-447
     728             :   0,   0,   0, // 448-450
     729             :   0,   0,   0, // 451-453
     730             :   39,   0,   0, // 454-456
     731             :   39,   0,   0, // 457-459
     732             :   71,   0,   0, // 460-462
     733             :   71,   0,   0, // 463-465
     734             :   39,   0,   0, // 466-468
     735             :   71,   0,   0, // 469-471
     736             :   2,   0,   0, // 472-474
     737             :   2,   0,   0, // 475-477
     738             :   2,   0,   0, // 478-480
     739             :   2,   0,   0, // 481-483
     740             :   1,   0,   0, // 484-486
     741             :   5,   0,   0, // 487-489
     742             :   1,   0,   0, // 490-492
     743             :   5,   0,   0, // 493-495
     744             :   72,   0,   0, // 496-498
     745             :   59,   0,   0, // 499-501
     746             :   59,   0,   0, // 502-504
     747             :   72,   0,   0, // 505-507
     748             :   6,   0,   0, // 508-510
     749             :   6,   0,   0,   0, // 511-514
     750             :   6,   0,   0, // 515-517
     751             :   5,   0,   0, // 518-520
     752             :   7,   9,   0,   0, // 521-524
     753             :   7,   9,   0,   0, // 525-528
     754             :   7,   9,   0,   0, // 529-532
     755             :   7,   9,   0,   0, // 533-536
     756             :   4,   1,   1, // 537-539
     757             :   4,   1,   1, // 540-542
     758             :   4,   1, // 543-544
     759             :   5,   1,   1, // 545-547
     760             :   4,   1,   1, // 548-550
     761             :   6,   1, // 551-552
     762             :   6,   1, // 553-554
     763             :   17,   1,   1, // 555-557
     764             :   11,   1,   1, // 558-560
     765             :   13,   1,   1, // 561-563
     766             :   11,   1,   1, // 564-566
     767             :   71,   1,   1, // 567-569
     768             :   41,   1,   1, // 570-572
     769             :   13,   1,   1,   1, // 573-576
     770             :   6,   1, // 577-578
     771             :   6,   1, // 579-580
     772             :   4,   1,   1,   1, // 581-584
     773             :   6,   1,   1, // 585-587
     774             :   6,   1, // 588-589
     775             :   6,   1, // 590-591
     776             :   7,   1,   1, // 592-594
     777             :   7,   1,   1, // 595-597
     778             :   7,   1,   1, // 598-600
     779             :   6,   1, // 601-602
     780             :   6,   1, // 603-604
     781             :   6,   1, // 605-606
     782             :   7,   1, // 607-608
     783             :   4,   1, // 609-610
     784             :   4,   1,   1, // 611-613
     785             :   8,   1, // 614-615
     786             :   4,   1, // 616-617
     787             :   11, // 618
     788             :   7,   1, // 619-620
     789             :   8,   1, // 621-622
     790             :   7,   1, // 623-624
     791             :   7,   1, // 625-626
     792             :   7,   1, // 627-628
     793             :   4,   1, // 629-630
     794             :   11,   1,   1, // 631-633
     795             :   5,   1, // 634-635
     796             :   4,   1, // 636-637
     797             :   5,   1, // 638-639
     798             :   7,   1,   1, // 640-642
     799             :   7,   1,   1, // 643-645
     800             :   7,   1,   1, // 646-648
     801             :   6,   1,   1, // 649-651
     802             :   6,   1,   1, // 652-654
     803             :   4,   1,   1, // 655-657
     804             :   4,   1,   1, // 658-660
     805             :   6,   1, // 661-662
     806             :   6,   1, // 663-664
     807             :   5,   1, // 665-666
     808             :   11,   1,   1, // 667-669
     809             :   11,   1,   1, // 670-672
     810             :   7,   1,   1, // 673-675
     811             :   7,   1,   1, // 676-678
     812             :   7,   1,   1, // 679-681
     813             :   7,   1,   1, // 682-684
     814             :   7,   1,   1, // 685-687
     815             :   6,   1,   1, // 688-690
     816             :   6,   1,   1, // 691-693
     817             :   17,   1,   1, // 694-696
     818             :   17,   1,   1, // 697-699
     819             :   17,   1,   1, // 700-702
     820             :   4,   1,   1, // 703-705
     821             :   4,   1, // 706-707
     822             :   4,   1,   1, // 708-710
     823             :   4,   1, // 711-712
     824             :   71,   1,   1, // 713-715
     825             :   41,   1,   1, // 716-718
     826             :   41,   1,   1, // 719-721
     827             :   71,   1,   1, // 722-724
     828             :   11,   1,   1, // 725-727
     829             :   13,   1,   1,   1, // 728-731
     830             :   11,   1,   1, // 732-734
     831             :   11,   1,   1, // 735-737
     832             :   7,   1,   1, // 738-740
     833             :   7,   1,   1, // 741-743
     834             :   7,   1,   1, // 744-746
     835             :   7,   1,   1, // 747-749
     836             :   5,   2,   2, // 750-752
     837             :   5,   2,   2, // 753-755
     838             :   5,   2, // 756-757
     839             :   6,   2,   2, // 758-760
     840             :   5,   2,   2, // 761-763
     841             :   7,   2, // 764-765
     842             :   7,   2, // 766-767
     843             :   30,   2,   2, // 768-770
     844             :   20,   2,   2, // 771-773
     845             :   5,   2,   2, // 774-776
     846             :   11,   2,   2, // 777-779
     847             :   11,   2,   2, // 780-782
     848             :   11,   2,   2, // 783-785
     849             :   39,   2,   2, // 786-788
     850             :   24,   2,   2, // 789-791
     851             :   11,   2,   2,   2, // 792-795
     852             :   7,   2, // 796-797
     853             :   7,   2, // 798-799
     854             :   5,   2,   2,   2, // 800-803
     855             :   7,   2,   2, // 804-806
     856             :   7,   2, // 807-808
     857             :   7,   2, // 809-810
     858             :   7,   2, // 811-812
     859             :   7,   2, // 813-814
     860             :   7,   2, // 815-816
     861             :   7,   2, // 817-818
     862             :   8,   2,   2, // 819-821
     863             :   8,   2,   2, // 822-824
     864             :   8,   2,   2, // 825-827
     865             :   7,   2, // 828-829
     866             :   7,   2, // 830-831
     867             :   7,   2, // 832-833
     868             :   8,   2, // 834-835
     869             :   5,   2, // 836-837
     870             :   5,   2,   2, // 838-840
     871             :   9,   2, // 841-842
     872             :   5, // 843
     873             :   11, // 844
     874             :   9,   2, // 845-846
     875             :   8,   2, // 847-848
     876             :   8,   2, // 849-850
     877             :   5, // 851
     878             :   11,   2,   2, // 852-854
     879             :   6,   2, // 855-856
     880             :   5, // 857
     881             :   8,   2,   2, // 858-860
     882             :   8,   2,   2, // 861-863
     883             :   9,   2,   2, // 864-866
     884             :   8,   2,   2, // 867-869
     885             :   7,   2,   2, // 870-872
     886             :   7,   2,   2, // 873-875
     887             :   6,   2,   2, // 876-878
     888             :   5,   2,   2, // 879-881
     889             :   6,   2,   2, // 882-884
     890             :   7,   2, // 885-886
     891             :   7,   2, // 887-888
     892             :   7,   2, // 889-890
     893             :   7,   2, // 891-892
     894             :   7,   2, // 893-894
     895             :   7,   2, // 895-896
     896             :   6,   2, // 897-898
     897             :   11,   2,   2, // 899-901
     898             :   11,   2,   2, // 902-904
     899             :   8,   2,   2, // 905-907
     900             :   8,   2,   2, // 908-910
     901             :   8,   2,   2, // 911-913
     902             :   8,   2,   2, // 914-916
     903             :   8,   2,   2, // 917-919
     904             :   7,   2,   2, // 920-922
     905             :   7,   2,   2, // 923-925
     906             :   20,   2,   2, // 926-928
     907             :   20,   2,   2, // 929-931
     908             :   30,   2,   2, // 932-934
     909             :   30,   2,   2, // 935-937
     910             :   20,   2,   2, // 938-940
     911             :   30,   2,   2, // 941-943
     912             :   6,   2,   2, // 944-946
     913             :   5,   2,   2, // 947-949
     914             :   6,   2,   2, // 950-952
     915             :   5,   2,   2, // 953-955
     916             :   5,   2,   2, // 956-958
     917             :   5,   2, // 959-960
     918             :   5,   2,   2, // 961-963
     919             :   5,   2, // 964-965
     920             :   39,   2,   2, // 966-968
     921             :   24,   2,   2, // 969-971
     922             :   24,   2,   2, // 972-974
     923             :   39,   2,   2, // 975-977
     924             :   11,   2,   2, // 978-980
     925             :   11,   2,   2,   2, // 981-984
     926             :   11,   2,   2, // 985-987
     927             :   11,   2,   2, // 988-990
     928             :   8,   2,   2, // 991-993
     929             :   8,   2,   2, // 994-996
     930             :   8,   2,   2, // 997-999
     931             :   8,   2,   2, // 1000-1002
     932             :   1,   1,   1, // 1003-1005
     933             :   1,   1,   1, // 1006-1008
     934             :   3,   1,   1, // 1009-1011
     935             :   6,   1,   1, // 1012-1014
     936             :   1,   1,   1, // 1015-1017
     937             :   3,   1,   1, // 1018-1020
     938             :   2,   1,   1, // 1021-1023
     939             :   23,   1,   1, // 1024-1026
     940             :   15,   1,   1, // 1027-1029
     941             :   5,   1,   1, // 1030-1032
     942             :   5,   1,   1, // 1033-1035
     943             :   8,   1,   1, // 1036-1038
     944             :   33,   1,   1, // 1039-1041
     945             :   27,   1,   1, // 1042-1044
     946             :   5,   1,   1,   1, // 1045-1048
     947             :   44,   1,   1, // 1049-1051
     948             :   32,   1,   1, // 1052-1054
     949             :   1,   1,   1, // 1055-1057
     950             :   1,   1,   1,   1, // 1058-1061
     951             :   3,   1,   1, // 1062-1064
     952             :   2,   2,   1,   1, // 1065-1068
     953             :   3,   3,   1,   1, // 1069-1072
     954             :   2,   1,   1, // 1073-1075
     955             :   3,   1,   1, // 1076-1078
     956             :   2,   2,   1,   1, // 1079-1082
     957             :   3,   3,   1,   1, // 1083-1086
     958             :   3,   1,   1, // 1087-1089
     959             :   3,   3,   1,   1, // 1090-1093
     960             :   3,   3,   1,   1, // 1094-1097
     961             :   3,   1,   1, // 1098-1100
     962             :   4,   4,   1,   1, // 1101-1104
     963             :   4,   4,   1,   1, // 1105-1108
     964             :   2,   1,   1, // 1109-1111
     965             :   3,   1,   1, // 1112-1114
     966             :   3,   1,   1, // 1115-1117
     967             :   3,   1, // 1118-1119
     968             :   6,   1, // 1120-1121
     969             :   3,   1, // 1122-1123
     970             :   2,   1,   1, // 1124-1126
     971             :   4,   1, // 1127-1128
     972             :   4,   1,   1, // 1129-1131
     973             :   4,   1,   1, // 1132-1134
     974             :   4,   1,   1, // 1135-1137
     975             :   3,   1,   1, // 1138-1140
     976             :   1,   1,   1, // 1141-1143
     977             :   2,   1,   1,   1, // 1144-1147
     978             :   1,   1,   1, // 1148-1150
     979             :   1,   1,   1, // 1151-1153
     980             :   1,   1,   1, // 1154-1156
     981             :   1,   1,   1, // 1157-1159
     982             :   1,   1,   1, // 1160-1162
     983             :   2,   1,   1,   1, // 1163-1166
     984             :   2,   1,   1,   1, // 1167-1170
     985             :   1,   1, // 1171-1172
     986             :   1,   1, // 1173-1174
     987             :   6,   1,   1, // 1175-1177
     988             :   6,   1,   1, // 1178-1180
     989             :   2,   1,   1, // 1181-1183
     990             :   6,   1,   1, // 1184-1186
     991             :   3,   1,   1, // 1187-1189
     992             :   6,   1,   1, // 1190-1192
     993             :   6,   1,   1, // 1193-1195
     994             :   2,   1,   1, // 1196-1198
     995             :   8,   1,   1, // 1199-1201
     996             :   6,   1,   1, // 1202-1204
     997             :   2,   1,   1, // 1205-1207
     998             :   6,   1,   1, // 1208-1210
     999             :   6,   1,   1, // 1211-1213
    1000             :   6,   1,   1, // 1214-1216
    1001             :   2,   1,   1, // 1217-1219
    1002             :   6,   1,   1, // 1220-1222
    1003             :   6,   1,   1, // 1223-1225
    1004             :   6,   1,   1, // 1226-1228
    1005             :   2,   1,   1, // 1229-1231
    1006             :   3,   1,   1, // 1232-1234
    1007             :   8,   1,   1, // 1235-1237
    1008             :   6,   1,   1, // 1238-1240
    1009             :   6,   1,   1, // 1241-1243
    1010             :   6,   1,   1, // 1244-1246
    1011             :   6,   1,   1, // 1247-1249
    1012             :   3,   1,   1, // 1250-1252
    1013             :   3,   1,   1, // 1253-1255
    1014             :   3,   1,   1, // 1256-1258
    1015             :   3,   1,   1, // 1259-1261
    1016             :   3,   1,   1, // 1262-1264
    1017             :   1,   1,   1, // 1265-1267
    1018             :   1,   1,   1, // 1268-1270
    1019             :   15,   1,   1, // 1271-1273
    1020             :   15,   1,   1, // 1274-1276
    1021             :   23,   1,   1, // 1277-1279
    1022             :   23,   1,   1, // 1280-1282
    1023             :   15,   1,   1, // 1283-1285
    1024             :   23,   1,   1, // 1286-1288
    1025             :   1,   1,   1, // 1289-1291
    1026             :   1,   1,   1, // 1292-1294
    1027             :   3,   1, // 1295-1296
    1028             :   3,   1,   1, // 1297-1299
    1029             :   3,   1, // 1300-1301
    1030             :   3,   1,   1, // 1302-1304
    1031             :   33,   1,   1, // 1305-1307
    1032             :   27,   1,   1, // 1308-1310
    1033             :   27,   1,   1, // 1311-1313
    1034             :   33,   1,   1, // 1314-1316
    1035             :   5,   1,   1, // 1317-1319
    1036             :   5,   1,   1,   1, // 1320-1323
    1037             :   5,   1,   1, // 1324-1326
    1038             :   8,   1,   1, // 1327-1329
    1039             :   3,   3,   1,   1, // 1330-1333
    1040             :   3,   3,   1,   1, // 1334-1337
    1041             :   3,   3,   1,   1, // 1338-1341
    1042             :   3,   3,   1,   1, // 1342-1345
    1043             :   1,   1,   1, // 1346-1348
    1044             :   1,   1,   1, // 1349-1351
    1045             :   3,   1,   1, // 1352-1354
    1046             :   6,   1,   1, // 1355-1357
    1047             :   1,   1,   1, // 1358-1360
    1048             :   3,   1,   1, // 1361-1363
    1049             :   2,   1,   1, // 1364-1366
    1050             :   68,   1,   1, // 1367-1369
    1051             :   36,   1,   1, // 1370-1372
    1052             :   5,   1,   1, // 1373-1375
    1053             :   5,   1,   1, // 1376-1378
    1054             :   8,   1,   1, // 1379-1381
    1055             :   33,   1,   1, // 1382-1384
    1056             :   27,   1,   1, // 1385-1387
    1057             :   5,   1,   1,   1, // 1388-1391
    1058             :   44,   1,   1, // 1392-1394
    1059             :   32,   1,   1, // 1395-1397
    1060             :   1,   1,   1, // 1398-1400
    1061             :   1,   1,   1,   1, // 1401-1404
    1062             :   3,   1,   1, // 1405-1407
    1063             :   2,   2,   1,   1, // 1408-1411
    1064             :   3,   3,   1,   1, // 1412-1415
    1065             :   2,   1,   1, // 1416-1418
    1066             :   3,   1,   1, // 1419-1421
    1067             :   2,   2,   1,   1, // 1422-1425
    1068             :   3,   3,   1,   1, // 1426-1429
    1069             :   3,   1,   1, // 1430-1432
    1070             :   3,   3,   1,   1, // 1433-1436
    1071             :   3,   3,   1,   1, // 1437-1440
    1072             :   3,   1,   1, // 1441-1443
    1073             :   4,   4,   1,   1, // 1444-1447
    1074             :   4,   4,   1,   1, // 1448-1451
    1075             :   2,   1,   1, // 1452-1454
    1076             :   3,   1,   1, // 1455-1457
    1077             :   3,   1,   1, // 1458-1460
    1078             :   3,   1, // 1461-1462
    1079             :   6,   1, // 1463-1464
    1080             :   3,   1, // 1465-1466
    1081             :   2,   1,   1, // 1467-1469
    1082             :   4,   1, // 1470-1471
    1083             :   4,   1,   1, // 1472-1474
    1084             :   4,   1,   1, // 1475-1477
    1085             :   4,   1,   1, // 1478-1480
    1086             :   3,   1,   1, // 1481-1483
    1087             :   1,   1,   1, // 1484-1486
    1088             :   2,   1,   1,   1, // 1487-1490
    1089             :   1,   1,   1, // 1491-1493
    1090             :   1,   1,   1, // 1494-1496
    1091             :   1,   1,   1, // 1497-1499
    1092             :   1,   1,   1, // 1500-1502
    1093             :   1,   1,   1, // 1503-1505
    1094             :   1,   1,   1, // 1506-1508
    1095             :   2,   1,   1,   1, // 1509-1512
    1096             :   2,   1,   1,   1, // 1513-1516
    1097             :   1,   1, // 1517-1518
    1098             :   1,   1, // 1519-1520
    1099             :   6,   1,   1, // 1521-1523
    1100             :   6,   1,   1, // 1524-1526
    1101             :   2,   1,   1, // 1527-1529
    1102             :   6,   1,   1, // 1530-1532
    1103             :   3,   1,   1, // 1533-1535
    1104             :   6,   1,   1, // 1536-1538
    1105             :   6,   1,   1, // 1539-1541
    1106             :   2,   1,   1, // 1542-1544
    1107             :   8,   1,   1, // 1545-1547
    1108             :   6,   1,   1, // 1548-1550
    1109             :   2,   1,   1, // 1551-1553
    1110             :   6,   1,   1, // 1554-1556
    1111             :   6,   1,   1, // 1557-1559
    1112             :   6,   1,   1, // 1560-1562
    1113             :   2,   1,   1, // 1563-1565
    1114             :   6,   1,   1, // 1566-1568
    1115             :   6,   1,   1, // 1569-1571
    1116             :   6,   1,   1, // 1572-1574
    1117             :   2,   1,   1, // 1575-1577
    1118             :   3,   1,   1, // 1578-1580
    1119             :   8,   1,   1, // 1581-1583
    1120             :   6,   1,   1, // 1584-1586
    1121             :   6,   1,   1, // 1587-1589
    1122             :   6,   1,   1, // 1590-1592
    1123             :   6,   1,   1, // 1593-1595
    1124             :   3,   1,   1, // 1596-1598
    1125             :   3,   1,   1, // 1599-1601
    1126             :   3,   1,   1, // 1602-1604
    1127             :   3,   1,   1, // 1605-1607
    1128             :   3,   1,   1, // 1608-1610
    1129             :   1,   1,   1, // 1611-1613
    1130             :   1,   1,   1, // 1614-1616
    1131             :   36,   1,   1, // 1617-1619
    1132             :   36,   1,   1, // 1620-1622
    1133             :   68,   1,   1, // 1623-1625
    1134             :   68,   1,   1, // 1626-1628
    1135             :   36,   1,   1, // 1629-1631
    1136             :   68,   1,   1, // 1632-1634
    1137             :   1,   1,   1, // 1635-1637
    1138             :   1,   1,   1, // 1638-1640
    1139             :   3,   1, // 1641-1642
    1140             :   3,   1,   1, // 1643-1645
    1141             :   3,   1, // 1646-1647
    1142             :   3,   1,   1, // 1648-1650
    1143             :   33,   1,   1, // 1651-1653
    1144             :   27,   1,   1, // 1654-1656
    1145             :   27,   1,   1, // 1657-1659
    1146             :   33,   1,   1, // 1660-1662
    1147             :   5,   1,   1, // 1663-1665
    1148             :   5,   1,   1,   1, // 1666-1669
    1149             :   5,   1,   1, // 1670-1672
    1150             :   8,   1,   1, // 1673-1675
    1151             :   3,   3,   1,   1, // 1676-1679
    1152             :   3,   3,   1,   1, // 1680-1683
    1153             :   3,   3,   1,   1, // 1684-1687
    1154             :   3,   3,   1,   1, // 1688-1691
    1155             :   0 // End operand cycles
    1156             : };
    1157             : extern const unsigned PPCForwardingPaths[] = {
    1158             :  0, // No itinerary
    1159             : PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 1-3
    1160             : PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 4-6
    1161             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 7-8
    1162             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 9-11
    1163             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 12-14
    1164             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 15-16
    1165             : PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 17-19
    1166             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 20-22
    1167             : PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 23-25
    1168             : PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 26-28
    1169             : PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 29-31
    1170             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 32-34
    1171             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 35-37
    1172             : PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 38-41
    1173             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 42-44
    1174             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 45-47
    1175             : PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::NoBypass, // 48-51
    1176             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 52-54
    1177             : PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0,  0, // 55-58
    1178             : PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0,  0, // 59-62
    1179             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 63-65
    1180             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 66-69
    1181             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 70-73
    1182             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 74-76
    1183             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 77-79
    1184             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 80-82
    1185             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 83-85
    1186             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 86-88
    1187             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 89-91
    1188             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 92-93
    1189             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 94-95
    1190             : PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 96-98
    1191             : PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 99-100
    1192             : PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 101-102
    1193             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 103-104
    1194             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 105-106
    1195             : PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 107-109
    1196             : PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 110-111
    1197             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 112-113
    1198             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 114-116
    1199             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 117-119
    1200             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 120-122
    1201             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 123-125
    1202             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 126-129
    1203             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 130-131
    1204             : PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 132-134
    1205             : PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 135-137
    1206             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 138-140
    1207             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0,  0, // 141-144
    1208             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 145-147
    1209             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 148-150
    1210             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0,  0, // 151-154
    1211             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0,  0, // 155-158
    1212             : PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 159-160
    1213             : PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 161-163
    1214             : PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 164-166
    1215             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 167-169
    1216             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 170-172
    1217             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 173-175
    1218             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 176-178
    1219             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 179-181
    1220             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 182-184
    1221             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 185-187
    1222             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 188-190
    1223             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 191-193
    1224             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 194-196
    1225             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 197-199
    1226             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 200-202
    1227             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 203-205
    1228             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass, // 206-208
    1229             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 209-211
    1230             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 212-214
    1231             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 215-217
    1232             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 218-220
    1233             : PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 221-223
    1234             : PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 224-227
    1235             : PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 228-230
    1236             : PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, PPC440ItinerariesBypass::P440_FPR_Bypass, // 231-233
    1237             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 234-237
    1238             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 238-241
    1239             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 242-245
    1240             : PPC440ItinerariesBypass::NoBypass, PPC440ItinerariesBypass::P440_GPR_Bypass, PPC440ItinerariesBypass::P440_GPR_Bypass,  0, // 246-249
    1241             :  0,  0,  0, // 250-252
    1242             :  0,  0,  0, // 253-255
    1243             :  0,  0,  0, // 256-258
    1244             :  0, // 259
    1245             :  0,  0,  0, // 260-262
    1246             :  0,  0,  0, // 263-265
    1247             :  0,  0,  0, // 266-268
    1248             :  0,  0,  0, // 269-271
    1249             :  0,  0,  0, // 272-274
    1250             :  0,  0,  0, // 275-277
    1251             :  0,  0,  0, // 278-280
    1252             :  0,  0,  0, // 281-283
    1253             :  0,  0,  0, // 284-286
    1254             :  0,  0,  0, // 287-289
    1255             :  0,  0,  0, // 290-292
    1256             :  0,  0,  0, // 293-295
    1257             :  0,  0,  0,  0, // 296-299
    1258             :  0,  0,  0, // 300-302
    1259             :  0,  0,  0, // 303-305
    1260             :  0,  0,  0, // 306-308
    1261             :  0,  0,  0, // 309-311
    1262             :  0,  0,  0,  0, // 312-315
    1263             :  0, // 316
    1264             :  0,  0,  0, // 317-319
    1265             :  0,  0,  0,  0, // 320-323
    1266             :  0,  0,  0,  0, // 324-327
    1267             :  0,  0,  0, // 328-330
    1268             :  0,  0,  0, // 331-333
    1269             :  0,  0,  0, // 334-336
    1270             :  0,  0,  0,  0, // 337-340
    1271             :  0,  0,  0,  0, // 341-344
    1272             :  0,  0,  0, // 345-347
    1273             :  0,  0,  0,  0, // 348-351
    1274             :  0,  0,  0,  0, // 352-355
    1275             :  0,  0,  0, // 356-358
    1276             :  0,  0,  0, // 359-361
    1277             :  0,  0, // 362-363
    1278             :  0,  0, // 364-365
    1279             :  0,  0, // 366-367
    1280             :  0,  0, // 368-369
    1281             :  0,  0, // 370-371
    1282             :  0,  0, // 372-373
    1283             :  0,  0, // 374-375
    1284             :  0,  0,  0, // 376-378
    1285             :  0,  0,  0, // 379-381
    1286             :  0,  0,  0, // 382-384
    1287             :  0,  0,  0, // 385-387
    1288             :  0,  0,  0,  0, // 388-391
    1289             :  0, // 392
    1290             :  0,  0,  0, // 393-395
    1291             :  0,  0,  0, // 396-398
    1292             :  0,  0,  0, // 399-401
    1293             :  0,  0,  0, // 402-404
    1294             :  0,  0,  0,  0, // 405-408
    1295             :  0,  0,  0, // 409-411
    1296             :  0,  0,  0, // 412-414
    1297             :  0,  0,  0,  0, // 415-418
    1298             :  0,  0,  0,  0, // 419-422
    1299             :  0,  0, // 423-424
    1300             :  0,  0, // 425-426
    1301             :  0,  0,  0, // 427-429
    1302             :  0,  0,  0, // 430-432
    1303             :  0,  0,  0, // 433-435
    1304             :  0,  0,  0, // 436-438
    1305             :  0,  0,  0, // 439-441
    1306             :  0,  0,  0, // 442-444
    1307             :  0,  0,  0, // 445-447
    1308             :  0,  0,  0, // 448-450
    1309             :  0,  0,  0, // 451-453
    1310             :  0,  0,  0, // 454-456
    1311             :  0,  0,  0, // 457-459
    1312             :  0,  0,  0, // 460-462
    1313             :  0,  0,  0, // 463-465
    1314             :  0,  0,  0, // 466-468
    1315             :  0,  0,  0, // 469-471
    1316             :  0,  0,  0, // 472-474
    1317             :  0,  0,  0, // 475-477
    1318             :  0,  0,  0, // 478-480
    1319             :  0,  0,  0, // 481-483
    1320             :  0,  0,  0, // 484-486
    1321             :  0,  0,  0, // 487-489
    1322             :  0,  0,  0, // 490-492
    1323             :  0,  0,  0, // 493-495
    1324             :  0,  0,  0, // 496-498
    1325             :  0,  0,  0, // 499-501
    1326             :  0,  0,  0, // 502-504
    1327             :  0,  0,  0, // 505-507
    1328             :  0,  0,  0, // 508-510
    1329             :  0,  0,  0,  0, // 511-514
    1330             :  0,  0,  0, // 515-517
    1331             :  0,  0,  0, // 518-520
    1332             :  0,  0,  0,  0, // 521-524
    1333             :  0,  0,  0,  0, // 525-528
    1334             :  0,  0,  0,  0, // 529-532
    1335             :  0,  0,  0,  0, // 533-536
    1336             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 537-539
    1337             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 540-542
    1338             : PPCE500mcItinerariesBypass::NoBypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 543-544
    1339             : PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 545-547
    1340             : PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_CR_Bypass, // 548-550
    1341             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 551-552
    1342             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 553-554
    1343             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 555-557
    1344             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 558-560
    1345             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 561-563
    1346             : PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 564-566
    1347             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 567-569
    1348             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 570-572
    1349             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 573-576
    1350             : PPCE500mcItinerariesBypass::NoBypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 577-578
    1351             : PPCE500mcItinerariesBypass::NoBypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 579-580
    1352             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_CR_Bypass, // 581-584
    1353             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 585-587
    1354             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 588-589
    1355             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 590-591
    1356             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 592-594
    1357             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 595-597
    1358             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 598-600
    1359             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 601-602
    1360             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 603-604
    1361             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 605-606
    1362             : PPCE500mcItinerariesBypass::NoBypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 607-608
    1363             : PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_CR_Bypass, // 609-610
    1364             : PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass,  0, // 611-613
    1365             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_CR_Bypass, // 614-615
    1366             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_CR_Bypass, // 616-617
    1367             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 618
    1368             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 619-620
    1369             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_CR_Bypass, // 621-622
    1370             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 623-624
    1371             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 625-626
    1372             : PPCE500mcItinerariesBypass::NoBypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 627-628
    1373             : PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 629-630
    1374             : PPCE500mcItinerariesBypass::NoBypass, PPCE500mcItinerariesBypass::NoBypass, PPCE500mcItinerariesBypass::NoBypass, // 631-633
    1375             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 634-635
    1376             : PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 636-637
    1377             : PPCE500mcItinerariesBypass::NoBypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 638-639
    1378             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 640-642
    1379             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 643-645
    1380             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 646-648
    1381             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 649-651
    1382             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 652-654
    1383             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 655-657
    1384             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 658-660
    1385             : PPCE500mcItinerariesBypass::NoBypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 661-662
    1386             : PPCE500mcItinerariesBypass::NoBypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 663-664
    1387             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 665-666
    1388             : PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 667-669
    1389             : PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 670-672
    1390             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 673-675
    1391             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 676-678
    1392             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 679-681
    1393             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 682-684
    1394             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 685-687
    1395             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 688-690
    1396             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 691-693
    1397             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 694-696
    1398             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 697-699
    1399             : PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 700-702
    1400             : PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass,  0, // 703-705
    1401             : PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_CR_Bypass, // 706-707
    1402             : PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass,  0, // 708-710
    1403             : PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_CR_Bypass, // 711-712
    1404             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 713-715
    1405             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 716-718
    1406             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 719-721
    1407             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 722-724
    1408             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 725-727
    1409             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 728-731
    1410             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 732-734
    1411             : PPCE500mcItinerariesBypass::E500_CR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_FPR_Bypass, // 735-737
    1412             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 738-740
    1413             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 741-743
    1414             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 744-746
    1415             : PPCE500mcItinerariesBypass::E500_FPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, PPCE500mcItinerariesBypass::E500_GPR_Bypass, // 747-749
    1416             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 750-752
    1417             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 753-755
    1418             : PPCE5500ItinerariesBypass::NoBypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 756-757
    1419             : PPCE5500ItinerariesBypass::E5500_CR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 758-760
    1420             : PPCE5500ItinerariesBypass::E5500_CR_Bypass, PPCE5500ItinerariesBypass::E5500_CR_Bypass, PPCE5500ItinerariesBypass::E5500_CR_Bypass, // 761-763
    1421             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 764-765
    1422             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 766-767
    1423             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 768-770
    1424             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 771-773
    1425             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 774-776
    1426             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 777-779
    1427             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 780-782
    1428             : PPCE5500ItinerariesBypass::E5500_CR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 783-785
    1429             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 786-788
    1430             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 789-791
    1431             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 792-795
    1432             : PPCE5500ItinerariesBypass::NoBypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 796-797
    1433             : PPCE5500ItinerariesBypass::NoBypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 798-799
    1434             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_CR_Bypass, // 800-803
    1435             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 804-806
    1436             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 807-808
    1437             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 809-810
    1438             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 811-812
    1439             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 813-814
    1440             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 815-816
    1441             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 817-818
    1442             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 819-821
    1443             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 822-824
    1444             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 825-827
    1445             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 828-829
    1446             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 830-831
    1447             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 832-833
    1448             : PPCE5500ItinerariesBypass::NoBypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 834-835
    1449             : PPCE5500ItinerariesBypass::E5500_CR_Bypass, PPCE5500ItinerariesBypass::E5500_CR_Bypass, // 836-837
    1450             : PPCE5500ItinerariesBypass::E5500_CR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass,  0, // 838-840
    1451             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_CR_Bypass, // 841-842
    1452             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 843
    1453             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 844
    1454             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_CR_Bypass, // 845-846
    1455             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 847-848
    1456             : PPCE5500ItinerariesBypass::NoBypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 849-850
    1457             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 851
    1458             : PPCE5500ItinerariesBypass::NoBypass, PPCE5500ItinerariesBypass::NoBypass, PPCE5500ItinerariesBypass::NoBypass, // 852-854
    1459             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 855-856
    1460             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 857
    1461             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 858-860
    1462             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 861-863
    1463             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 864-866
    1464             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 867-869
    1465             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 870-872
    1466             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 873-875
    1467             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 876-878
    1468             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 879-881
    1469             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 882-884
    1470             : PPCE5500ItinerariesBypass::NoBypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 885-886
    1471             : PPCE5500ItinerariesBypass::NoBypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 887-888
    1472             : PPCE5500ItinerariesBypass::NoBypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 889-890
    1473             : PPCE5500ItinerariesBypass::NoBypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 891-892
    1474             : PPCE5500ItinerariesBypass::NoBypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 893-894
    1475             : PPCE5500ItinerariesBypass::NoBypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 895-896
    1476             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 897-898
    1477             : PPCE5500ItinerariesBypass::E5500_CR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 899-901
    1478             : PPCE5500ItinerariesBypass::E5500_CR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 902-904
    1479             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 905-907
    1480             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 908-910
    1481             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 911-913
    1482             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 914-916
    1483             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 917-919
    1484             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 920-922
    1485             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 923-925
    1486             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 926-928
    1487             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 929-931
    1488             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 932-934
    1489             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 935-937
    1490             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 938-940
    1491             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 941-943
    1492             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 944-946
    1493             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 947-949
    1494             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 950-952
    1495             : PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 953-955
    1496             : PPCE5500ItinerariesBypass::E5500_CR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass,  0, // 956-958
    1497             : PPCE5500ItinerariesBypass::E5500_CR_Bypass, PPCE5500ItinerariesBypass::E5500_CR_Bypass, // 959-960
    1498             : PPCE5500ItinerariesBypass::E5500_CR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass,  0, // 961-963
    1499             : PPCE5500ItinerariesBypass::E5500_CR_Bypass, PPCE5500ItinerariesBypass::E5500_CR_Bypass, // 964-965
    1500             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 966-968
    1501             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 969-971
    1502             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 972-974
    1503             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 975-977
    1504             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 978-980
    1505             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 981-984
    1506             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 985-987
    1507             : PPCE5500ItinerariesBypass::E5500_CR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_FPR_Bypass, // 988-990
    1508             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 991-993
    1509             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 994-996
    1510             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 997-999
    1511             : PPCE5500ItinerariesBypass::E5500_FPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, PPCE5500ItinerariesBypass::E5500_GPR_Bypass, // 1000-1002
    1512             :  0,  0,  0, // 1003-1005
    1513             :  0,  0,  0, // 1006-1008
    1514             :  0,  0,  0, // 1009-1011
    1515             :  0,  0,  0, // 1012-1014
    1516             :  0,  0,  0, // 1015-1017
    1517             :  0,  0,  0, // 1018-1020
    1518             :  0,  0,  0, // 1021-1023
    1519             :  0,  0,  0, // 1024-1026
    1520             :  0,  0,  0, // 1027-1029
    1521             :  0,  0,  0, // 1030-1032
    1522             :  0,  0,  0, // 1033-1035
    1523             :  0,  0,  0, // 1036-1038
    1524             :  0,  0,  0, // 1039-1041
    1525             :  0,  0,  0, // 1042-1044
    1526             :  0,  0,  0,  0, // 1045-1048
    1527             :  0,  0,  0, // 1049-1051
    1528             :  0,  0,  0, // 1052-1054
    1529             :  0,  0,  0, // 1055-1057
    1530             :  0,  0,  0,  0, // 1058-1061
    1531             :  0,  0,  0, // 1062-1064
    1532             :  0,  0,  0,  0, // 1065-1068
    1533             :  0,  0,  0,  0, // 1069-1072
    1534             :  0,  0,  0, // 1073-1075
    1535             :  0,  0,  0, // 1076-1078
    1536             :  0,  0,  0,  0, // 1079-1082
    1537             :  0,  0,  0,  0, // 1083-1086
    1538             :  0,  0,  0, // 1087-1089
    1539             :  0,  0,  0,  0, // 1090-1093
    1540             :  0,  0,  0,  0, // 1094-1097
    1541             :  0,  0,  0, // 1098-1100
    1542             :  0,  0,  0,  0, // 1101-1104
    1543             :  0,  0,  0,  0, // 1105-1108
    1544             :  0,  0,  0, // 1109-1111
    1545             :  0,  0,  0, // 1112-1114
    1546             :  0,  0,  0, // 1115-1117
    1547             :  0,  0, // 1118-1119
    1548             :  0,  0, // 1120-1121
    1549             :  0,  0, // 1122-1123
    1550             :  0,  0,  0, // 1124-1126
    1551             :  0,  0, // 1127-1128
    1552             :  0,  0,  0, // 1129-1131
    1553             :  0,  0,  0, // 1132-1134
    1554             :  0,  0,  0, // 1135-1137
    1555             :  0,  0,  0, // 1138-1140
    1556             :  0,  0,  0, // 1141-1143
    1557             :  0,  0,  0,  0, // 1144-1147
    1558             :  0,  0,  0, // 1148-1150
    1559             :  0,  0,  0, // 1151-1153
    1560             :  0,  0,  0, // 1154-1156
    1561             :  0,  0,  0, // 1157-1159
    1562             :  0,  0,  0, // 1160-1162
    1563             :  0,  0,  0,  0, // 1163-1166
    1564             :  0,  0,  0,  0, // 1167-1170
    1565             :  0,  0, // 1171-1172
    1566             :  0,  0, // 1173-1174
    1567             :  0,  0,  0, // 1175-1177
    1568             :  0,  0,  0, // 1178-1180
    1569             :  0,  0,  0, // 1181-1183
    1570             :  0,  0,  0, // 1184-1186
    1571             :  0,  0,  0, // 1187-1189
    1572             :  0,  0,  0, // 1190-1192
    1573             :  0,  0,  0, // 1193-1195
    1574             :  0,  0,  0, // 1196-1198
    1575             :  0,  0,  0, // 1199-1201
    1576             :  0,  0,  0, // 1202-1204
    1577             :  0,  0,  0, // 1205-1207
    1578             :  0,  0,  0, // 1208-1210
    1579             :  0,  0,  0, // 1211-1213
    1580             :  0,  0,  0, // 1214-1216
    1581             :  0,  0,  0, // 1217-1219
    1582             :  0,  0,  0, // 1220-1222
    1583             :  0,  0,  0, // 1223-1225
    1584             :  0,  0,  0, // 1226-1228
    1585             :  0,  0,  0, // 1229-1231
    1586             :  0,  0,  0, // 1232-1234
    1587             :  0,  0,  0, // 1235-1237
    1588             :  0,  0,  0, // 1238-1240
    1589             :  0,  0,  0, // 1241-1243
    1590             :  0,  0,  0, // 1244-1246
    1591             :  0,  0,  0, // 1247-1249
    1592             :  0,  0,  0, // 1250-1252
    1593             :  0,  0,  0, // 1253-1255
    1594             :  0,  0,  0, // 1256-1258
    1595             :  0,  0,  0, // 1259-1261
    1596             :  0,  0,  0, // 1262-1264
    1597             :  0,  0,  0, // 1265-1267
    1598             :  0,  0,  0, // 1268-1270
    1599             :  0,  0,  0, // 1271-1273
    1600             :  0,  0,  0, // 1274-1276
    1601             :  0,  0,  0, // 1277-1279
    1602             :  0,  0,  0, // 1280-1282
    1603             :  0,  0,  0, // 1283-1285
    1604             :  0,  0,  0, // 1286-1288
    1605             :  0,  0,  0, // 1289-1291
    1606             :  0,  0,  0, // 1292-1294
    1607             :  0,  0, // 1295-1296
    1608             :  0,  0,  0, // 1297-1299
    1609             :  0,  0, // 1300-1301
    1610             :  0,  0,  0, // 1302-1304
    1611             :  0,  0,  0, // 1305-1307
    1612             :  0,  0,  0, // 1308-1310
    1613             :  0,  0,  0, // 1311-1313
    1614             :  0,  0,  0, // 1314-1316
    1615             :  0,  0,  0, // 1317-1319
    1616             :  0,  0,  0,  0, // 1320-1323
    1617             :  0,  0,  0, // 1324-1326
    1618             :  0,  0,  0, // 1327-1329
    1619             :  0,  0,  0,  0, // 1330-1333
    1620             :  0,  0,  0,  0, // 1334-1337
    1621             :  0,  0,  0,  0, // 1338-1341
    1622             :  0,  0,  0,  0, // 1342-1345
    1623             :  0,  0,  0, // 1346-1348
    1624             :  0,  0,  0, // 1349-1351
    1625             :  0,  0,  0, // 1352-1354
    1626             :  0,  0,  0, // 1355-1357
    1627             :  0,  0,  0, // 1358-1360
    1628             :  0,  0,  0, // 1361-1363
    1629             :  0,  0,  0, // 1364-1366
    1630             :  0,  0,  0, // 1367-1369
    1631             :  0,  0,  0, // 1370-1372
    1632             :  0,  0,  0, // 1373-1375
    1633             :  0,  0,  0, // 1376-1378
    1634             :  0,  0,  0, // 1379-1381
    1635             :  0,  0,  0, // 1382-1384
    1636             :  0,  0,  0, // 1385-1387
    1637             :  0,  0,  0,  0, // 1388-1391
    1638             :  0,  0,  0, // 1392-1394
    1639             :  0,  0,  0, // 1395-1397
    1640             :  0,  0,  0, // 1398-1400
    1641             :  0,  0,  0,  0, // 1401-1404
    1642             :  0,  0,  0, // 1405-1407
    1643             :  0,  0,  0,  0, // 1408-1411
    1644             :  0,  0,  0,  0, // 1412-1415
    1645             :  0,  0,  0, // 1416-1418
    1646             :  0,  0,  0, // 1419-1421
    1647             :  0,  0,  0,  0, // 1422-1425
    1648             :  0,  0,  0,  0, // 1426-1429
    1649             :  0,  0,  0, // 1430-1432
    1650             :  0,  0,  0,  0, // 1433-1436
    1651             :  0,  0,  0,  0, // 1437-1440
    1652             :  0,  0,  0, // 1441-1443
    1653             :  0,  0,  0,  0, // 1444-1447
    1654             :  0,  0,  0,  0, // 1448-1451
    1655             :  0,  0,  0, // 1452-1454
    1656             :  0,  0,  0, // 1455-1457
    1657             :  0,  0,  0, // 1458-1460
    1658             :  0,  0, // 1461-1462
    1659             :  0,  0, // 1463-1464
    1660             :  0,  0, // 1465-1466
    1661             :  0,  0,  0, // 1467-1469
    1662             :  0,  0, // 1470-1471
    1663             :  0,  0,  0, // 1472-1474
    1664             :  0,  0,  0, // 1475-1477
    1665             :  0,  0,  0, // 1478-1480
    1666             :  0,  0,  0, // 1481-1483
    1667             :  0,  0,  0, // 1484-1486
    1668             :  0,  0,  0,  0, // 1487-1490
    1669             :  0,  0,  0, // 1491-1493
    1670             :  0,  0,  0, // 1494-1496
    1671             :  0,  0,  0, // 1497-1499
    1672             :  0,  0,  0, // 1500-1502
    1673             :  0,  0,  0, // 1503-1505
    1674             :  0,  0,  0, // 1506-1508
    1675             :  0,  0,  0,  0, // 1509-1512
    1676             :  0,  0,  0,  0, // 1513-1516
    1677             :  0,  0, // 1517-1518
    1678             :  0,  0, // 1519-1520
    1679             :  0,  0,  0, // 1521-1523
    1680             :  0,  0,  0, // 1524-1526
    1681             :  0,  0,  0, // 1527-1529
    1682             :  0,  0,  0, // 1530-1532
    1683             :  0,  0,  0, // 1533-1535
    1684             :  0,  0,  0, // 1536-1538
    1685             :  0,  0,  0, // 1539-1541
    1686             :  0,  0,  0, // 1542-1544
    1687             :  0,  0,  0, // 1545-1547
    1688             :  0,  0,  0, // 1548-1550
    1689             :  0,  0,  0, // 1551-1553
    1690             :  0,  0,  0, // 1554-1556
    1691             :  0,  0,  0, // 1557-1559
    1692             :  0,  0,  0, // 1560-1562
    1693             :  0,  0,  0, // 1563-1565
    1694             :  0,  0,  0, // 1566-1568
    1695             :  0,  0,  0, // 1569-1571
    1696             :  0,  0,  0, // 1572-1574
    1697             :  0,  0,  0, // 1575-1577
    1698             :  0,  0,  0, // 1578-1580
    1699             :  0,  0,  0, // 1581-1583
    1700             :  0,  0,  0, // 1584-1586
    1701             :  0,  0,  0, // 1587-1589
    1702             :  0,  0,  0, // 1590-1592
    1703             :  0,  0,  0, // 1593-1595
    1704             :  0,  0,  0, // 1596-1598
    1705             :  0,  0,  0, // 1599-1601
    1706             :  0,  0,  0, // 1602-1604
    1707             :  0,  0,  0, // 1605-1607
    1708             :  0,  0,  0, // 1608-1610
    1709             :  0,  0,  0, // 1611-1613
    1710             :  0,  0,  0, // 1614-1616
    1711             :  0,  0,  0, // 1617-1619
    1712             :  0,  0,  0, // 1620-1622
    1713             :  0,  0,  0, // 1623-1625
    1714             :  0,  0,  0, // 1626-1628
    1715             :  0,  0,  0, // 1629-1631
    1716             :  0,  0,  0, // 1632-1634
    1717             :  0,  0,  0, // 1635-1637
    1718             :  0,  0,  0, // 1638-1640
    1719             :  0,  0, // 1641-1642
    1720             :  0,  0,  0, // 1643-1645
    1721             :  0,  0, // 1646-1647
    1722             :  0,  0,  0, // 1648-1650
    1723             :  0,  0,  0, // 1651-1653
    1724             :  0,  0,  0, // 1654-1656
    1725             :  0,  0,  0, // 1657-1659
    1726             :  0,  0,  0, // 1660-1662
    1727             :  0,  0,  0, // 1663-1665
    1728             :  0,  0,  0,  0, // 1666-1669
    1729             :  0,  0,  0, // 1670-1672
    1730             :  0,  0,  0, // 1673-1675
    1731             :  0,  0,  0,  0, // 1676-1679
    1732             :  0,  0,  0,  0, // 1680-1683
    1733             :  0,  0,  0,  0, // 1684-1687
    1734             :  0,  0,  0,  0, // 1688-1691
    1735             :  0 // End bypass tables
    1736             : };
    1737             : 
    1738             : static const llvm::InstrItinerary PPC440Itineraries[] = {
    1739             :   { 0, 0, 0, 0, 0 }, // 0 NoInstrModel
    1740             :   { 1, 1, 6, 1, 4 }, // 1 IIC_IntSimple
    1741             :   { 1, 1, 6, 4, 7 }, // 2 IIC_IntGeneral
    1742             :   { 1, 6, 11, 7, 9 }, // 3 IIC_BrB
    1743             :   { 0, 0, 0, 0, 0 }, // 4 IIC_VecFP
    1744             :   { 1, 11, 16, 0, 0 }, // 5 IIC_LdStSync
    1745             :   { 1, 1, 6, 9, 12 }, // 6 IIC_IntCompare
    1746             :   { 0, 0, 0, 0, 0 }, // 7 IIC_SprABORT
    1747             :   { 0, 0, 0, 0, 0 }, // 8 IIC_LdStCOPY
    1748             :   { 0, 0, 0, 0, 0 }, // 9 IIC_LdStPASTE
    1749             :   { 1, 6, 11, 12, 15 }, // 10 IIC_BrCR
    1750             :   { 1, 16, 21, 15, 17 }, // 11 IIC_LdStDCBF
    1751             :   { 1, 21, 26, 17, 20 }, // 12 IIC_LdStLoad
    1752             :   { 0, 0, 0, 0, 0 }, // 13 IIC_IntDivD
    1753             :   { 1, 26, 31, 20, 23 }, // 14 IIC_IntDivW
    1754             :   { 0, 0, 0, 0, 0 }, // 15 IIC_IntRotateDI
    1755             :   { 1, 31, 40, 23, 26 }, // 16 IIC_FPGeneral
    1756             :   { 1, 31, 40, 26, 29 }, // 17 IIC_FPAddSub
    1757             :   { 1, 31, 40, 29, 32 }, // 18 IIC_FPCompare
    1758             :   { 1, 40, 49, 32, 35 }, // 19 IIC_FPDivD
    1759             :   { 1, 49, 58, 35, 38 }, // 20 IIC_FPDivS
    1760             :   { 1, 31, 40, 38, 42 }, // 21 IIC_FPFused
    1761             :   { 0, 0, 0, 0, 0 }, // 22 IIC_FPSqrtD
    1762             :   { 0, 0, 0, 0, 0 }, // 23 IIC_FPSqrtS
    1763             :   { 1, 16, 21, 42, 45 }, // 24 IIC_LdStICBI
    1764             :   { 1, 21, 26, 45, 48 }, // 25 IIC_LdStStore
    1765             :   { 1, 1, 6, 48, 52 }, // 26 IIC_IntISEL
    1766             :   { 1, 58, 74, 0, 0 }, // 27 IIC_SprISYNC
    1767             :   { 1, 74, 81, 52, 55 }, // 28 IIC_LdStLWARX
    1768             :   { 1, 21, 26, 55, 59 }, // 29 IIC_LdStLoadUpd
    1769             :   { 1, 21, 26, 59, 63 }, // 30 IIC_LdStLoadUpdX
    1770             :   { 0, 0, 0, 0, 0 }, // 31 IIC_LdStLD
    1771             :   { 0, 0, 0, 0, 0 }, // 32 IIC_LdStLDARX
    1772             :   { 0, 0, 0, 0, 0 }, // 33 IIC_LdStLDU
    1773             :   { 0, 0, 0, 0, 0 }, // 34 IIC_LdStLDUX
    1774             :   { 1, 21, 26, 63, 66 }, // 35 IIC_LdStLFD
    1775             :   { 1, 16, 21, 66, 70 }, // 36 IIC_LdStLFDU
    1776             :   { 1, 16, 21, 70, 74 }, // 37 IIC_LdStLFDUX
    1777             :   { 1, 16, 21, 74, 77 }, // 38 IIC_LdStLHA
    1778             :   { 1, 16, 21, 77, 80 }, // 39 IIC_LdStLHAU
    1779             :   { 1, 16, 21, 80, 83 }, // 40 IIC_LdStLHAUX
    1780             :   { 1, 16, 21, 83, 86 }, // 41 IIC_LdStLMW
    1781             :   { 0, 0, 0, 0, 0 }, // 42 IIC_LdStLWA
    1782             :   { 1, 6, 11, 86, 89 }, // 43 IIC_BrMCR
    1783             :   { 1, 6, 11, 89, 92 }, // 44 IIC_BrMCRX
    1784             :   { 1, 6, 11, 92, 94 }, // 45 IIC_SprMFCR
    1785             :   { 1, 81, 86, 94, 96 }, // 46 IIC_SprMFSPR
    1786             :   { 1, 6, 11, 96, 99 }, // 47 IIC_IntMFFS
    1787             :   { 1, 6, 11, 99, 101 }, // 48 IIC_SprMFMSR
    1788             :   { 0, 0, 0, 0, 0 }, // 49 IIC_SprMFCRF
    1789             :   { 0, 0, 0, 0, 0 }, // 50 IIC_SprMFPMR
    1790             :   { 1, 6, 11, 101, 103 }, // 51 IIC_SprMFSR
    1791             :   { 1, 81, 86, 103, 105 }, // 52 IIC_SprMFTB
    1792             :   { 0, 0, 0, 0, 0 }, // 53 IIC_VecGeneral
    1793             :   { 0, 0, 0, 0, 0 }, // 54 IIC_SprMSGSYNC
    1794             :   { 1, 81, 86, 105, 107 }, // 55 IIC_SprMTSPR
    1795             :   { 1, 6, 11, 107, 110 }, // 56 IIC_IntMTFSB0
    1796             :   { 1, 6, 11, 110, 112 }, // 57 IIC_SprMTMSR
    1797             :   { 0, 0, 0, 0, 0 }, // 58 IIC_SprMTMSRD
    1798             :   { 0, 0, 0, 0, 0 }, // 59 IIC_SprMTPMR
    1799             :   { 1, 81, 86, 112, 114 }, // 60 IIC_SprMTSR
    1800             :   { 1, 6, 11, 114, 117 }, // 61 IIC_IntMulHW
    1801             :   { 1, 6, 11, 117, 120 }, // 62 IIC_IntMulHWU
    1802             :   { 0, 0, 0, 0, 0 }, // 63 IIC_IntMulHD
    1803             :   { 1, 6, 11, 120, 123 }, // 64 IIC_IntMulLI
    1804             :   { 0, 0, 0, 0, 0 }, // 65 IIC_VecPerm
    1805             :   { 1, 16, 21, 123, 126 }, // 66 IIC_LdStSTFD
    1806             :   { 1, 16, 21, 126, 130 }, // 67 IIC_LdStSTFDU
    1807             :   { 1, 6, 11, 130, 132 }, // 68 IIC_SprRFI
    1808             :   { 0, 0, 0, 0, 0 }, // 69 IIC_IntRFID
    1809             :   { 0, 0, 0, 0, 0 }, // 70 IIC_IntRotateD
    1810             :   { 1, 1, 6, 132, 135 }, // 71 IIC_IntRotate
    1811             :   { 0, 0, 0, 0, 0 }, // 72 IIC_SprSLBIA
    1812             :   { 0, 0, 0, 0, 0 }, // 73 IIC_SprSLBIE
    1813             :   { 0, 0, 0, 0, 0 }, // 74 IIC_SprSLBIEG
    1814             :   { 0, 0, 0, 0, 0 }, // 75 IIC_SprSLBMFEE
    1815             :   { 0, 0, 0, 0, 0 }, // 76 IIC_SprSLBMFEV
    1816             :   { 0, 0, 0, 0, 0 }, // 77 IIC_SprSLBMTE
    1817             :   { 0, 0, 0, 0, 0 }, // 78 IIC_SprSLBSYNC
    1818             :   { 1, 1, 6, 135, 138 }, // 79 IIC_IntShift
    1819             :   { 1, 74, 81, 138, 141 }, // 80 IIC_LdStSTWCX
    1820             :   { 1, 21, 26, 141, 145 }, // 81 IIC_LdStStoreUpd
    1821             :   { 1, 21, 26, 145, 148 }, // 82 IIC_LdStSTD
    1822             :   { 1, 74, 81, 148, 151 }, // 83 IIC_LdStSTDCX
    1823             :   { 1, 21, 26, 151, 155 }, // 84 IIC_LdStSTDU
    1824             :   { 1, 21, 26, 155, 159 }, // 85 IIC_LdStSTDUX
    1825             :   { 0, 0, 0, 0, 0 }, // 86 IIC_SprSTOP
    1826             :   { 0, 0, 0, 0, 0 }, // 87 IIC_IntTrapD
    1827             :   { 0, 0, 0, 0, 0 }, // 88 IIC_SprTLBIA
    1828             :   { 0, 0, 0, 0, 0 }, // 89 IIC_SprTLBIE
    1829             :   { 0, 0, 0, 0, 0 }, // 90 IIC_SprTLBIEL
    1830             :   { 1, 6, 11, 0, 0 }, // 91 IIC_SprTLBSYNC
    1831             :   { 1, 6, 11, 159, 161 }, // 92 IIC_IntTrapW
    1832             :   { 0, 0, 0, 0, 0 }, // 93 IIC_VecFPCompare
    1833             :   { 0, 0, 0, 0, 0 }, // 94 VADDCUW_VAND_VANDC_VMRGEW_VMRGOW_VNOR_VOR_VSEL_VSUBCUW_VXOR_V_SET0B_V_SET0H_V_SET0_XVABSDP_XVABSSP_XVCPSGNDP_XVCPSGNSP_XVIEXPDP_XVNABSDP_XVNABSSP_XVNEGDP_XVNEGSP_XVXEXPDP
    1834             :   { 0, 0, 0, 0, 0 }, // 95 VADDUBM_VADDUDM_VADDUHM_VADDUWM_VEQV_VEXTSB2D_VEXTSB2W_VEXTSH2D_VEXTSH2W_VEXTSW2D_VNAND_VNEGD_VNEGW_VORC_VPOPCNTB_VPOPCNTH_VPOPCNTW_VSUBUBM_VSUBUDM_VSUBUHM_VSUBUWM_XXLAND_XXLANDC_XXLEQV_XXLNAND_XXLNOR_XXLOR_XXLORf_XXLORC_XXLXOR
    1835             :   { 0, 0, 0, 0, 0 }, // 96 VCMPEQUB_VCMPEQUBo_VCMPEQUD_VCMPEQUDo_VCMPEQUH_VCMPEQUHo_VCMPEQUW_VCMPEQUWo_VCMPGTSB_VCMPGTSBo_VCMPGTSD_VCMPGTSDo_VCMPGTSH_VCMPGTSHo_VCMPGTSW_VCMPGTSWo_VCMPGTUB_VCMPGTUBo_VCMPGTUD_VCMPGTUDo_VCMPGTUH_VCMPGTUHo_VCMPGTUW_VCMPGTUWo_VCMPNEB_VCMPNEBo_VCMPNEH_VCMPNEHo_VCMPNEW_VCMPNEWo_VCMPNEZB_VCMPNEZBo_VCMPNEZH_VCMPNEZHo_VCMPNEZW_VCMPNEZWo
    1836             :   { 0, 0, 0, 0, 0 }, // 97 XXSEL
    1837             :   { 0, 0, 0, 0, 0 }, // 98 XSABSQP_XSCPSGNQP_XSIEXPQP_XSNABSQP_XSNEGQP_XSXEXPQP_XSABSDP_XSCPSGNDP_XSIEXPDP_XSNABSDP_XSNEGDP_XSXEXPDP
    1838             :   { 0, 0, 0, 0, 0 }, // 99 VMINSB_VMINSD_VMINSH_VMINSW_VMINUB_VMINUD_VMINUH_VMINUW_VRLB_VRLD_VRLDMI_VRLDNM_VRLH_VRLW_VRLWMI_VRLWNM_VSHASIGMAD_VSHASIGMAW_VSLB_VSLH_VSLW_VSRAB_VSRAH_VSRAW_VSRB_VSRH_VSRW_VSUBSBS_VSUBSHS_VSUBSWS_VSUBUBS_VSUBUHS_VSUBUWS_XSCVSPDPN_XSMAXCDP_XSMAXDP_XSMAXJDP_XSMINCDP_XSMINDP_XSMINJDP_XSTSTDCDP_XSTSTDCSP_XSXSIGDP_XVIEXPSP_XVMAXDP_XVMAXSP_XVMINDP_XVMINSP_XVTSTDCDP_XVTSTDCSP_XVXEXPSP_XVXSIGDP_XVXSIGSP
    1839             :   { 0, 0, 0, 0, 0 }, // 100 VPOPCNTD_VPRTYBD_VPRTYBW_VSLD_VSRAD_VSRD
    1840             :   { 1, 31, 40, 161, 164 }, // 101 XSCMPEQDP_XSCMPEXPDP_XSCMPGEDP_XSCMPGTDP_XSCMPODP_XSCMPUDP_XSTDIVDP_XSTSQRTDP_XVTDIVDP_XVTDIVSP_XVTSQRTDP_XVTSQRTSP
    1841             :   { 0, 0, 0, 0, 0 }, // 102 XVCMPEQDP_XVCMPEQDPo_XVCMPEQSP_XVCMPEQSPo_XVCMPGEDP_XVCMPGEDPo_XVCMPGESP_XVCMPGESPo_XVCMPGTDP_XVCMPGTDPo_XVCMPGTSP_XVCMPGTSPo
    1842             :   { 0, 0, 0, 0, 0 }, // 103 VABSDUB_VABSDUH_VABSDUW_VCLZB_VCLZD_VCLZH_VCLZW_VCTZB_VCTZD_VCTZH_VCTZW
    1843             :   { 0, 0, 0, 0, 0 }, // 104 VADDSBS_VADDSHS_VADDSWS_VADDUBS_VADDUHS_VADDUWS_VAVGSB_VAVGSH_VAVGSW_VAVGUB_VAVGUH_VAVGUW_VBPERMD_VMAXFP_VMAXSB_VMAXSD_VMAXSH_VMAXSW_VMAXUB_VMAXUD_VMAXUH_VMAXUW_VMINFP
    1844             :   { 0, 0, 0, 0, 0 }, // 105 VCMPBFP_VCMPBFPo_VCMPGTFP_VCMPGTFPo_VCMPEQFP_VCMPEQFPo_VCMPGEFP_VCMPGEFPo
    1845             :   { 0, 0, 0, 0, 0 }, // 106 VADDFP_VCTSXS_VCTSXS_0_VCTUXS_VCTUXS_0_VEXPTEFP_VLOGEFP_VMADDFP_VMHADDSHS_VNMSUBFP_VREFP_VRFIM_VRFIN_VRFIP_VRFIZ_VRSQRTEFP_XVADDDP_XVADDSP_XVCVDPSP_XVCVDPSXDS_XVCVDPSXWS_XVCVDPUXDS_XVCVDPUXWS_XVCVHPSP_XVCVSPDP_XVCVSPHP_XVCVSPSXDS_XVCVSPSXWS_XVCVSPUXDS_XVCVSPUXWS_XVCVSXDDP_XVCVSXDSP_XVCVSXWDP_XVCVSXWSP_XVCVUXDDP_XVCVUXDSP_XVCVUXWDP_XVCVUXWSP_XVMADDADP_XVMADDASP_XVMADDMDP_XVMADDMSP_XVMSUBADP_XVMSUBASP_XVMSUBMDP_XVMSUBMSP_XVMULDP_XVMULSP_XVNMADDADP_XVNMADDASP_XVNMADDMDP_XVNMADDMSP_XVNMSUBADP_XVNMSUBASP_XVNMSUBMDP_XVNMSUBMSP_XVRDPI_XVRDPIC_XVRDPIM_XVRDPIP_XVRDPIZ_XVREDP_XVRESP_XVRSPI_XVRSPIC_XVRSPIM_XVRSPIP_XVRSPIZ_XVRSQRTEDP_XVRSQRTESP_XVSUBDP_XVSUBSP_VCFSX_VCFSX_0_VCFUX_VCFUX_0_VMHRADDSHS_VMLADDUHM_VMSUMMBM_VMSUMSHM_VMSUMSHS_VMSUMUBM_VMSUMUHM_VMSUMUHS_VMULESB_VMULESH_VMULESW_VMULEUB_VMULEUH_VMULEUW_VMULOSB_VMULOSH_VMULOSW_VMULOUB_VMULOUH_VMULOUW_VSUM2SWS_VSUM4SBS_VSUM4SHS_VSUM4UBS_VSUMSWS
    1846             :   { 0, 0, 0, 0, 0 }, // 107 VSUBFP_VMULUWM
    1847             :   { 0, 0, 0, 0, 0 }, // 108 XSMADDADP_XSMADDASP_XSMADDMDP_XSMADDMSP_XSMSUBADP_XSMSUBASP_XSMSUBMDP_XSMSUBMSP_XSMULDP_XSMULSP_XSNMADDADP_XSNMADDASP_XSNMADDMDP_XSNMADDMSP_XSNMSUBADP_XSNMSUBASP_XSNMSUBMDP_XSNMSUBMSP
    1848             :   { 0, 0, 0, 0, 0 }, // 109 XSADDDP_XSADDSP_XSCVDPHP_XSCVDPSP_XSCVDPSXDS_XSCVDPSXWS_XSCVDPUXDS_XSCVDPUXWS_XSCVHPDP_XSCVSPDP_XSCVSXDDP_XSCVSXDSP_XSCVUXDDP_XSCVUXDSP_XSRDPI_XSRDPIC_XSRDPIM_XSRDPIP_XSRDPIZ_XSREDP_XSRESP_XSRSQRTEDP_XSRSQRTESP_XSSUBDP_XSSUBSP_XSCVDPSPN
    1849             :   { 0, 0, 0, 0, 0 }, // 110 VBPERMQ_VGBBD_VMRGHB_VMRGHH_VMRGHW_VMRGLB_VMRGLH_VMRGLW_VPERM_VPERMR_VPERMXOR_VPKPX_VPKSDSS_VPKSDUS_VPKSHSS_VPKSHUS_VPKSWSS_VPKSWUS_VPKUDUM_VPKUDUS_VPKUHUM_VPKUHUS_VPKUWUM_VPKUWUS_VSL_VSLDOI_VSLO_VSLV_VSR_VSRO_VSRV_VUPKHPX_VUPKHSB_VUPKHSH_VUPKHSW_VUPKLPX_VUPKLSB_VUPKLSH_VUPKLSW_XXBRD_XXBRH_XXBRQ_XXBRW_XXEXTRACTUW_XXINSERTW_VADDCUQ_VADDECUQ_VADDEUQM_VMUL10CUQ_VMUL10ECUQ_VMUL10EUQ_VMUL10UQ_VSUBCUQ_VSUBECUQ_VSUBEUQM_XSTSTDCQP_XSXSIGQP
    1850             :   { 0, 0, 0, 0, 0 }, // 111 VCLZLSBB_VCTZLSBB_VEXTRACTD_VEXTRACTUB_VEXTRACTUH_VEXTRACTUW_VEXTUBLX_VEXTUBRX_VEXTUHLX_VEXTUHRX_VEXTUWLX_VEXTUWRX_VINSERTB_VINSERTD_VINSERTH_VINSERTW_VPRTYBQ_VADDUQM_VSUBUQM
    1851             :   { 0, 0, 0, 0, 0 }, // 112 VSPLTB_VSPLTH_VSPLTISB_VSPLTISH_VSPLTISW_VSPLTW_XXMRGHW_XXMRGLW_XXPERM_XXPERMR_XXSLDWI_XXSPLTIB_XXSPLTW
    1852             :   { 1, 31, 40, 164, 167 }, // 113 XSCMPEXPQP_XSCMPOQP_XSCMPUQP
    1853             :   { 0, 0, 0, 0, 0 }, // 114 XSADDQP_XSADDQPO_XSCVDPQP_XSCVQPDP_XSCVQPDPO_XSCVQPSDZ_XSCVQPSWZ_XSCVQPUDZ_XSCVQPUWZ_XSCVSDQP_XSCVUDQP_XSRQPI_XSRQPXP_XSSUBQP_XSSUBQPO
    1854             :   { 0, 0, 0, 0, 0 }, // 115 XSMADDQP_XSMADDQPO_XSMSUBQP_XSMSUBQPO_XSMULQP_XSMULQPO_XSNMADDQP_XSNMADDQPO_XSNMSUBQP_XSNMSUBQPO
    1855             :   { 0, 0, 0, 0, 0 }, // 116 XSDIVQP_XSDIVQPO
    1856             :   { 0, 0, 0, 0, 0 }, // 117 XSSQRTQP_XSSQRTQPO
    1857             :   { 1, 21, 26, 167, 170 }, // 118 LXSDX_LXVD2X_LXSIWZX_LXV_LXSD
    1858             :   { 1, 21, 26, 170, 173 }, // 119 LFIWZX_LFDX_LFD
    1859             :   { 1, 21, 26, 173, 176 }, // 120 LXSSPX_LXSIWAX_LXSSP
    1860             :   { 1, 21, 26, 176, 179 }, // 121 LFIWAX_LFSX_LFS
    1861             :   { 1, 21, 26, 179, 182 }, // 122 LXVDSX_LXVW4X
    1862             :   { 1, 16, 21, 182, 185 }, // 123 STFS_STFD_STFIWX_STFSX_STFDX_STXSDX_STXSSPX_STXSIWX
    1863             :   { 1, 16, 21, 185, 188 }, // 124 STXVD2X_STXVW4X
    1864             :   { 1, 26, 31, 188, 191 }, // 125 DIVW_DIVWU
    1865             :   { 1, 26, 31, 191, 194 }, // 126 DIVWE_DIVWEU
    1866             :   { 0, 0, 0, 0, 0 }, // 127 DIVD_DIVDU
    1867             :   { 0, 0, 0, 0, 0 }, // 128 DIVDE_DIVDEU
    1868             :   { 1, 26, 31, 194, 197 }, // 129 DIVWEo_DIVWEUo
    1869             :   { 0, 0, 0, 0, 0 }, // 130 DIVDEo_DIVDEUo
    1870             :   { 0, 0, 0, 0, 0 }, // 131 SLD_SRD_SRAD
    1871             :   { 0, 0, 0, 0, 0 }, // 132 SRADI_RLDIC
    1872             :   { 0, 0, 0, 0, 0 }, // 133 RLDCL_RLDCR
    1873             :   { 0, 0, 0, 0, 0 }, // 134 RLDIMI_RLDICL_RLDICR_RLDICL_32_64
    1874             :   { 1, 6, 11, 197, 200 }, // 135 MTOCRF_MTOCRF8_MTCRF_MTCRF8
    1875             :   { 1, 6, 11, 200, 203 }, // 136 MCRF
    1876             :   { 1, 6, 11, 203, 206 }, // 137 MCRXRX
    1877             :   { 1, 6, 11, 206, 209 }, // 138 MCRFS
    1878             :   { 1, 40, 49, 209, 212 }, // 139 FDIV_XSDIVDP
    1879             :   { 1, 49, 58, 212, 215 }, // 140 FDIVS_XSDIVSP
    1880             :   { 1, 49, 58, 215, 218 }, // 141 XVDIVSP
    1881             :   { 1, 40, 49, 218, 221 }, // 142 XVDIVDP
    1882             :   { 1, 31, 40, 221, 224 }, // 143 FRSP_FRIND_FRINS_FRIPD_FRIPS_FRIZD_FRIZS_FRIMD_FRIMS_FRE_FRES_FRSQRTE_FRSQRTES_FMADDS_FMSUBS_FNMADDS_FNMSUBS_FSELD_FSELS_FADDS_FMULS_FSUBS_FCFID_FCTID_FCTIDZ_FCFIDU_FCFIDS_FCFIDUS_FCTIDUZ_FCTIWUZ_FCTIW_FCTIWZ
    1883             :   { 1, 31, 40, 224, 228 }, // 144 FMADD_FMSUB_FNMADD_FNMSUB_FMUL
    1884             :   { 1, 31, 40, 228, 231 }, // 145 FMR_FABSD_FABSS_FNABSD_FNABSS_FNEGD_FNEGS_FCPSGND_FCPSGNS
    1885             :   { 1, 31, 40, 231, 234 }, // 146 FCMPUS_FCMPUD
    1886             :   { 1, 16, 21, 234, 238 }, // 147 LFSU
    1887             :   { 1, 16, 21, 238, 242 }, // 148 LFSUX
    1888             :   { 1, 16, 21, 242, 246 }, // 149 LFDU
    1889             :   { 1, 16, 21, 246, 250 }, // 150 LFDUX
    1890             :   { 0, ~0U, ~0U, ~0U, ~0U } // end marker
    1891             : };
    1892             : 
    1893             : static const llvm::InstrItinerary G3Itineraries[] = {
    1894             :   { 0, 0, 0, 0, 0 }, // 0 NoInstrModel
    1895             :   { 1, 86, 87, 0, 0 }, // 1 IIC_IntSimple
    1896             :   { 1, 86, 87, 0, 0 }, // 2 IIC_IntGeneral
    1897             :   { 1, 87, 88, 0, 0 }, // 3 IIC_BrB
    1898             :   { 0, 0, 0, 0, 0 }, // 4 IIC_VecFP
    1899             :   { 1, 88, 89, 0, 0 }, // 5 IIC_LdStSync
    1900             :   { 1, 86, 87, 0, 0 }, // 6 IIC_IntCompare
    1901             :   { 0, 0, 0, 0, 0 }, // 7 IIC_SprABORT
    1902             :   { 0, 0, 0, 0, 0 }, // 8 IIC_LdStCOPY
    1903             :   { 0, 0, 0, 0, 0 }, // 9 IIC_LdStPASTE
    1904             :   { 1, 89, 90, 0, 0 }, // 10 IIC_BrCR
    1905             :   { 1, 88, 89, 0, 0 }, // 11 IIC_LdStDCBF
    1906             :   { 1, 90, 91, 0, 0 }, // 12 IIC_LdStLoad
    1907             :   { 0, 0, 0, 0, 0 }, // 13 IIC_IntDivD
    1908             :   { 1, 91, 92, 0, 0 }, // 14 IIC_IntDivW
    1909             :   { 0, 0, 0, 0, 0 }, // 15 IIC_IntRotateDI
    1910             :   { 1, 92, 93, 0, 0 }, // 16 IIC_FPGeneral
    1911             :   { 1, 92, 93, 0, 0 }, // 17 IIC_FPAddSub
    1912             :   { 1, 92, 93, 0, 0 }, // 18 IIC_FPCompare
    1913             :   { 1, 93, 94, 0, 0 }, // 19 IIC_FPDivD
    1914             :   { 1, 94, 95, 0, 0 }, // 20 IIC_FPDivS
    1915             :   { 1, 95, 96, 0, 0 }, // 21 IIC_FPFused
    1916             :   { 0, 0, 0, 0, 0 }, // 22 IIC_FPSqrtD
    1917             :   { 0, 0, 0, 0, 0 }, // 23 IIC_FPSqrtS
    1918             :   { 1, 88, 89, 0, 0 }, // 24 IIC_LdStICBI
    1919             :   { 1, 90, 91, 0, 0 }, // 25 IIC_LdStStore
    1920             :   { 0, 0, 0, 0, 0 }, // 26 IIC_IntISEL
    1921             :   { 1, 96, 97, 0, 0 }, // 27 IIC_SprISYNC
    1922             :   { 1, 88, 89, 0, 0 }, // 28 IIC_LdStLWARX
    1923             :   { 1, 90, 91, 0, 0 }, // 29 IIC_LdStLoadUpd
    1924             :   { 1, 90, 91, 0, 0 }, // 30 IIC_LdStLoadUpdX
    1925             :   { 0, 0, 0, 0, 0 }, // 31 IIC_LdStLD
    1926             :   { 0, 0, 0, 0, 0 }, // 32 IIC_LdStLDARX
    1927             :   { 0, 0, 0, 0, 0 }, // 33 IIC_LdStLDU
    1928             :   { 0, 0, 0, 0, 0 }, // 34 IIC_LdStLDUX
    1929             :   { 1, 90, 91, 0, 0 }, // 35 IIC_LdStLFD
    1930             :   { 1, 90, 91, 0, 0 }, // 36 IIC_LdStLFDU
    1931             :   { 1, 90, 91, 0, 0 }, // 37 IIC_LdStLFDUX
    1932             :   { 1, 90, 91, 0, 0 }, // 38 IIC_LdStLHA
    1933             :   { 1, 90, 91, 0, 0 }, // 39 IIC_LdStLHAU
    1934             :   { 1, 90, 91, 0, 0 }, // 40 IIC_LdStLHAUX
    1935             :   { 1, 97, 98, 0, 0 }, // 41 IIC_LdStLMW
    1936             :   { 0, 0, 0, 0, 0 }, // 42 IIC_LdStLWA
    1937             :   { 1, 89, 90, 0, 0 }, // 43 IIC_BrMCR
    1938             :   { 1, 89, 90, 0, 0 }, // 44 IIC_BrMCRX
    1939             :   { 1, 89, 90, 0, 0 }, // 45 IIC_SprMFCR
    1940             :   { 1, 98, 99, 0, 0 }, // 46 IIC_SprMFSPR
    1941             :   { 1, 92, 93, 0, 0 }, // 47 IIC_IntMFFS
    1942             :   { 1, 89, 90, 0, 0 }, // 48 IIC_SprMFMSR
    1943             :   { 0, 0, 0, 0, 0 }, // 49 IIC_SprMFCRF
    1944             :   { 0, 0, 0, 0, 0 }, // 50 IIC_SprMFPMR
    1945             :   { 1, 98, 99, 0, 0 }, // 51 IIC_SprMFSR
    1946             :   { 1, 98, 99, 0, 0 }, // 52 IIC_SprMFTB
    1947             :   { 0, 0, 0, 0, 0 }, // 53 IIC_VecGeneral
    1948             :   { 0, 0, 0, 0, 0 }, // 54 IIC_SprMSGSYNC
    1949             :   { 1, 96, 97, 0, 0 }, // 55 IIC_SprMTSPR
    1950             :   { 1, 99, 100, 0, 0 }, // 56 IIC_IntMTFSB0
    1951             :   { 1, 89, 90, 0, 0 }, // 57 IIC_SprMTMSR
    1952             :   { 0, 0, 0, 0, 0 }, // 58 IIC_SprMTMSRD
    1953             :   { 0, 0, 0, 0, 0 }, // 59 IIC_SprMTPMR
    1954             :   { 1, 96, 97, 0, 0 }, // 60 IIC_SprMTSR
    1955             :   { 1, 100, 101, 0, 0 }, // 61 IIC_IntMulHW
    1956             :   { 1, 101, 102, 0, 0 }, // 62 IIC_IntMulHWU
    1957             :   { 0, 0, 0, 0, 0 }, // 63 IIC_IntMulHD
    1958             :   { 1, 102, 103, 0, 0 }, // 64 IIC_IntMulLI
    1959             :   { 0, 0, 0, 0, 0 }, // 65 IIC_VecPerm
    1960             :   { 1, 90, 91, 0, 0 }, // 66 IIC_LdStSTFD
    1961             :   { 1, 90, 91, 0, 0 }, // 67 IIC_LdStSTFDU
    1962             :   { 1, 96, 97, 0, 0 }, // 68 IIC_SprRFI
    1963             :   { 0, 0, 0, 0, 0 }, // 69 IIC_IntRFID
    1964             :   { 0, 0, 0, 0, 0 }, // 70 IIC_IntRotateD
    1965             :   { 1, 86, 87, 0, 0 }, // 71 IIC_IntRotate
    1966             :   { 0, 0, 0, 0, 0 }, // 72 IIC_SprSLBIA
    1967             :   { 0, 0, 0, 0, 0 }, // 73 IIC_SprSLBIE
    1968             :   { 0, 0, 0, 0, 0 }, // 74 IIC_SprSLBIEG
    1969             :   { 0, 0, 0, 0, 0 }, // 75 IIC_SprSLBMFEE
    1970             :   { 0, 0, 0, 0, 0 }, // 76 IIC_SprSLBMFEV
    1971             :   { 0, 0, 0, 0, 0 }, // 77 IIC_SprSLBMTE
    1972             :   { 0, 0, 0, 0, 0 }, // 78 IIC_SprSLBSYNC
    1973             :   { 1, 86, 87, 0, 0 }, // 79 IIC_IntShift
    1974             :   { 1, 103, 104, 0, 0 }, // 80 IIC_LdStSTWCX
    1975             :   { 1, 90, 91, 0, 0 }, // 81 IIC_LdStStoreUpd
    1976             :   { 0, 0, 0, 0, 0 }, // 82 IIC_LdStSTD
    1977             :   { 0, 0, 0, 0, 0 }, // 83 IIC_LdStSTDCX
    1978             :   { 0, 0, 0, 0, 0 }, // 84 IIC_LdStSTDU
    1979             :   { 0, 0, 0, 0, 0 }, // 85 IIC_LdStSTDUX
    1980             :   { 0, 0, 0, 0, 0 }, // 86 IIC_SprSTOP
    1981             :   { 0, 0, 0, 0, 0 }, // 87 IIC_IntTrapD
    1982             :   { 0, 0, 0, 0, 0 }, // 88 IIC_SprTLBIA
    1983             :   { 0, 0, 0, 0, 0 }, // 89 IIC_SprTLBIE
    1984             :   { 0, 0, 0, 0, 0 }, // 90 IIC_SprTLBIEL
    1985             :   { 1, 98, 99, 0, 0 }, // 91 IIC_SprTLBSYNC
    1986             :   { 1, 104, 105, 0, 0 }, // 92 IIC_IntTrapW
    1987             :   { 0, 0, 0, 0, 0 }, // 93 IIC_VecFPCompare
    1988             :   { 0, 0, 0, 0, 0 }, // 94 VADDCUW_VAND_VANDC_VMRGEW_VMRGOW_VNOR_VOR_VSEL_VSUBCUW_VXOR_V_SET0B_V_SET0H_V_SET0_XVABSDP_XVABSSP_XVCPSGNDP_XVCPSGNSP_XVIEXPDP_XVNABSDP_XVNABSSP_XVNEGDP_XVNEGSP_XVXEXPDP
    1989             :   { 0, 0, 0, 0, 0 }, // 95 VADDUBM_VADDUDM_VADDUHM_VADDUWM_VEQV_VEXTSB2D_VEXTSB2W_VEXTSH2D_VEXTSH2W_VEXTSW2D_VNAND_VNEGD_VNEGW_VORC_VPOPCNTB_VPOPCNTH_VPOPCNTW_VSUBUBM_VSUBUDM_VSUBUHM_VSUBUWM_XXLAND_XXLANDC_XXLEQV_XXLNAND_XXLNOR_XXLOR_XXLORf_XXLORC_XXLXOR
    1990             :   { 0, 0, 0, 0, 0 }, // 96 VCMPEQUB_VCMPEQUBo_VCMPEQUD_VCMPEQUDo_VCMPEQUH_VCMPEQUHo_VCMPEQUW_VCMPEQUWo_VCMPGTSB_VCMPGTSBo_VCMPGTSD_VCMPGTSDo_VCMPGTSH_VCMPGTSHo_VCMPGTSW_VCMPGTSWo_VCMPGTUB_VCMPGTUBo_VCMPGTUD_VCMPGTUDo_VCMPGTUH_VCMPGTUHo_VCMPGTUW_VCMPGTUWo_VCMPNEB_VCMPNEBo_VCMPNEH_VCMPNEHo_VCMPNEW_VCMPNEWo_VCMPNEZB_VCMPNEZBo_VCMPNEZH_VCMPNEZHo_VCMPNEZW_VCMPNEZWo
    1991             :   { 0, 0, 0, 0, 0 }, // 97 XXSEL
    1992             :   { 0, 0, 0, 0, 0 }, // 98 XSABSQP_XSCPSGNQP_XSIEXPQP_XSNABSQP_XSNEGQP_XSXEXPQP_XSABSDP_XSCPSGNDP_XSIEXPDP_XSNABSDP_XSNEGDP_XSXEXPDP
    1993             :   { 0, 0, 0, 0, 0 }, // 99 VMINSB_VMINSD_VMINSH_VMINSW_VMINUB_VMINUD_VMINUH_VMINUW_VRLB_VRLD_VRLDMI_VRLDNM_VRLH_VRLW_VRLWMI_VRLWNM_VSHASIGMAD_VSHASIGMAW_VSLB_VSLH_VSLW_VSRAB_VSRAH_VSRAW_VSRB_VSRH_VSRW_VSUBSBS_VSUBSHS_VSUBSWS_VSUBUBS_VSUBUHS_VSUBUWS_XSCVSPDPN_XSMAXCDP_XSMAXDP_XSMAXJDP_XSMINCDP_XSMINDP_XSMINJDP_XSTSTDCDP_XSTSTDCSP_XSXSIGDP_XVIEXPSP_XVMAXDP_XVMAXSP_XVMINDP_XVMINSP_XVTSTDCDP_XVTSTDCSP_XVXEXPSP_XVXSIGDP_XVXSIGSP
    1994             :   { 0, 0, 0, 0, 0 }, // 100 VPOPCNTD_VPRTYBD_VPRTYBW_VSLD_VSRAD_VSRD
    1995             :   { 1, 92, 93, 0, 0 }, // 101 XSCMPEQDP_XSCMPEXPDP_XSCMPGEDP_XSCMPGTDP_XSCMPODP_XSCMPUDP_XSTDIVDP_XSTSQRTDP_XVTDIVDP_XVTDIVSP_XVTSQRTDP_XVTSQRTSP
    1996             :   { 0, 0, 0, 0, 0 }, // 102 XVCMPEQDP_XVCMPEQDPo_XVCMPEQSP_XVCMPEQSPo_XVCMPGEDP_XVCMPGEDPo_XVCMPGESP_XVCMPGESPo_XVCMPGTDP_XVCMPGTDPo_XVCMPGTSP_XVCMPGTSPo
    1997             :   { 0, 0, 0, 0, 0 }, // 103 VABSDUB_VABSDUH_VABSDUW_VCLZB_VCLZD_VCLZH_VCLZW_VCTZB_VCTZD_VCTZH_VCTZW
    1998             :   { 0, 0, 0, 0, 0 }, // 104 VADDSBS_VADDSHS_VADDSWS_VADDUBS_VADDUHS_VADDUWS_VAVGSB_VAVGSH_VAVGSW_VAVGUB_VAVGUH_VAVGUW_VBPERMD_VMAXFP_VMAXSB_VMAXSD_VMAXSH_VMAXSW_VMAXUB_VMAXUD_VMAXUH_VMAXUW_VMINFP
    1999             :   { 0, 0, 0, 0, 0 }, // 105 VCMPBFP_VCMPBFPo_VCMPGTFP_VCMPGTFPo_VCMPEQFP_VCMPEQFPo_VCMPGEFP_VCMPGEFPo
    2000             :   { 0, 0, 0, 0, 0 }, // 106 VADDFP_VCTSXS_VCTSXS_0_VCTUXS_VCTUXS_0_VEXPTEFP_VLOGEFP_VMADDFP_VMHADDSHS_VNMSUBFP_VREFP_VRFIM_VRFIN_VRFIP_VRFIZ_VRSQRTEFP_XVADDDP_XVADDSP_XVCVDPSP_XVCVDPSXDS_XVCVDPSXWS_XVCVDPUXDS_XVCVDPUXWS_XVCVHPSP_XVCVSPDP_XVCVSPHP_XVCVSPSXDS_XVCVSPSXWS_XVCVSPUXDS_XVCVSPUXWS_XVCVSXDDP_XVCVSXDSP_XVCVSXWDP_XVCVSXWSP_XVCVUXDDP_XVCVUXDSP_XVCVUXWDP_XVCVUXWSP_XVMADDADP_XVMADDASP_XVMADDMDP_XVMADDMSP_XVMSUBADP_XVMSUBASP_XVMSUBMDP_XVMSUBMSP_XVMULDP_XVMULSP_XVNMADDADP_XVNMADDASP_XVNMADDMDP_XVNMADDMSP_XVNMSUBADP_XVNMSUBASP_XVNMSUBMDP_XVNMSUBMSP_XVRDPI_XVRDPIC_XVRDPIM_XVRDPIP_XVRDPIZ_XVREDP_XVRESP_XVRSPI_XVRSPIC_XVRSPIM_XVRSPIP_XVRSPIZ_XVRSQRTEDP_XVRSQRTESP_XVSUBDP_XVSUBSP_VCFSX_VCFSX_0_VCFUX_VCFUX_0_VMHRADDSHS_VMLADDUHM_VMSUMMBM_VMSUMSHM_VMSUMSHS_VMSUMUBM_VMSUMUHM_VMSUMUHS_VMULESB_VMULESH_VMULESW_VMULEUB_VMULEUH_VMULEUW_VMULOSB_VMULOSH_VMULOSW_VMULOUB_VMULOUH_VMULOUW_VSUM2SWS_VSUM4SBS_VSUM4SHS_VSUM4UBS_VSUMSWS
    2001             :   { 0, 0, 0, 0, 0 }, // 107 VSUBFP_VMULUWM
    2002             :   { 0, 0, 0, 0, 0 }, // 108 XSMADDADP_XSMADDASP_XSMADDMDP_XSMADDMSP_XSMSUBADP_XSMSUBASP_XSMSUBMDP_XSMSUBMSP_XSMULDP_XSMULSP_XSNMADDADP_XSNMADDASP_XSNMADDMDP_XSNMADDMSP_XSNMSUBADP_XSNMSUBASP_XSNMSUBMDP_XSNMSUBMSP
    2003             :   { 0, 0, 0, 0, 0 }, // 109 XSADDDP_XSADDSP_XSCVDPHP_XSCVDPSP_XSCVDPSXDS_XSCVDPSXWS_XSCVDPUXDS_XSCVDPUXWS_XSCVHPDP_XSCVSPDP_XSCVSXDDP_XSCVSXDSP_XSCVUXDDP_XSCVUXDSP_XSRDPI_XSRDPIC_XSRDPIM_XSRDPIP_XSRDPIZ_XSREDP_XSRESP_XSRSQRTEDP_XSRSQRTESP_XSSUBDP_XSSUBSP_XSCVDPSPN
    2004             :   { 0, 0, 0, 0, 0 }, // 110 VBPERMQ_VGBBD_VMRGHB_VMRGHH_VMRGHW_VMRGLB_VMRGLH_VMRGLW_VPERM_VPERMR_VPERMXOR_VPKPX_VPKSDSS_VPKSDUS_VPKSHSS_VPKSHUS_VPKSWSS_VPKSWUS_VPKUDUM_VPKUDUS_VPKUHUM_VPKUHUS_VPKUWUM_VPKUWUS_VSL_VSLDOI_VSLO_VSLV_VSR_VSRO_VSRV_VUPKHPX_VUPKHSB_VUPKHSH_VUPKHSW_VUPKLPX_VUPKLSB_VUPKLSH_VUPKLSW_XXBRD_XXBRH_XXBRQ_XXBRW_XXEXTRACTUW_XXINSERTW_VADDCUQ_VADDECUQ_VADDEUQM_VMUL10CUQ_VMUL10ECUQ_VMUL10EUQ_VMUL10UQ_VSUBCUQ_VSUBECUQ_VSUBEUQM_XSTSTDCQP_XSXSIGQP
    2005             :   { 0, 0, 0, 0, 0 }, // 111 VCLZLSBB_VCTZLSBB_VEXTRACTD_VEXTRACTUB_VEXTRACTUH_VEXTRACTUW_VEXTUBLX_VEXTUBRX_VEXTUHLX_VEXTUHRX_VEXTUWLX_VEXTUWRX_VINSERTB_VINSERTD_VINSERTH_VINSERTW_VPRTYBQ_VADDUQM_VSUBUQM
    2006             :   { 0, 0, 0, 0, 0 }, // 112 VSPLTB_VSPLTH_VSPLTISB_VSPLTISH_VSPLTISW_VSPLTW_XXMRGHW_XXMRGLW_XXPERM_XXPERMR_XXSLDWI_XXSPLTIB_XXSPLTW
    2007             :   { 1, 92, 93, 0, 0 }, // 113 XSCMPEXPQP_XSCMPOQP_XSCMPUQP
    2008             :   { 0, 0, 0, 0, 0 }, // 114 XSADDQP_XSADDQPO_XSCVDPQP_XSCVQPDP_XSCVQPDPO_XSCVQPSDZ_XSCVQPSWZ_XSCVQPUDZ_XSCVQPUWZ_XSCVSDQP_XSCVUDQP_XSRQPI_XSRQPXP_XSSUBQP_XSSUBQPO
    2009             :   { 0, 0, 0, 0, 0 }, // 115 XSMADDQP_XSMADDQPO_XSMSUBQP_XSMSUBQPO_XSMULQP_XSMULQPO_XSNMADDQP_XSNMADDQPO_XSNMSUBQP_XSNMSUBQPO
    2010             :   { 0, 0, 0, 0, 0 }, // 116 XSDIVQP_XSDIVQPO
    2011             :   { 0, 0, 0, 0, 0 }, // 117 XSSQRTQP_XSSQRTQPO
    2012             :   { 1, 90, 91, 0, 0 }, // 118 LXSDX_LXVD2X_LXSIWZX_LXV_LXSD
    2013             :   { 1, 90, 91, 0, 0 }, // 119 LFIWZX_LFDX_LFD
    2014             :   { 1, 90, 91, 0, 0 }, // 120 LXSSPX_LXSIWAX_LXSSP
    2015             :   { 1, 90, 91, 0, 0 }, // 121 LFIWAX_LFSX_LFS
    2016             :   { 1, 90, 91, 0, 0 }, // 122 LXVDSX_LXVW4X
    2017             :   { 1, 90, 91, 0, 0 }, // 123 STFS_STFD_STFIWX_STFSX_STFDX_STXSDX_STXSSPX_STXSIWX
    2018             :   { 1, 90, 91, 0, 0 }, // 124 STXVD2X_STXVW4X
    2019             :   { 1, 91, 92, 0, 0 }, // 125 DIVW_DIVWU
    2020             :   { 1, 91, 92, 0, 0 }, // 126 DIVWE_DIVWEU
    2021             :   { 0, 0, 0, 0, 0 }, // 127 DIVD_DIVDU
    2022             :   { 0, 0, 0, 0, 0 }, // 128 DIVDE_DIVDEU
    2023             :   { 1, 91, 92, 0, 0 }, // 129 DIVWEo_DIVWEUo
    2024             :   { 0, 0, 0, 0, 0 }, // 130 DIVDEo_DIVDEUo
    2025             :   { 0, 0, 0, 0, 0 }, // 131 SLD_SRD_SRAD
    2026             :   { 0, 0, 0, 0, 0 }, // 132 SRADI_RLDIC
    2027             :   { 0, 0, 0, 0, 0 }, // 133 RLDCL_RLDCR
    2028             :   { 0, 0, 0, 0, 0 }, // 134 RLDIMI_RLDICL_RLDICR_RLDICL_32_64
    2029             :   { 1, 89, 90, 0, 0 }, // 135 MTOCRF_MTOCRF8_MTCRF_MTCRF8
    2030             :   { 1, 89, 90, 0, 0 }, // 136 MCRF
    2031             :   { 1, 89, 90, 0, 0 }, // 137 MCRXRX
    2032             :   { 1, 89, 90, 0, 0 }, // 138 MCRFS
    2033             :   { 1, 93, 94, 0, 0 }, // 139 FDIV_XSDIVDP
    2034             :   { 1, 94, 95, 0, 0 }, // 140 FDIVS_XSDIVSP
    2035             :   { 1, 94, 95, 0, 0 }, // 141 XVDIVSP
    2036             :   { 1, 93, 94, 0, 0 }, // 142 XVDIVDP
    2037             :   { 1, 92, 93, 0, 0 }, // 143 FRSP_FRIND_FRINS_FRIPD_FRIPS_FRIZD_FRIZS_FRIMD_FRIMS_FRE_FRES_FRSQRTE_FRSQRTES_FMADDS_FMSUBS_FNMADDS_FNMSUBS_FSELD_FSELS_FADDS_FMULS_FSUBS_FCFID_FCTID_FCTIDZ_FCFIDU_FCFIDS_FCFIDUS_FCTIDUZ_FCTIWUZ_FCTIW_FCTIWZ
    2038             :   { 1, 95, 96, 0, 0 }, // 144 FMADD_FMSUB_FNMADD_FNMSUB_FMUL
    2039             :   { 1, 92, 93, 0, 0 }, // 145 FMR_FABSD_FABSS_FNABSD_FNABSS_FNEGD_FNEGS_FCPSGND_FCPSGNS
    2040             :   { 1, 92, 93, 0, 0 }, // 146 FCMPUS_FCMPUD
    2041             :   { 1, 90, 91, 0, 0 }, // 147 LFSU
    2042             :   { 1, 90, 91, 0, 0 }, // 148 LFSUX
    2043             :   { 1, 90, 91, 0, 0 }, // 149 LFDU
    2044             :   { 1, 90, 91, 0, 0 }, // 150 LFDUX
    2045             :   { 0, ~0U, ~0U, ~0U, ~0U } // end marker
    2046             : };
    2047             : 
    2048             : static const llvm::InstrItinerary G4Itineraries[] = {
    2049             :   { 0, 0, 0, 0, 0 }, // 0 NoInstrModel
    2050             :   { 1, 105, 106, 0, 0 }, // 1 IIC_IntSimple
    2051             :   { 1, 105, 106, 0, 0 }, // 2 IIC_IntGeneral
    2052             :   { 1, 106, 107, 0, 0 }, // 3 IIC_BrB
    2053             :   { 1, 107, 108, 0, 0 }, // 4 IIC_VecFP
    2054             :   { 1, 108, 109, 0, 0 }, // 5 IIC_LdStSync
    2055             :   { 1, 105, 106, 0, 0 }, // 6 IIC_IntCompare
    2056             :   { 0, 0, 0, 0, 0 }, // 7 IIC_SprABORT
    2057             :   { 0, 0, 0, 0, 0 }, // 8 IIC_LdStCOPY
    2058             :   { 0, 0, 0, 0, 0 }, // 9 IIC_LdStPASTE
    2059             :   { 1, 109, 110, 0, 0 }, // 10 IIC_BrCR
    2060             :   { 1, 110, 111, 0, 0 }, // 11 IIC_LdStDCBF
    2061             :   { 1, 110, 111, 0, 0 }, // 12 IIC_LdStLoad
    2062             :   { 0, 0, 0, 0, 0 }, // 13 IIC_IntDivD
    2063             :   { 1, 111, 112, 0, 0 }, // 14 IIC_IntDivW
    2064             :   { 0, 0, 0, 0, 0 }, // 15 IIC_IntRotateDI
    2065             :   { 1, 112, 113, 0, 0 }, // 16 IIC_FPGeneral
    2066             :   { 1, 112, 113, 0, 0 }, // 17 IIC_FPAddSub
    2067             :   { 1, 112, 113, 0, 0 }, // 18 IIC_FPCompare
    2068             :   { 1, 113, 114, 0, 0 }, // 19 IIC_FPDivD
    2069             :   { 1, 114, 115, 0, 0 }, // 20 IIC_FPDivS
    2070             :   { 1, 112, 113, 0, 0 }, // 21 IIC_FPFused
    2071             :   { 0, 0, 0, 0, 0 }, // 22 IIC_FPSqrtD
    2072             :   { 0, 0, 0, 0, 0 }, // 23 IIC_FPSqrtS
    2073             :   { 1, 110, 111, 0, 0 }, // 24 IIC_LdStICBI
    2074             :   { 1, 110, 111, 0, 0 }, // 25 IIC_LdStStore
    2075             :   { 0, 0, 0, 0, 0 }, // 26 IIC_IntISEL
    2076             :   { 1, 115, 116, 0, 0 }, // 27 IIC_SprISYNC
    2077             :   { 1, 116, 117, 0, 0 }, // 28 IIC_LdStLWARX
    2078             :   { 1, 110, 111, 0, 0 }, // 29 IIC_LdStLoadUpd
    2079             :   { 1, 110, 111, 0, 0 }, // 30 IIC_LdStLoadUpdX
    2080             :   { 0, 0, 0, 0, 0 }, // 31 IIC_LdStLD
    2081             :   { 0, 0, 0, 0, 0 }, // 32 IIC_LdStLDARX
    2082             :   { 0, 0, 0, 0, 0 }, // 33 IIC_LdStLDU
    2083             :   { 0, 0, 0, 0, 0 }, // 34 IIC_LdStLDUX
    2084             :   { 1, 110, 111, 0, 0 }, // 35 IIC_LdStLFD
    2085             :   { 1, 110, 111, 0, 0 }, // 36 IIC_LdStLFDU
    2086             :   { 1, 110, 111, 0, 0 }, // 37 IIC_LdStLFDUX
    2087             :   { 1, 110, 111, 0, 0 }, // 38 IIC_LdStLHA
    2088             :   { 1, 110, 111, 0, 0 }, // 39 IIC_LdStLHAU
    2089             :   { 1, 110, 111, 0, 0 }, // 40 IIC_LdStLHAUX
    2090             :   { 1, 117, 118, 0, 0 }, // 41 IIC_LdStLMW
    2091             :   { 0, 0, 0, 0, 0 }, // 42 IIC_LdStLWA
    2092             :   { 1, 109, 110, 0, 0 }, // 43 IIC_BrMCR
    2093             :   { 1, 109, 110, 0, 0 }, // 44 IIC_BrMCRX
    2094             :   { 1, 109, 110, 0, 0 }, // 45 IIC_SprMFCR
    2095             :   { 1, 118, 119, 0, 0 }, // 46 IIC_SprMFSPR
    2096             :   { 1, 119, 120, 0, 0 }, // 47 IIC_IntMFFS
    2097             :   { 1, 109, 110, 0, 0 }, // 48 IIC_SprMFMSR
    2098             :   { 0, 0, 0, 0, 0 }, // 49 IIC_SprMFCRF
    2099             :   { 0, 0, 0, 0, 0 }, // 50 IIC_SprMFPMR
    2100             :   { 1, 118, 119, 0, 0 }, // 51 IIC_SprMFSR
    2101             :   { 1, 109, 110, 0, 0 }, // 52 IIC_SprMFTB
    2102             :   { 1, 120, 121, 0, 0 }, // 53 IIC_VecGeneral
    2103             :   { 0, 0, 0, 0, 0 }, // 54 IIC_SprMSGSYNC
    2104             :   { 1, 115, 116, 0, 0 }, // 55 IIC_SprMTSPR
    2105             :   { 1, 119, 120, 0, 0 }, // 56 IIC_IntMTFSB0
    2106             :   { 1, 109, 110, 0, 0 }, // 57 IIC_SprMTMSR
    2107             :   { 0, 0, 0, 0, 0 }, // 58 IIC_SprMTMSRD
    2108             :   { 0, 0, 0, 0, 0 }, // 59 IIC_SprMTPMR
    2109             :   { 1, 115, 116, 0, 0 }, // 60 IIC_SprMTSR
    2110             :   { 1, 121, 122, 0, 0 }, // 61 IIC_IntMulHW
    2111             :   { 1, 122, 123, 0, 0 }, // 62 IIC_IntMulHWU
    2112             :   { 0, 0, 0, 0, 0 }, // 63 IIC_IntMulHD
    2113             :   { 1, 123, 124, 0, 0 }, // 64 IIC_IntMulLI
    2114             :   { 1, 124, 125, 0, 0 }, // 65 IIC_VecPerm
    2115             :   { 1, 110, 111, 0, 0 }, // 66 IIC_LdStSTFD
    2116             :   { 1, 110, 111, 0, 0 }, // 67 IIC_LdStSTFDU
    2117             :   { 1, 115, 116, 0, 0 }, // 68 IIC_SprRFI
    2118             :   { 0, 0, 0, 0, 0 }, // 69 IIC_IntRFID
    2119             :   { 0, 0, 0, 0, 0 }, // 70 IIC_IntRotateD
    2120             :   { 1, 105, 106, 0, 0 }, // 71 IIC_IntRotate
    2121             :   { 0, 0, 0, 0, 0 }, // 72 IIC_SprSLBIA
    2122             :   { 0, 0, 0, 0, 0 }, // 73 IIC_SprSLBIE
    2123             :   { 0, 0, 0, 0, 0 }, // 74 IIC_SprSLBIEG
    2124             :   { 0, 0, 0, 0, 0 }, // 75 IIC_SprSLBMFEE
    2125             :   { 0, 0, 0, 0, 0 }, // 76 IIC_SprSLBMFEV
    2126             :   { 0, 0, 0, 0, 0 }, // 77 IIC_SprSLBMTE
    2127             :   { 0, 0, 0, 0, 0 }, // 78 IIC_SprSLBSYNC
    2128             :   { 1, 105, 106, 0, 0 }, // 79 IIC_IntShift
    2129             :   { 1, 125, 126, 0, 0 }, // 80 IIC_LdStSTWCX
    2130             :   { 1, 110, 111, 0, 0 }, // 81 IIC_LdStStoreUpd
    2131             :   { 0, 0, 0, 0, 0 }, // 82 IIC_LdStSTD
    2132             :   { 0, 0, 0, 0, 0 }, // 83 IIC_LdStSTDCX
    2133             :   { 0, 0, 0, 0, 0 }, // 84 IIC_LdStSTDU
    2134             :   { 0, 0, 0, 0, 0 }, // 85 IIC_LdStSTDUX
    2135             :   { 0, 0, 0, 0, 0 }, // 86 IIC_SprSTOP
    2136             :   { 0, 0, 0, 0, 0 }, // 87 IIC_IntTrapD
    2137             :   { 0, 0, 0, 0, 0 }, // 88 IIC_SprTLBIA
    2138             :   { 0, 0, 0, 0, 0 }, // 89 IIC_SprTLBIE
    2139             :   { 0, 0, 0, 0, 0 }, // 90 IIC_SprTLBIEL
    2140             :   { 1, 126, 127, 0, 0 }, // 91 IIC_SprTLBSYNC
    2141             :   { 1, 127, 128, 0, 0 }, // 92 IIC_IntTrapW
    2142             :   { 1, 120, 121, 0, 0 }, // 93 IIC_VecFPCompare
    2143             :   { 1, 107, 108, 0, 0 }, // 94 VADDCUW_VAND_VANDC_VMRGEW_VMRGOW_VNOR_VOR_VSEL_VSUBCUW_VXOR_V_SET0B_V_SET0H_V_SET0_XVABSDP_XVABSSP_XVCPSGNDP_XVCPSGNSP_XVIEXPDP_XVNABSDP_XVNABSSP_XVNEGDP_XVNEGSP_XVXEXPDP
    2144             :   { 1, 120, 121, 0, 0 }, // 95 VADDUBM_VADDUDM_VADDUHM_VADDUWM_VEQV_VEXTSB2D_VEXTSB2W_VEXTSH2D_VEXTSH2W_VEXTSW2D_VNAND_VNEGD_VNEGW_VORC_VPOPCNTB_VPOPCNTH_VPOPCNTW_VSUBUBM_VSUBUDM_VSUBUHM_VSUBUWM_XXLAND_XXLANDC_XXLEQV_XXLNAND_XXLNOR_XXLOR_XXLORf_XXLORC_XXLXOR
    2145             :   { 1, 120, 121, 0, 0 }, // 96 VCMPEQUB_VCMPEQUBo_VCMPEQUD_VCMPEQUDo_VCMPEQUH_VCMPEQUHo_VCMPEQUW_VCMPEQUWo_VCMPGTSB_VCMPGTSBo_VCMPGTSD_VCMPGTSDo_VCMPGTSH_VCMPGTSHo_VCMPGTSW_VCMPGTSWo_VCMPGTUB_VCMPGTUBo_VCMPGTUD_VCMPGTUDo_VCMPGTUH_VCMPGTUHo_VCMPGTUW_VCMPGTUWo_VCMPNEB_VCMPNEBo_VCMPNEH_VCMPNEHo_VCMPNEW_VCMPNEWo_VCMPNEZB_VCMPNEZBo_VCMPNEZH_VCMPNEZHo_VCMPNEZW_VCMPNEZWo
    2146             :   { 1, 124, 125, 0, 0 }, // 97 XXSEL
    2147             :   { 1, 107, 108, 0, 0 }, // 98 XSABSQP_XSCPSGNQP_XSIEXPQP_XSNABSQP_XSNEGQP_XSXEXPQP_XSABSDP_XSCPSGNDP_XSIEXPDP_XSNABSDP_XSNEGDP_XSXEXPDP
    2148             :   { 1, 107, 108, 0, 0 }, // 99 VMINSB_VMINSD_VMINSH_VMINSW_VMINUB_VMINUD_VMINUH_VMINUW_VRLB_VRLD_VRLDMI_VRLDNM_VRLH_VRLW_VRLWMI_VRLWNM_VSHASIGMAD_VSHASIGMAW_VSLB_VSLH_VSLW_VSRAB_VSRAH_VSRAW_VSRB_VSRH_VSRW_VSUBSBS_VSUBSHS_VSUBSWS_VSUBUBS_VSUBUHS_VSUBUWS_XSCVSPDPN_XSMAXCDP_XSMAXDP_XSMAXJDP_XSMINCDP_XSMINDP_XSMINJDP_XSTSTDCDP_XSTSTDCSP_XSXSIGDP_XVIEXPSP_XVMAXDP_XVMAXSP_XVMINDP_XVMINSP_XVTSTDCDP_XVTSTDCSP_XVXEXPSP_XVXSIGDP_XVXSIGSP
    2149             :   { 1, 120, 121, 0, 0 }, // 100 VPOPCNTD_VPRTYBD_VPRTYBW_VSLD_VSRAD_VSRD
    2150             :   { 1, 112, 113, 0, 0 }, // 101 XSCMPEQDP_XSCMPEXPDP_XSCMPGEDP_XSCMPGTDP_XSCMPODP_XSCMPUDP_XSTDIVDP_XSTSQRTDP_XVTDIVDP_XVTDIVSP_XVTSQRTDP_XVTSQRTSP
    2151             :   { 1, 120, 121, 0, 0 }, // 102 XVCMPEQDP_XVCMPEQDPo_XVCMPEQSP_XVCMPEQSPo_XVCMPGEDP_XVCMPGEDPo_XVCMPGESP_XVCMPGESPo_XVCMPGTDP_XVCMPGTDPo_XVCMPGTSP_XVCMPGTSPo
    2152             :   { 1, 120, 121, 0, 0 }, // 103 VABSDUB_VABSDUH_VABSDUW_VCLZB_VCLZD_VCLZH_VCLZW_VCTZB_VCTZD_VCTZH_VCTZW
    2153             :   { 1, 107, 108, 0, 0 }, // 104 VADDSBS_VADDSHS_VADDSWS_VADDUBS_VADDUHS_VADDUWS_VAVGSB_VAVGSH_VAVGSW_VAVGUB_VAVGUH_VAVGUW_VBPERMD_VMAXFP_VMAXSB_VMAXSD_VMAXSH_VMAXSW_VMAXUB_VMAXUD_VMAXUH_VMAXUW_VMINFP
    2154             :   { 1, 120, 121, 0, 0 }, // 105 VCMPBFP_VCMPBFPo_VCMPGTFP_VCMPGTFPo_VCMPEQFP_VCMPEQFPo_VCMPGEFP_VCMPGEFPo
    2155             :   { 1, 107, 108, 0, 0 }, // 106 VADDFP_VCTSXS_VCTSXS_0_VCTUXS_VCTUXS_0_VEXPTEFP_VLOGEFP_VMADDFP_VMHADDSHS_VNMSUBFP_VREFP_VRFIM_VRFIN_VRFIP_VRFIZ_VRSQRTEFP_XVADDDP_XVADDSP_XVCVDPSP_XVCVDPSXDS_XVCVDPSXWS_XVCVDPUXDS_XVCVDPUXWS_XVCVHPSP_XVCVSPDP_XVCVSPHP_XVCVSPSXDS_XVCVSPSXWS_XVCVSPUXDS_XVCVSPUXWS_XVCVSXDDP_XVCVSXDSP_XVCVSXWDP_XVCVSXWSP_XVCVUXDDP_XVCVUXDSP_XVCVUXWDP_XVCVUXWSP_XVMADDADP_XVMADDASP_XVMADDMDP_XVMADDMSP_XVMSUBADP_XVMSUBASP_XVMSUBMDP_XVMSUBMSP_XVMULDP_XVMULSP_XVNMADDADP_XVNMADDASP_XVNMADDMDP_XVNMADDMSP_XVNMSUBADP_XVNMSUBASP_XVNMSUBMDP_XVNMSUBMSP_XVRDPI_XVRDPIC_XVRDPIM_XVRDPIP_XVRDPIZ_XVREDP_XVRESP_XVRSPI_XVRSPIC_XVRSPIM_XVRSPIP_XVRSPIZ_XVRSQRTEDP_XVRSQRTESP_XVSUBDP_XVSUBSP_VCFSX_VCFSX_0_VCFUX_VCFUX_0_VMHRADDSHS_VMLADDUHM_VMSUMMBM_VMSUMSHM_VMSUMSHS_VMSUMUBM_VMSUMUHM_VMSUMUHS_VMULESB_VMULESH_VMULESW_VMULEUB_VMULEUH_VMULEUW_VMULOSB_VMULOSH_VMULOSW_VMULOUB_VMULOUH_VMULOUW_VSUM2SWS_VSUM4SBS_VSUM4SHS_VSUM4UBS_VSUMSWS
    2156             :   { 1, 120, 121, 0, 0 }, // 107 VSUBFP_VMULUWM
    2157             :   { 1, 107, 108, 0, 0 }, // 108 XSMADDADP_XSMADDASP_XSMADDMDP_XSMADDMSP_XSMSUBADP_XSMSUBASP_XSMSUBMDP_XSMSUBMSP_XSMULDP_XSMULSP_XSNMADDADP_XSNMADDASP_XSNMADDMDP_XSNMADDMSP_XSNMSUBADP_XSNMSUBASP_XSNMSUBMDP_XSNMSUBMSP
    2158             :   { 1, 107, 108, 0, 0 }, // 109 XSADDDP_XSADDSP_XSCVDPHP_XSCVDPSP_XSCVDPSXDS_XSCVDPSXWS_XSCVDPUXDS_XSCVDPUXWS_XSCVHPDP_XSCVSPDP_XSCVSXDDP_XSCVSXDSP_XSCVUXDDP_XSCVUXDSP_XSRDPI_XSRDPIC_XSRDPIM_XSRDPIP_XSRDPIZ_XSREDP_XSRESP_XSRSQRTEDP_XSRSQRTESP_XSSUBDP_XSSUBSP_XSCVDPSPN
    2159             :   { 1, 107, 108, 0, 0 }, // 110 VBPERMQ_VGBBD_VMRGHB_VMRGHH_VMRGHW_VMRGLB_VMRGLH_VMRGLW_VPERM_VPERMR_VPERMXOR_VPKPX_VPKSDSS_VPKSDUS_VPKSHSS_VPKSHUS_VPKSWSS_VPKSWUS_VPKUDUM_VPKUDUS_VPKUHUM_VPKUHUS_VPKUWUM_VPKUWUS_VSL_VSLDOI_VSLO_VSLV_VSR_VSRO_VSRV_VUPKHPX_VUPKHSB_VUPKHSH_VUPKHSW_VUPKLPX_VUPKLSB_VUPKLSH_VUPKLSW_XXBRD_XXBRH_XXBRQ_XXBRW_XXEXTRACTUW_XXINSERTW_VADDCUQ_VADDECUQ_VADDEUQM_VMUL10CUQ_VMUL10ECUQ_VMUL10EUQ_VMUL10UQ_VSUBCUQ_VSUBECUQ_VSUBEUQM_XSTSTDCQP_XSXSIGQP
    2160             :   { 1, 120, 121, 0, 0 }, // 111 VCLZLSBB_VCTZLSBB_VEXTRACTD_VEXTRACTUB_VEXTRACTUH_VEXTRACTUW_VEXTUBLX_VEXTUBRX_VEXTUHLX_VEXTUHRX_VEXTUWLX_VEXTUWRX_VINSERTB_VINSERTD_VINSERTH_VINSERTW_VPRTYBQ_VADDUQM_VSUBUQM
    2161             :   { 1, 124, 125, 0, 0 }, // 112 VSPLTB_VSPLTH_VSPLTISB_VSPLTISH_VSPLTISW_VSPLTW_XXMRGHW_XXMRGLW_XXPERM_XXPERMR_XXSLDWI_XXSPLTIB_XXSPLTW
    2162             :   { 1, 112, 113, 0, 0 }, // 113 XSCMPEXPQP_XSCMPOQP_XSCMPUQP
    2163             :   { 1, 107, 108, 0, 0 }, // 114 XSADDQP_XSADDQPO_XSCVDPQP_XSCVQPDP_XSCVQPDPO_XSCVQPSDZ_XSCVQPSWZ_XSCVQPUDZ_XSCVQPUWZ_XSCVSDQP_XSCVUDQP_XSRQPI_XSRQPXP_XSSUBQP_XSSUBQPO
    2164             :   { 1, 107, 108, 0, 0 }, // 115 XSMADDQP_XSMADDQPO_XSMSUBQP_XSMSUBQPO_XSMULQP_XSMULQPO_XSNMADDQP_XSNMADDQPO_XSNMSUBQP_XSNMSUBQPO
    2165             :   { 1, 107, 108, 0, 0 }, // 116 XSDIVQP_XSDIVQPO
    2166             :   { 1, 107, 108, 0, 0 }, // 117 XSSQRTQP_XSSQRTQPO
    2167             :   { 1, 110, 111, 0, 0 }, // 118 LXSDX_LXVD2X_LXSIWZX_LXV_LXSD
    2168             :   { 1, 110, 111, 0, 0 }, // 119 LFIWZX_LFDX_LFD
    2169             :   { 1, 110, 111, 0, 0 }, // 120 LXSSPX_LXSIWAX_LXSSP
    2170             :   { 1, 110, 111, 0, 0 }, // 121 LFIWAX_LFSX_LFS
    2171             :   { 1, 110, 111, 0, 0 }, // 122 LXVDSX_LXVW4X
    2172             :   { 1, 110, 111, 0, 0 }, // 123 STFS_STFD_STFIWX_STFSX_STFDX_STXSDX_STXSSPX_STXSIWX
    2173             :   { 1, 110, 111, 0, 0 }, // 124 STXVD2X_STXVW4X
    2174             :   { 1, 111, 112, 0, 0 }, // 125 DIVW_DIVWU
    2175             :   { 1, 111, 112, 0, 0 }, // 126 DIVWE_DIVWEU
    2176             :   { 0, 0, 0, 0, 0 }, // 127 DIVD_DIVDU
    2177             :   { 0, 0, 0, 0, 0 }, // 128 DIVDE_DIVDEU
    2178             :   { 1, 111, 112, 0, 0 }, // 129 DIVWEo_DIVWEUo
    2179             :   { 0, 0, 0, 0, 0 }, // 130 DIVDEo_DIVDEUo
    2180             :   { 0, 0, 0, 0, 0 }, // 131 SLD_SRD_SRAD
    2181             :   { 0, 0, 0, 0, 0 }, // 132 SRADI_RLDIC
    2182             :   { 0, 0, 0, 0, 0 }, // 133 RLDCL_RLDCR
    2183             :   { 0, 0, 0, 0, 0 }, // 134 RLDIMI_RLDICL_RLDICR_RLDICL_32_64
    2184             :   { 1, 109, 110, 0, 0 }, // 135 MTOCRF_MTOCRF8_MTCRF_MTCRF8
    2185             :   { 1, 109, 110, 0, 0 }, // 136 MCRF
    2186             :   { 1, 109, 110, 0, 0 }, // 137 MCRXRX
    2187             :   { 1, 109, 110, 0, 0 }, // 138 MCRFS
    2188             :   { 1, 113, 114, 0, 0 }, // 139 FDIV_XSDIVDP
    2189             :   { 1, 114, 115, 0, 0 }, // 140 FDIVS_XSDIVSP
    2190             :   { 1, 114, 115, 0, 0 }, // 141 XVDIVSP
    2191             :   { 1, 113, 114, 0, 0 }, // 142 XVDIVDP
    2192             :   { 1, 112, 113, 0, 0 }, // 143 FRSP_FRIND_FRINS_FRIPD_FRIPS_FRIZD_FRIZS_FRIMD_FRIMS_FRE_FRES_FRSQRTE_FRSQRTES_FMADDS_FMSUBS_FNMADDS_FNMSUBS_FSELD_FSELS_FADDS_FMULS_FSUBS_FCFID_FCTID_FCTIDZ_FCFIDU_FCFIDS_FCFIDUS_FCTIDUZ_FCTIWUZ_FCTIW_FCTIWZ
    2193             :   { 1, 112, 113, 0, 0 }, // 144 FMADD_FMSUB_FNMADD_FNMSUB_FMUL
    2194             :   { 1, 112, 113, 0, 0 }, // 145 FMR_FABSD_FABSS_FNABSD_FNABSS_FNEGD_FNEGS_FCPSGND_FCPSGNS
    2195             :   { 1, 112, 113, 0, 0 }, // 146 FCMPUS_FCMPUD
    2196             :   { 1, 110, 111, 0, 0 }, // 147 LFSU
    2197             :   { 1, 110, 111, 0, 0 }, // 148 LFSUX
    2198             :   { 1, 110, 111, 0, 0 }, // 149 LFDU
    2199             :   { 1, 110, 111, 0, 0 }, // 150 LFDUX
    2200             :   { 0, ~0U, ~0U, ~0U, ~0U } // end marker
    2201             : };
    2202             : 
    2203             : static const llvm::InstrItinerary G4PlusItineraries[] = {
    2204             :   { 0, 0, 0, 0, 0 }, // 0 NoInstrModel
    2205             :   { 1, 128, 129, 0, 0 }, // 1 IIC_IntSimple
    2206             :   { 1, 128, 129, 0, 0 }, // 2 IIC_IntGeneral
    2207             :   { 1, 129, 130, 0, 0 }, // 3 IIC_BrB
    2208             :   { 1, 130, 131, 0, 0 }, // 4 IIC_VecFP
    2209             :   { 1, 131, 132, 0, 0 }, // 5 IIC_LdStSync
    2210             :   { 1, 128, 129, 0, 0 }, // 6 IIC_IntCompare
    2211             :   { 0, 0, 0, 0, 0 }, // 7 IIC_SprABORT
    2212             :   { 0, 0, 0, 0, 0 }, // 8 IIC_LdStCOPY
    2213             :   { 0, 0, 0, 0, 0 }, // 9 IIC_LdStPASTE
    2214             :   { 1, 132, 133, 0, 0 }, // 10 IIC_BrCR
    2215             :   { 1, 133, 134, 0, 0 }, // 11 IIC_LdStDCBF
    2216             :   { 1, 133, 134, 0, 0 }, // 12 IIC_LdStLoad
    2217             :   { 0, 0, 0, 0, 0 }, // 13 IIC_IntDivD
    2218             :   { 1, 134, 135, 0, 0 }, // 14 IIC_IntDivW
    2219             :   { 0, 0, 0, 0, 0 }, // 15 IIC_IntRotateDI
    2220             :   { 1, 135, 136, 0, 0 }, // 16 IIC_FPGeneral
    2221             :   { 1, 135, 136, 0, 0 }, // 17 IIC_FPAddSub
    2222             :   { 1, 135, 136, 0, 0 }, // 18 IIC_FPCompare
    2223             :   { 1, 136, 137, 0, 0 }, // 19 IIC_FPDivD
    2224             :   { 1, 137, 138, 0, 0 }, // 20 IIC_FPDivS
    2225             :   { 1, 135, 136, 0, 0 }, // 21 IIC_FPFused
    2226             :   { 0, 0, 0, 0, 0 }, // 22 IIC_FPSqrtD
    2227             :   { 0, 0, 0, 0, 0 }, // 23 IIC_FPSqrtS
    2228             :   { 1, 138, 139, 0, 0 }, // 24 IIC_LdStICBI
    2229             :   { 1, 133, 134, 0, 0 }, // 25 IIC_LdStStore
    2230             :   { 0, 0, 0, 0, 0 }, // 26 IIC_IntISEL
    2231             :   { 1, 139, 140, 0, 0 }, // 27 IIC_SprISYNC
    2232             :   { 1, 133, 134, 0, 0 }, // 28 IIC_LdStLWARX
    2233             :   { 1, 133, 134, 0, 0 }, // 29 IIC_LdStLoadUpd
    2234             :   { 1, 133, 134, 0, 0 }, // 30 IIC_LdStLoadUpdX
    2235             :   { 0, 0, 0, 0, 0 }, // 31 IIC_LdStLD
    2236             :   { 0, 0, 0, 0, 0 }, // 32 IIC_LdStLDARX
    2237             :   { 0, 0, 0, 0, 0 }, // 33 IIC_LdStLDU
    2238             :   { 0, 0, 0, 0, 0 }, // 34 IIC_LdStLDUX
    2239             :   { 1, 140, 141, 0, 0 }, // 35 IIC_LdStLFD
    2240             :   { 1, 140, 141, 0, 0 }, // 36 IIC_LdStLFDU
    2241             :   { 1, 140, 141, 0, 0 }, // 37 IIC_LdStLFDUX
    2242             :   { 1, 133, 134, 0, 0 }, // 38 IIC_LdStLHA
    2243             :   { 1, 133, 134, 0, 0 }, // 39 IIC_LdStLHAU
    2244             :   { 1, 133, 134, 0, 0 }, // 40 IIC_LdStLHAUX
    2245             :   { 1, 141, 142, 0, 0 }, // 41 IIC_LdStLMW
    2246             :   { 1, 133, 134, 0, 0 }, // 42 IIC_LdStLWA
    2247             :   { 1, 132, 133, 0, 0 }, // 43 IIC_BrMCR
    2248             :   { 1, 132, 133, 0, 0 }, // 44 IIC_BrMCRX
    2249             :   { 1, 132, 133, 0, 0 }, // 45 IIC_SprMFCR
    2250             :   { 1, 142, 143, 0, 0 }, // 46 IIC_SprMFSPR
    2251             :   { 1, 135, 136, 0, 0 }, // 47 IIC_IntMFFS
    2252             :   { 1, 138, 139, 0, 0 }, // 48 IIC_SprMFMSR
    2253             :   { 0, 0, 0, 0, 0 }, // 49 IIC_SprMFCRF
    2254             :   { 0, 0, 0, 0, 0 }, // 50 IIC_SprMFPMR
    2255             :   { 1, 142, 143, 0, 0 }, // 51 IIC_SprMFSR
    2256             :   { 1, 143, 144, 0, 0 }, // 52 IIC_SprMFTB
    2257             :   { 1, 144, 145, 0, 0 }, // 53 IIC_VecGeneral
    2258             :   { 0, 0, 0, 0, 0 }, // 54 IIC_SprMSGSYNC
    2259             :   { 1, 132, 133, 0, 0 }, // 55 IIC_SprMTSPR
    2260             :   { 1, 135, 136, 0, 0 }, // 56 IIC_IntMTFSB0
    2261             :   { 1, 132, 133, 0, 0 }, // 57 IIC_SprMTMSR
    2262             :   { 0, 0, 0, 0, 0 }, // 58 IIC_SprMTMSRD
    2263             :   { 0, 0, 0, 0, 0 }, // 59 IIC_SprMTPMR
    2264             :   { 1, 132, 133, 0, 0 }, // 60 IIC_SprMTSR
    2265             :   { 1, 142, 143, 0, 0 }, // 61 IIC_IntMulHW
    2266             :   { 1, 142, 143, 0, 0 }, // 62 IIC_IntMulHWU
    2267             :   { 0, 0, 0, 0, 0 }, // 63 IIC_IntMulHD
    2268             :   { 1, 138, 139, 0, 0 }, // 64 IIC_IntMulLI
    2269             :   { 1, 145, 146, 0, 0 }, // 65 IIC_VecPerm
    2270             :   { 1, 133, 134, 0, 0 }, // 66 IIC_LdStSTFD
    2271             :   { 1, 133, 134, 0, 0 }, // 67 IIC_LdStSTFDU
    2272             :   { 1, 128, 129, 0, 0 }, // 68 IIC_SprRFI
    2273             :   { 0, 0, 0, 0, 0 }, // 69 IIC_IntRFID
    2274             :   { 0, 0, 0, 0, 0 }, // 70 IIC_IntRotateD
    2275             :   { 1, 128, 129, 0, 0 }, // 71 IIC_IntRotate
    2276             :   { 0, 0, 0, 0, 0 }, // 72 IIC_SprSLBIA
    2277             :   { 0, 0, 0, 0, 0 }, // 73 IIC_SprSLBIE
    2278             :   { 0, 0, 0, 0, 0 }, // 74 IIC_SprSLBIEG
    2279             :   { 0, 0, 0, 0, 0 }, // 75 IIC_SprSLBMFEE
    2280             :   { 0, 0, 0, 0, 0 }, // 76 IIC_SprSLBMFEV
    2281             :   { 0, 0, 0, 0, 0 }, // 77 IIC_SprSLBMTE
    2282             :   { 0, 0, 0, 0, 0 }, // 78 IIC_SprSLBSYNC
    2283             :   { 1, 146, 147, 0, 0 }, // 79 IIC_IntShift
    2284             :   { 1, 133, 134, 0, 0 }, // 80 IIC_LdStSTWCX
    2285             :   { 1, 133, 134, 0, 0 }, // 81 IIC_LdStStoreUpd
    2286             :   { 1, 133, 134, 0, 0 }, // 82 IIC_LdStSTD
    2287             :   { 1, 133, 134, 0, 0 }, // 83 IIC_LdStSTDCX
    2288             :   { 1, 133, 134, 0, 0 }, // 84 IIC_LdStSTDU
    2289             :   { 1, 133, 134, 0, 0 }, // 85 IIC_LdStSTDUX
    2290             :   { 0, 0, 0, 0, 0 }, // 86 IIC_SprSTOP
    2291             :   { 0, 0, 0, 0, 0 }, // 87 IIC_IntTrapD
    2292             :   { 0, 0, 0, 0, 0 }, // 88 IIC_SprTLBIA
    2293             :   { 0, 0, 0, 0, 0 }, // 89 IIC_SprTLBIE
    2294             :   { 0, 0, 0, 0, 0 }, // 90 IIC_SprTLBIEL
    2295             :   { 1, 133, 134, 0, 0 }, // 91 IIC_SprTLBSYNC
    2296             :   { 1, 146, 147, 0, 0 }, // 92 IIC_IntTrapW
    2297             :   { 1, 147, 148, 0, 0 }, // 93 IIC_VecFPCompare
    2298             :   { 1, 130, 131, 0, 0 }, // 94 VADDCUW_VAND_VANDC_VMRGEW_VMRGOW_VNOR_VOR_VSEL_VSUBCUW_VXOR_V_SET0B_V_SET0H_V_SET0_XVABSDP_XVABSSP_XVCPSGNDP_XVCPSGNSP_XVIEXPDP_XVNABSDP_XVNABSSP_XVNEGDP_XVNEGSP_XVXEXPDP
    2299             :   { 1, 144, 145, 0, 0 }, // 95 VADDUBM_VADDUDM_VADDUHM_VADDUWM_VEQV_VEXTSB2D_VEXTSB2W_VEXTSH2D_VEXTSH2W_VEXTSW2D_VNAND_VNEGD_VNEGW_VORC_VPOPCNTB_VPOPCNTH_VPOPCNTW_VSUBUBM_VSUBUDM_VSUBUHM_VSUBUWM_XXLAND_XXLANDC_XXLEQV_XXLNAND_XXLNOR_XXLOR_XXLORf_XXLORC_XXLXOR
    2300             :   { 1, 147, 148, 0, 0 }, // 96 VCMPEQUB_VCMPEQUBo_VCMPEQUD_VCMPEQUDo_VCMPEQUH_VCMPEQUHo_VCMPEQUW_VCMPEQUWo_VCMPGTSB_VCMPGTSBo_VCMPGTSD_VCMPGTSDo_VCMPGTSH_VCMPGTSHo_VCMPGTSW_VCMPGTSWo_VCMPGTUB_VCMPGTUBo_VCMPGTUD_VCMPGTUDo_VCMPGTUH_VCMPGTUHo_VCMPGTUW_VCMPGTUWo_VCMPNEB_VCMPNEBo_VCMPNEH_VCMPNEHo_VCMPNEW_VCMPNEWo_VCMPNEZB_VCMPNEZBo_VCMPNEZH_VCMPNEZHo_VCMPNEZW_VCMPNEZWo
    2301             :   { 1, 145, 146, 0, 0 }, // 97 XXSEL
    2302             :   { 1, 130, 131, 0, 0 }, // 98 XSABSQP_XSCPSGNQP_XSIEXPQP_XSNABSQP_XSNEGQP_XSXEXPQP_XSABSDP_XSCPSGNDP_XSIEXPDP_XSNABSDP_XSNEGDP_XSXEXPDP
    2303             :   { 1, 130, 131, 0, 0 }, // 99 VMINSB_VMINSD_VMINSH_VMINSW_VMINUB_VMINUD_VMINUH_VMINUW_VRLB_VRLD_VRLDMI_VRLDNM_VRLH_VRLW_VRLWMI_VRLWNM_VSHASIGMAD_VSHASIGMAW_VSLB_VSLH_VSLW_VSRAB_VSRAH_VSRAW_VSRB_VSRH_VSRW_VSUBSBS_VSUBSHS_VSUBSWS_VSUBUBS_VSUBUHS_VSUBUWS_XSCVSPDPN_XSMAXCDP_XSMAXDP_XSMAXJDP_XSMINCDP_XSMINDP_XSMINJDP_XSTSTDCDP_XSTSTDCSP_XSXSIGDP_XVIEXPSP_XVMAXDP_XVMAXSP_XVMINDP_XVMINSP_XVTSTDCDP_XVTSTDCSP_XVXEXPSP_XVXSIGDP_XVXSIGSP
    2304             :   { 1, 144, 145, 0, 0 }, // 100 VPOPCNTD_VPRTYBD_VPRTYBW_VSLD_VSRAD_VSRD
    2305             :   { 1, 135, 136, 0, 0 }, // 101 XSCMPEQDP_XSCMPEXPDP_XSCMPGEDP_XSCMPGTDP_XSCMPODP_XSCMPUDP_XSTDIVDP_XSTSQRTDP_XVTDIVDP_XVTDIVSP_XVTSQRTDP_XVTSQRTSP
    2306             :   { 1, 147, 148, 0, 0 }, // 102 XVCMPEQDP_XVCMPEQDPo_XVCMPEQSP_XVCMPEQSPo_XVCMPGEDP_XVCMPGEDPo_XVCMPGESP_XVCMPGESPo_XVCMPGTDP_XVCMPGTDPo_XVCMPGTSP_XVCMPGTSPo
    2307             :   { 1, 144, 145, 0, 0 }, // 103 VABSDUB_VABSDUH_VABSDUW_VCLZB_VCLZD_VCLZH_VCLZW_VCTZB_VCTZD_VCTZH_VCTZW
    2308             :   { 1, 130, 131, 0, 0 }, // 104 VADDSBS_VADDSHS_VADDSWS_VADDUBS_VADDUHS_VADDUWS_VAVGSB_VAVGSH_VAVGSW_VAVGUB_VAVGUH_VAVGUW_VBPERMD_VMAXFP_VMAXSB_VMAXSD_VMAXSH_VMAXSW_VMAXUB_VMAXUD_VMAXUH_VMAXUW_VMINFP
    2309             :   { 1, 147, 148, 0, 0 }, // 105 VCMPBFP_VCMPBFPo_VCMPGTFP_VCMPGTFPo_VCMPEQFP_VCMPEQFPo_VCMPGEFP_VCMPGEFPo
    2310             :   { 1, 130, 131, 0, 0 }, // 106 VADDFP_VCTSXS_VCTSXS_0_VCTUXS_VCTUXS_0_VEXPTEFP_VLOGEFP_VMADDFP_VMHADDSHS_VNMSUBFP_VREFP_VRFIM_VRFIN_VRFIP_VRFIZ_VRSQRTEFP_XVADDDP_XVADDSP_XVCVDPSP_XVCVDPSXDS_XVCVDPSXWS_XVCVDPUXDS_XVCVDPUXWS_XVCVHPSP_XVCVSPDP_XVCVSPHP_XVCVSPSXDS_XVCVSPSXWS_XVCVSPUXDS_XVCVSPUXWS_XVCVSXDDP_XVCVSXDSP_XVCVSXWDP_XVCVSXWSP_XVCVUXDDP_XVCVUXDSP_XVCVUXWDP_XVCVUXWSP_XVMADDADP_XVMADDASP_XVMADDMDP_XVMADDMSP_XVMSUBADP_XVMSUBASP_XVMSUBMDP_XVMSUBMSP_XVMULDP_XVMULSP_XVNMADDADP_XVNMADDASP_XVNMADDMDP_XVNMADDMSP_XVNMSUBADP_XVNMSUBASP_XVNMSUBMDP_XVNMSUBMSP_XVRDPI_XVRDPIC_XVRDPIM_XVRDPIP_XVRDPIZ_XVREDP_XVRESP_XVRSPI_XVRSPIC_XVRSPIM_XVRSPIP_XVRSPIZ_XVRSQRTEDP_XVRSQRTESP_XVSUBDP_XVSUBSP_VCFSX_VCFSX_0_VCFUX_VCFUX_0_VMHRADDSHS_VMLADDUHM_VMSUMMBM_VMSUMSHM_VMSUMSHS_VMSUMUBM_VMSUMUHM_VMSUMUHS_VMULESB_VMULESH_VMULESW_VMULEUB_VMULEUH_VMULEUW_VMULOSB_VMULOSH_VMULOSW_VMULOUB_VMULOUH_VMULOUW_VSUM2SWS_VSUM4SBS_VSUM4SHS_VSUM4UBS_VSUMSWS
    2311             :   { 1, 144, 145, 0, 0 }, // 107 VSUBFP_VMULUWM
    2312             :   { 1, 130, 131, 0, 0 }, // 108 XSMADDADP_XSMADDASP_XSMADDMDP_XSMADDMSP_XSMSUBADP_XSMSUBASP_XSMSUBMDP_XSMSUBMSP_XSMULDP_XSMULSP_XSNMADDADP_XSNMADDASP_XSNMADDMDP_XSNMADDMSP_XSNMSUBADP_XSNMSUBASP_XSNMSUBMDP_XSNMSUBMSP
    2313             :   { 1, 130, 131, 0, 0 }, // 109 XSADDDP_XSADDSP_XSCVDPHP_XSCVDPSP_XSCVDPSXDS_XSCVDPSXWS_XSCVDPUXDS_XSCVDPUXWS_XSCVHPDP_XSCVSPDP_XSCVSXDDP_XSCVSXDSP_XSCVUXDDP_XSCVUXDSP_XSRDPI_XSRDPIC_XSRDPIM_XSRDPIP_XSRDPIZ_XSREDP_XSRESP_XSRSQRTEDP_XSRSQRTESP_XSSUBDP_XSSUBSP_XSCVDPSPN
    2314             :   { 1, 130, 131, 0, 0 }, // 110 VBPERMQ_VGBBD_VMRGHB_VMRGHH_VMRGHW_VMRGLB_VMRGLH_VMRGLW_VPERM_VPERMR_VPERMXOR_VPKPX_VPKSDSS_VPKSDUS_VPKSHSS_VPKSHUS_VPKSWSS_VPKSWUS_VPKUDUM_VPKUDUS_VPKUHUM_VPKUHUS_VPKUWUM_VPKUWUS_VSL_VSLDOI_VSLO_VSLV_VSR_VSRO_VSRV_VUPKHPX_VUPKHSB_VUPKHSH_VUPKHSW_VUPKLPX_VUPKLSB_VUPKLSH_VUPKLSW_XXBRD_XXBRH_XXBRQ_XXBRW_XXEXTRACTUW_XXINSERTW_VADDCUQ_VADDECUQ_VADDEUQM_VMUL10CUQ_VMUL10ECUQ_VMUL10EUQ_VMUL10UQ_VSUBCUQ_VSUBECUQ_VSUBEUQM_XSTSTDCQP_XSXSIGQP
    2315             :   { 1, 144, 145, 0, 0 }, // 111 VCLZLSBB_VCTZLSBB_VEXTRACTD_VEXTRACTUB_VEXTRACTUH_VEXTRACTUW_VEXTUBLX_VEXTUBRX_VEXTUHLX_VEXTUHRX_VEXTUWLX_VEXTUWRX_VINSERTB_VINSERTD_VINSERTH_VINSERTW_VPRTYBQ_VADDUQM_VSUBUQM
    2316             :   { 1, 145, 146, 0, 0 }, // 112 VSPLTB_VSPLTH_VSPLTISB_VSPLTISH_VSPLTISW_VSPLTW_XXMRGHW_XXMRGLW_XXPERM_XXPERMR_XXSLDWI_XXSPLTIB_XXSPLTW
    2317             :   { 1, 135, 136, 0, 0 }, // 113 XSCMPEXPQP_XSCMPOQP_XSCMPUQP
    2318             :   { 1, 130, 131, 0, 0 }, // 114 XSADDQP_XSADDQPO_XSCVDPQP_XSCVQPDP_XSCVQPDPO_XSCVQPSDZ_XSCVQPSWZ_XSCVQPUDZ_XSCVQPUWZ_XSCVSDQP_XSCVUDQP_XSRQPI_XSRQPXP_XSSUBQP_XSSUBQPO
    2319             :   { 1, 130, 131, 0, 0 }, // 115 XSMADDQP_XSMADDQPO_XSMSUBQP_XSMSUBQPO_XSMULQP_XSMULQPO_XSNMADDQP_XSNMADDQPO_XSNMSUBQP_XSNMSUBQPO
    2320             :   { 1, 130, 131, 0, 0 }, // 116 XSDIVQP_XSDIVQPO
    2321             :   { 1, 130, 131, 0, 0 }, // 117 XSSQRTQP_XSSQRTQPO
    2322             :   { 1, 140, 141, 0, 0 }, // 118 LXSDX_LXVD2X_LXSIWZX_LXV_LXSD
    2323             :   { 1, 140, 141, 0, 0 }, // 119 LFIWZX_LFDX_LFD
    2324             :   { 1, 140, 141, 0, 0 }, // 120 LXSSPX_LXSIWAX_LXSSP
    2325             :   { 1, 140, 141, 0, 0 }, // 121 LFIWAX_LFSX_LFS
    2326             :   { 1, 140, 141, 0, 0 }, // 122 LXVDSX_LXVW4X
    2327             :   { 1, 133, 134, 0, 0 }, // 123 STFS_STFD_STFIWX_STFSX_STFDX_STXSDX_STXSSPX_STXSIWX
    2328             :   { 1, 133, 134, 0, 0 }, // 124 STXVD2X_STXVW4X
    2329             :   { 1, 134, 135, 0, 0 }, // 125 DIVW_DIVWU
    2330             :   { 1, 134, 135, 0, 0 }, // 126 DIVWE_DIVWEU
    2331             :   { 0, 0, 0, 0, 0 }, // 127 DIVD_DIVDU
    2332             :   { 0, 0, 0, 0, 0 }, // 128 DIVDE_DIVDEU
    2333             :   { 1, 134, 135, 0, 0 }, // 129 DIVWEo_DIVWEUo
    2334             :   { 0, 0, 0, 0, 0 }, // 130 DIVDEo_DIVDEUo
    2335             :   { 0, 0, 0, 0, 0 }, // 131 SLD_SRD_SRAD
    2336             :   { 0, 0, 0, 0, 0 }, // 132 SRADI_RLDIC
    2337             :   { 0, 0, 0, 0, 0 }, // 133 RLDCL_RLDCR
    2338             :   { 0, 0, 0, 0, 0 }, // 134 RLDIMI_RLDICL_RLDICR_RLDICL_32_64
    2339             :   { 1, 132, 133, 0, 0 }, // 135 MTOCRF_MTOCRF8_MTCRF_MTCRF8
    2340             :   { 1, 132, 133, 0, 0 }, // 136 MCRF
    2341             :   { 1, 132, 133, 0, 0 }, // 137 MCRXRX
    2342             :   { 1, 132, 133, 0, 0 }, // 138 MCRFS
    2343             :   { 1, 136, 137, 0, 0 }, // 139 FDIV_XSDIVDP
    2344             :   { 1, 137, 138, 0, 0 }, // 140 FDIVS_XSDIVSP
    2345             :   { 1, 137, 138, 0, 0 }, // 141 XVDIVSP
    2346             :   { 1, 136, 137, 0, 0 }, // 142 XVDIVDP
    2347             :   { 1, 135, 136, 0, 0 }, // 143 FRSP_FRIND_FRINS_FRIPD_FRIPS_FRIZD_FRIZS_FRIMD_FRIMS_FRE_FRES_FRSQRTE_FRSQRTES_FMADDS_FMSUBS_FNMADDS_FNMSUBS_FSELD_FSELS_FADDS_FMULS_FSUBS_FCFID_FCTID_FCTIDZ_FCFIDU_FCFIDS_FCFIDUS_FCTIDUZ_FCTIWUZ_FCTIW_FCTIWZ
    2348             :   { 1, 135, 136, 0, 0 }, // 144 FMADD_FMSUB_FNMADD_FNMSUB_FMUL
    2349             :   { 1, 135, 136, 0, 0 }, // 145 FMR_FABSD_FABSS_FNABSD_FNABSS_FNEGD_FNEGS_FCPSGND_FCPSGNS
    2350             :   { 1, 135, 136, 0, 0 }, // 146 FCMPUS_FCMPUD
    2351             :   { 1, 140, 141, 0, 0 }, // 147 LFSU
    2352             :   { 1, 140, 141, 0, 0 }, // 148 LFSUX
    2353             :   { 1, 140, 141, 0, 0 }, // 149 LFDU
    2354             :   { 1, 140, 141, 0, 0 }, // 150 LFDUX
    2355             :   { 0, ~0U, ~0U, ~0U, ~0U } // end marker
    2356             : };
    2357             : 
    2358             : static const llvm::InstrItinerary G5Itineraries[] = {
    2359             :   { 0, 0, 0, 0, 0 }, // 0 NoInstrModel
    2360             :   { 1, 148, 149, 0, 0 }, // 1 IIC_IntSimple
    2361             :   { 1, 148, 149, 0, 0 }, // 2 IIC_IntGeneral
    2362             :   { 1, 149, 150, 0, 0 }, // 3 IIC_BrB
    2363             :   { 1, 150, 151, 0, 0 }, // 4 IIC_VecFP
    2364             :   { 1, 151, 152, 0, 0 }, // 5 IIC_LdStSync
    2365             :   { 1, 152, 153, 0, 0 }, // 6 IIC_IntCompare
    2366             :   { 0, 0, 0, 0, 0 }, // 7 IIC_SprABORT
    2367             :   { 0, 0, 0, 0, 0 }, // 8 IIC_LdStCOPY
    2368             :   { 0, 0, 0, 0, 0 }, // 9 IIC_LdStPASTE
    2369             :   { 1, 153, 154, 0, 0 }, // 10 IIC_BrCR
    2370             :   { 1, 154, 155, 0, 0 }, // 11 IIC_LdStDCBF
    2371             :   { 1, 154, 155, 0, 0 }, // 12 IIC_LdStLoad
    2372             :   { 1, 155, 156, 0, 0 }, // 13 IIC_IntDivD
    2373             :   { 1, 156, 157, 0, 0 }, // 14 IIC_IntDivW
    2374             :   { 1, 148, 149, 0, 0 }, // 15 IIC_IntRotateDI
    2375             :   { 1, 157, 158, 0, 0 }, // 16 IIC_FPGeneral
    2376             :   { 1, 157, 158, 0, 0 }, // 17 IIC_FPAddSub
    2377             :   { 1, 158, 159, 0, 0 }, // 18 IIC_FPCompare
    2378             :   { 1, 159, 160, 0, 0 }, // 19 IIC_FPDivD
    2379             :   { 1, 159, 160, 0, 0 }, // 20 IIC_FPDivS
    2380             :   { 1, 157, 158, 0, 0 }, // 21 IIC_FPFused
    2381             :   { 1, 160, 161, 0, 0 }, // 22 IIC_FPSqrtD
    2382             :   { 1, 160, 161, 0, 0 }, // 23 IIC_FPSqrtS
    2383             :   { 1, 161, 162, 0, 0 }, // 24 IIC_LdStICBI
    2384             :   { 1, 154, 155, 0, 0 }, // 25 IIC_LdStStore
    2385             :   { 0, 0, 0, 0, 0 }, // 26 IIC_IntISEL
    2386             :   { 1, 161, 162, 0, 0 }, // 27 IIC_SprISYNC
    2387             :   { 1, 162, 163, 0, 0 }, // 28 IIC_LdStLWARX
    2388             :   { 1, 154, 155, 0, 0 }, // 29 IIC_LdStLoadUpd
    2389             :   { 1, 154, 155, 0, 0 }, // 30 IIC_LdStLoadUpdX
    2390             :   { 1, 154, 155, 0, 0 }, // 31 IIC_LdStLD
    2391             :   { 1, 162, 163, 0, 0 }, // 32 IIC_LdStLDARX
    2392             :   { 1, 154, 155, 0, 0 }, // 33 IIC_LdStLDU
    2393             :   { 1, 154, 155, 0, 0 }, // 34 IIC_LdStLDUX
    2394             :   { 1, 154, 155, 0, 0 }, // 35 IIC_LdStLFD
    2395             :   { 1, 163, 164, 0, 0 }, // 36 IIC_LdStLFDU
    2396             :   { 1, 163, 164, 0, 0 }, // 37 IIC_LdStLFDUX
    2397             :   { 1, 163, 164, 0, 0 }, // 38 IIC_LdStLHA
    2398             :   { 1, 163, 164, 0, 0 }, // 39 IIC_LdStLHAU
    2399             :   { 1, 163, 164, 0, 0 }, // 40 IIC_LdStLHAUX
    2400             :   { 1, 164, 165, 0, 0 }, // 41 IIC_LdStLMW
    2401             :   { 1, 163, 164, 0, 0 }, // 42 IIC_LdStLWA
    2402             :   { 1, 165, 166, 0, 0 }, // 43 IIC_BrMCR
    2403             :   { 1, 166, 167, 0, 0 }, // 44 IIC_BrMCRX
    2404             :   { 1, 167, 168, 0, 0 }, // 45 IIC_SprMFCR
    2405             :   { 1, 168, 169, 0, 0 }, // 46 IIC_SprMFSPR
    2406             :   { 1, 169, 170, 0, 0 }, // 47 IIC_IntMFFS
    2407             :   { 1, 168, 169, 0, 0 }, // 48 IIC_SprMFMSR
    2408             :   { 1, 167, 168, 0, 0 }, // 49 IIC_SprMFCRF
    2409             :   { 0, 0, 0, 0, 0 }, // 50 IIC_SprMFPMR
    2410             :   { 1, 154, 155, 0, 0 }, // 51 IIC_SprMFSR
    2411             :   { 1, 170, 171, 0, 0 }, // 52 IIC_SprMFTB
    2412             :   { 1, 171, 172, 0, 0 }, // 53 IIC_VecGeneral
    2413             :   { 0, 0, 0, 0, 0 }, // 54 IIC_SprMSGSYNC
    2414             :   { 1, 172, 173, 0, 0 }, // 55 IIC_SprMTSPR
    2415             :   { 1, 157, 158, 0, 0 }, // 56 IIC_IntMTFSB0
    2416             :   { 1, 154, 155, 0, 0 }, // 57 IIC_SprMTMSR
    2417             :   { 0, 0, 0, 0, 0 }, // 58 IIC_SprMTMSRD
    2418             :   { 0, 0, 0, 0, 0 }, // 59 IIC_SprMTPMR
    2419             :   { 1, 154, 155, 0, 0 }, // 60 IIC_SprMTSR
    2420             :   { 1, 173, 174, 0, 0 }, // 61 IIC_IntMulHW
    2421             :   { 1, 173, 174, 0, 0 }, // 62 IIC_IntMulHWU
    2422             :   { 1, 174, 175, 0, 0 }, // 63 IIC_IntMulHD
    2423             :   { 1, 175, 176, 0, 0 }, // 64 IIC_IntMulLI
    2424             :   { 1, 176, 177, 0, 0 }, // 65 IIC_VecPerm
    2425             :   { 1, 177, 178, 0, 0 }, // 66 IIC_LdStSTFD
    2426             :   { 1, 177, 178, 0, 0 }, // 67 IIC_LdStSTFDU
    2427             :   { 0, 0, 0, 0, 0 }, // 68 IIC_SprRFI
    2428             :   { 1, 178, 179, 0, 0 }, // 69 IIC_IntRFID
    2429             :   { 1, 148, 149, 0, 0 }, // 70 IIC_IntRotateD
    2430             :   { 1, 175, 176, 0, 0 }, // 71 IIC_IntRotate
    2431             :   { 0, 0, 0, 0, 0 }, // 72 IIC_SprSLBIA
    2432             :   { 0, 0, 0, 0, 0 }, // 73 IIC_SprSLBIE
    2433             :   { 0, 0, 0, 0, 0 }, // 74 IIC_SprSLBIEG
    2434             :   { 0, 0, 0, 0, 0 }, // 75 IIC_SprSLBMFEE
    2435             :   { 0, 0, 0, 0, 0 }, // 76 IIC_SprSLBMFEV
    2436             :   { 0, 0, 0, 0, 0 }, // 77 IIC_SprSLBMTE
    2437             :   { 0, 0, 0, 0, 0 }, // 78 IIC_SprSLBSYNC
    2438             :   { 1, 148, 149, 0, 0 }, // 79 IIC_IntShift
    2439             :   { 1, 162, 163, 0, 0 }, // 80 IIC_LdStSTWCX
    2440             :   { 1, 154, 155, 0, 0 }, // 81 IIC_LdStStoreUpd
    2441             :   { 1, 154, 155, 0, 0 }, // 82 IIC_LdStSTD
    2442             :   { 1, 162, 163, 0, 0 }, // 83 IIC_LdStSTDCX
    2443             :   { 1, 154, 155, 0, 0 }, // 84 IIC_LdStSTDU
    2444             :   { 1, 154, 155, 0, 0 }, // 85 IIC_LdStSTDUX
    2445             :   { 0, 0, 0, 0, 0 }, // 86 IIC_SprSTOP
    2446             :   { 1, 179, 180, 0, 0 }, // 87 IIC_IntTrapD
    2447             :   { 0, 0, 0, 0, 0 }, // 88 IIC_SprTLBIA
    2448             :   { 0, 0, 0, 0, 0 }, // 89 IIC_SprTLBIE
    2449             :   { 0, 0, 0, 0, 0 }, // 90 IIC_SprTLBIEL
    2450             :   { 1, 154, 155, 0, 0 }, // 91 IIC_SprTLBSYNC
    2451             :   { 1, 179, 180, 0, 0 }, // 92 IIC_IntTrapW
    2452             :   { 1, 180, 181, 0, 0 }, // 93 IIC_VecFPCompare
    2453             :   { 1, 150, 151, 0, 0 }, // 94 VADDCUW_VAND_VANDC_VMRGEW_VMRGOW_VNOR_VOR_VSEL_VSUBCUW_VXOR_V_SET0B_V_SET0H_V_SET0_XVABSDP_XVABSSP_XVCPSGNDP_XVCPSGNSP_XVIEXPDP_XVNABSDP_XVNABSSP_XVNEGDP_XVNEGSP_XVXEXPDP
    2454             :   { 1, 171, 172, 0, 0 }, // 95 VADDUBM_VADDUDM_VADDUHM_VADDUWM_VEQV_VEXTSB2D_VEXTSB2W_VEXTSH2D_VEXTSH2W_VEXTSW2D_VNAND_VNEGD_VNEGW_VORC_VPOPCNTB_VPOPCNTH_VPOPCNTW_VSUBUBM_VSUBUDM_VSUBUHM_VSUBUWM_XXLAND_XXLANDC_XXLEQV_XXLNAND_XXLNOR_XXLOR_XXLORf_XXLORC_XXLXOR
    2455             :   { 1, 180, 181, 0, 0 }, // 96 VCMPEQUB_VCMPEQUBo_VCMPEQUD_VCMPEQUDo_VCMPEQUH_VCMPEQUHo_VCMPEQUW_VCMPEQUWo_VCMPGTSB_VCMPGTSBo_VCMPGTSD_VCMPGTSDo_VCMPGTSH_VCMPGTSHo_VCMPGTSW_VCMPGTSWo_VCMPGTUB_VCMPGTUBo_VCMPGTUD_VCMPGTUDo_VCMPGTUH_VCMPGTUHo_VCMPGTUW_VCMPGTUWo_VCMPNEB_VCMPNEBo_VCMPNEH_VCMPNEHo_VCMPNEW_VCMPNEWo_VCMPNEZB_VCMPNEZBo_VCMPNEZH_VCMPNEZHo_VCMPNEZW_VCMPNEZWo
    2456             :   { 1, 176, 177, 0, 0 }, // 97 XXSEL
    2457             :   { 1, 150, 151, 0, 0 }, // 98 XSABSQP_XSCPSGNQP_XSIEXPQP_XSNABSQP_XSNEGQP_XSXEXPQP_XSABSDP_XSCPSGNDP_XSIEXPDP_XSNABSDP_XSNEGDP_XSXEXPDP
    2458             :   { 1, 150, 151, 0, 0 }, // 99 VMINSB_VMINSD_VMINSH_VMINSW_VMINUB_VMINUD_VMINUH_VMINUW_VRLB_VRLD_VRLDMI_VRLDNM_VRLH_VRLW_VRLWMI_VRLWNM_VSHASIGMAD_VSHASIGMAW_VSLB_VSLH_VSLW_VSRAB_VSRAH_VSRAW_VSRB_VSRH_VSRW_VSUBSBS_VSUBSHS_VSUBSWS_VSUBUBS_VSUBUHS_VSUBUWS_XSCVSPDPN_XSMAXCDP_XSMAXDP_XSMAXJDP_XSMINCDP_XSMINDP_XSMINJDP_XSTSTDCDP_XSTSTDCSP_XSXSIGDP_XVIEXPSP_XVMAXDP_XVMAXSP_XVMINDP_XVMINSP_XVTSTDCDP_XVTSTDCSP_XVXEXPSP_XVXSIGDP_XVXSIGSP
    2459             :   { 1, 171, 172, 0, 0 }, // 100 VPOPCNTD_VPRTYBD_VPRTYBW_VSLD_VSRAD_VSRD
    2460             :   { 1, 158, 159, 0, 0 }, // 101 XSCMPEQDP_XSCMPEXPDP_XSCMPGEDP_XSCMPGTDP_XSCMPODP_XSCMPUDP_XSTDIVDP_XSTSQRTDP_XVTDIVDP_XVTDIVSP_XVTSQRTDP_XVTSQRTSP
    2461             :   { 1, 180, 181, 0, 0 }, // 102 XVCMPEQDP_XVCMPEQDPo_XVCMPEQSP_XVCMPEQSPo_XVCMPGEDP_XVCMPGEDPo_XVCMPGESP_XVCMPGESPo_XVCMPGTDP_XVCMPGTDPo_XVCMPGTSP_XVCMPGTSPo
    2462             :   { 1, 171, 172, 0, 0 }, // 103 VABSDUB_VABSDUH_VABSDUW_VCLZB_VCLZD_VCLZH_VCLZW_VCTZB_VCTZD_VCTZH_VCTZW
    2463             :   { 1, 150, 151, 0, 0 }, // 104 VADDSBS_VADDSHS_VADDSWS_VADDUBS_VADDUHS_VADDUWS_VAVGSB_VAVGSH_VAVGSW_VAVGUB_VAVGUH_VAVGUW_VBPERMD_VMAXFP_VMAXSB_VMAXSD_VMAXSH_VMAXSW_VMAXUB_VMAXUD_VMAXUH_VMAXUW_VMINFP
    2464             :   { 1, 180, 181, 0, 0 }, // 105 VCMPBFP_VCMPBFPo_VCMPGTFP_VCMPGTFPo_VCMPEQFP_VCMPEQFPo_VCMPGEFP_VCMPGEFPo
    2465             :   { 1, 150, 151, 0, 0 }, // 106 VADDFP_VCTSXS_VCTSXS_0_VCTUXS_VCTUXS_0_VEXPTEFP_VLOGEFP_VMADDFP_VMHADDSHS_VNMSUBFP_VREFP_VRFIM_VRFIN_VRFIP_VRFIZ_VRSQRTEFP_XVADDDP_XVADDSP_XVCVDPSP_XVCVDPSXDS_XVCVDPSXWS_XVCVDPUXDS_XVCVDPUXWS_XVCVHPSP_XVCVSPDP_XVCVSPHP_XVCVSPSXDS_XVCVSPSXWS_XVCVSPUXDS_XVCVSPUXWS_XVCVSXDDP_XVCVSXDSP_XVCVSXWDP_XVCVSXWSP_XVCVUXDDP_XVCVUXDSP_XVCVUXWDP_XVCVUXWSP_XVMADDADP_XVMADDASP_XVMADDMDP_XVMADDMSP_XVMSUBADP_XVMSUBASP_XVMSUBMDP_XVMSUBMSP_XVMULDP_XVMULSP_XVNMADDADP_XVNMADDASP_XVNMADDMDP_XVNMADDMSP_XVNMSUBADP_XVNMSUBASP_XVNMSUBMDP_XVNMSUBMSP_XVRDPI_XVRDPIC_XVRDPIM_XVRDPIP_XVRDPIZ_XVREDP_XVRESP_XVRSPI_XVRSPIC_XVRSPIM_XVRSPIP_XVRSPIZ_XVRSQRTEDP_XVRSQRTESP_XVSUBDP_XVSUBSP_VCFSX_VCFSX_0_VCFUX_VCFUX_0_VMHRADDSHS_VMLADDUHM_VMSUMMBM_VMSUMSHM_VMSUMSHS_VMSUMUBM_VMSUMUHM_VMSUMUHS_VMULESB_VMULESH_VMULESW_VMULEUB_VMULEUH_VMULEUW_VMULOSB_VMULOSH_VMULOSW_VMULOUB_VMULOUH_VMULOUW_VSUM2SWS_VSUM4SBS_VSUM4SHS_VSUM4UBS_VSUMSWS
    2466             :   { 1, 171, 172, 0, 0 }, // 107 VSUBFP_VMULUWM
    2467             :   { 1, 150, 151, 0, 0 }, // 108 XSMADDADP_XSMADDASP_XSMADDMDP_XSMADDMSP_XSMSUBADP_XSMSUBASP_XSMSUBMDP_XSMSUBMSP_XSMULDP_XSMULSP_XSNMADDADP_XSNMADDASP_XSNMADDMDP_XSNMADDMSP_XSNMSUBADP_XSNMSUBASP_XSNMSUBMDP_XSNMSUBMSP
    2468             :   { 1, 150, 151, 0, 0 }, // 109 XSADDDP_XSADDSP_XSCVDPHP_XSCVDPSP_XSCVDPSXDS_XSCVDPSXWS_XSCVDPUXDS_XSCVDPUXWS_XSCVHPDP_XSCVSPDP_XSCVSXDDP_XSCVSXDSP_XSCVUXDDP_XSCVUXDSP_XSRDPI_XSRDPIC_XSRDPIM_XSRDPIP_XSRDPIZ_XSREDP_XSRESP_XSRSQRTEDP_XSRSQRTESP_XSSUBDP_XSSUBSP_XSCVDPSPN
    2469             :   { 1, 150, 151, 0, 0 }, // 110 VBPERMQ_VGBBD_VMRGHB_VMRGHH_VMRGHW_VMRGLB_VMRGLH_VMRGLW_VPERM_VPERMR_VPERMXOR_VPKPX_VPKSDSS_VPKSDUS_VPKSHSS_VPKSHUS_VPKSWSS_VPKSWUS_VPKUDUM_VPKUDUS_VPKUHUM_VPKUHUS_VPKUWUM_VPKUWUS_VSL_VSLDOI_VSLO_VSLV_VSR_VSRO_VSRV_VUPKHPX_VUPKHSB_VUPKHSH_VUPKHSW_VUPKLPX_VUPKLSB_VUPKLSH_VUPKLSW_XXBRD_XXBRH_XXBRQ_XXBRW_XXEXTRACTUW_XXINSERTW_VADDCUQ_VADDECUQ_VADDEUQM_VMUL10CUQ_VMUL10ECUQ_VMUL10EUQ_VMUL10UQ_VSUBCUQ_VSUBECUQ_VSUBEUQM_XSTSTDCQP_XSXSIGQP
    2470             :   { 1, 171, 172, 0, 0 }, // 111 VCLZLSBB_VCTZLSBB_VEXTRACTD_VEXTRACTUB_VEXTRACTUH_VEXTRACTUW_VEXTUBLX_VEXTUBRX_VEXTUHLX_VEXTUHRX_VEXTUWLX_VEXTUWRX_VINSERTB_VINSERTD_VINSERTH_VINSERTW_VPRTYBQ_VADDUQM_VSUBUQM
    2471             :   { 1, 176, 177, 0, 0 }, // 112 VSPLTB_VSPLTH_VSPLTISB_VSPLTISH_VSPLTISW_VSPLTW_XXMRGHW_XXMRGLW_XXPERM_XXPERMR_XXSLDWI_XXSPLTIB_XXSPLTW
    2472             :   { 1, 158, 159, 0, 0 }, // 113 XSCMPEXPQP_XSCMPOQP_XSCMPUQP
    2473             :   { 1, 150, 151, 0, 0 }, // 114 XSADDQP_XSADDQPO_XSCVDPQP_XSCVQPDP_XSCVQPDPO_XSCVQPSDZ_XSCVQPSWZ_XSCVQPUDZ_XSCVQPUWZ_XSCVSDQP_XSCVUDQP_XSRQPI_XSRQPXP_XSSUBQP_XSSUBQPO
    2474             :   { 1, 150, 151, 0, 0 }, // 115 XSMADDQP_XSMADDQPO_XSMSUBQP_XSMSUBQPO_XSMULQP_XSMULQPO_XSNMADDQP_XSNMADDQPO_XSNMSUBQP_XSNMSUBQPO
    2475             :   { 1, 150, 151, 0, 0 }, // 116 XSDIVQP_XSDIVQPO
    2476             :   { 1, 150, 151, 0, 0 }, // 117 XSSQRTQP_XSSQRTQPO
    2477             :   { 1, 154, 155, 0, 0 }, // 118 LXSDX_LXVD2X_LXSIWZX_LXV_LXSD
    2478             :   { 1, 154, 155, 0, 0 }, // 119 LFIWZX_LFDX_LFD
    2479             :   { 1, 154, 155, 0, 0 }, // 120 LXSSPX_LXSIWAX_LXSSP
    2480             :   { 1, 154, 155, 0, 0 }, // 121 LFIWAX_LFSX_LFS
    2481             :   { 1, 154, 155, 0, 0 }, // 122 LXVDSX_LXVW4X
    2482             :   { 1, 177, 178, 0, 0 }, // 123 STFS_STFD_STFIWX_STFSX_STFDX_STXSDX_STXSSPX_STXSIWX
    2483             :   { 1, 177, 178, 0, 0 }, // 124 STXVD2X_STXVW4X
    2484             :   { 1, 156, 157, 0, 0 }, // 125 DIVW_DIVWU
    2485             :   { 1, 156, 157, 0, 0 }, // 126 DIVWE_DIVWEU
    2486             :   { 1, 155, 156, 0, 0 }, // 127 DIVD_DIVDU
    2487             :   { 1, 155, 156, 0, 0 }, // 128 DIVDE_DIVDEU
    2488             :   { 1, 156, 157, 0, 0 }, // 129 DIVWEo_DIVWEUo
    2489             :   { 1, 155, 156, 0, 0 }, // 130 DIVDEo_DIVDEUo
    2490             :   { 1, 148, 149, 0, 0 }, // 131 SLD_SRD_SRAD
    2491             :   { 1, 148, 149, 0, 0 }, // 132 SRADI_RLDIC
    2492             :   { 1, 148, 149, 0, 0 }, // 133 RLDCL_RLDCR
    2493             :   { 1, 148, 149, 0, 0 }, // 134 RLDIMI_RLDICL_RLDICR_RLDICL_32_64
    2494             :   { 1, 166, 167, 0, 0 }, // 135 MTOCRF_MTOCRF8_MTCRF_MTCRF8
    2495             :   { 1, 165, 166, 0, 0 }, // 136 MCRF
    2496             :   { 1, 166, 167, 0, 0 }, // 137 MCRXRX
    2497             :   { 1, 165, 166, 0, 0 }, // 138 MCRFS
    2498             :   { 1, 159, 160, 0, 0 }, // 139 FDIV_XSDIVDP
    2499             :   { 1, 159, 160, 0, 0 }, // 140 FDIVS_XSDIVSP
    2500             :   { 1, 159, 160, 0, 0 }, // 141 XVDIVSP
    2501             :   { 1, 159, 160, 0, 0 }, // 142 XVDIVDP
    2502             :   { 1, 157, 158, 0, 0 }, // 143 FRSP_FRIND_FRINS_FRIPD_FRIPS_FRIZD_FRIZS_FRIMD_FRIMS_FRE_FRES_FRSQRTE_FRSQRTES_FMADDS_FMSUBS_FNMADDS_FNMSUBS_FSELD_FSELS_FADDS_FMULS_FSUBS_FCFID_FCTID_FCTIDZ_FCFIDU_FCFIDS_FCFIDUS_FCTIDUZ_FCTIWUZ_FCTIW_FCTIWZ
    2503             :   { 1, 157, 158, 0, 0 }, // 144 FMADD_FMSUB_FNMADD_FNMSUB_FMUL
    2504             :   { 1, 157, 158, 0, 0 }, // 145 FMR_FABSD_FABSS_FNABSD_FNABSS_FNEGD_FNEGS_FCPSGND_FCPSGNS
    2505             :   { 1, 158, 159, 0, 0 }, // 146 FCMPUS_FCMPUD
    2506             :   { 1, 163, 164, 0, 0 }, // 147 LFSU
    2507             :   { 1, 163, 164, 0, 0 }, // 148 LFSUX
    2508             :   { 1, 163, 164, 0, 0 }, // 149 LFDU
    2509             :   { 1, 163, 164, 0, 0 }, // 150 LFDUX
    2510             :   { 0, ~0U, ~0U, ~0U, ~0U } // end marker
    2511             : };
    2512             : 
    2513             : static const llvm::InstrItinerary PPCA2Itineraries[] = {
    2514             :   { 0, 0, 0, 0, 0 }, // 0 NoInstrModel
    2515             :   { 1, 181, 182, 250, 253 }, // 1 IIC_IntSimple
    2516             :   { 1, 181, 182, 253, 256 }, // 2 IIC_IntGeneral
    2517             :   { 1, 181, 182, 256, 259 }, // 3 IIC_BrB
    2518             :   { 0, 0, 0, 0, 0 }, // 4 IIC_VecFP
    2519             :   { 1, 181, 182, 259, 260 }, // 5 IIC_LdStSync
    2520             :   { 1, 181, 182, 260, 263 }, // 6 IIC_IntCompare
    2521             :   { 0, 0, 0, 0, 0 }, // 7 IIC_SprABORT
    2522             :   { 0, 0, 0, 0, 0 }, // 8 IIC_LdStCOPY
    2523             :   { 0, 0, 0, 0, 0 }, // 9 IIC_LdStPASTE
    2524             :   { 1, 181, 182, 263, 266 }, // 10 IIC_BrCR
    2525             :   { 1, 181, 182, 266, 269 }, // 11 IIC_LdStDCBF
    2526             :   { 1, 181, 182, 269, 272 }, // 12 IIC_LdStLoad
    2527             :   { 1, 181, 182, 272, 275 }, // 13 IIC_IntDivD
    2528             :   { 1, 181, 182, 275, 278 }, // 14 IIC_IntDivW
    2529             :   { 1, 181, 182, 278, 281 }, // 15 IIC_IntRotateDI
    2530             :   { 1, 182, 183, 281, 284 }, // 16 IIC_FPGeneral
    2531             :   { 1, 182, 183, 284, 287 }, // 17 IIC_FPAddSub
    2532             :   { 1, 182, 183, 287, 290 }, // 18 IIC_FPCompare
    2533             :   { 1, 182, 183, 290, 293 }, // 19 IIC_FPDivD
    2534             :   { 1, 182, 183, 293, 296 }, // 20 IIC_FPDivS
    2535             :   { 1, 182, 183, 296, 300 }, // 21 IIC_FPFused
    2536             :   { 1, 182, 183, 300, 303 }, // 22 IIC_FPSqrtD
    2537             :   { 1, 182, 183, 303, 306 }, // 23 IIC_FPSqrtS
    2538             :   { 1, 181, 182, 306, 309 }, // 24 IIC_LdStICBI
    2539             :   { 1, 181, 182, 309, 312 }, // 25 IIC_LdStStore
    2540             :   { 1, 181, 182, 312, 316 }, // 26 IIC_IntISEL
    2541             :   { 1, 181, 182, 316, 317 }, // 27 IIC_SprISYNC
    2542             :   { 1, 181, 182, 317, 320 }, // 28 IIC_LdStLWARX
    2543             :   { 1, 181, 182, 320, 324 }, // 29 IIC_LdStLoadUpd
    2544             :   { 1, 181, 182, 324, 328 }, // 30 IIC_LdStLoadUpdX
    2545             :   { 0, 0, 0, 0, 0 }, // 31 IIC_LdStLD
    2546             :   { 0, 0, 0, 0, 0 }, // 32 IIC_LdStLDARX
    2547             :   { 1, 181, 182, 328, 331 }, // 33 IIC_LdStLDU
    2548             :   { 1, 181, 182, 331, 334 }, // 34 IIC_LdStLDUX
    2549             :   { 1, 181, 182, 334, 337 }, // 35 IIC_LdStLFD
    2550             :   { 1, 181, 182, 337, 341 }, // 36 IIC_LdStLFDU
    2551             :   { 1, 181, 182, 341, 345 }, // 37 IIC_LdStLFDUX
    2552             :   { 1, 181, 182, 345, 348 }, // 38 IIC_LdStLHA
    2553             :   { 1, 181, 182, 348, 352 }, // 39 IIC_LdStLHAU
    2554             :   { 1, 181, 182, 352, 356 }, // 40 IIC_LdStLHAUX
    2555             :   { 0, 0, 0, 0, 0 }, // 41 IIC_LdStLMW
    2556             :   { 0, 0, 0, 0, 0 }, // 42 IIC_LdStLWA
    2557             :   { 1, 181, 182, 356, 359 }, // 43 IIC_BrMCR
    2558             :   { 1, 181, 182, 359, 362 }, // 44 IIC_BrMCRX
    2559             :   { 1, 181, 182, 362, 364 }, // 45 IIC_SprMFCR
    2560             :   { 1, 181, 182, 364, 366 }, // 46 IIC_SprMFSPR
    2561             :   { 0, 0, 0, 0, 0 }, // 47 IIC_IntMFFS
    2562             :   { 1, 181, 182, 366, 368 }, // 48 IIC_SprMFMSR
    2563             :   { 1, 181, 182, 368, 370 }, // 49 IIC_SprMFCRF
    2564             :   { 0, 0, 0, 0, 0 }, // 50 IIC_SprMFPMR
    2565             :   { 0, 0, 0, 0, 0 }, // 51 IIC_SprMFSR
    2566             :   { 1, 181, 182, 370, 372 }, // 52 IIC_SprMFTB
    2567             :   { 0, 0, 0, 0, 0 }, // 53 IIC_VecGeneral
    2568             :   { 0, 0, 0, 0, 0 }, // 54 IIC_SprMSGSYNC
    2569             :   { 1, 181, 182, 372, 374 }, // 55 IIC_SprMTSPR
    2570             :   { 0, 0, 0, 0, 0 }, // 56 IIC_IntMTFSB0
    2571             :   { 1, 181, 182, 374, 376 }, // 57 IIC_SprMTMSR
    2572             :   { 0, 0, 0, 0, 0 }, // 58 IIC_SprMTMSRD
    2573             :   { 0, 0, 0, 0, 0 }, // 59 IIC_SprMTPMR
    2574             :   { 0, 0, 0, 0, 0 }, // 60 IIC_SprMTSR
    2575             :   { 1, 181, 182, 376, 379 }, // 61 IIC_IntMulHW
    2576             :   { 1, 181, 182, 379, 382 }, // 62 IIC_IntMulHWU
    2577             :   { 0, 0, 0, 0, 0 }, // 63 IIC_IntMulHD
    2578             :   { 1, 181, 182, 382, 385 }, // 64 IIC_IntMulLI
    2579             :   { 0, 0, 0, 0, 0 }, // 65 IIC_VecPerm
    2580             :   { 1, 181, 182, 385, 388 }, // 66 IIC_LdStSTFD
    2581             :   { 1, 181, 182, 388, 392 }, // 67 IIC_LdStSTFDU
    2582             :   { 1, 181, 182, 392, 393 }, // 68 IIC_SprRFI
    2583             :   { 0, 0, 0, 0, 0 }, // 69 IIC_IntRFID
    2584             :   { 1, 181, 182, 393, 396 }, // 70 IIC_IntRotateD
    2585             :   { 1, 181, 182, 396, 399 }, // 71 IIC_IntRotate
    2586             :   { 0, 0, 0, 0, 0 }, // 72 IIC_SprSLBIA
    2587             :   { 0, 0, 0, 0, 0 }, // 73 IIC_SprSLBIE
    2588             :   { 0, 0, 0, 0, 0 }, // 74 IIC_SprSLBIEG
    2589             :   { 0, 0, 0, 0, 0 }, // 75 IIC_SprSLBMFEE
    2590             :   { 0, 0, 0, 0, 0 }, // 76 IIC_SprSLBMFEV
    2591             :   { 0, 0, 0, 0, 0 }, // 77 IIC_SprSLBMTE
    2592             :   { 0, 0, 0, 0, 0 }, // 78 IIC_SprSLBSYNC
    2593             :   { 1, 181, 182, 399, 402 }, // 79 IIC_IntShift
    2594             :   { 1, 181, 182, 402, 405 }, // 80 IIC_LdStSTWCX
    2595             :   { 1, 181, 182, 405, 409 }, // 81 IIC_LdStStoreUpd
    2596             :   { 1, 181, 182, 409, 412 }, // 82 IIC_LdStSTD
    2597             :   { 1, 181, 182, 412, 415 }, // 83 IIC_LdStSTDCX
    2598             :   { 1, 181, 182, 415, 419 }, // 84 IIC_LdStSTDU
    2599             :   { 1, 181, 182, 419, 423 }, // 85 IIC_LdStSTDUX
    2600             :   { 0, 0, 0, 0, 0 }, // 86 IIC_SprSTOP
    2601             :   { 1, 181, 182, 423, 425 }, // 87 IIC_IntTrapD
    2602             :   { 0, 0, 0, 0, 0 }, // 88 IIC_SprTLBIA
    2603             :   { 0, 0, 0, 0, 0 }, // 89 IIC_SprTLBIE
    2604             :   { 0, 0, 0, 0, 0 }, // 90 IIC_SprTLBIEL
    2605             :   { 0, 0, 0, 0, 0 }, // 91 IIC_SprTLBSYNC
    2606             :   { 1, 181, 182, 425, 427 }, // 92 IIC_IntTrapW
    2607             :   { 0, 0, 0, 0, 0 }, // 93 IIC_VecFPCompare
    2608             :   { 0, 0, 0, 0, 0 }, // 94 VADDCUW_VAND_VANDC_VMRGEW_VMRGOW_VNOR_VOR_VSEL_VSUBCUW_VXOR_V_SET0B_V_SET0H_V_SET0_XVABSDP_XVABSSP_XVCPSGNDP_XVCPSGNSP_XVIEXPDP_XVNABSDP_XVNABSSP_XVNEGDP_XVNEGSP_XVXEXPDP
    2609             :   { 0, 0, 0, 0, 0 }, // 95 VADDUBM_VADDUDM_VADDUHM_VADDUWM_VEQV_VEXTSB2D_VEXTSB2W_VEXTSH2D_VEXTSH2W_VEXTSW2D_VNAND_VNEGD_VNEGW_VORC_VPOPCNTB_VPOPCNTH_VPOPCNTW_VSUBUBM_VSUBUDM_VSUBUHM_VSUBUWM_XXLAND_XXLANDC_XXLEQV_XXLNAND_XXLNOR_XXLOR_XXLORf_XXLORC_XXLXOR
    2610             :   { 0, 0, 0, 0, 0 }, // 96 VCMPEQUB_VCMPEQUBo_VCMPEQUD_VCMPEQUDo_VCMPEQUH_VCMPEQUHo_VCMPEQUW_VCMPEQUWo_VCMPGTSB_VCMPGTSBo_VCMPGTSD_VCMPGTSDo_VCMPGTSH_VCMPGTSHo_VCMPGTSW_VCMPGTSWo_VCMPGTUB_VCMPGTUBo_VCMPGTUD_VCMPGTUDo_VCMPGTUH_VCMPGTUHo_VCMPGTUW_VCMPGTUWo_VCMPNEB_VCMPNEBo_VCMPNEH_VCMPNEHo_VCMPNEW_VCMPNEWo_VCMPNEZB_VCMPNEZBo_VCMPNEZH_VCMPNEZHo_VCMPNEZW_VCMPNEZWo
    2611             :   { 0, 0, 0, 0, 0 }, // 97 XXSEL
    2612             :   { 0, 0, 0, 0, 0 }, // 98 XSABSQP_XSCPSGNQP_XSIEXPQP_XSNABSQP_XSNEGQP_XSXEXPQP_XSABSDP_XSCPSGNDP_XSIEXPDP_XSNABSDP_XSNEGDP_XSXEXPDP
    2613             :   { 0, 0, 0, 0, 0 }, // 99 VMINSB_VMINSD_VMINSH_VMINSW_VMINUB_VMINUD_VMINUH_VMINUW_VRLB_VRLD_VRLDMI_VRLDNM_VRLH_VRLW_VRLWMI_VRLWNM_VSHASIGMAD_VSHASIGMAW_VSLB_VSLH_VSLW_VSRAB_VSRAH_VSRAW_VSRB_VSRH_VSRW_VSUBSBS_VSUBSHS_VSUBSWS_VSUBUBS_VSUBUHS_VSUBUWS_XSCVSPDPN_XSMAXCDP_XSMAXDP_XSMAXJDP_XSMINCDP_XSMINDP_XSMINJDP_XSTSTDCDP_XSTSTDCSP_XSXSIGDP_XVIEXPSP_XVMAXDP_XVMAXSP_XVMINDP_XVMINSP_XVTSTDCDP_XVTSTDCSP_XVXEXPSP_XVXSIGDP_XVXSIGSP
    2614             :   { 0, 0, 0, 0, 0 }, // 100 VPOPCNTD_VPRTYBD_VPRTYBW_VSLD_VSRAD_VSRD
    2615             :   { 1, 182, 183, 427, 430 }, // 101 XSCMPEQDP_XSCMPEXPDP_XSCMPGEDP_XSCMPGTDP_XSCMPODP_XSCMPUDP_XSTDIVDP_XSTSQRTDP_XVTDIVDP_XVTDIVSP_XVTSQRTDP_XVTSQRTSP
    2616             :   { 0, 0, 0, 0, 0 }, // 102 XVCMPEQDP_XVCMPEQDPo_XVCMPEQSP_XVCMPEQSPo_XVCMPGEDP_XVCMPGEDPo_XVCMPGESP_XVCMPGESPo_XVCMPGTDP_XVCMPGTDPo_XVCMPGTSP_XVCMPGTSPo
    2617             :   { 0, 0, 0, 0, 0 }, // 103 VABSDUB_VABSDUH_VABSDUW_VCLZB_VCLZD_VCLZH_VCLZW_VCTZB_VCTZD_VCTZH_VCTZW
    2618             :   { 0, 0, 0, 0, 0 }, // 104 VADDSBS_VADDSHS_VADDSWS_VADDUBS_VADDUHS_VADDUWS_VAVGSB_VAVGSH_VAVGSW_VAVGUB_VAVGUH_VAVGUW_VBPERMD_VMAXFP_VMAXSB_VMAXSD_VMAXSH_VMAXSW_VMAXUB_VMAXUD_VMAXUH_VMAXUW_VMINFP
    2619             :   { 0, 0, 0, 0, 0 }, // 105 VCMPBFP_VCMPBFPo_VCMPGTFP_VCMPGTFPo_VCMPEQFP_VCMPEQFPo_VCMPGEFP_VCMPGEFPo
    2620             :   { 0, 0, 0, 0, 0 }, // 106 VADDFP_VCTSXS_VCTSXS_0_VCTUXS_VCTUXS_0_VEXPTEFP_VLOGEFP_VMADDFP_VMHADDSHS_VNMSUBFP_VREFP_VRFIM_VRFIN_VRFIP_VRFIZ_VRSQRTEFP_XVADDDP_XVADDSP_XVCVDPSP_XVCVDPSXDS_XVCVDPSXWS_XVCVDPUXDS_XVCVDPUXWS_XVCVHPSP_XVCVSPDP_XVCVSPHP_XVCVSPSXDS_XVCVSPSXWS_XVCVSPUXDS_XVCVSPUXWS_XVCVSXDDP_XVCVSXDSP_XVCVSXWDP_XVCVSXWSP_XVCVUXDDP_XVCVUXDSP_XVCVUXWDP_XVCVUXWSP_XVMADDADP_XVMADDASP_XVMADDMDP_XVMADDMSP_XVMSUBADP_XVMSUBASP_XVMSUBMDP_XVMSUBMSP_XVMULDP_XVMULSP_XVNMADDADP_XVNMADDASP_XVNMADDMDP_XVNMADDMSP_XVNMSUBADP_XVNMSUBASP_XVNMSUBMDP_XVNMSUBMSP_XVRDPI_XVRDPIC_XVRDPIM_XVRDPIP_XVRDPIZ_XVREDP_XVRESP_XVRSPI_XVRSPIC_XVRSPIM_XVRSPIP_XVRSPIZ_XVRSQRTEDP_XVRSQRTESP_XVSUBDP_XVSUBSP_VCFSX_VCFSX_0_VCFUX_VCFUX_0_VMHRADDSHS_VMLADDUHM_VMSUMMBM_VMSUMSHM_VMSUMSHS_VMSUMUBM_VMSUMUHM_VMSUMUHS_VMULESB_VMULESH_VMULESW_VMULEUB_VMULEUH_VMULEUW_VMULOSB_VMULOSH_VMULOSW_VMULOUB_VMULOUH_VMULOUW_VSUM2SWS_VSUM4SBS_VSUM4SHS_VSUM4UBS_VSUMSWS
    2621             :   { 0, 0, 0, 0, 0 }, // 107 VSUBFP_VMULUWM
    2622             :   { 0, 0, 0, 0, 0 }, // 108 XSMADDADP_XSMADDASP_XSMADDMDP_XSMADDMSP_XSMSUBADP_XSMSUBASP_XSMSUBMDP_XSMSUBMSP_XSMULDP_XSMULSP_XSNMADDADP_XSNMADDASP_XSNMADDMDP_XSNMADDMSP_XSNMSUBADP_XSNMSUBASP_XSNMSUBMDP_XSNMSUBMSP
    2623             :   { 0, 0, 0, 0, 0 }, // 109 XSADDDP_XSADDSP_XSCVDPHP_XSCVDPSP_XSCVDPSXDS_XSCVDPSXWS_XSCVDPUXDS_XSCVDPUXWS_XSCVHPDP_XSCVSPDP_XSCVSXDDP_XSCVSXDSP_XSCVUXDDP_XSCVUXDSP_XSRDPI_XSRDPIC_XSRDPIM_XSRDPIP_XSRDPIZ_XSREDP_XSRESP_XSRSQRTEDP_XSRSQRTESP_XSSUBDP_XSSUBSP_XSCVDPSPN
    2624             :   { 0, 0, 0, 0, 0 }, // 110 VBPERMQ_VGBBD_VMRGHB_VMRGHH_VMRGHW_VMRGLB_VMRGLH_VMRGLW_VPERM_VPERMR_VPERMXOR_VPKPX_VPKSDSS_VPKSDUS_VPKSHSS_VPKSHUS_VPKSWSS_VPKSWUS_VPKUDUM_VPKUDUS_VPKUHUM_VPKUHUS_VPKUWUM_VPKUWUS_VSL_VSLDOI_VSLO_VSLV_VSR_VSRO_VSRV_VUPKHPX_VUPKHSB_VUPKHSH_VUPKHSW_VUPKLPX_VUPKLSB_VUPKLSH_VUPKLSW_XXBRD_XXBRH_XXBRQ_XXBRW_XXEXTRACTUW_XXINSERTW_VADDCUQ_VADDECUQ_VADDEUQM_VMUL10CUQ_VMUL10ECUQ_VMUL10EUQ_VMUL10UQ_VSUBCUQ_VSUBECUQ_VSUBEUQM_XSTSTDCQP_XSXSIGQP
    2625             :   { 0, 0, 0, 0, 0 }, // 111 VCLZLSBB_VCTZLSBB_VEXTRACTD_VEXTRACTUB_VEXTRACTUH_VEXTRACTUW_VEXTUBLX_VEXTUBRX_VEXTUHLX_VEXTUHRX_VEXTUWLX_VEXTUWRX_VINSERTB_VINSERTD_VINSERTH_VINSERTW_VPRTYBQ_VADDUQM_VSUBUQM
    2626             :   { 0, 0, 0, 0, 0 }, // 112 VSPLTB_VSPLTH_VSPLTISB_VSPLTISH_VSPLTISW_VSPLTW_XXMRGHW_XXMRGLW_XXPERM_XXPERMR_XXSLDWI_XXSPLTIB_XXSPLTW
    2627             :   { 1, 182, 183, 430, 433 }, // 113 XSCMPEXPQP_XSCMPOQP_XSCMPUQP
    2628             :   { 0, 0, 0, 0, 0 }, // 114 XSADDQP_XSADDQPO_XSCVDPQP_XSCVQPDP_XSCVQPDPO_XSCVQPSDZ_XSCVQPSWZ_XSCVQPUDZ_XSCVQPUWZ_XSCVSDQP_XSCVUDQP_XSRQPI_XSRQPXP_XSSUBQP_XSSUBQPO
    2629             :   { 0, 0, 0, 0, 0 }, // 115 XSMADDQP_XSMADDQPO_XSMSUBQP_XSMSUBQPO_XSMULQP_XSMULQPO_XSNMADDQP_XSNMADDQPO_XSNMSUBQP_XSNMSUBQPO
    2630             :   { 0, 0, 0, 0, 0 }, // 116 XSDIVQP_XSDIVQPO
    2631             :   { 0, 0, 0, 0, 0 }, // 117 XSSQRTQP_XSSQRTQPO
    2632             :   { 1, 181, 182, 433, 436 }, // 118 LXSDX_LXVD2X_LXSIWZX_LXV_LXSD
    2633             :   { 1, 181, 182, 436, 439 }, // 119 LFIWZX_LFDX_LFD
    2634             :   { 1, 181, 182, 439, 442 }, // 120 LXSSPX_LXSIWAX_LXSSP
    2635             :   { 1, 181, 182, 442, 445 }, // 121 LFIWAX_LFSX_LFS
    2636             :   { 1, 181, 182, 445, 448 }, // 122 LXVDSX_LXVW4X
    2637             :   { 1, 181, 182, 448, 451 }, // 123 STFS_STFD_STFIWX_STFSX_STFDX_STXSDX_STXSSPX_STXSIWX
    2638             :   { 1, 181, 182, 451, 454 }, // 124 STXVD2X_STXVW4X
    2639             :   { 1, 181, 182, 454, 457 }, // 125 DIVW_DIVWU
    2640             :   { 1, 181, 182, 457, 460 }, // 126 DIVWE_DIVWEU
    2641             :   { 1, 181, 182, 460, 463 }, // 127 DIVD_DIVDU
    2642             :   { 1, 181, 182, 463, 466 }, // 128 DIVDE_DIVDEU
    2643             :   { 1, 181, 182, 466, 469 }, // 129 DIVWEo_DIVWEUo
    2644             :   { 1, 181, 182, 469, 472 }, // 130 DIVDEo_DIVDEUo
    2645             :   { 1, 181, 182, 472, 475 }, // 131 SLD_SRD_SRAD
    2646             :   { 1, 181, 182, 475, 478 }, // 132 SRADI_RLDIC
    2647             :   { 1, 181, 182, 478, 481 }, // 133 RLDCL_RLDCR
    2648             :   { 1, 181, 182, 481, 484 }, // 134 RLDIMI_RLDICL_RLDICR_RLDICL_32_64
    2649             :   { 1, 181, 182, 484, 487 }, // 135 MTOCRF_MTOCRF8_MTCRF_MTCRF8
    2650             :   { 1, 181, 182, 487, 490 }, // 136 MCRF
    2651             :   { 1, 181, 182, 490, 493 }, // 137 MCRXRX
    2652             :   { 1, 181, 182, 493, 496 }, // 138 MCRFS
    2653             :   { 1, 182, 183, 496, 499 }, // 139 FDIV_XSDIVDP
    2654             :   { 1, 182, 183, 499, 502 }, // 140 FDIVS_XSDIVSP
    2655             :   { 1, 182, 183, 502, 505 }, // 141 XVDIVSP
    2656             :   { 1, 182, 183, 505, 508 }, // 142 XVDIVDP
    2657             :   { 1, 182, 183, 508, 511 }, // 143 FRSP_FRIND_FRINS_FRIPD_FRIPS_FRIZD_FRIZS_FRIMD_FRIMS_FRE_FRES_FRSQRTE_FRSQRTES_FMADDS_FMSUBS_FNMADDS_FNMSUBS_FSELD_FSELS_FADDS_FMULS_FSUBS_FCFID_FCTID_FCTIDZ_FCFIDU_FCFIDS_FCFIDUS_FCTIDUZ_FCTIWUZ_FCTIW_FCTIWZ
    2658             :   { 1, 182, 183, 511, 515 }, // 144 FMADD_FMSUB_FNMADD_FNMSUB_FMUL
    2659             :   { 1, 182, 183, 515, 518 }, // 145 FMR_FABSD_FABSS_FNABSD_FNABSS_FNEGD_FNEGS_FCPSGND_FCPSGNS
    2660             :   { 1, 182, 183, 518, 521 }, // 146 FCMPUS_FCMPUD
    2661             :   { 1, 181, 182, 521, 525 }, // 147 LFSU
    2662             :   { 1, 181, 182, 525, 529 }, // 148 LFSUX
    2663             :   { 1, 181, 182, 529, 533 }, // 149 LFDU
    2664             :   { 1, 181, 182, 533, 537 }, // 150 LFDUX
    2665             :   { 0, ~0U, ~0U, ~0U, ~0U } // end marker
    2666             : };
    2667             : 
    2668             : static const llvm::InstrItinerary PPCE500mcItineraries[] = {
    2669             :   { 0, 0, 0, 0, 0 }, // 0 NoInstrModel
    2670             :   { 1, 183, 185, 537, 540 }, // 1 IIC_IntSimple
    2671             :   { 1, 183, 185, 540, 543 }, // 2 IIC_IntGeneral
    2672             :   { 1, 185, 187, 543, 545 }, // 3 IIC_BrB
    2673             :   { 0, 0, 0, 0, 0 }, // 4 IIC_VecFP
    2674             :   { 1, 187, 189, 0, 0 }, // 5 IIC_LdStSync
    2675             :   { 1, 183, 185, 545, 548 }, // 6 IIC_IntCompare
    2676             :   { 0, 0, 0, 0, 0 }, // 7 IIC_SprABORT
    2677             :   { 0, 0, 0, 0, 0 }, // 8 IIC_LdStCOPY
    2678             :   { 0, 0, 0, 0, 0 }, // 9 IIC_LdStPASTE
    2679             :   { 1, 185, 187, 548, 551 }, // 10 IIC_BrCR
    2680             :   { 1, 187, 189, 551, 553 }, // 11 IIC_LdStDCBF
    2681             :   { 1, 187, 189, 553, 555 }, // 12 IIC_LdStLoad
    2682             :   { 0, 0, 0, 0, 0 }, // 13 IIC_IntDivD
    2683             :   { 1, 189, 192, 555, 558 }, // 14 IIC_IntDivW
    2684             :   { 0, 0, 0, 0, 0 }, // 15 IIC_IntRotateDI
    2685             :   { 1, 192, 194, 558, 561 }, // 16 IIC_FPGeneral
    2686             :   { 1, 194, 196, 561, 564 }, // 17 IIC_FPAddSub
    2687             :   { 1, 192, 194, 564, 567 }, // 18 IIC_FPCompare
    2688             :   { 1, 196, 198, 567, 570 }, // 19 IIC_FPDivD
    2689             :   { 1, 198, 200, 570, 573 }, // 20 IIC_FPDivS
    2690             :   { 1, 194, 196, 573, 577 }, // 21 IIC_FPFused
    2691             :   { 0, 0, 0, 0, 0 }, // 22 IIC_FPSqrtD
    2692             :   { 0, 0, 0, 0, 0 }, // 23 IIC_FPSqrtS
    2693             :   { 1, 187, 189, 577, 579 }, // 24 IIC_LdStICBI
    2694             :   { 1, 187, 189, 579, 581 }, // 25 IIC_LdStStore
    2695             :   { 1, 183, 185, 581, 585 }, // 26 IIC_IntISEL
    2696             :   { 0, 0, 0, 0, 0 }, // 27 IIC_SprISYNC
    2697             :   { 1, 200, 202, 585, 588 }, // 28 IIC_LdStLWARX
    2698             :   { 2, 202, 205, 588, 590 }, // 29 IIC_LdStLoadUpd
    2699             :   { 2, 202, 205, 590, 592 }, // 30 IIC_LdStLoadUpdX
    2700             :   { 0, 0, 0, 0, 0 }, // 31 IIC_LdStLD
    2701             :   { 0, 0, 0, 0, 0 }, // 32 IIC_LdStLDARX
    2702             :   { 0, 0, 0, 0, 0 }, // 33 IIC_LdStLDU
    2703             :   { 0, 0, 0, 0, 0 }, // 34 IIC_LdStLDUX
    2704             :   { 1, 187, 189, 592, 595 }, // 35 IIC_LdStLFD
    2705             :   { 2, 202, 205, 595, 598 }, // 36 IIC_LdStLFDU
    2706             :   { 2, 202, 205, 598, 601 }, // 37 IIC_LdStLFDUX
    2707             :   { 1, 187, 189, 601, 603 }, // 38 IIC_LdStLHA
    2708             :   { 1, 202, 205, 603, 605 }, // 39 IIC_LdStLHAU
    2709             :   { 1, 202, 205, 605, 607 }, // 40 IIC_LdStLHAUX
    2710             :   { 1, 187, 189, 607, 609 }, // 41 IIC_LdStLMW
    2711             :   { 0, 0, 0, 0, 0 }, // 42 IIC_LdStLWA
    2712             :   { 1, 185, 187, 609, 611 }, // 43 IIC_BrMCR
    2713             :   { 1, 183, 185, 611, 614 }, // 44 IIC_BrMCRX
    2714             :   { 1, 205, 207, 614, 616 }, // 45 IIC_SprMFCR
    2715             :   { 1, 183, 185, 616, 618 }, // 46 IIC_SprMFSPR
    2716             :   { 1, 207, 209, 618, 619 }, // 47 IIC_IntMFFS
    2717             :   { 1, 209, 211, 619, 621 }, // 48 IIC_SprMFMSR
    2718             :   { 1, 205, 207, 621, 623 }, // 49 IIC_SprMFCRF
    2719             :   { 1, 209, 211, 623, 625 }, // 50 IIC_SprMFPMR
    2720             :   { 1, 209, 211, 625, 627 }, // 51 IIC_SprMFSR
    2721             :   { 1, 209, 211, 627, 629 }, // 52 IIC_SprMFTB
    2722             :   { 0, 0, 0, 0, 0 }, // 53 IIC_VecGeneral
    2723             :   { 0, 0, 0, 0, 0 }, // 54 IIC_SprMSGSYNC
    2724             :   { 1, 183, 185, 629, 631 }, // 55 IIC_SprMTSPR
    2725             :   { 1, 207, 209, 631, 634 }, // 56 IIC_IntMTFSB0
    2726             :   { 1, 211, 213, 634, 636 }, // 57 IIC_SprMTMSR
    2727             :   { 0, 0, 0, 0, 0 }, // 58 IIC_SprMTMSRD
    2728             :   { 1, 213, 215, 636, 638 }, // 59 IIC_SprMTPMR
    2729             :   { 1, 213, 215, 638, 640 }, // 60 IIC_SprMTSR
    2730             :   { 1, 215, 217, 640, 643 }, // 61 IIC_IntMulHW
    2731             :   { 1, 215, 217, 643, 646 }, // 62 IIC_IntMulHWU
    2732             :   { 0, 0, 0, 0, 0 }, // 63 IIC_IntMulHD
    2733             :   { 1, 215, 217, 646, 649 }, // 64 IIC_IntMulLI
    2734             :   { 0, 0, 0, 0, 0 }, // 65 IIC_VecPerm
    2735             :   { 1, 187, 189, 649, 652 }, // 66 IIC_LdStSTFD
    2736             :   { 2, 202, 205, 652, 655 }, // 67 IIC_LdStSTFDU
    2737             :   { 0, 0, 0, 0, 0 }, // 68 IIC_SprRFI
    2738             :   { 0, 0, 0, 0, 0 }, // 69 IIC_IntRFID
    2739             :   { 0, 0, 0, 0, 0 }, // 70 IIC_IntRotateD
    2740             :   { 1, 183, 185, 655, 658 }, // 71 IIC_IntRotate
    2741             :   { 0, 0, 0, 0, 0 }, // 72 IIC_SprSLBIA
    2742             :   { 0, 0, 0, 0, 0 }, // 73 IIC_SprSLBIE
    2743             :   { 0, 0, 0, 0, 0 }, // 74 IIC_SprSLBIEG
    2744             :   { 0, 0, 0, 0, 0 }, // 75 IIC_SprSLBMFEE
    2745             :   { 0, 0, 0, 0, 0 }, // 76 IIC_SprSLBMFEV
    2746             :   { 0, 0, 0, 0, 0 }, // 77 IIC_SprSLBMTE
    2747             :   { 0, 0, 0, 0, 0 }, // 78 IIC_SprSLBSYNC
    2748             :   { 1, 183, 185, 658, 661 }, // 79 IIC_IntShift
    2749             :   { 1, 187, 189, 661, 663 }, // 80 IIC_LdStSTWCX
    2750             :   { 2, 202, 205, 663, 665 }, // 81 IIC_LdStStoreUpd
    2751             :   { 0, 0, 0, 0, 0 }, // 82 IIC_LdStSTD
    2752             :   { 0, 0, 0, 0, 0 }, // 83 IIC_LdStSTDCX
    2753             :   { 0, 0, 0, 0, 0 }, // 84 IIC_LdStSTDU
    2754             :   { 0, 0, 0, 0, 0 }, // 85 IIC_LdStSTDUX
    2755             :   { 0, 0, 0, 0, 0 }, // 86 IIC_SprSTOP
    2756             :   { 0, 0, 0, 0, 0 }, // 87 IIC_IntTrapD
    2757             :   { 0, 0, 0, 0, 0 }, // 88 IIC_SprTLBIA
    2758             :   { 0, 0, 0, 0, 0 }, // 89 IIC_SprTLBIE
    2759             :   { 0, 0, 0, 0, 0 }, // 90 IIC_SprTLBIEL
    2760             :   { 1, 217, 219, 0, 0 }, // 91 IIC_SprTLBSYNC
    2761             :   { 1, 219, 221, 665, 667 }, // 92 IIC_IntTrapW
    2762             :   { 0, 0, 0, 0, 0 }, // 93 IIC_VecFPCompare
    2763             :   { 0, 0, 0, 0, 0 }, // 94 VADDCUW_VAND_VANDC_VMRGEW_VMRGOW_VNOR_VOR_VSEL_VSUBCUW_VXOR_V_SET0B_V_SET0H_V_SET0_XVABSDP_XVABSSP_XVCPSGNDP_XVCPSGNSP_XVIEXPDP_XVNABSDP_XVNABSSP_XVNEGDP_XVNEGSP_XVXEXPDP
    2764             :   { 0, 0, 0, 0, 0 }, // 95 VADDUBM_VADDUDM_VADDUHM_VADDUWM_VEQV_VEXTSB2D_VEXTSB2W_VEXTSH2D_VEXTSH2W_VEXTSW2D_VNAND_VNEGD_VNEGW_VORC_VPOPCNTB_VPOPCNTH_VPOPCNTW_VSUBUBM_VSUBUDM_VSUBUHM_VSUBUWM_XXLAND_XXLANDC_XXLEQV_XXLNAND_XXLNOR_XXLOR_XXLORf_XXLORC_XXLXOR
    2765             :   { 0, 0, 0, 0, 0 }, // 96 VCMPEQUB_VCMPEQUBo_VCMPEQUD_VCMPEQUDo_VCMPEQUH_VCMPEQUHo_VCMPEQUW_VCMPEQUWo_VCMPGTSB_VCMPGTSBo_VCMPGTSD_VCMPGTSDo_VCMPGTSH_VCMPGTSHo_VCMPGTSW_VCMPGTSWo_VCMPGTUB_VCMPGTUBo_VCMPGTUD_VCMPGTUDo_VCMPGTUH_VCMPGTUHo_VCMPGTUW_VCMPGTUWo_VCMPNEB_VCMPNEBo_VCMPNEH_VCMPNEHo_VCMPNEW_VCMPNEWo_VCMPNEZB_VCMPNEZBo_VCMPNEZH_VCMPNEZHo_VCMPNEZW_VCMPNEZWo
    2766             :   { 0, 0, 0, 0, 0 }, // 97 XXSEL
    2767             :   { 0, 0, 0, 0, 0 }, // 98 XSABSQP_XSCPSGNQP_XSIEXPQP_XSNABSQP_XSNEGQP_XSXEXPQP_XSABSDP_XSCPSGNDP_XSIEXPDP_XSNABSDP_XSNEGDP_XSXEXPDP
    2768             :   { 0, 0, 0, 0, 0 }, // 99 VMINSB_VMINSD_VMINSH_VMINSW_VMINUB_VMINUD_VMINUH_VMINUW_VRLB_VRLD_VRLDMI_VRLDNM_VRLH_VRLW_VRLWMI_VRLWNM_VSHASIGMAD_VSHASIGMAW_VSLB_VSLH_VSLW_VSRAB_VSRAH_VSRAW_VSRB_VSRH_VSRW_VSUBSBS_VSUBSHS_VSUBSWS_VSUBUBS_VSUBUHS_VSUBUWS_XSCVSPDPN_XSMAXCDP_XSMAXDP_XSMAXJDP_XSMINCDP_XSMINDP_XSMINJDP_XSTSTDCDP_XSTSTDCSP_XSXSIGDP_XVIEXPSP_XVMAXDP_XVMAXSP_XVMINDP_XVMINSP_XVTSTDCDP_XVTSTDCSP_XVXEXPSP_XVXSIGDP_XVXSIGSP
    2769             :   { 0, 0, 0, 0, 0 }, // 100 VPOPCNTD_VPRTYBD_VPRTYBW_VSLD_VSRAD_VSRD
    2770             :   { 1, 192, 194, 667, 670 }, // 101 XSCMPEQDP_XSCMPEXPDP_XSCMPGEDP_XSCMPGTDP_XSCMPODP_XSCMPUDP_XSTDIVDP_XSTSQRTDP_XVTDIVDP_XVTDIVSP_XVTSQRTDP_XVTSQRTSP
    2771             :   { 0, 0, 0, 0, 0 }, // 102 XVCMPEQDP_XVCMPEQDPo_XVCMPEQSP_XVCMPEQSPo_XVCMPGEDP_XVCMPGEDPo_XVCMPGESP_XVCMPGESPo_XVCMPGTDP_XVCMPGTDPo_XVCMPGTSP_XVCMPGTSPo
    2772             :   { 0, 0, 0, 0, 0 }, // 103 VABSDUB_VABSDUH_VABSDUW_VCLZB_VCLZD_VCLZH_VCLZW_VCTZB_VCTZD_VCTZH_VCTZW
    2773             :   { 0, 0, 0, 0, 0 }, // 104 VADDSBS_VADDSHS_VADDSWS_VADDUBS_VADDUHS_VADDUWS_VAVGSB_VAVGSH_VAVGSW_VAVGUB_VAVGUH_VAVGUW_VBPERMD_VMAXFP_VMAXSB_VMAXSD_VMAXSH_VMAXSW_VMAXUB_VMAXUD_VMAXUH_VMAXUW_VMINFP
    2774             :   { 0, 0, 0, 0, 0 }, // 105 VCMPBFP_VCMPBFPo_VCMPGTFP_VCMPGTFPo_VCMPEQFP_VCMPEQFPo_VCMPGEFP_VCMPGEFPo
    2775             :   { 0, 0, 0, 0, 0 }, // 106 VADDFP_VCTSXS_VCTSXS_0_VCTUXS_VCTUXS_0_VEXPTEFP_VLOGEFP_VMADDFP_VMHADDSHS_VNMSUBFP_VREFP_VRFIM_VRFIN_VRFIP_VRFIZ_VRSQRTEFP_XVADDDP_XVADDSP_XVCVDPSP_XVCVDPSXDS_XVCVDPSXWS_XVCVDPUXDS_XVCVDPUXWS_XVCVHPSP_XVCVSPDP_XVCVSPHP_XVCVSPSXDS_XVCVSPSXWS_XVCVSPUXDS_XVCVSPUXWS_XVCVSXDDP_XVCVSXDSP_XVCVSXWDP_XVCVSXWSP_XVCVUXDDP_XVCVUXDSP_XVCVUXWDP_XVCVUXWSP_XVMADDADP_XVMADDASP_XVMADDMDP_XVMADDMSP_XVMSUBADP_XVMSUBASP_XVMSUBMDP_XVMSUBMSP_XVMULDP_XVMULSP_XVNMADDADP_XVNMADDASP_XVNMADDMDP_XVNMADDMSP_XVNMSUBADP_XVNMSUBASP_XVNMSUBMDP_XVNMSUBMSP_XVRDPI_XVRDPIC_XVRDPIM_XVRDPIP_XVRDPIZ_XVREDP_XVRESP_XVRSPI_XVRSPIC_XVRSPIM_XVRSPIP_XVRSPIZ_XVRSQRTEDP_XVRSQRTESP_XVSUBDP_XVSUBSP_VCFSX_VCFSX_0_VCFUX_VCFUX_0_VMHRADDSHS_VMLADDUHM_VMSUMMBM_VMSUMSHM_VMSUMSHS_VMSUMUBM_VMSUMUHM_VMSUMUHS_VMULESB_VMULESH_VMULESW_VMULEUB_VMULEUH_VMULEUW_VMULOSB_VMULOSH_VMULOSW_VMULOUB_VMULOUH_VMULOUW_VSUM2SWS_VSUM4SBS_VSUM4SHS_VSUM4UBS_VSUMSWS
    2776             :   { 0, 0, 0, 0, 0 }, // 107 VSUBFP_VMULUWM
    2777             :   { 0, 0, 0, 0, 0 }, // 108 XSMADDADP_XSMADDASP_XSMADDMDP_XSMADDMSP_XSMSUBADP_XSMSUBASP_XSMSUBMDP_XSMSUBMSP_XSMULDP_XSMULSP_XSNMADDADP_XSNMADDASP_XSNMADDMDP_XSNMADDMSP_XSNMSUBADP_XSNMSUBASP_XSNMSUBMDP_XSNMSUBMSP
    2778             :   { 0, 0, 0, 0, 0 }, // 109 XSADDDP_XSADDSP_XSCVDPHP_XSCVDPSP_XSCVDPSXDS_XSCVDPSXWS_XSCVDPUXDS_XSCVDPUXWS_XSCVHPDP_XSCVSPDP_XSCVSXDDP_XSCVSXDSP_XSCVUXDDP_XSCVUXDSP_XSRDPI_XSRDPIC_XSRDPIM_XSRDPIP_XSRDPIZ_XSREDP_XSRESP_XSRSQRTEDP_XSRSQRTESP_XSSUBDP_XSSUBSP_XSCVDPSPN
    2779             :   { 0, 0, 0, 0, 0 }, // 110 VBPERMQ_VGBBD_VMRGHB_VMRGHH_VMRGHW_VMRGLB_VMRGLH_VMRGLW_VPERM_VPERMR_VPERMXOR_VPKPX_VPKSDSS_VPKSDUS_VPKSHSS_VPKSHUS_VPKSWSS_VPKSWUS_VPKUDUM_VPKUDUS_VPKUHUM_VPKUHUS_VPKUWUM_VPKUWUS_VSL_VSLDOI_VSLO_VSLV_VSR_VSRO_VSRV_VUPKHPX_VUPKHSB_VUPKHSH_VUPKHSW_VUPKLPX_VUPKLSB_VUPKLSH_VUPKLSW_XXBRD_XXBRH_XXBRQ_XXBRW_XXEXTRACTUW_XXINSERTW_VADDCUQ_VADDECUQ_VADDEUQM_VMUL10CUQ_VMUL10ECUQ_VMUL10EUQ_VMUL10UQ_VSUBCUQ_VSUBECUQ_VSUBEUQM_XSTSTDCQP_XSXSIGQP
    2780             :   { 0, 0, 0, 0, 0 }, // 111 VCLZLSBB_VCTZLSBB_VEXTRACTD_VEXTRACTUB_VEXTRACTUH_VEXTRACTUW_VEXTUBLX_VEXTUBRX_VEXTUHLX_VEXTUHRX_VEXTUWLX_VEXTUWRX_VINSERTB_VINSERTD_VINSERTH_VINSERTW_VPRTYBQ_VADDUQM_VSUBUQM
    2781             :   { 0, 0, 0, 0, 0 }, // 112 VSPLTB_VSPLTH_VSPLTISB_VSPLTISH_VSPLTISW_VSPLTW_XXMRGHW_XXMRGLW_XXPERM_XXPERMR_XXSLDWI_XXSPLTIB_XXSPLTW
    2782             :   { 1, 192, 194, 670, 673 }, // 113 XSCMPEXPQP_XSCMPOQP_XSCMPUQP
    2783             :   { 0, 0, 0, 0, 0 }, // 114 XSADDQP_XSADDQPO_XSCVDPQP_XSCVQPDP_XSCVQPDPO_XSCVQPSDZ_XSCVQPSWZ_XSCVQPUDZ_XSCVQPUWZ_XSCVSDQP_XSCVUDQP_XSRQPI_XSRQPXP_XSSUBQP_XSSUBQPO
    2784             :   { 0, 0, 0, 0, 0 }, // 115 XSMADDQP_XSMADDQPO_XSMSUBQP_XSMSUBQPO_XSMULQP_XSMULQPO_XSNMADDQP_XSNMADDQPO_XSNMSUBQP_XSNMSUBQPO
    2785             :   { 0, 0, 0, 0, 0 }, // 116 XSDIVQP_XSDIVQPO
    2786             :   { 0, 0, 0, 0, 0 }, // 117 XSSQRTQP_XSSQRTQPO
    2787             :   { 1, 187, 189, 673, 676 }, // 118 LXSDX_LXVD2X_LXSIWZX_LXV_LXSD
    2788             :   { 1, 187, 189, 676, 679 }, // 119 LFIWZX_LFDX_LFD
    2789             :   { 1, 187, 189, 679, 682 }, // 120 LXSSPX_LXSIWAX_LXSSP
    2790             :   { 1, 187, 189, 682, 685 }, // 121 LFIWAX_LFSX_LFS
    2791             :   { 1, 187, 189, 685, 688 }, // 122 LXVDSX_LXVW4X
    2792             :   { 1, 187, 189, 688, 691 }, // 123 STFS_STFD_STFIWX_STFSX_STFDX_STXSDX_STXSSPX_STXSIWX
    2793             :   { 1, 187, 189, 691, 694 }, // 124 STXVD2X_STXVW4X
    2794             :   { 1, 189, 192, 694, 697 }, // 125 DIVW_DIVWU
    2795             :   { 1, 189, 192, 697, 700 }, // 126 DIVWE_DIVWEU
    2796             :   { 0, 0, 0, 0, 0 }, // 127 DIVD_DIVDU
    2797             :   { 0, 0, 0, 0, 0 }, // 128 DIVDE_DIVDEU
    2798             :   { 1, 189, 192, 700, 703 }, // 129 DIVWEo_DIVWEUo
    2799             :   { 0, 0, 0, 0, 0 }, // 130 DIVDEo_DIVDEUo
    2800             :   { 0, 0, 0, 0, 0 }, // 131 SLD_SRD_SRAD
    2801             :   { 0, 0, 0, 0, 0 }, // 132 SRADI_RLDIC
    2802             :   { 0, 0, 0, 0, 0 }, // 133 RLDCL_RLDCR
    2803             :   { 0, 0, 0, 0, 0 }, // 134 RLDIMI_RLDICL_RLDICR_RLDICL_32_64
    2804             :   { 1, 183, 185, 703, 706 }, // 135 MTOCRF_MTOCRF8_MTCRF_MTCRF8
    2805             :   { 1, 185, 187, 706, 708 }, // 136 MCRF
    2806             :   { 1, 183, 185, 708, 711 }, // 137 MCRXRX
    2807             :   { 1, 185, 187, 711, 713 }, // 138 MCRFS
    2808             :   { 1, 196, 198, 713, 716 }, // 139 FDIV_XSDIVDP
    2809             :   { 1, 198, 200, 716, 719 }, // 140 FDIVS_XSDIVSP
    2810             :   { 1, 198, 200, 719, 722 }, // 141 XVDIVSP
    2811             :   { 1, 196, 198, 722, 725 }, // 142 XVDIVDP
    2812             :   { 1, 192, 194, 725, 728 }, // 143 FRSP_FRIND_FRINS_FRIPD_FRIPS_FRIZD_FRIZS_FRIMD_FRIMS_FRE_FRES_FRSQRTE_FRSQRTES_FMADDS_FMSUBS_FNMADDS_FNMSUBS_FSELD_FSELS_FADDS_FMULS_FSUBS_FCFID_FCTID_FCTIDZ_FCFIDU_FCFIDS_FCFIDUS_FCTIDUZ_FCTIWUZ_FCTIW_FCTIWZ
    2813             :   { 1, 194, 196, 728, 732 }, // 144 FMADD_FMSUB_FNMADD_FNMSUB_FMUL
    2814             :   { 1, 192, 194, 732, 735 }, // 145 FMR_FABSD_FABSS_FNABSD_FNABSS_FNEGD_FNEGS_FCPSGND_FCPSGNS
    2815             :   { 1, 192, 194, 735, 738 }, // 146 FCMPUS_FCMPUD
    2816             :   { 2, 202, 205, 738, 741 }, // 147 LFSU
    2817             :   { 2, 202, 205, 741, 744 }, // 148 LFSUX
    2818             :   { 2, 202, 205, 744, 747 }, // 149 LFDU
    2819             :   { 2, 202, 205, 747, 750 }, // 150 LFDUX
    2820             :   { 0, ~0U, ~0U, ~0U, ~0U } // end marker
    2821             : };
    2822             : 
    2823             : static const llvm::InstrItinerary PPCE5500Itineraries[] = {
    2824             :   { 0, 0, 0, 0, 0 }, // 0 NoInstrModel
    2825             :   { 1, 221, 223, 750, 753 }, // 1 IIC_IntSimple
    2826             :   { 1, 221, 223, 753, 756 }, // 2 IIC_IntGeneral
    2827             :   { 1, 223, 225, 756, 758 }, // 3 IIC_BrB
    2828             :   { 0, 0, 0, 0, 0 }, // 4 IIC_VecFP
    2829             :   { 1, 225, 227, 0, 0 }, // 5 IIC_LdStSync
    2830             :   { 1, 221, 223, 758, 761 }, // 6 IIC_IntCompare
    2831             :   { 0, 0, 0, 0, 0 }, // 7 IIC_SprABORT
    2832             :   { 0, 0, 0, 0, 0 }, // 8 IIC_LdStCOPY
    2833             :   { 0, 0, 0, 0, 0 }, // 9 IIC_LdStPASTE
    2834             :   { 1, 223, 225, 761, 764 }, // 10 IIC_BrCR
    2835             :   { 1, 225, 227, 764, 766 }, // 11 IIC_LdStDCBF
    2836             :   { 1, 225, 227, 766, 768 }, // 12 IIC_LdStLoad
    2837             :   { 1, 227, 230, 768, 771 }, // 13 IIC_IntDivD
    2838             :   { 1, 230, 233, 771, 774 }, // 14 IIC_IntDivW
    2839             :   { 1, 221, 223, 774, 777 }, // 15 IIC_IntRotateDI
    2840             :   { 1, 233, 235, 777, 780 }, // 16 IIC_FPGeneral
    2841             :   { 1, 233, 235, 780, 783 }, // 17 IIC_FPAddSub
    2842             :   { 1, 233, 235, 783, 786 }, // 18 IIC_FPCompare
    2843             :   { 1, 235, 237, 786, 789 }, // 19 IIC_FPDivD
    2844             :   { 1, 237, 239, 789, 792 }, // 20 IIC_FPDivS
    2845             :   { 1, 233, 235, 792, 796 }, // 21 IIC_FPFused
    2846             :   { 0, 0, 0, 0, 0 }, // 22 IIC_FPSqrtD
    2847             :   { 0, 0, 0, 0, 0 }, // 23 IIC_FPSqrtS
    2848             :   { 1, 225, 227, 796, 798 }, // 24 IIC_LdStICBI
    2849             :   { 1, 225, 227, 798, 800 }, // 25 IIC_LdStStore
    2850             :   { 1, 221, 223, 800, 804 }, // 26 IIC_IntISEL
    2851             :   { 0, 0, 0, 0, 0 }, // 27 IIC_SprISYNC
    2852             :   { 1, 239, 241, 804, 807 }, // 28 IIC_LdStLWARX
    2853             :   { 2, 241, 244, 807, 809 }, // 29 IIC_LdStLoadUpd
    2854             :   { 2, 241, 244, 809, 811 }, // 30 IIC_LdStLoadUpdX
    2855             :   { 1, 225, 227, 811, 813 }, // 31 IIC_LdStLD
    2856             :   { 1, 239, 241, 813, 815 }, // 32 IIC_LdStLDARX
    2857             :   { 2, 241, 244, 815, 817 }, // 33 IIC_LdStLDU
    2858             :   { 2, 241, 244, 817, 819 }, // 34 IIC_LdStLDUX
    2859             :   { 2, 225, 227, 819, 822 }, // 35 IIC_LdStLFD
    2860             :   { 2, 241, 244, 822, 825 }, // 36 IIC_LdStLFDU
    2861             :   { 2, 241, 244, 825, 828 }, // 37 IIC_LdStLFDUX
    2862             :   { 1, 225, 227, 828, 830 }, // 38 IIC_LdStLHA
    2863             :   { 2, 241, 244, 830, 832 }, // 39 IIC_LdStLHAU
    2864             :   { 2, 241, 244, 832, 834 }, // 40 IIC_LdStLHAUX
    2865             :   { 1, 244, 246, 834, 836 }, // 41 IIC_LdStLMW
    2866             :   { 0, 0, 0, 0, 0 }, // 42 IIC_LdStLWA
    2867             :   { 1, 223, 225, 836, 838 }, // 43 IIC_BrMCR
    2868             :   { 1, 246, 248, 838, 841 }, // 44 IIC_BrMCRX
    2869             :   { 1, 248, 250, 841, 843 }, // 45 IIC_SprMFCR
    2870             :   { 1, 246, 248, 843, 844 }, // 46 IIC_SprMFSPR
    2871             :   { 1, 233, 235, 844, 845 }, // 47 IIC_IntMFFS
    2872             :   { 0, 0, 0, 0, 0 }, // 48 IIC_SprMFMSR
    2873             :   { 1, 248, 250, 845, 847 }, // 49 IIC_SprMFCRF
    2874             :   { 1, 250, 252, 847, 849 }, // 50 IIC_SprMFPMR
    2875             :   { 0, 0, 0, 0, 0 }, // 51 IIC_SprMFSR
    2876             :   { 1, 250, 252, 849, 851 }, // 52 IIC_SprMFTB
    2877             :   { 0, 0, 0, 0, 0 }, // 53 IIC_VecGeneral
    2878             :   { 0, 0, 0, 0, 0 }, // 54 IIC_SprMSGSYNC
    2879             :   { 1, 246, 248, 851, 852 }, // 55 IIC_SprMTSPR
    2880             :   { 1, 252, 254, 852, 855 }, // 56 IIC_IntMTFSB0
    2881             :   { 1, 254, 256, 855, 857 }, // 57 IIC_SprMTMSR
    2882             :   { 0, 0, 0, 0, 0 }, // 58 IIC_SprMTMSRD
    2883             :   { 1, 246, 248, 857, 858 }, // 59 IIC_SprMTPMR
    2884             :   { 0, 0, 0, 0, 0 }, // 60 IIC_SprMTSR
    2885             :   { 1, 256, 259, 858, 861 }, // 61 IIC_IntMulHW
    2886             :   { 1, 256, 259, 861, 864 }, // 62 IIC_IntMulHWU
    2887             :   { 1, 259, 262, 864, 867 }, // 63 IIC_IntMulHD
    2888             :   { 1, 259, 262, 867, 870 }, // 64 IIC_IntMulLI
    2889             :   { 0, 0, 0, 0, 0 }, // 65 IIC_VecPerm
    2890             :   { 1, 225, 227, 870, 873 }, // 66 IIC_LdStSTFD
    2891             :   { 2, 241, 244, 873, 876 }, // 67 IIC_LdStSTFDU
    2892             :   { 0, 0, 0, 0, 0 }, // 68 IIC_SprRFI
    2893             :   { 0, 0, 0, 0, 0 }, // 69 IIC_IntRFID
    2894             :   { 1, 262, 264, 876, 879 }, // 70 IIC_IntRotateD
    2895             :   { 1, 221, 223, 879, 882 }, // 71 IIC_IntRotate
    2896             :   { 0, 0, 0, 0, 0 }, // 72 IIC_SprSLBIA
    2897             :   { 0, 0, 0, 0, 0 }, // 73 IIC_SprSLBIE
    2898             :   { 0, 0, 0, 0, 0 }, // 74 IIC_SprSLBIEG
    2899             :   { 0, 0, 0, 0, 0 }, // 75 IIC_SprSLBMFEE
    2900             :   { 0, 0, 0, 0, 0 }, // 76 IIC_SprSLBMFEV
    2901             :   { 0, 0, 0, 0, 0 }, // 77 IIC_SprSLBMTE
    2902             :   { 0, 0, 0, 0, 0 }, // 78 IIC_SprSLBSYNC
    2903             :   { 1, 262, 264, 882, 885 }, // 79 IIC_IntShift
    2904             :   { 1, 225, 227, 885, 887 }, // 80 IIC_LdStSTWCX
    2905             :   { 2, 241, 244, 887, 889 }, // 81 IIC_LdStStoreUpd
    2906             :   { 1, 225, 227, 889, 891 }, // 82 IIC_LdStSTD
    2907             :   { 1, 225, 227, 891, 893 }, // 83 IIC_LdStSTDCX
    2908             :   { 2, 241, 244, 893, 895 }, // 84 IIC_LdStSTDU
    2909             :   { 2, 241, 244, 895, 897 }, // 85 IIC_LdStSTDUX
    2910             :   { 0, 0, 0, 0, 0 }, // 86 IIC_SprSTOP
    2911             :   { 0, 0, 0, 0, 0 }, // 87 IIC_IntTrapD
    2912             :   { 0, 0, 0, 0, 0 }, // 88 IIC_SprTLBIA
    2913             :   { 0, 0, 0, 0, 0 }, // 89 IIC_SprTLBIE
    2914             :   { 0, 0, 0, 0, 0 }, // 90 IIC_SprTLBIEL
    2915             :   { 1, 264, 266, 0, 0 }, // 91 IIC_SprTLBSYNC
    2916             :   { 1, 266, 268, 897, 899 }, // 92 IIC_IntTrapW
    2917             :   { 0, 0, 0, 0, 0 }, // 93 IIC_VecFPCompare
    2918             :   { 0, 0, 0, 0, 0 }, // 94 VADDCUW_VAND_VANDC_VMRGEW_VMRGOW_VNOR_VOR_VSEL_VSUBCUW_VXOR_V_SET0B_V_SET0H_V_SET0_XVABSDP_XVABSSP_XVCPSGNDP_XVCPSGNSP_XVIEXPDP_XVNABSDP_XVNABSSP_XVNEGDP_XVNEGSP_XVXEXPDP
    2919             :   { 0, 0, 0, 0, 0 }, // 95 VADDUBM_VADDUDM_VADDUHM_VADDUWM_VEQV_VEXTSB2D_VEXTSB2W_VEXTSH2D_VEXTSH2W_VEXTSW2D_VNAND_VNEGD_VNEGW_VORC_VPOPCNTB_VPOPCNTH_VPOPCNTW_VSUBUBM_VSUBUDM_VSUBUHM_VSUBUWM_XXLAND_XXLANDC_XXLEQV_XXLNAND_XXLNOR_XXLOR_XXLORf_XXLORC_XXLXOR
    2920             :   { 0, 0, 0, 0, 0 }, // 96 VCMPEQUB_VCMPEQUBo_VCMPEQUD_VCMPEQUDo_VCMPEQUH_VCMPEQUHo_VCMPEQUW_VCMPEQUWo_VCMPGTSB_VCMPGTSBo_VCMPGTSD_VCMPGTSDo_VCMPGTSH_VCMPGTSHo_VCMPGTSW_VCMPGTSWo_VCMPGTUB_VCMPGTUBo_VCMPGTUD_VCMPGTUDo_VCMPGTUH_VCMPGTUHo_VCMPGTUW_VCMPGTUWo_VCMPNEB_VCMPNEBo_VCMPNEH_VCMPNEHo_VCMPNEW_VCMPNEWo_VCMPNEZB_VCMPNEZBo_VCMPNEZH_VCMPNEZHo_VCMPNEZW_VCMPNEZWo
    2921             :   { 0, 0, 0, 0, 0 }, // 97 XXSEL
    2922             :   { 0, 0, 0, 0, 0 }, // 98 XSABSQP_XSCPSGNQP_XSIEXPQP_XSNABSQP_XSNEGQP_XSXEXPQP_XSABSDP_XSCPSGNDP_XSIEXPDP_XSNABSDP_XSNEGDP_XSXEXPDP
    2923             :   { 0, 0, 0, 0, 0 }, // 99 VMINSB_VMINSD_VMINSH_VMINSW_VMINUB_VMINUD_VMINUH_VMINUW_VRLB_VRLD_VRLDMI_VRLDNM_VRLH_VRLW_VRLWMI_VRLWNM_VSHASIGMAD_VSHASIGMAW_VSLB_VSLH_VSLW_VSRAB_VSRAH_VSRAW_VSRB_VSRH_VSRW_VSUBSBS_VSUBSHS_VSUBSWS_VSUBUBS_VSUBUHS_VSUBUWS_XSCVSPDPN_XSMAXCDP_XSMAXDP_XSMAXJDP_XSMINCDP_XSMINDP_XSMINJDP_XSTSTDCDP_XSTSTDCSP_XSXSIGDP_XVIEXPSP_XVMAXDP_XVMAXSP_XVMINDP_XVMINSP_XVTSTDCDP_XVTSTDCSP_XVXEXPSP_XVXSIGDP_XVXSIGSP
    2924             :   { 0, 0, 0, 0, 0 }, // 100 VPOPCNTD_VPRTYBD_VPRTYBW_VSLD_VSRAD_VSRD
    2925             :   { 1, 233, 235, 899, 902 }, // 101 XSCMPEQDP_XSCMPEXPDP_XSCMPGEDP_XSCMPGTDP_XSCMPODP_XSCMPUDP_XSTDIVDP_XSTSQRTDP_XVTDIVDP_XVTDIVSP_XVTSQRTDP_XVTSQRTSP
    2926             :   { 0, 0, 0, 0, 0 }, // 102 XVCMPEQDP_XVCMPEQDPo_XVCMPEQSP_XVCMPEQSPo_XVCMPGEDP_XVCMPGEDPo_XVCMPGESP_XVCMPGESPo_XVCMPGTDP_XVCMPGTDPo_XVCMPGTSP_XVCMPGTSPo
    2927             :   { 0, 0, 0, 0, 0 }, // 103 VABSDUB_VABSDUH_VABSDUW_VCLZB_VCLZD_VCLZH_VCLZW_VCTZB_VCTZD_VCTZH_VCTZW
    2928             :   { 0, 0, 0, 0, 0 }, // 104 VADDSBS_VADDSHS_VADDSWS_VADDUBS_VADDUHS_VADDUWS_VAVGSB_VAVGSH_VAVGSW_VAVGUB_VAVGUH_VAVGUW_VBPERMD_VMAXFP_VMAXSB_VMAXSD_VMAXSH_VMAXSW_VMAXUB_VMAXUD_VMAXUH_VMAXUW_VMINFP
    2929             :   { 0, 0, 0, 0, 0 }, // 105 VCMPBFP_VCMPBFPo_VCMPGTFP_VCMPGTFPo_VCMPEQFP_VCMPEQFPo_VCMPGEFP_VCMPGEFPo
    2930             :   { 0, 0, 0, 0, 0 }, // 106 VADDFP_VCTSXS_VCTSXS_0_VCTUXS_VCTUXS_0_VEXPTEFP_VLOGEFP_VMADDFP_VMHADDSHS_VNMSUBFP_VREFP_VRFIM_VRFIN_VRFIP_VRFIZ_VRSQRTEFP_XVADDDP_XVADDSP_XVCVDPSP_XVCVDPSXDS_XVCVDPSXWS_XVCVDPUXDS_XVCVDPUXWS_XVCVHPSP_XVCVSPDP_XVCVSPHP_XVCVSPSXDS_XVCVSPSXWS_XVCVSPUXDS_XVCVSPUXWS_XVCVSXDDP_XVCVSXDSP_XVCVSXWDP_XVCVSXWSP_XVCVUXDDP_XVCVUXDSP_XVCVUXWDP_XVCVUXWSP_XVMADDADP_XVMADDASP_XVMADDMDP_XVMADDMSP_XVMSUBADP_XVMSUBASP_XVMSUBMDP_XVMSUBMSP_XVMULDP_XVMULSP_XVNMADDADP_XVNMADDASP_XVNMADDMDP_XVNMADDMSP_XVNMSUBADP_XVNMSUBASP_XVNMSUBMDP_XVNMSUBMSP_XVRDPI_XVRDPIC_XVRDPIM_XVRDPIP_XVRDPIZ_XVREDP_XVRESP_XVRSPI_XVRSPIC_XVRSPIM_XVRSPIP_XVRSPIZ_XVRSQRTEDP_XVRSQRTESP_XVSUBDP_XVSUBSP_VCFSX_VCFSX_0_VCFUX_VCFUX_0_VMHRADDSHS_VMLADDUHM_VMSUMMBM_VMSUMSHM_VMSUMSHS_VMSUMUBM_VMSUMUHM_VMSUMUHS_VMULESB_VMULESH_VMULESW_VMULEUB_VMULEUH_VMULEUW_VMULOSB_VMULOSH_VMULOSW_VMULOUB_VMULOUH_VMULOUW_VSUM2SWS_VSUM4SBS_VSUM4SHS_VSUM4UBS_VSUMSWS
    2931             :   { 0, 0, 0, 0, 0 }, // 107 VSUBFP_VMULUWM
    2932             :   { 0, 0, 0, 0, 0 }, // 108 XSMADDADP_XSMADDASP_XSMADDMDP_XSMADDMSP_XSMSUBADP_XSMSUBASP_XSMSUBMDP_XSMSUBMSP_XSMULDP_XSMULSP_XSNMADDADP_XSNMADDASP_XSNMADDMDP_XSNMADDMSP_XSNMSUBADP_XSNMSUBASP_XSNMSUBMDP_XSNMSUBMSP
    2933             :   { 0, 0, 0, 0, 0 }, // 109 XSADDDP_XSADDSP_XSCVDPHP_XSCVDPSP_XSCVDPSXDS_XSCVDPSXWS_XSCVDPUXDS_XSCVDPUXWS_XSCVHPDP_XSCVSPDP_XSCVSXDDP_XSCVSXDSP_XSCVUXDDP_XSCVUXDSP_XSRDPI_XSRDPIC_XSRDPIM_XSRDPIP_XSRDPIZ_XSREDP_XSRESP_XSRSQRTEDP_XSRSQRTESP_XSSUBDP_XSSUBSP_XSCVDPSPN
    2934             :   { 0, 0, 0, 0, 0 }, // 110 VBPERMQ_VGBBD_VMRGHB_VMRGHH_VMRGHW_VMRGLB_VMRGLH_VMRGLW_VPERM_VPERMR_VPERMXOR_VPKPX_VPKSDSS_VPKSDUS_VPKSHSS_VPKSHUS_VPKSWSS_VPKSWUS_VPKUDUM_VPKUDUS_VPKUHUM_VPKUHUS_VPKUWUM_VPKUWUS_VSL_VSLDOI_VSLO_VSLV_VSR_VSRO_VSRV_VUPKHPX_VUPKHSB_VUPKHSH_VUPKHSW_VUPKLPX_VUPKLSB_VUPKLSH_VUPKLSW_XXBRD_XXBRH_XXBRQ_XXBRW_XXEXTRACTUW_XXINSERTW_VADDCUQ_VADDECUQ_VADDEUQM_VMUL10CUQ_VMUL10ECUQ_VMUL10EUQ_VMUL10UQ_VSUBCUQ_VSUBECUQ_VSUBEUQM_XSTSTDCQP_XSXSIGQP
    2935             :   { 0, 0, 0, 0, 0 }, // 111 VCLZLSBB_VCTZLSBB_VEXTRACTD_VEXTRACTUB_VEXTRACTUH_VEXTRACTUW_VEXTUBLX_VEXTUBRX_VEXTUHLX_VEXTUHRX_VEXTUWLX_VEXTUWRX_VINSERTB_VINSERTD_VINSERTH_VINSERTW_VPRTYBQ_VADDUQM_VSUBUQM
    2936             :   { 0, 0, 0, 0, 0 }, // 112 VSPLTB_VSPLTH_VSPLTISB_VSPLTISH_VSPLTISW_VSPLTW_XXMRGHW_XXMRGLW_XXPERM_XXPERMR_XXSLDWI_XXSPLTIB_XXSPLTW
    2937             :   { 1, 233, 235, 902, 905 }, // 113 XSCMPEXPQP_XSCMPOQP_XSCMPUQP
    2938             :   { 0, 0, 0, 0, 0 }, // 114 XSADDQP_XSADDQPO_XSCVDPQP_XSCVQPDP_XSCVQPDPO_XSCVQPSDZ_XSCVQPSWZ_XSCVQPUDZ_XSCVQPUWZ_XSCVSDQP_XSCVUDQP_XSRQPI_XSRQPXP_XSSUBQP_XSSUBQPO
    2939             :   { 0, 0, 0, 0, 0 }, // 115 XSMADDQP_XSMADDQPO_XSMSUBQP_XSMSUBQPO_XSMULQP_XSMULQPO_XSNMADDQP_XSNMADDQPO_XSNMSUBQP_XSNMSUBQPO
    2940             :   { 0, 0, 0, 0, 0 }, // 116 XSDIVQP_XSDIVQPO
    2941             :   { 0, 0, 0, 0, 0 }, // 117 XSSQRTQP_XSSQRTQPO
    2942             :   { 2, 225, 227, 905, 908 }, // 118 LXSDX_LXVD2X_LXSIWZX_LXV_LXSD
    2943             :   { 2, 225, 227, 908, 911 }, // 119 LFIWZX_LFDX_LFD
    2944             :   { 2, 225, 227, 911, 914 }, // 120 LXSSPX_LXSIWAX_LXSSP
    2945             :   { 2, 225, 227, 914, 917 }, // 121 LFIWAX_LFSX_LFS
    2946             :   { 2, 225, 227, 917, 920 }, // 122 LXVDSX_LXVW4X
    2947             :   { 1, 225, 227, 920, 923 }, // 123 STFS_STFD_STFIWX_STFSX_STFDX_STXSDX_STXSSPX_STXSIWX
    2948             :   { 1, 225, 227, 923, 926 }, // 124 STXVD2X_STXVW4X
    2949             :   { 1, 230, 233, 926, 929 }, // 125 DIVW_DIVWU
    2950             :   { 1, 230, 233, 929, 932 }, // 126 DIVWE_DIVWEU
    2951             :   { 1, 227, 230, 932, 935 }, // 127 DIVD_DIVDU
    2952             :   { 1, 227, 230, 935, 938 }, // 128 DIVDE_DIVDEU
    2953             :   { 1, 230, 233, 938, 941 }, // 129 DIVWEo_DIVWEUo
    2954             :   { 1, 227, 230, 941, 944 }, // 130 DIVDEo_DIVDEUo
    2955             :   { 1, 262, 264, 944, 947 }, // 131 SLD_SRD_SRAD
    2956             :   { 1, 221, 223, 947, 950 }, // 132 SRADI_RLDIC
    2957             :   { 1, 262, 264, 950, 953 }, // 133 RLDCL_RLDCR
    2958             :   { 1, 221, 223, 953, 956 }, // 134 RLDIMI_RLDICL_RLDICR_RLDICL_32_64
    2959             :   { 1, 246, 248, 956, 959 }, // 135 MTOCRF_MTOCRF8_MTCRF_MTCRF8
    2960             :   { 1, 223, 225, 959, 961 }, // 136 MCRF
    2961             :   { 1, 246, 248, 961, 964 }, // 137 MCRXRX
    2962             :   { 1, 223, 225, 964, 966 }, // 138 MCRFS
    2963             :   { 1, 235, 237, 966, 969 }, // 139 FDIV_XSDIVDP
    2964             :   { 1, 237, 239, 969, 972 }, // 140 FDIVS_XSDIVSP
    2965             :   { 1, 237, 239, 972, 975 }, // 141 XVDIVSP
    2966             :   { 1, 235, 237, 975, 978 }, // 142 XVDIVDP
    2967             :   { 1, 233, 235, 978, 981 }, // 143 FRSP_FRIND_FRINS_FRIPD_FRIPS_FRIZD_FRIZS_FRIMD_FRIMS_FRE_FRES_FRSQRTE_FRSQRTES_FMADDS_FMSUBS_FNMADDS_FNMSUBS_FSELD_FSELS_FADDS_FMULS_FSUBS_FCFID_FCTID_FCTIDZ_FCFIDU_FCFIDS_FCFIDUS_FCTIDUZ_FCTIWUZ_FCTIW_FCTIWZ
    2968             :   { 1, 233, 235, 981, 985 }, // 144 FMADD_FMSUB_FNMADD_FNMSUB_FMUL
    2969             :   { 1, 233, 235, 985, 988 }, // 145 FMR_FABSD_FABSS_FNABSD_FNABSS_FNEGD_FNEGS_FCPSGND_FCPSGNS
    2970             :   { 1, 233, 235, 988, 991 }, // 146 FCMPUS_FCMPUD
    2971             :   { 2, 241, 244, 991, 994 }, // 147 LFSU
    2972             :   { 2, 241, 244, 994, 997 }, // 148 LFSUX
    2973             :   { 2, 241, 244, 997, 1000 }, // 149 LFDU
    2974             :   { 2, 241, 244, 1000, 1003 }, // 150 LFDUX
    2975             :   { 0, ~0U, ~0U, ~0U, ~0U } // end marker
    2976             : };
    2977             : 
    2978             : static const llvm::InstrItinerary P8Itineraries[] = {
    2979             :   { 0, 0, 0, 0, 0 }, // 0 NoInstrModel
    2980             :   { 1, 268, 270, 1003, 1006 }, // 1 IIC_IntSimple
    2981             :   { 1, 268, 270, 1006, 1009 }, // 2 IIC_IntGeneral
    2982             :   { 1, 270, 272, 1009, 1012 }, // 3 IIC_BrB
    2983             :   { 1, 272, 274, 1012, 1015 }, // 4 IIC_VecFP
    2984             :   { 0, 0, 0, 0, 0 }, // 5 IIC_LdStSync
    2985             :   { 1, 274, 276, 1015, 1018 }, // 6 IIC_IntCompare
    2986             :   { 0, 0, 0, 0, 0 }, // 7 IIC_SprABORT
    2987             :   { 0, 0, 0, 0, 0 }, // 8 IIC_LdStCOPY
    2988             :   { 0, 0, 0, 0, 0 }, // 9 IIC_LdStPASTE
    2989             :   { 1, 276, 278, 1018, 1021 }, // 10 IIC_BrCR
    2990             :   { 0, 0, 0, 0, 0 }, // 11 IIC_LdStDCBF
    2991             :   { 1, 278, 280, 1021, 1024 }, // 12 IIC_LdStLoad
    2992             :   { 1, 280, 282, 1024, 1027 }, // 13 IIC_IntDivD
    2993             :   { 1, 282, 284, 1027, 1030 }, // 14 IIC_IntDivW
    2994             :   { 0, 0, 0, 0, 0 }, // 15 IIC_IntRotateDI
    2995             :   { 1, 284, 286, 1030, 1033 }, // 16 IIC_FPGeneral
    2996             :   { 1, 284, 286, 1033, 1036 }, // 17 IIC_FPAddSub
    2997             :   { 1, 284, 286, 1036, 1039 }, // 18 IIC_FPCompare
    2998             :   { 1, 284, 286, 1039, 1042 }, // 19 IIC_FPDivD
    2999             :   { 1, 284, 286, 1042, 1045 }, // 20 IIC_FPDivS
    3000             :   { 1, 284, 286, 1045, 1049 }, // 21 IIC_FPFused
    3001             :   { 1, 284, 286, 1049, 1052 }, // 22 IIC_FPSqrtD
    3002             :   { 1, 284, 286, 1052, 1055 }, // 23 IIC_FPSqrtS
    3003             :   { 0, 0, 0, 0, 0 }, // 24 IIC_LdStICBI
    3004             :   { 1, 286, 289, 1055, 1058 }, // 25 IIC_LdStStore
    3005             :   { 1, 289, 292, 1058, 1062 }, // 26 IIC_IntISEL
    3006             :   { 0, 0, 0, 0, 0 }, // 27 IIC_SprISYNC
    3007             :   { 1, 292, 297, 1062, 1065 }, // 28 IIC_LdStLWARX
    3008             :   { 1, 297, 301, 1065, 1069 }, // 29 IIC_LdStLoadUpd
    3009             :   { 1, 297, 301, 1069, 1073 }, // 30 IIC_LdStLoadUpdX
    3010             :   { 1, 278, 280, 1073, 1076 }, // 31 IIC_LdStLD
    3011             :   { 1, 301, 308, 1076, 1079 }, // 32 IIC_LdStLDARX
    3012             :   { 1, 297, 301, 1079, 1083 }, // 33 IIC_LdStLDU
    3013             :   { 1, 297, 301, 1083, 1087 }, // 34 IIC_LdStLDUX
    3014             :   { 1, 308, 310, 1087, 1090 }, // 35 IIC_LdStLFD
    3015             :   { 1, 310, 314, 1090, 1094 }, // 36 IIC_LdStLFDU
    3016             :   { 1, 310, 314, 1094, 1098 }, // 37 IIC_LdStLFDUX
    3017             :   { 1, 314, 318, 1098, 1101 }, // 38 IIC_LdStLHA
    3018             :   { 1, 318, 323, 1101, 1105 }, // 39 IIC_LdStLHAU
    3019             :   { 1, 323, 332, 1105, 1109 }, // 40 IIC_LdStLHAUX
    3020             :   { 1, 278, 280, 1109, 1112 }, // 41 IIC_LdStLMW
    3021             :   { 1, 332, 336, 1112, 1115 }, // 42 IIC_LdStLWA
    3022             :   { 1, 336, 338, 1115, 1118 }, // 43 IIC_BrMCR
    3023             :   { 1, 338, 340, 1118, 1120 }, // 44 IIC_BrMCRX
    3024             :   { 1, 276, 278, 1120, 1122 }, // 45 IIC_SprMFCR
    3025             :   { 0, 0, 0, 0, 0 }, // 46 IIC_SprMFSPR
    3026             :   { 0, 0, 0, 0, 0 }, // 47 IIC_IntMFFS
    3027             :   { 0, 0, 0, 0, 0 }, // 48 IIC_SprMFMSR
    3028             :   { 1, 276, 278, 1122, 1124 }, // 49 IIC_SprMFCRF
    3029             :   { 0, 0, 0, 0, 0 }, // 50 IIC_SprMFPMR
    3030             :   { 0, 0, 0, 0, 0 }, // 51 IIC_SprMFSR
    3031             :   { 0, 0, 0, 0, 0 }, // 52 IIC_SprMFTB
    3032             :   { 1, 272, 274, 1124, 1127 }, // 53 IIC_VecGeneral
    3033             :   { 0, 0, 0, 0, 0 }, // 54 IIC_SprMSGSYNC
    3034             :   { 1, 338, 340, 1127, 1129 }, // 55 IIC_SprMTSPR
    3035             :   { 0, 0, 0, 0, 0 }, // 56 IIC_IntMTFSB0
    3036             :   { 0, 0, 0, 0, 0 }, // 57 IIC_SprMTMSR
    3037             :   { 0, 0, 0, 0, 0 }, // 58 IIC_SprMTMSRD
    3038             :   { 0, 0, 0, 0, 0 }, // 59 IIC_SprMTPMR
    3039             :   { 0, 0, 0, 0, 0 }, // 60 IIC_SprMTSR
    3040             :   { 1, 274, 276, 1129, 1132 }, // 61 IIC_IntMulHW
    3041             :   { 1, 274, 276, 1132, 1135 }, // 62 IIC_IntMulHWU
    3042             :   { 0, 0, 0, 0, 0 }, // 63 IIC_IntMulHD
    3043             :   { 1, 274, 276, 1135, 1138 }, // 64 IIC_IntMulLI
    3044             :   { 1, 340, 342, 1138, 1141 }, // 65 IIC_VecPerm
    3045             :   { 1, 342, 345, 1141, 1144 }, // 66 IIC_LdStSTFD
    3046             :   { 1, 345, 350, 1144, 1148 }, // 67 IIC_LdStSTFDU
    3047             :   { 0, 0, 0, 0, 0 }, // 68 IIC_SprRFI
    3048             :   { 0, 0, 0, 0, 0 }, // 69 IIC_IntRFID
    3049             :   { 1, 274, 276, 1148, 1151 }, // 70 IIC_IntRotateD
    3050             :   { 1, 274, 276, 1151, 1154 }, // 71 IIC_IntRotate
    3051             :   { 0, 0, 0, 0, 0 }, // 72 IIC_SprSLBIA
    3052             :   { 0, 0, 0, 0, 0 }, // 73 IIC_SprSLBIE
    3053             :   { 0, 0, 0, 0, 0 }, // 74 IIC_SprSLBIEG
    3054             :   { 0, 0, 0, 0, 0 }, // 75 IIC_SprSLBMFEE
    3055             :   { 0, 0, 0, 0, 0 }, // 76 IIC_SprSLBMFEV
    3056             :   { 0, 0, 0, 0, 0 }, // 77 IIC_SprSLBMTE
    3057             :   { 0, 0, 0, 0, 0 }, // 78 IIC_SprSLBSYNC
    3058             :   { 1, 274, 276, 1154, 1157 }, // 79 IIC_IntShift
    3059             :   { 1, 350, 358, 1157, 1160 }, // 80 IIC_LdStSTWCX
    3060             :   { 0, 0, 0, 0, 0 }, // 81 IIC_LdStStoreUpd
    3061             :   { 1, 358, 361, 0, 0 }, // 82 IIC_LdStSTD
    3062             :   { 1, 350, 358, 1160, 1163 }, // 83 IIC_LdStSTDCX
    3063             :   { 1, 361, 365, 1163, 1167 }, // 84 IIC_LdStSTDU
    3064             :   { 1, 365, 374, 1167, 1171 }, // 85 IIC_LdStSTDUX
    3065             :   { 0, 0, 0, 0, 0 }, // 86 IIC_SprSTOP
    3066             :   { 1, 274, 276, 1171, 1173 }, // 87 IIC_IntTrapD
    3067             :   { 0, 0, 0, 0, 0 }, // 88 IIC_SprTLBIA
    3068             :   { 0, 0, 0, 0, 0 }, // 89 IIC_SprTLBIE
    3069             :   { 0, 0, 0, 0, 0 }, // 90 IIC_SprTLBIEL
    3070             :   { 0, 0, 0, 0, 0 }, // 91 IIC_SprTLBSYNC
    3071             :   { 1, 274, 276, 1173, 1175 }, // 92 IIC_IntTrapW
    3072             :   { 1, 272, 274, 1175, 1178 }, // 93 IIC_VecFPCompare
    3073             :   { 1, 272, 274, 1178, 1181 }, // 94 VADDCUW_VAND_VANDC_VMRGEW_VMRGOW_VNOR_VOR_VSEL_VSUBCUW_VXOR_V_SET0B_V_SET0H_V_SET0_XVABSDP_XVABSSP_XVCPSGNDP_XVCPSGNSP_XVIEXPDP_XVNABSDP_XVNABSSP_XVNEGDP_XVNEGSP_XVXEXPDP
    3074             :   { 1, 272, 274, 1181, 1184 }, // 95 VADDUBM_VADDUDM_VADDUHM_VADDUWM_VEQV_VEXTSB2D_VEXTSB2W_VEXTSH2D_VEXTSH2W_VEXTSW2D_VNAND_VNEGD_VNEGW_VORC_VPOPCNTB_VPOPCNTH_VPOPCNTW_VSUBUBM_VSUBUDM_VSUBUHM_VSUBUWM_XXLAND_XXLANDC_XXLEQV_XXLNAND_XXLNOR_XXLOR_XXLORf_XXLORC_XXLXOR
    3075             :   { 1, 272, 274, 1184, 1187 }, // 96 VCMPEQUB_VCMPEQUBo_VCMPEQUD_VCMPEQUDo_VCMPEQUH_VCMPEQUHo_VCMPEQUW_VCMPEQUWo_VCMPGTSB_VCMPGTSBo_VCMPGTSD_VCMPGTSDo_VCMPGTSH_VCMPGTSHo_VCMPGTSW_VCMPGTSWo_VCMPGTUB_VCMPGTUBo_VCMPGTUD_VCMPGTUDo_VCMPGTUH_VCMPGTUHo_VCMPGTUW_VCMPGTUWo_VCMPNEB_VCMPNEBo_VCMPNEH_VCMPNEHo_VCMPNEW_VCMPNEWo_VCMPNEZB_VCMPNEZBo_VCMPNEZH_VCMPNEZHo_VCMPNEZW_VCMPNEZWo
    3076             :   { 1, 340, 342, 1187, 1190 }, // 97 XXSEL
    3077             :   { 1, 272, 274, 1190, 1193 }, // 98 XSABSQP_XSCPSGNQP_XSIEXPQP_XSNABSQP_XSNEGQP_XSXEXPQP_XSABSDP_XSCPSGNDP_XSIEXPDP_XSNABSDP_XSNEGDP_XSXEXPDP
    3078             :   { 1, 272, 274, 1193, 1196 }, // 99 VMINSB_VMINSD_VMINSH_VMINSW_VMINUB_VMINUD_VMINUH_VMINUW_VRLB_VRLD_VRLDMI_VRLDNM_VRLH_VRLW_VRLWMI_VRLWNM_VSHASIGMAD_VSHASIGMAW_VSLB_VSLH_VSLW_VSRAB_VSRAH_VSRAW_VSRB_VSRH_VSRW_VSUBSBS_VSUBSHS_VSUBSWS_VSUBUBS_VSUBUHS_VSUBUWS_XSCVSPDPN_XSMAXCDP_XSMAXDP_XSMAXJDP_XSMINCDP_XSMINDP_XSMINJDP_XSTSTDCDP_XSTSTDCSP_XSXSIGDP_XVIEXPSP_XVMAXDP_XVMAXSP_XVMINDP_XVMINSP_XVTSTDCDP_XVTSTDCSP_XVXEXPSP_XVXSIGDP_XVXSIGSP
    3079             :   { 1, 272, 274, 1196, 1199 }, // 100 VPOPCNTD_VPRTYBD_VPRTYBW_VSLD_VSRAD_VSRD
    3080             :   { 1, 284, 286, 1199, 1202 }, // 101 XSCMPEQDP_XSCMPEXPDP_XSCMPGEDP_XSCMPGTDP_XSCMPODP_XSCMPUDP_XSTDIVDP_XSTSQRTDP_XVTDIVDP_XVTDIVSP_XVTSQRTDP_XVTSQRTSP
    3081             :   { 1, 272, 274, 1202, 1205 }, // 102 XVCMPEQDP_XVCMPEQDPo_XVCMPEQSP_XVCMPEQSPo_XVCMPGEDP_XVCMPGEDPo_XVCMPGESP_XVCMPGESPo_XVCMPGTDP_XVCMPGTDPo_XVCMPGTSP_XVCMPGTSPo
    3082             :   { 1, 272, 274, 1205, 1208 }, // 103 VABSDUB_VABSDUH_VABSDUW_VCLZB_VCLZD_VCLZH_VCLZW_VCTZB_VCTZD_VCTZH_VCTZW
    3083             :   { 1, 272, 274, 1208, 1211 }, // 104 VADDSBS_VADDSHS_VADDSWS_VADDUBS_VADDUHS_VADDUWS_VAVGSB_VAVGSH_VAVGSW_VAVGUB_VAVGUH_VAVGUW_VBPERMD_VMAXFP_VMAXSB_VMAXSD_VMAXSH_VMAXSW_VMAXUB_VMAXUD_VMAXUH_VMAXUW_VMINFP
    3084             :   { 1, 272, 274, 1211, 1214 }, // 105 VCMPBFP_VCMPBFPo_VCMPGTFP_VCMPGTFPo_VCMPEQFP_VCMPEQFPo_VCMPGEFP_VCMPGEFPo
    3085             :   { 1, 272, 274, 1214, 1217 }, // 106 VADDFP_VCTSXS_VCTSXS_0_VCTUXS_VCTUXS_0_VEXPTEFP_VLOGEFP_VMADDFP_VMHADDSHS_VNMSUBFP_VREFP_VRFIM_VRFIN_VRFIP_VRFIZ_VRSQRTEFP_XVADDDP_XVADDSP_XVCVDPSP_XVCVDPSXDS_XVCVDPSXWS_XVCVDPUXDS_XVCVDPUXWS_XVCVHPSP_XVCVSPDP_XVCVSPHP_XVCVSPSXDS_XVCVSPSXWS_XVCVSPUXDS_XVCVSPUXWS_XVCVSXDDP_XVCVSXDSP_XVCVSXWDP_XVCVSXWSP_XVCVUXDDP_XVCVUXDSP_XVCVUXWDP_XVCVUXWSP_XVMADDADP_XVMADDASP_XVMADDMDP_XVMADDMSP_XVMSUBADP_XVMSUBASP_XVMSUBMDP_XVMSUBMSP_XVMULDP_XVMULSP_XVNMADDADP_XVNMADDASP_XVNMADDMDP_XVNMADDMSP_XVNMSUBADP_XVNMSUBASP_XVNMSUBMDP_XVNMSUBMSP_XVRDPI_XVRDPIC_XVRDPIM_XVRDPIP_XVRDPIZ_XVREDP_XVRESP_XVRSPI_XVRSPIC_XVRSPIM_XVRSPIP_XVRSPIZ_XVRSQRTEDP_XVRSQRTESP_XVSUBDP_XVSUBSP_VCFSX_VCFSX_0_VCFUX_VCFUX_0_VMHRADDSHS_VMLADDUHM_VMSUMMBM_VMSUMSHM_VMSUMSHS_VMSUMUBM_VMSUMUHM_VMSUMUHS_VMULESB_VMULESH_VMULESW_VMULEUB_VMULEUH_VMULEUW_VMULOSB_VMULOSH_VMULOSW_VMULOUB_VMULOUH_VMULOUW_VSUM2SWS_VSUM4SBS_VSUM4SHS_VSUM4UBS_VSUMSWS
    3086             :   { 1, 272, 274, 1217, 1220 }, // 107 VSUBFP_VMULUWM
    3087             :   { 1, 272, 274, 1220, 1223 }, // 108 XSMADDADP_XSMADDASP_XSMADDMDP_XSMADDMSP_XSMSUBADP_XSMSUBASP_XSMSUBMDP_XSMSUBMSP_XSMULDP_XSMULSP_XSNMADDADP_XSNMADDASP_XSNMADDMDP_XSNMADDMSP_XSNMSUBADP_XSNMSUBASP_XSNMSUBMDP_XSNMSUBMSP
    3088             :   { 1, 272, 274, 1223, 1226 }, // 109 XSADDDP_XSADDSP_XSCVDPHP_XSCVDPSP_XSCVDPSXDS_XSCVDPSXWS_XSCVDPUXDS_XSCVDPUXWS_XSCVHPDP_XSCVSPDP_XSCVSXDDP_XSCVSXDSP_XSCVUXDDP_XSCVUXDSP_XSRDPI_XSRDPIC_XSRDPIM_XSRDPIP_XSRDPIZ_XSREDP_XSRESP_XSRSQRTEDP_XSRSQRTESP_XSSUBDP_XSSUBSP_XSCVDPSPN
    3089             :   { 1, 272, 274, 1226, 1229 }, // 110 VBPERMQ_VGBBD_VMRGHB_VMRGHH_VMRGHW_VMRGLB_VMRGLH_VMRGLW_VPERM_VPERMR_VPERMXOR_VPKPX_VPKSDSS_VPKSDUS_VPKSHSS_VPKSHUS_VPKSWSS_VPKSWUS_VPKUDUM_VPKUDUS_VPKUHUM_VPKUHUS_VPKUWUM_VPKUWUS_VSL_VSLDOI_VSLO_VSLV_VSR_VSRO_VSRV_VUPKHPX_VUPKHSB_VUPKHSH_VUPKHSW_VUPKLPX_VUPKLSB_VUPKLSH_VUPKLSW_XXBRD_XXBRH_XXBRQ_XXBRW_XXEXTRACTUW_XXINSERTW_VADDCUQ_VADDECUQ_VADDEUQM_VMUL10CUQ_VMUL10ECUQ_VMUL10EUQ_VMUL10UQ_VSUBCUQ_VSUBECUQ_VSUBEUQM_XSTSTDCQP_XSXSIGQP
    3090             :   { 1, 272, 274, 1229, 1232 }, // 111 VCLZLSBB_VCTZLSBB_VEXTRACTD_VEXTRACTUB_VEXTRACTUH_VEXTRACTUW_VEXTUBLX_VEXTUBRX_VEXTUHLX_VEXTUHRX_VEXTUWLX_VEXTUWRX_VINSERTB_VINSERTD_VINSERTH_VINSERTW_VPRTYBQ_VADDUQM_VSUBUQM
    3091             :   { 1, 340, 342, 1232, 1235 }, // 112 VSPLTB_VSPLTH_VSPLTISB_VSPLTISH_VSPLTISW_VSPLTW_XXMRGHW_XXMRGLW_XXPERM_XXPERMR_XXSLDWI_XXSPLTIB_XXSPLTW
    3092             :   { 1, 284, 286, 1235, 1238 }, // 113 XSCMPEXPQP_XSCMPOQP_XSCMPUQP
    3093             :   { 1, 272, 274, 1238, 1241 }, // 114 XSADDQP_XSADDQPO_XSCVDPQP_XSCVQPDP_XSCVQPDPO_XSCVQPSDZ_XSCVQPSWZ_XSCVQPUDZ_XSCVQPUWZ_XSCVSDQP_XSCVUDQP_XSRQPI_XSRQPXP_XSSUBQP_XSSUBQPO
    3094             :   { 1, 272, 274, 1241, 1244 }, // 115 XSMADDQP_XSMADDQPO_XSMSUBQP_XSMSUBQPO_XSMULQP_XSMULQPO_XSNMADDQP_XSNMADDQPO_XSNMSUBQP_XSNMSUBQPO
    3095             :   { 1, 272, 274, 1244, 1247 }, // 116 XSDIVQP_XSDIVQPO
    3096             :   { 1, 272, 274, 1247, 1250 }, // 117 XSSQRTQP_XSSQRTQPO
    3097             :   { 1, 308, 310, 1250, 1253 }, // 118 LXSDX_LXVD2X_LXSIWZX_LXV_LXSD
    3098             :   { 1, 308, 310, 1253, 1256 }, // 119 LFIWZX_LFDX_LFD
    3099             :   { 1, 308, 310, 1256, 1259 }, // 120 LXSSPX_LXSIWAX_LXSSP
    3100             :   { 1, 308, 310, 1259, 1262 }, // 121 LFIWAX_LFSX_LFS
    3101             :   { 1, 308, 310, 1262, 1265 }, // 122 LXVDSX_LXVW4X
    3102             :   { 1, 342, 345, 1265, 1268 }, // 123 STFS_STFD_STFIWX_STFSX_STFDX_STXSDX_STXSSPX_STXSIWX
    3103             :   { 1, 342, 345, 1268, 1271 }, // 124 STXVD2X_STXVW4X
    3104             :   { 1, 282, 284, 1271, 1274 }, // 125 DIVW_DIVWU
    3105             :   { 1, 282, 284, 1274, 1277 }, // 126 DIVWE_DIVWEU
    3106             :   { 1, 280, 282, 1277, 1280 }, // 127 DIVD_DIVDU
    3107             :   { 1, 280, 282, 1280, 1283 }, // 128 DIVDE_DIVDEU
    3108             :   { 1, 282, 284, 1283, 1286 }, // 129 DIVWEo_DIVWEUo
    3109             :   { 1, 280, 282, 1286, 1289 }, // 130 DIVDEo_DIVDEUo
    3110             :   { 1, 274, 276, 1289, 1292 }, // 131 SLD_SRD_SRAD
    3111             :   { 0, 0, 0, 0, 0 }, // 132 SRADI_RLDIC
    3112             :   { 1, 274, 276, 1292, 1295 }, // 133 RLDCL_RLDCR
    3113             :   { 0, 0, 0, 0, 0 }, // 134 RLDIMI_RLDICL_RLDICR_RLDICL_32_64
    3114             :   { 1, 338, 340, 1295, 1297 }, // 135 MTOCRF_MTOCRF8_MTCRF_MTCRF8
    3115             :   { 1, 336, 338, 1297, 1300 }, // 136 MCRF
    3116             :   { 1, 338, 340, 1300, 1302 }, // 137 MCRXRX
    3117             :   { 1, 336, 338, 1302, 1305 }, // 138 MCRFS
    3118             :   { 1, 284, 286, 1305, 1308 }, // 139 FDIV_XSDIVDP
    3119             :   { 1, 284, 286, 1308, 1311 }, // 140 FDIVS_XSDIVSP
    3120             :   { 1, 284, 286, 1311, 1314 }, // 141 XVDIVSP
    3121             :   { 1, 284, 286, 1314, 1317 }, // 142 XVDIVDP
    3122             :   { 1, 284, 286, 1317, 1320 }, // 143 FRSP_FRIND_FRINS_FRIPD_FRIPS_FRIZD_FRIZS_FRIMD_FRIMS_FRE_FRES_FRSQRTE_FRSQRTES_FMADDS_FMSUBS_FNMADDS_FNMSUBS_FSELD_FSELS_FADDS_FMULS_FSUBS_FCFID_FCTID_FCTIDZ_FCFIDU_FCFIDS_FCFIDUS_FCTIDUZ_FCTIWUZ_FCTIW_FCTIWZ
    3123             :   { 1, 284, 286, 1320, 1324 }, // 144 FMADD_FMSUB_FNMADD_FNMSUB_FMUL
    3124             :   { 1, 284, 286, 1324, 1327 }, // 145 FMR_FABSD_FABSS_FNABSD_FNABSS_FNEGD_FNEGS_FCPSGND_FCPSGNS
    3125             :   { 1, 284, 286, 1327, 1330 }, // 146 FCMPUS_FCMPUD
    3126             :   { 1, 310, 314, 1330, 1334 }, // 147 LFSU
    3127             :   { 1, 310, 314, 1334, 1338 }, // 148 LFSUX
    3128             :   { 1, 310, 314, 1338, 1342 }, // 149 LFDU
    3129             :   { 1, 310, 314, 1342, 1346 }, // 150 LFDUX
    3130             :   { 0, ~0U, ~0U, ~0U, ~0U } // end marker
    3131             : };
    3132             : 
    3133             : static const llvm::InstrItinerary P7Itineraries[] = {
    3134             :   { 0, 0, 0, 0, 0 }, // 0 NoInstrModel
    3135             :   { 1, 374, 376, 1346, 1349 }, // 1 IIC_IntSimple
    3136             :   { 1, 376, 378, 1349, 1352 }, // 2 IIC_IntGeneral
    3137             :   { 1, 378, 380, 1352, 1355 }, // 3 IIC_BrB
    3138             :   { 1, 380, 382, 1355, 1358 }, // 4 IIC_VecFP
    3139             :   { 0, 0, 0, 0, 0 }, // 5 IIC_LdStSync
    3140             :   { 1, 376, 378, 1358, 1361 }, // 6 IIC_IntCompare
    3141             :   { 0, 0, 0, 0, 0 }, // 7 IIC_SprABORT
    3142             :   { 0, 0, 0, 0, 0 }, // 8 IIC_LdStCOPY
    3143             :   { 0, 0, 0, 0, 0 }, // 9 IIC_LdStPASTE
    3144             :   { 1, 382, 384, 1361, 1364 }, // 10 IIC_BrCR
    3145             :   { 0, 0, 0, 0, 0 }, // 11 IIC_LdStDCBF
    3146             :   { 1, 384, 386, 1364, 1367 }, // 12 IIC_LdStLoad
    3147             :   { 1, 386, 389, 1367, 1370 }, // 13 IIC_IntDivD
    3148             :   { 1, 389, 392, 1370, 1373 }, // 14 IIC_IntDivW
    3149             :   { 0, 0, 0, 0, 0 }, // 15 IIC_IntRotateDI
    3150             :   { 1, 392, 394, 1373, 1376 }, // 16 IIC_FPGeneral
    3151             :   { 1, 392, 394, 1376, 1379 }, // 17 IIC_FPAddSub
    3152             :   { 1, 392, 394, 1379, 1382 }, // 18 IIC_FPCompare
    3153             :   { 1, 392, 394, 1382, 1385 }, // 19 IIC_FPDivD
    3154             :   { 1, 392, 394, 1385, 1388 }, // 20 IIC_FPDivS
    3155             :   { 1, 392, 394, 1388, 1392 }, // 21 IIC_FPFused
    3156             :   { 1, 392, 394, 1392, 1395 }, // 22 IIC_FPSqrtD
    3157             :   { 1, 392, 394, 1395, 1398 }, // 23 IIC_FPSqrtS
    3158             :   { 0, 0, 0, 0, 0 }, // 24 IIC_LdStICBI
    3159             :   { 1, 394, 397, 1398, 1401 }, // 25 IIC_LdStStore
    3160             :   { 1, 397, 400, 1401, 1405 }, // 26 IIC_IntISEL
    3161             :   { 0, 0, 0, 0, 0 }, // 27 IIC_SprISYNC
    3162             :   { 1, 400, 405, 1405, 1408 }, // 28 IIC_LdStLWARX
    3163             :   { 1, 405, 409, 1408, 1412 }, // 29 IIC_LdStLoadUpd
    3164             :   { 1, 409, 416, 1412, 1416 }, // 30 IIC_LdStLoadUpdX
    3165             :   { 1, 384, 386, 1416, 1419 }, // 31 IIC_LdStLD
    3166             :   { 1, 400, 405, 1419, 1422 }, // 32 IIC_LdStLDARX
    3167             :   { 1, 405, 409, 1422, 1426 }, // 33 IIC_LdStLDU
    3168             :   { 1, 409, 416, 1426, 1430 }, // 34 IIC_LdStLDUX
    3169             :   { 1, 384, 386, 1430, 1433 }, // 35 IIC_LdStLFD
    3170             :   { 1, 405, 409, 1433, 1437 }, // 36 IIC_LdStLFDU
    3171             :   { 1, 405, 409, 1437, 1441 }, // 37 IIC_LdStLFDUX
    3172             :   { 1, 416, 420, 1441, 1444 }, // 38 IIC_LdStLHA
    3173             :   { 1, 420, 425, 1444, 1448 }, // 39 IIC_LdStLHAU
    3174             :   { 1, 425, 433, 1448, 1452 }, // 40 IIC_LdStLHAUX
    3175             :   { 1, 384, 386, 1452, 1455 }, // 41 IIC_LdStLMW
    3176             :   { 1, 416, 420, 1455, 1458 }, // 42 IIC_LdStLWA
    3177             :   { 1, 378, 380, 1458, 1461 }, // 43 IIC_BrMCR
    3178             :   { 1, 433, 439, 1461, 1463 }, // 44 IIC_BrMCRX
    3179             :   { 1, 382, 384, 1463, 1465 }, // 45 IIC_SprMFCR
    3180             :   { 0, 0, 0, 0, 0 }, // 46 IIC_SprMFSPR
    3181             :   { 0, 0, 0, 0, 0 }, // 47 IIC_IntMFFS
    3182             :   { 0, 0, 0, 0, 0 }, // 48 IIC_SprMFMSR
    3183             :   { 1, 382, 384, 1465, 1467 }, // 49 IIC_SprMFCRF
    3184             :   { 0, 0, 0, 0, 0 }, // 50 IIC_SprMFPMR
    3185             :   { 0, 0, 0, 0, 0 }, // 51 IIC_SprMFSR
    3186             :   { 0, 0, 0, 0, 0 }, // 52 IIC_SprMFTB
    3187             :   { 1, 439, 441, 1467, 1470 }, // 53 IIC_VecGeneral
    3188             :   { 0, 0, 0, 0, 0 }, // 54 IIC_SprMSGSYNC
    3189             :   { 1, 441, 443, 1470, 1472 }, // 55 IIC_SprMTSPR
    3190             :   { 0, 0, 0, 0, 0 }, // 56 IIC_IntMTFSB0
    3191             :   { 0, 0, 0, 0, 0 }, // 57 IIC_SprMTMSR
    3192             :   { 0, 0, 0, 0, 0 }, // 58 IIC_SprMTMSRD
    3193             :   { 0, 0, 0, 0, 0 }, // 59 IIC_SprMTPMR
    3194             :   { 0, 0, 0, 0, 0 }, // 60 IIC_SprMTSR
    3195             :   { 1, 376, 378, 1472, 1475 }, // 61 IIC_IntMulHW
    3196             :   { 1, 376, 378, 1475, 1478 }, // 62 IIC_IntMulHWU
    3197             :   { 0, 0, 0, 0, 0 }, // 63 IIC_IntMulHD
    3198             :   { 1, 376, 378, 1478, 1481 }, // 64 IIC_IntMulLI
    3199             :   { 1, 443, 445, 1481, 1484 }, // 65 IIC_VecPerm
    3200             :   { 1, 445, 448, 1484, 1487 }, // 66 IIC_LdStSTFD
    3201             :   { 1, 448, 453, 1487, 1491 }, // 67 IIC_LdStSTFDU
    3202             :   { 0, 0, 0, 0, 0 }, // 68 IIC_SprRFI
    3203             :   { 0, 0, 0, 0, 0 }, // 69 IIC_IntRFID
    3204             :   { 1, 376, 378, 1491, 1494 }, // 70 IIC_IntRotateD
    3205             :   { 1, 376, 378, 1494, 1497 }, // 71 IIC_IntRotate
    3206             :   { 0, 0, 0, 0, 0 }, // 72 IIC_SprSLBIA
    3207             :   { 0, 0, 0, 0, 0 }, // 73 IIC_SprSLBIE
    3208             :   { 0, 0, 0, 0, 0 }, // 74 IIC_SprSLBIEG
    3209             :   { 0, 0, 0, 0, 0 }, // 75 IIC_SprSLBMFEE
    3210             :   { 0, 0, 0, 0, 0 }, // 76 IIC_SprSLBMFEV
    3211             :   { 0, 0, 0, 0, 0 }, // 77 IIC_SprSLBMTE
    3212             :   { 0, 0, 0, 0, 0 }, // 78 IIC_SprSLBSYNC
    3213             :   { 1, 376, 378, 1497, 1500 }, // 79 IIC_IntShift
    3214             :   { 1, 400, 405, 1500, 1503 }, // 80 IIC_LdStSTWCX
    3215             :   { 0, 0, 0, 0, 0 }, // 81 IIC_LdStStoreUpd
    3216             :   { 1, 394, 397, 1503, 1506 }, // 82 IIC_LdStSTD
    3217             :   { 1, 400, 405, 1506, 1509 }, // 83 IIC_LdStSTDCX
    3218             :   { 1, 420, 425, 1509, 1513 }, // 84 IIC_LdStSTDU
    3219             :   { 1, 453, 460, 1513, 1517 }, // 85 IIC_LdStSTDUX
    3220             :   { 0, 0, 0, 0, 0 }, // 86 IIC_SprSTOP
    3221             :   { 1, 376, 378, 1517, 1519 }, // 87 IIC_IntTrapD
    3222             :   { 0, 0, 0, 0, 0 }, // 88 IIC_SprTLBIA
    3223             :   { 0, 0, 0, 0, 0 }, // 89 IIC_SprTLBIE
    3224             :   { 0, 0, 0, 0, 0 }, // 90 IIC_SprTLBIEL
    3225             :   { 0, 0, 0, 0, 0 }, // 91 IIC_SprTLBSYNC
    3226             :   { 1, 376, 378, 1519, 1521 }, // 92 IIC_IntTrapW
    3227             :   { 1, 380, 382, 1521, 1524 }, // 93 IIC_VecFPCompare
    3228             :   { 1, 380, 382, 1524, 1527 }, // 94 VADDCUW_VAND_VANDC_VMRGEW_VMRGOW_VNOR_VOR_VSEL_VSUBCUW_VXOR_V_SET0B_V_SET0H_V_SET0_XVABSDP_XVABSSP_XVCPSGNDP_XVCPSGNSP_XVIEXPDP_XVNABSDP_XVNABSSP_XVNEGDP_XVNEGSP_XVXEXPDP
    3229             :   { 1, 439, 441, 1527, 1530 }, // 95 VADDUBM_VADDUDM_VADDUHM_VADDUWM_VEQV_VEXTSB2D_VEXTSB2W_VEXTSH2D_VEXTSH2W_VEXTSW2D_VNAND_VNEGD_VNEGW_VORC_VPOPCNTB_VPOPCNTH_VPOPCNTW_VSUBUBM_VSUBUDM_VSUBUHM_VSUBUWM_XXLAND_XXLANDC_XXLEQV_XXLNAND_XXLNOR_XXLOR_XXLORf_XXLORC_XXLXOR
    3230             :   { 1, 380, 382, 1530, 1533 }, // 96 VCMPEQUB_VCMPEQUBo_VCMPEQUD_VCMPEQUDo_VCMPEQUH_VCMPEQUHo_VCMPEQUW_VCMPEQUWo_VCMPGTSB_VCMPGTSBo_VCMPGTSD_VCMPGTSDo_VCMPGTSH_VCMPGTSHo_VCMPGTSW_VCMPGTSWo_VCMPGTUB_VCMPGTUBo_VCMPGTUD_VCMPGTUDo_VCMPGTUH_VCMPGTUHo_VCMPGTUW_VCMPGTUWo_VCMPNEB_VCMPNEBo_VCMPNEH_VCMPNEHo_VCMPNEW_VCMPNEWo_VCMPNEZB_VCMPNEZBo_VCMPNEZH_VCMPNEZHo_VCMPNEZW_VCMPNEZWo
    3231             :   { 1, 443, 445, 1533, 1536 }, // 97 XXSEL
    3232             :   { 1, 380, 382, 1536, 1539 }, // 98 XSABSQP_XSCPSGNQP_XSIEXPQP_XSNABSQP_XSNEGQP_XSXEXPQP_XSABSDP_XSCPSGNDP_XSIEXPDP_XSNABSDP_XSNEGDP_XSXEXPDP
    3233             :   { 1, 380, 382, 1539, 1542 }, // 99 VMINSB_VMINSD_VMINSH_VMINSW_VMINUB_VMINUD_VMINUH_VMINUW_VRLB_VRLD_VRLDMI_VRLDNM_VRLH_VRLW_VRLWMI_VRLWNM_VSHASIGMAD_VSHASIGMAW_VSLB_VSLH_VSLW_VSRAB_VSRAH_VSRAW_VSRB_VSRH_VSRW_VSUBSBS_VSUBSHS_VSUBSWS_VSUBUBS_VSUBUHS_VSUBUWS_XSCVSPDPN_XSMAXCDP_XSMAXDP_XSMAXJDP_XSMINCDP_XSMINDP_XSMINJDP_XSTSTDCDP_XSTSTDCSP_XSXSIGDP_XVIEXPSP_XVMAXDP_XVMAXSP_XVMINDP_XVMINSP_XVTSTDCDP_XVTSTDCSP_XVXEXPSP_XVXSIGDP_XVXSIGSP
    3234             :   { 1, 439, 441, 1542, 1545 }, // 100 VPOPCNTD_VPRTYBD_VPRTYBW_VSLD_VSRAD_VSRD
    3235             :   { 1, 392, 394, 1545, 1548 }, // 101 XSCMPEQDP_XSCMPEXPDP_XSCMPGEDP_XSCMPGTDP_XSCMPODP_XSCMPUDP_XSTDIVDP_XSTSQRTDP_XVTDIVDP_XVTDIVSP_XVTSQRTDP_XVTSQRTSP
    3236             :   { 1, 380, 382, 1548, 1551 }, // 102 XVCMPEQDP_XVCMPEQDPo_XVCMPEQSP_XVCMPEQSPo_XVCMPGEDP_XVCMPGEDPo_XVCMPGESP_XVCMPGESPo_XVCMPGTDP_XVCMPGTDPo_XVCMPGTSP_XVCMPGTSPo
    3237             :   { 1, 439, 441, 1551, 1554 }, // 103 VABSDUB_VABSDUH_VABSDUW_VCLZB_VCLZD_VCLZH_VCLZW_VCTZB_VCTZD_VCTZH_VCTZW
    3238             :   { 1, 380, 382, 1554, 1557 }, // 104 VADDSBS_VADDSHS_VADDSWS_VADDUBS_VADDUHS_VADDUWS_VAVGSB_VAVGSH_VAVGSW_VAVGUB_VAVGUH_VAVGUW_VBPERMD_VMAXFP_VMAXSB_VMAXSD_VMAXSH_VMAXSW_VMAXUB_VMAXUD_VMAXUH_VMAXUW_VMINFP
    3239             :   { 1, 380, 382, 1557, 1560 }, // 105 VCMPBFP_VCMPBFPo_VCMPGTFP_VCMPGTFPo_VCMPEQFP_VCMPEQFPo_VCMPGEFP_VCMPGEFPo
    3240             :   { 1, 380, 382, 1560, 1563 }, // 106 VADDFP_VCTSXS_VCTSXS_0_VCTUXS_VCTUXS_0_VEXPTEFP_VLOGEFP_VMADDFP_VMHADDSHS_VNMSUBFP_VREFP_VRFIM_VRFIN_VRFIP_VRFIZ_VRSQRTEFP_XVADDDP_XVADDSP_XVCVDPSP_XVCVDPSXDS_XVCVDPSXWS_XVCVDPUXDS_XVCVDPUXWS_XVCVHPSP_XVCVSPDP_XVCVSPHP_XVCVSPSXDS_XVCVSPSXWS_XVCVSPUXDS_XVCVSPUXWS_XVCVSXDDP_XVCVSXDSP_XVCVSXWDP_XVCVSXWSP_XVCVUXDDP_XVCVUXDSP_XVCVUXWDP_XVCVUXWSP_XVMADDADP_XVMADDASP_XVMADDMDP_XVMADDMSP_XVMSUBADP_XVMSUBASP_XVMSUBMDP_XVMSUBMSP_XVMULDP_XVMULSP_XVNMADDADP_XVNMADDASP_XVNMADDMDP_XVNMADDMSP_XVNMSUBADP_XVNMSUBASP_XVNMSUBMDP_XVNMSUBMSP_XVRDPI_XVRDPIC_XVRDPIM_XVRDPIP_XVRDPIZ_XVREDP_XVRESP_XVRSPI_XVRSPIC_XVRSPIM_XVRSPIP_XVRSPIZ_XVRSQRTEDP_XVRSQRTESP_XVSUBDP_XVSUBSP_VCFSX_VCFSX_0_VCFUX_VCFUX_0_VMHRADDSHS_VMLADDUHM_VMSUMMBM_VMSUMSHM_VMSUMSHS_VMSUMUBM_VMSUMUHM_VMSUMUHS_VMULESB_VMULESH_VMULESW_VMULEUB_VMULEUH_VMULEUW_VMULOSB_VMULOSH_VMULOSW_VMULOUB_VMULOUH_VMULOUW_VSUM2SWS_VSUM4SBS_VSUM4SHS_VSUM4UBS_VSUMSWS
    3241             :   { 1, 439, 441, 1563, 1566 }, // 107 VSUBFP_VMULUWM
    3242             :   { 1, 380, 382, 1566, 1569 }, // 108 XSMADDADP_XSMADDASP_XSMADDMDP_XSMADDMSP_XSMSUBADP_XSMSUBASP_XSMSUBMDP_XSMSUBMSP_XSMULDP_XSMULSP_XSNMADDADP_XSNMADDASP_XSNMADDMDP_XSNMADDMSP_XSNMSUBADP_XSNMSUBASP_XSNMSUBMDP_XSNMSUBMSP
    3243             :   { 1, 380, 382, 1569, 1572 }, // 109 XSADDDP_XSADDSP_XSCVDPHP_XSCVDPSP_XSCVDPSXDS_XSCVDPSXWS_XSCVDPUXDS_XSCVDPUXWS_XSCVHPDP_XSCVSPDP_XSCVSXDDP_XSCVSXDSP_XSCVUXDDP_XSCVUXDSP_XSRDPI_XSRDPIC_XSRDPIM_XSRDPIP_XSRDPIZ_XSREDP_XSRESP_XSRSQRTEDP_XSRSQRTESP_XSSUBDP_XSSUBSP_XSCVDPSPN
    3244             :   { 1, 380, 382, 1572, 1575 }, // 110 VBPERMQ_VGBBD_VMRGHB_VMRGHH_VMRGHW_VMRGLB_VMRGLH_VMRGLW_VPERM_VPERMR_VPERMXOR_VPKPX_VPKSDSS_VPKSDUS_VPKSHSS_VPKSHUS_VPKSWSS_VPKSWUS_VPKUDUM_VPKUDUS_VPKUHUM_VPKUHUS_VPKUWUM_VPKUWUS_VSL_VSLDOI_VSLO_VSLV_VSR_VSRO_VSRV_VUPKHPX_VUPKHSB_VUPKHSH_VUPKHSW_VUPKLPX_VUPKLSB_VUPKLSH_VUPKLSW_XXBRD_XXBRH_XXBRQ_XXBRW_XXEXTRACTUW_XXINSERTW_VADDCUQ_VADDECUQ_VADDEUQM_VMUL10CUQ_VMUL10ECUQ_VMUL10EUQ_VMUL10UQ_VSUBCUQ_VSUBECUQ_VSUBEUQM_XSTSTDCQP_XSXSIGQP
    3245             :   { 1, 439, 441, 1575, 1578 }, // 111 VCLZLSBB_VCTZLSBB_VEXTRACTD_VEXTRACTUB_VEXTRACTUH_VEXTRACTUW_VEXTUBLX_VEXTUBRX_VEXTUHLX_VEXTUHRX_VEXTUWLX_VEXTUWRX_VINSERTB_VINSERTD_VINSERTH_VINSERTW_VPRTYBQ_VADDUQM_VSUBUQM
    3246             :   { 1, 443, 445, 1578, 1581 }, // 112 VSPLTB_VSPLTH_VSPLTISB_VSPLTISH_VSPLTISW_VSPLTW_XXMRGHW_XXMRGLW_XXPERM_XXPERMR_XXSLDWI_XXSPLTIB_XXSPLTW
    3247             :   { 1, 392, 394, 1581, 1584 }, // 113 XSCMPEXPQP_XSCMPOQP_XSCMPUQP
    3248             :   { 1, 380, 382, 1584, 1587 }, // 114 XSADDQP_XSADDQPO_XSCVDPQP_XSCVQPDP_XSCVQPDPO_XSCVQPSDZ_XSCVQPSWZ_XSCVQPUDZ_XSCVQPUWZ_XSCVSDQP_XSCVUDQP_XSRQPI_XSRQPXP_XSSUBQP_XSSUBQPO
    3249             :   { 1, 380, 382, 1587, 1590 }, // 115 XSMADDQP_XSMADDQPO_XSMSUBQP_XSMSUBQPO_XSMULQP_XSMULQPO_XSNMADDQP_XSNMADDQPO_XSNMSUBQP_XSNMSUBQPO
    3250             :   { 1, 380, 382, 1590, 1593 }, // 116 XSDIVQP_XSDIVQPO
    3251             :   { 1, 380, 382, 1593, 1596 }, // 117 XSSQRTQP_XSSQRTQPO
    3252             :   { 1, 384, 386, 1596, 1599 }, // 118 LXSDX_LXVD2X_LXSIWZX_LXV_LXSD
    3253             :   { 1, 384, 386, 1599, 1602 }, // 119 LFIWZX_LFDX_LFD
    3254             :   { 1, 384, 386, 1602, 1605 }, // 120 LXSSPX_LXSIWAX_LXSSP
    3255             :   { 1, 384, 386, 1605, 1608 }, // 121 LFIWAX_LFSX_LFS
    3256             :   { 1, 384, 386, 1608, 1611 }, // 122 LXVDSX_LXVW4X
    3257             :   { 1, 445, 448, 1611, 1614 }, // 123 STFS_STFD_STFIWX_STFSX_STFDX_STXSDX_STXSSPX_STXSIWX
    3258             :   { 1, 445, 448, 1614, 1617 }, // 124 STXVD2X_STXVW4X
    3259             :   { 1, 389, 392, 1617, 1620 }, // 125 DIVW_DIVWU
    3260             :   { 1, 389, 392, 1620, 1623 }, // 126 DIVWE_DIVWEU
    3261             :   { 1, 386, 389, 1623, 1626 }, // 127 DIVD_DIVDU
    3262             :   { 1, 386, 389, 1626, 1629 }, // 128 DIVDE_DIVDEU
    3263             :   { 1, 389, 392, 1629, 1632 }, // 129 DIVWEo_DIVWEUo
    3264             :   { 1, 386, 389, 1632, 1635 }, // 130 DIVDEo_DIVDEUo
    3265             :   { 1, 376, 378, 1635, 1638 }, // 131 SLD_SRD_SRAD
    3266             :   { 0, 0, 0, 0, 0 }, // 132 SRADI_RLDIC
    3267             :   { 1, 376, 378, 1638, 1641 }, // 133 RLDCL_RLDCR
    3268             :   { 0, 0, 0, 0, 0 }, // 134 RLDIMI_RLDICL_RLDICR_RLDICL_32_64
    3269             :   { 1, 433, 439, 1641, 1643 }, // 135 MTOCRF_MTOCRF8_MTCRF_MTCRF8
    3270             :   { 1, 378, 380, 1643, 1646 }, // 136 MCRF
    3271             :   { 1, 433, 439, 1646, 1648 }, // 137 MCRXRX
    3272             :   { 1, 378, 380, 1648, 1651 }, // 138 MCRFS
    3273             :   { 1, 392, 394, 1651, 1654 }, // 139 FDIV_XSDIVDP
    3274             :   { 1, 392, 394, 1654, 1657 }, // 140 FDIVS_XSDIVSP
    3275             :   { 1, 392, 394, 1657, 1660 }, // 141 XVDIVSP
    3276             :   { 1, 392, 394, 1660, 1663 }, // 142 XVDIVDP
    3277             :   { 1, 392, 394, 1663, 1666 }, // 143 FRSP_FRIND_FRINS_FRIPD_FRIPS_FRIZD_FRIZS_FRIMD_FRIMS_FRE_FRES_FRSQRTE_FRSQRTES_FMADDS_FMSUBS_FNMADDS_FNMSUBS_FSELD_FSELS_FADDS_FMULS_FSUBS_FCFID_FCTID_FCTIDZ_FCFIDU_FCFIDS_FCFIDUS_FCTIDUZ_FCTIWUZ_FCTIW_FCTIWZ
    3278             :   { 1, 392, 394, 1666, 1670 }, // 144 FMADD_FMSUB_FNMADD_FNMSUB_FMUL
    3279             :   { 1, 392, 394, 1670, 1673 }, // 145 FMR_FABSD_FABSS_FNABSD_FNABSS_FNEGD_FNEGS_FCPSGND_FCPSGNS
    3280             :   { 1, 392, 394, 1673, 1676 }, // 146 FCMPUS_FCMPUD
    3281             :   { 1, 405, 409, 1676, 1680 }, // 147 LFSU
    3282             :   { 1, 405, 409, 1680, 1684 }, // 148 LFSUX
    3283             :   { 1, 405, 409, 1684, 1688 }, // 149 LFDU
    3284             :   { 1, 405, 409, 1688, 1692 }, // 150 LFDUX
    3285             :   { 0, ~0U, ~0U, ~0U, ~0U } // end marker
    3286             : };
    3287             : 
    3288             : // ===============================================================
    3289             : // Data tables for the new per-operand machine model.
    3290             : 
    3291             : // {ProcResourceIdx, Cycles}
    3292             : extern const llvm::MCWriteProcResEntry PPCWriteProcResTable[] = {
    3293             :   { 0,  0}, // Invalid
    3294             :   { 1,  1}, // #1
    3295             :   { 5,  2}, // #2
    3296             :   {11,  1}, // #3
    3297             :   {16,  1}, // #4
    3298             :   { 1,  1}, // #5
    3299             :   { 5,  3}, // #6
    3300             :   {11,  1}, // #7
    3301             :   {16,  1}, // #8
    3302             :   { 5,  2}, // #9
    3303             :   {11,  1}, // #10
    3304             :   {14,  1}, // #11
    3305             :   { 5,  3}, // #12
    3306             :   { 7,  1}, // #13
    3307             :   {11,  1}, // #14
    3308             :   {16,  1}, // #15
    3309             :   { 7, 10}, // #16
    3310             :   {11,  1}, // #17
    3311             :   {16, 10}, // #18
    3312             :   { 7, 10}, // #19
    3313             :   {11,  2}, // #20
    3314             :   {16, 10}, // #21
    3315             :   { 5,  3}, // #22
    3316             :   {10,  1}, // #23
    3317             :   {11,  1}, // #24
    3318             :   {14,  1}, // #25
    3319             :   { 1,  1}, // #26
    3320             :   { 5,  4}, // #27
    3321             :   {11,  2}, // #28
    3322             :   {14,  1}, // #29
    3323             :   {16,  1}, // #30
    3324             :   { 1,  1}, // #31
    3325             :   { 5,  4}, // #32
    3326             :   {11,  2}, // #33
    3327             :   {12,  1}, // #34
    3328             :   {13,  1}, // #35
    3329             :   {14,  1}, // #36
    3330             :   {16,  1}, // #37
    3331             :   { 1,  1}, // #38
    3332             :   { 5,  4}, // #39
    3333             :   {10,  1}, // #40
    3334             :   {11,  1}, // #41
    3335             :   {14,  1}, // #42
    3336             :   {16,  1}, // #43
    3337             :   { 1,  2}, // #44
    3338             :   { 5,  6}, // #45
    3339             :   {10,  1}, // #46
    3340             :   {11,  2}, // #47
    3341             :   {14,  1}, // #48
    3342             :   {16,  2}, // #49
    3343             :   { 1,  3}, // #50
    3344             :   { 5,  9}, // #51
    3345             :   {11,  3}, // #52
    3346             :   {16,  3}, // #53
    3347             :   { 1,  1}, // #54
    3348             :   { 5,  3}, // #55
    3349             :   {10,  1}, // #56
    3350             :   {11,  1}, // #57
    3351             :   {14,  1}, // #58
    3352             :   {16,  1}, // #59
    3353             :   { 1,  1}, // #60
    3354             :   { 5,  5}, // #61
    3355             :   {10,  1}, // #62
    3356             :   {11,  2}, // #63
    3357             :   {14,  1}, // #64
    3358             :   {16,  1}, // #65
    3359             :   { 1,  2}, // #66
    3360             :   { 2,  1}, // #67
    3361             :   { 3,  1}, // #68
    3362             :   { 5,  2}, // #69
    3363             :   {11,  2}, // #70
    3364             :   {12,  1}, // #71
    3365             :   {13,  1}, // #72
    3366             :   { 5,  2}, // #73
    3367             :   { 7,  2}, // #74
    3368             :   { 8,  1}, // #75
    3369             :   { 9,  1}, // #76
    3370             :   {11,  2}, // #77
    3371             :   {12,  1}, // #78
    3372             :   {13,  1}, // #79
    3373             :   { 5,  2}, // #80
    3374             :   { 7,  1}, // #81
    3375             :   {11,  1}, // #82
    3376             :   {16,  1}, // #83
    3377             :   { 5,  2}, // #84
    3378             :   {11,  2}, // #85
    3379             :   {12,  1}, // #86
    3380             :   {13,  1}, // #87
    3381             :   {15,  1}, // #88
    3382             :   { 4,  1}, // #89
    3383             :   { 5,  2}, // #90
    3384             :   {11,  2}, // #91
    3385             :   {12,  1}, // #92
    3386             :   {13,  1}, // #93
    3387             :   { 4, 12}, // #94
    3388             :   { 5,  2}, // #95
    3389             :   {11,  2}, // #96
    3390             :   {12,  1}, // #97
    3391             :   {13,  1}, // #98
    3392             :   { 4, 44}, // #99
    3393             :   { 5,  2}, // #100
    3394             :   {11,  2}, // #101
    3395             :   {12,  1}, // #102
    3396             :   {13,  1}, // #103
    3397             :   { 4,  1}, // #104
    3398             :   { 5,  2}, // #105
    3399             :   {11,  2}, // #106
    3400             :   {12,  1}, // #107
    3401             :   {13,  1}, // #108
    3402             :   {16, 62}, // #109
    3403             :   { 5,  2}, // #110
    3404             :   {10,  1}, // #111
    3405             :   {14,  1}, // #112
    3406             :   { 5,  3}, // #113
    3407             :   {10,  1}, // #114
    3408             :   {14,  1}, // #115
    3409             :   { 1,  1}, // #116
    3410             :   { 5,  6}, // #117
    3411             :   {10,  1}, // #118
    3412             :   {11,  1}, // #119
    3413             :   {14,  1}, // #120
    3414             :   {16,  1}, // #121
    3415             :   { 5,  2}, // #122
    3416             :   {10,  1}, // #123
    3417             :   {11,  1}, // #124
    3418             :   {14,  1}, // #125
    3419             :   {15,  1}, // #126
    3420             :   { 5,  2}, // #127
    3421             :   {10,  1}, // #128
    3422             :   {11,  2}, // #129
    3423             :   {14,  1}, // #130
    3424             :   { 5,  2}, // #131
    3425             :   { 6,  8}, // #132
    3426             :   {11,  1}, // #133
    3427             :   {12,  1}, // #134
    3428             :   { 1,  1}, // #135
    3429             :   { 5,  4}, // #136
    3430             :   { 6,  8}, // #137
    3431             :   {11,  2}, // #138
    3432             :   {12,  1}, // #139
    3433             :   {16,  1}, // #140
    3434             :   { 1,  2}, // #141
    3435             :   { 5,  6}, // #142
    3436             :   {11,  2}, // #143
    3437             :   {16,  2}, // #144
    3438             :   { 1,  2}, // #145
    3439             :   { 5,  4}, // #146
    3440             :   {11,  2}, // #147
    3441             :   {16,  2}, // #148
    3442             :   { 5,  3}, // #149
    3443             :   { 7,  8}, // #150
    3444             :   {11,  1}, // #151
    3445             :   {16,  8}, // #152
    3446             :   { 5,  3}, // #153
    3447             :   { 7,  5}, // #154
    3448             :   {11,  1}, // #155
    3449             :   {16,  5}, // #156
    3450             :   { 5,  2}, // #157
    3451             :   { 7,  8}, // #158
    3452             :   {11,  2}, // #159
    3453             :   {12,  1}, // #160
    3454             :   {13,  1}, // #161
    3455             :   {16,  8}, // #162
    3456             :   { 1,  2}, // #163
    3457             :   { 5,  8}, // #164
    3458             :   {10,  1}, // #165
    3459             :   {11,  2}, // #166
    3460             :   {14,  1}, // #167
    3461             :   {16,  2}, // #168
    3462             :   { 1,  1}, // #169
    3463             :   { 5,  5}, // #170
    3464             :   {10,  1}, // #171
    3465             :   {11,  1}, // #172
    3466             :   {14,  1}, // #173
    3467             :   {16,  1} // #174
    3468             : }; // PPCWriteProcResTable
    3469             : 
    3470             : // {Cycles, WriteResourceID}
    3471             : extern const llvm::MCWriteLatencyEntry PPCWriteLatencyTable[] = {
    3472             :   { 0,  0}, // Invalid
    3473             :   { 2,  0}, // #1 P9_ALU_2C
    3474             :   { 1,  0}, // #2 IP_EXEC_1C
    3475             :   { 1,  0}, // #3 DISP_1C
    3476             :   { 1,  0}, // #4 DISP_1C
    3477             :   { 5,  0}, // #5 P9_ALU_5C_P9_LS_5C_P9_DP_5C
    3478             :   { 1,  0}, // #6 IP_EXEC_1C_IP_AGEN_1C
    3479             :   { 1,  0}, // #7 DISP_1C
    3480             :   { 1,  0}, // #8 DISP_1C
    3481             :   { 1,  0}, // #9 DISP_1C
    3482             :   { 7,  0}, // #10 P9_DP_7C
    3483             :   { 1,  0}, // #11 IP_EXEC_1C
    3484             :   { 1,  0}, // #12 DISP_1C
    3485             :   { 1,  0}, // #13 DISP_1C
    3486             :   { 1,  0}, // #14 DISP_1C
    3487             :   {36,  0}, // #15 P9_DP_36C_10
    3488             :   { 1,  0}, // #16 IP_EXEC_1C
    3489             :   {22,  0}, // #17 P9_DP_26C_5
    3490             :   {22,  0}, // #18 P9_DP_26C_5_P9_DP_22C_5
    3491             :   { 1,  0}, // #19 IP_EXEC_1C_P9_LS_1C
    3492             :   { 1,  0}, // #20 IP_EXEC_1C_DISP_1C
    3493             :   { 1,  0}, // #21 P9_LS_1C_IP_AGEN_1C_IP_EXEC_1C_DISP_1C
    3494             :   { 1,  0}, // #22 IP_EXEC_1C_DISP_1C_IP_AGEN_1C
    3495             :   { 1,  0}, // #23 IP_AGEN_1C_DISP_1C
    3496             :   { 1,  0}, // #24 DISP_1C
    3497             :   { 1,  0}, // #25 DISP_1C
    3498             :   { 1,  0}, // #26 DISP_1C
    3499             :   { 2,  0}, // #27 P9_ALU_2C
    3500             :   { 1,  0}, // #28 IP_EXEC_1C
    3501             :   { 1,  0}, // #29 DISP_1C
    3502             :   { 1,  0}, // #30 DISP_1C
    3503             :   { 1,  0}, // #31 DISP_1C
    3504             :   { 4,  0}, // #32 P9_LS_4C
    3505             :   { 1,  0}, // #33 IP_EXEC_1C
    3506             :   { 1,  0}, // #34 DISP_1C
    3507             :   { 1,  0}, // #35 DISP_1C
    3508             :   { 4,  0}, // #36 P9_LS_4C
    3509             :   { 2,  0}, // #37 P9_ALU_2C
    3510             :   { 1,  0}, // #38 IP_EXEC_1C_IP_EXECE_1C
    3511             :   { 1,  0}, // #39 IP_EXEC_1C_IP_EXECO_1C
    3512             :   { 1,  0}, // #40 DISP_1C
    3513             :   { 1,  0}, // #41 DISP_1C
    3514             :   { 1,  0}, // #42 DISP_1C
    3515             :   { 1,  0}, // #43 DISP_1C
    3516             :   { 6,  0}, // #44 P9_ALU_2C
    3517             :   { 1,  0}, // #45 IP_AGEN_1C_IP_EXEC_1C
    3518             :   { 1,  0}, // #46 IP_EXEC_1C_IP_AGEN_1C
    3519             :   { 1,  0}, // #47 DISP_1C
    3520             :   { 1,  0}, // #48 DISP_1C
    3521             :   { 1,  0}, // #49 DISP_1C
    3522             :   { 1,  0}, // #50 DISP_1C
    3523             :   { 6,  0}, // #51 P9_ALU_2C
    3524             :   { 2,  0}, // #52 P9_ALU_2C
    3525             :   { 1,  0}, // #53 IP_AGEN_1C
    3526             :   { 1,  0}, // #54 IP_EXEC_1C
    3527             :   { 1,  0}, // #55 IP_EXEC_1C
    3528             :   { 1,  0}, // #56 DISP_1C
    3529             :   { 1,  0}, // #57 DISP_1C
    3530             :   { 1,  0}, // #58 DISP_1C
    3531             :   { 1,  0}, // #59 DISP_1C
    3532             :   { 1,  0}, // #60 DISP_1C
    3533             :   { 1,  0}, // #61 DISP_1C
    3534             :   { 4,  0}, // #62 P9_ALU_2C
    3535             :   { 2,  0}, // #63 P9_ALU_2C
    3536             :   { 1,  0}, // #64 IP_EXEC_1C
    3537             :   { 1,  0}, // #65 IP_EXEC_1C
    3538             :   { 1,  0}, // #66 IP_EXEC_1C
    3539             :   { 1,  0}, // #67 DISP_1C
    3540             :   { 1,  0}, // #68 DISP_1C
    3541             :   { 1,  0}, // #69 DISP_1C
    3542             :   { 1,  0}, // #70 DISP_1C
    3543             :   { 1,  0}, // #71 DISP_1C
    3544             :   { 1,  0}, // #72 DISP_1C
    3545             :   { 1,  0}, // #73 DISP_1C
    3546             :   { 1,  0}, // #74 DISP_1C
    3547             :   { 1,  0}, // #75 DISP_1C
    3548             :   { 1,  0}, // #76 P9_LS_1C
    3549             :   { 2,  0}, // #77 P9_ALU_2C
    3550             :   { 1,  0}, // #78 IP_EXEC_1C
    3551             :   { 1,  0}, // #79 IP_EXEC_1C
    3552             :   { 1,  0}, // #80 IP_AGEN_1C
    3553             :   { 1,  0}, // #81 DISP_1C
    3554             :   { 1,  0}, // #82 DISP_1C
    3555             :   { 1,  0}, // #83 DISP_1C
    3556             :   { 1,  0}, // #84 DISP_1C
    3557             :   { 1,  0}, // #85 DISP_1C
    3558             :   { 4,  0}, // #86 P9_ALU_3C
    3559             :   { 1,  0}, // #87 IP_EXEC_1C
    3560             :   { 1,  0}, // #88 IP_EXEC_1C
    3561             :   { 1,  0}, // #89 IP_AGEN_1C
    3562             :   { 1,  0}, // #90 DISP_1C
    3563             :   { 1,  0}, // #91 DISP_1C
    3564             :   { 1,  0}, // #92 DISP_1C
    3565             :   { 1,  0}, // #93 DISP_1C
    3566             :   { 1,  0}, // #94 DISP_1C
    3567             :   { 2,  0}, // #95 P9_ALUE_2C
    3568             :   { 2,  0}, // #96 P9_ALUO_2C
    3569             :   { 1,  0}, // #97 IP_EXECE_1C
    3570             :   { 1,  0}, // #98 IP_EXECO_1C
    3571             :   { 1,  0}, // #99 DISP_1C
    3572             :   { 1,  0}, // #100 DISP_1C
    3573             :   { 3,  0}, // #101 P9_ALUE_3C
    3574             :   { 3,  0}, // #102 P9_ALUO_3C_P9_PM_3C_P9_ALU_3C
    3575             :   { 1,  0}, // #103 IP_EXECE_1C_IP_EXECO_1C_IP_EXEC_1C
    3576             :   { 1,  0}, // #104 IP_EXECO_1C_IP_EXECE_1C_DISP_1C
    3577             :   { 1,  0}, // #105 DISP_1C
    3578             :   { 1,  0}, // #106 DISP_1C
    3579             :   { 4,  0}, // #107 P9_ALUE_4C
    3580             :   { 4,  0}, // #108 P9_ALUO_4C
    3581             :   { 1,  0}, // #109 IP_EXECE_1C
    3582             :   { 1,  0}, // #110 IP_EXECO_1C
    3583             :   { 1,  0}, // #111 DISP_1C
    3584             :   { 1,  0}, // #112 DISP_1C
    3585             :   { 7,  0}, // #113 P9_DPE_7C
    3586             :   { 7,  0}, // #114 P9_DPO_7C
    3587             :   { 1,  0}, // #115 IP_EXECE_1C
    3588             :   { 1,  0}, // #116 IP_EXECO_1C
    3589             :   { 1,  0}, // #117 DISP_1C
    3590             :   { 1,  0}, // #118 DISP_1C
    3591             :   {12,  0}, // #119 P9_DFU_12C
    3592             :   { 1,  0}, // #120 IP_EXECE_1C
    3593             :   { 1,  0}, // #121 IP_EXECO_1C
    3594             :   { 1,  0}, // #122 DISP_1C
    3595             :   { 1,  0}, // #123 DISP_1C
    3596             :   {24,  0}, // #124 P9_DFU_24C_P9_DIV_24C_8_P9_DP_24C_8
    3597             :   { 1,  0}, // #125 IP_EXECE_1C
    3598             :   { 1,  0}, // #126 IP_EXECO_1C_DISP_1C
    3599             :   { 1,  0}, // #127 DISP_1C
    3600             :   { 1,  0}, // #128 DISP_1C
    3601             :   {58,  0}, // #129 P9_DFU_58C
    3602             :   { 1,  0}, // #130 IP_EXECE_1C
    3603             :   { 1,  0}, // #131 IP_EXECO_1C
    3604             :   { 1,  0}, // #132 DISP_1C
    3605             :   { 1,  0}, // #133 DISP_1C
    3606             :   {76,  0}, // #134 P9_DFU_76C
    3607             :   { 1,  0}, // #135 IP_EXECE_1C
    3608             :   { 1,  0}, // #136 IP_EXECO_1C
    3609             :   { 1,  0}, // #137 DISP_1C
    3610             :   { 1,  0}, // #138 DISP_1C
    3611             :   { 7,  0}, // #139 P9_ALU_2C
    3612             :   { 1,  0}, // #140 IP_AGEN_1C
    3613             :   { 1,  0}, // #141 IP_EXEC_1C
    3614             :   { 1,  0}, // #142 DISP_1C
    3615             :   { 1,  0}, // #143 DISP_1C
    3616             :   { 1,  0}, // #144 DISP_1C
    3617             :   { 1,  0}, // #145 DISP_1C
    3618             :   { 7,  0}, // #146 P9_ALU_2C
    3619             :   { 1,  0}, // #147 IP_AGEN_1C
    3620             :   { 1,  0}, // #148 IP_EXEC_1C
    3621             :   { 1,  0}, // #149 DISP_1C
    3622             :   { 1,  0}, // #150 DISP_1C
    3623             :   { 1,  0}, // #151 DISP_1C
    3624             :   { 1,  0}, // #152 DISP_1C
    3625             :   { 1,  0}, // #153 DISP_1C
    3626             :   { 1,  0}, // #154 DISP_1C
    3627             :   { 8,  0}, // #155 P9_PM_3C
    3628             :   { 1,  0}, // #156 IP_AGEN_1C
    3629             :   { 1,  0}, // #157 IP_EXEC_1C
    3630             :   { 1,  0}, // #158 DISP_1C
    3631             :   { 1,  0}, // #159 DISP_1C
    3632             :   {16,  0}, // #160 P9_DIV_16C_8
    3633             :   { 1,  0}, // #161 IP_EXECE_1C
    3634             :   { 1,  0}, // #162 DISP_1C
    3635             :   { 1,  0}, // #163 DISP_1C
    3636             :   {40,  0}, // #164 P9_DIV_40C_8
    3637             :   { 1,  0}, // #165 IP_EXECE_1C
    3638             :   { 1,  0}, // #166 DISP_1C
    3639             :   { 1,  0}, // #167 DISP_1C
    3640             :   {26,  0}, // #168 P9_ALU_2C
    3641             :   { 1,  0}, // #169 IP_EXECE_1C
    3642             :   { 1,  0}, // #170 IP_EXEC_1C
    3643             :   { 1,  0}, // #171 DISP_1C
    3644             :   { 1,  0}, // #172 DISP_1C
    3645             :   { 1,  0}, // #173 DISP_1C
    3646             :   { 1,  0}, // #174 DISP_1C
    3647             :   {42,  0}, // #175 P9_ALU_2C
    3648             :   { 1,  0}, // #176 IP_EXECE_1C
    3649             :   { 1,  0}, // #177 IP_EXEC_1C
    3650             :   { 1,  0}, // #178 DISP_1C
    3651             :   { 1,  0}, // #179 DISP_1C
    3652             :   { 1,  0}, // #180 DISP_1C
    3653             :   { 1,  0}, // #181 DISP_1C
    3654             :   { 2,  0}, // #182 P9_ALU_2C
    3655             :   { 2,  0}, // #183 P9_ALU_2C
    3656             :   { 1,  0}, // #184 IP_EXEC_1C
    3657             :   { 1,  0}, // #185 IP_EXEC_1C
    3658             :   { 1,  0}, // #186 DISP_1C
    3659             :   { 1,  0}, // #187 DISP_1C
    3660             :   { 1,  0}, // #188 DISP_1C
    3661             :   { 1,  0}, // #189 DISP_1C
    3662             :   { 1,  0}, // #190 DISP_1C
    3663             :   { 1,  0}, // #191 DISP_1C
    3664             :   { 5,  0}, // #192 P9_ALU_5C
    3665             :   { 5,  0}, // #193 P9_ALU_5C
    3666             :   { 1,  0}, // #194 IP_EXEC_1C
    3667             :   { 1,  0}, // #195 IP_EXEC_1C
    3668             :   { 1,  0}, // #196 DISP_1C
    3669             :   { 1,  0}, // #197 DISP_1C
    3670             :   { 1,  0}, // #198 DISP_1C
    3671             :   { 1,  0}, // #199 DISP_1C
    3672             :   {33,  0}, // #200 P9_DP_33C_8
    3673             :   { 1,  0}, // #201 IP_EXEC_1C_IP_EXECE_1C
    3674             :   { 1,  0}, // #202 DISP_1C_IP_EXECO_1C
    3675             :   { 1,  0}, // #203 DISP_1C
    3676             :   { 1,  0}, // #204 DISP_1C
    3677             :   { 7,  0}, // #205 P9_ALU_2C
    3678             :   { 2,  0}, // #206 P9_ALU_2C
    3679             :   { 1,  0}, // #207 IP_AGEN_1C
    3680             :   { 1,  0}, // #208 IP_EXEC_1C
    3681             :   { 1,  0}, // #209 IP_EXEC_1C
    3682             :   { 1,  0}, // #210 DISP_1C
    3683             :   { 1,  0}, // #211 DISP_1C
    3684             :   { 1,  0}, // #212 DISP_1C
    3685             :   { 1,  0}, // #213 DISP_1C
    3686             :   { 1,  0}, // #214 DISP_1C
    3687             :   { 1,  0}, // #215 DISP_1C
    3688             :   { 1,  0}, // #216 DISP_1C
    3689             :   { 1,  0}, // #217 DISP_1C
    3690             :   { 5,  0}, // #218 P9_LS_5C
    3691             :   { 2,  0}, // #219 P9_ALU_2C
    3692             :   { 1,  0}, // #220 IP_AGEN_1C
    3693             :   { 1,  0}, // #221 IP_EXEC_1C
    3694             :   { 1,  0}, // #222 DISP_1C
    3695             :   { 1,  0}, // #223 DISP_1C
    3696             :   { 1,  0}, // #224 DISP_1C
    3697             :   { 1,  0}, // #225 DISP_1C
    3698             :   { 1,  0} // #226 DISP_1C
    3699             : }; // PPCWriteLatencyTable
    3700             : 
    3701             : // {UseIdx, WriteResourceID, Cycles}
    3702             : extern const llvm::MCReadAdvanceEntry PPCReadAdvanceTable[] = {
    3703             :   {0,  0,  0}, // Invalid
    3704             : }; // PPCReadAdvanceTable
    3705             : 
    3706             : // {Name, NumMicroOps, BeginGroup, EndGroup, WriteProcResIdx,#, WriteLatencyIdx,#, ReadAdvanceIdx,#}
    3707             : static const llvm::MCSchedClassDesc P9ModelSchedClasses[] = {
    3708             :   {DBGFIELD("InvalidSchedClass")  65535, false, false,  0, 0,  0, 0,  0, 0},
    3709             :   {DBGFIELD("IIC_IntSimple")      1, false, false,  1, 4,  1, 4,  0, 0}, // #1
    3710             :   {DBGFIELD("IIC_IntGeneral")     1, false, false,  1, 4,  1, 4,  0, 0}, // #2
    3711             :   {DBGFIELD("IIC_BrB")            0, false, false,  0, 0,  0, 0,  0, 0}, // #3
    3712             :   {DBGFIELD("IIC_VecFP")          0, false, false,  0, 0,  0, 0,  0, 0}, // #4
    3713             :   {DBGFIELD("IIC_LdStSync")       0, false, false,  0, 0,  0, 0,  0, 0}, // #5
    3714             :   {DBGFIELD("IIC_IntCompare")     1, false, false,  1, 4,  1, 4,  0, 0}, // #6
    3715             :   {DBGFIELD("IIC_SprABORT")       0, false, false,  0, 0,  0, 0,  0, 0}, // #7
    3716             :   {DBGFIELD("IIC_LdStCOPY")       0, false, false,  0, 0,  0, 0,  0, 0}, // #8
    3717             :   {DBGFIELD("IIC_LdStPASTE")      0, false, false,  0, 0,  0, 0,  0, 0}, // #9
    3718             :   {DBGFIELD("IIC_BrCR")           1, false, false,  5, 4,  5, 5,  0, 0}, // #10
    3719             :   {DBGFIELD("IIC_LdStDCBF")       0, false, false,  0, 0,  0, 0,  0, 0}, // #11
    3720             :   {DBGFIELD("IIC_LdStLoad")       1, false, false,  9, 3,  5, 4,  0, 0}, // #12
    3721             :   {DBGFIELD("IIC_IntDivD")        0, false, false,  0, 0,  0, 0,  0, 0}, // #13
    3722             :   {DBGFIELD("IIC_IntDivW")        0, false, false,  0, 0,  0, 0,  0, 0}, // #14
    3723             :   {DBGFIELD("IIC_IntRotateDI")    0, false, false,  0, 0,  0, 0,  0, 0}, // #15
    3724             :   {DBGFIELD("IIC_FPGeneral")      1, false, false, 12, 4, 10, 5,  0, 0}, // #16
    3725             :   {DBGFIELD("IIC_FPAddSub")       1, false, false, 12, 4, 10, 5,  0, 0}, // #17
    3726             :   {DBGFIELD("IIC_FPCompare")      0, false, false,  0, 0,  0, 0,  0, 0}, // #18
    3727             :   {DBGFIELD("IIC_FPDivD")         0, false, false,  0, 0,  0, 0,  0, 0}, // #19
    3728             :   {DBGFIELD("IIC_FPDivS")         0, false, false,  0, 0,  0, 0,  0, 0}, // #20
    3729             :   {DBGFIELD("IIC_FPFused")        0, false, false,  0, 0,  0, 0,  0, 0}, // #21
    3730             :   {DBGFIELD("IIC_FPSqrtD")        1, false, false, 16, 3, 15, 2,  0, 0}, // #22
    3731             :   {DBGFIELD("IIC_FPSqrtS")        2, false, false, 19, 3, 17, 4,  0, 0}, // #23
    3732             :   {DBGFIELD("IIC_LdStICBI")       0, false, false,  0, 0,  0, 0,  0, 0}, // #24
    3733             :   {DBGFIELD("IIC_LdStStore")      1, false, false, 22, 4, 21, 6,  0, 0}, // #25
    3734             :   {DBGFIELD("IIC_IntISEL")        1, false, false,  5, 4, 27, 5,  0, 0}, // #26
    3735             :   {DBGFIELD("IIC_SprISYNC")       0, false, false,  0, 0,  0, 0,  0, 0}, // #27
    3736             :   {DBGFIELD("IIC_LdStLWARX")      1, false, false,  9, 3, 32, 4,  0, 0}, // #28
    3737             :   {DBGFIELD("IIC_LdStLoadUpd")    2, false, false, 26, 5, 36, 8,  0, 0}, // #29
    3738             :   {DBGFIELD("IIC_LdStLoadUpdX")   2, false, false, 31, 7, 36, 8,  0, 0}, // #30
    3739             :   {DBGFIELD("IIC_LdStLD")         1, false, false,  9, 3,  5, 4,  0, 0}, // #31
    3740             :   {DBGFIELD("IIC_LdStLDARX")      1, false, false,  9, 3, 32, 4,  0, 0}, // #32
    3741             :   {DBGFIELD("IIC_LdStLDU")        2, false, false, 26, 5, 36, 8,  0, 0}, // #33
    3742             :   {DBGFIELD("IIC_LdStLDUX")       2, false, false, 31, 7, 36, 8,  0, 0}, // #34
    3743             :   {DBGFIELD("IIC_LdStLFD")        0, false, false,  0, 0,  0, 0,  0, 0}, // #35
    3744             :   {DBGFIELD("IIC_LdStLFDU")       0, false, false,  0, 0,  0, 0,  0, 0}, // #36
    3745             :   {DBGFIELD("IIC_LdStLFDUX")      0, false, false,  0, 0,  0, 0,  0, 0}, // #37
    3746             :   {DBGFIELD("IIC_LdStLHA")        2, false, false, 38, 6, 44, 7,  0, 0}, // #38
    3747             :   {DBGFIELD("IIC_LdStLHAU")       3, false, false, 44, 6, 51, 11,  0, 0}, // #39
    3748             :   {DBGFIELD("IIC_LdStLHAUX")      3, false, false, 44, 6, 51, 11,  0, 0}, // #40
    3749             :   {DBGFIELD("IIC_LdStLMW")        1, false, false,  9, 3, 32, 4,  0, 0}, // #41
    3750             :   {DBGFIELD("IIC_LdStLWA")        2, false, false, 38, 6, 44, 7,  0, 0}, // #42
    3751             :   {DBGFIELD("IIC_BrMCR")          0, false, false,  0, 0,  0, 0,  0, 0}, // #43
    3752             :   {DBGFIELD("IIC_BrMCRX")         0, false, false,  0, 0,  0, 0,  0, 0}, // #44
    3753             :   {DBGFIELD("IIC_SprMFCR")        3, false, false, 50, 4, 62, 14,  0, 0}, // #45
    3754             :   {DBGFIELD("IIC_SprMFSPR")       0, false, false,  0, 0,  0, 0,  0, 0}, // #46
    3755             :   {DBGFIELD("IIC_IntMFFS")        0, false, false,  0, 0,  0, 0,  0, 0}, // #47
    3756             :   {DBGFIELD("IIC_SprMFMSR")       0, false, false,  0, 0,  0, 0,  0, 0}, // #48
    3757             :   {DBGFIELD("IIC_SprMFCRF")       3, false, false, 50, 4, 62, 14,  0, 0}, // #49
    3758             :   {DBGFIELD("IIC_SprMFPMR")       0, false, false,  0, 0,  0, 0,  0, 0}, // #50
    3759             :   {DBGFIELD("IIC_SprMFSR")        0, false, false,  0, 0,  0, 0,  0, 0}, // #51
    3760             :   {DBGFIELD("IIC_SprMFTB")        0, false, false,  0, 0,  0, 0,  0, 0}, // #52
    3761             :   {DBGFIELD("IIC_VecGeneral")     0, false, false,  0, 0,  0, 0,  0, 0}, // #53
    3762             :   {DBGFIELD("IIC_SprMSGSYNC")     0, false, false,  0, 0,  0, 0,  0, 0}, // #54
    3763             :   {DBGFIELD("IIC_SprMTSPR")       2, false, false, 54, 6, 44, 6,  0, 0}, // #55
    3764             :   {DBGFIELD("IIC_IntMTFSB0")      1, false, false,  5, 4,  5, 5,  0, 0}, // #56
    3765             :   {DBGFIELD("IIC_SprMTMSR")       0, false, false,  0, 0,  0, 0,  0, 0}, // #57
    3766             :   {DBGFIELD("IIC_SprMTMSRD")      0, false, false,  0, 0,  0, 0,  0, 0}, // #58
    3767             :   {DBGFIELD("IIC_SprMTPMR")       0, false, false,  0, 0,  0, 0,  0, 0}, // #59
    3768             :   {DBGFIELD("IIC_SprMTSR")        0, false, false,  0, 0,  0, 0,  0, 0}, // #60
    3769             :   {DBGFIELD("IIC_IntMulHW")       1, false, false, 12, 4,  5, 5,  0, 0}, // #61
    3770             :   {DBGFIELD("IIC_IntMulHWU")      1, false, false, 12, 4,  5, 5,  0, 0}, // #62
    3771             :   {DBGFIELD("IIC_IntMulHD")       0, false, false,  0, 0,  0, 0,  0, 0}, // #63
    3772             :   {DBGFIELD("IIC_IntMulLI")       1, false, false, 12, 4,  5, 5,  0, 0}, // #64
    3773             :   {DBGFIELD("IIC_VecPerm")        0, false, false,  0, 0,  0, 0,  0, 0}, // #65
    3774             :   {DBGFIELD("IIC_LdStSTFD")       1, false, false, 22, 4, 19, 6,  0, 0}, // #66
    3775             :   {DBGFIELD("IIC_LdStSTFDU")      2, false, false, 60, 6, 76, 10,  0, 0}, // #67
    3776             :   {DBGFIELD("IIC_SprRFI")         0, false, false,  0, 0,  0, 0,  0, 0}, // #68
    3777             :   {DBGFIELD("IIC_IntRFID")        0, false, false,  0, 0,  0, 0,  0, 0}, // #69
    3778             :   {DBGFIELD("IIC_IntRotateD")     0, false, false,  0, 0,  0, 0,  0, 0}, // #70
    3779             :   {DBGFIELD("IIC_IntRotate")      1, false, false,  5, 4, 27, 5,  0, 0}, // #71
    3780             :   {DBGFIELD("IIC_SprSLBIA")       0, false, false,  0, 0,  0, 0,  0, 0}, // #72
    3781             :   {DBGFIELD("IIC_SprSLBIE")       0, false, false,  0, 0,  0, 0,  0, 0}, // #73
    3782             :   {DBGFIELD("IIC_SprSLBIEG")      0, false, false,  0, 0,  0, 0,  0, 0}, // #74
    3783             :   {DBGFIELD("IIC_SprSLBMFEE")     0, false, false,  0, 0,  0, 0,  0, 0}, // #75
    3784             :   {DBGFIELD("IIC_SprSLBMFEV")     0, false, false,  0, 0,  0, 0,  0, 0}, // #76
    3785             :   {DBGFIELD("IIC_SprSLBMTE")      0, false, false,  0, 0,  0, 0,  0, 0}, // #77
    3786             :   {DBGFIELD("IIC_SprSLBSYNC")     0, false, false,  0, 0,  0, 0,  0, 0}, // #78
    3787             :   {DBGFIELD("IIC_IntShift")       1, false, false,  5, 4, 27, 5,  0, 0}, // #79
    3788             :   {DBGFIELD("IIC_LdStSTWCX")      2, false, false, 60, 6, 86, 9,  0, 0}, // #80
    3789             :   {DBGFIELD("IIC_LdStStoreUpd")   0, false, false,  0, 0,  0, 0,  0, 0}, // #81
    3790             :   {DBGFIELD("IIC_LdStSTD")        1, false, false, 22, 4, 19, 6,  0, 0}, // #82
    3791             :   {DBGFIELD("IIC_LdStSTDCX")      2, false, false, 60, 6, 86, 9,  0, 0}, // #83
    3792             :   {DBGFIELD("IIC_LdStSTDU")       2, false, false, 60, 6, 76, 10,  0, 0}, // #84
    3793             :   {DBGFIELD("IIC_LdStSTDUX")      2, false, false, 60, 6, 76, 10,  0, 0}, // #85
    3794             :   {DBGFIELD("IIC_SprSTOP")        0, false, false,  0, 0,  0, 0,  0, 0}, // #86
    3795             :   {DBGFIELD("IIC_IntTrapD")       0, false, false,  0, 0,  0, 0,  0, 0}, // #87
    3796             :   {DBGFIELD("IIC_SprTLBIA")       0, false, false,  0, 0,  0, 0,  0, 0}, // #88
    3797             :   {DBGFIELD("IIC_SprTLBIE")       0, false, false,  0, 0,  0, 0,  0, 0}, // #89
    3798             :   {DBGFIELD("IIC_SprTLBIEL")      0, false, false,  0, 0,  0, 0,  0, 0}, // #90
    3799             :   {DBGFIELD("IIC_SprTLBSYNC")     0, false, false,  0, 0,  0, 0,  0, 0}, // #91
    3800             :   {DBGFIELD("IIC_IntTrapW")       0, false, false,  0, 0,  0, 0,  0, 0}, // #92
    3801             :   {DBGFIELD("IIC_VecFPCompare")   0, false, false,  0, 0,  0, 0,  0, 0}, // #93
    3802             :   {DBGFIELD("VADDCUW_VAND_VANDC_VMRGEW_VMRGOW_VNOR_VOR_VSEL_VSUBCUW_VXOR_V_SET0B_V_SET0H_V_SET0_XVABSDP_XVABSSP_XVCPSGNDP_XVCPSGNSP_XVIEXPDP_XVNABSDP_XVNABSSP_XVNEGDP_XVNEGSP_XVXEXPDP") 2, false, false, 66, 7, 95, 6,  0, 0}, // #94
    3803             :   {DBGFIELD("VADDUBM_VADDUDM_VADDUHM_VADDUWM_VEQV_VEXTSB2D_VEXTSB2W_VEXTSH2D_VEXTSH2W_VEXTSW2D_VNAND_VNEGD_VNEGW_VORC_VPOPCNTB_VPOPCNTH_VPOPCNTW_VSUBUBM_VSUBUDM_VSUBUHM_VSUBUWM_XXLAND_XXLANDC_XXLEQV_XXLNAND_XXLNOR_XXLOR_XXLORf_XXLORC_XXLXOR") 2, false, false, 66, 7, 95, 6,  0, 0}, // #95
    3804             :   {DBGFIELD("VCMPEQUB_VCMPEQUBo_VCMPEQUD_VCMPEQUDo_VCMPEQUH_VCMPEQUHo_VCMPEQUW_VCMPEQUWo_VCMPGTSB_VCMPGTSBo_VCMPGTSD_VCMPGTSDo_VCMPGTSH_VCMPGTSHo_VCMPGTSW_VCMPGTSWo_VCMPGTUB_VCMPGTUBo_VCMPGTUD_VCMPGTUDo_VCMPGTUH_VCMPGTUHo_VCMPGTUW_VCMPGTUWo_VCMPNEB_VCMPNEBo_VCMPNEH_VCMPNEHo_VCMPNEW_VCMPNEWo_VCMPNEZB_VCMPNEZBo_VCMPNEZH_VCMPNEZHo_VCMPNEZW_VCMPNEZWo") 2, false, false, 66, 7, 95, 6,  0, 0}, // #96
    3805             :   {DBGFIELD("XXSEL")              2, false, false, 66, 7, 95, 6,  0, 0}, // #97
    3806             :   {DBGFIELD("XSABSQP_XSCPSGNQP_XSIEXPQP_XSNABSQP_XSNEGQP_XSXEXPQP_XSABSDP_XSCPSGNDP_XSIEXPDP_XSNABSDP_XSNEGDP_XSXEXPDP") 1, false, false,  1, 4,  1, 4,  0, 0}, // #98
    3807             :   {DBGFIELD("VMINSB_VMINSD_VMINSH_VMINSW_VMINUB_VMINUD_VMINUH_VMINUW_VRLB_VRLD_VRLDMI_VRLDNM_VRLH_VRLW_VRLWMI_VRLWNM_VSHASIGMAD_VSHASIGMAW_VSLB_VSLH_VSLW_VSRAB_VSRAH_VSRAW_VSRB_VSRH_VSRW_VSUBSBS_VSUBSHS_VSUBSWS_VSUBUBS_VSUBUHS_VSUBUWS_XSCVSPDPN_XSMAXCDP_XSMAXDP_XSMAXJDP_XSMINCDP_XSMINDP_XSMINJDP_XSTSTDCDP_XSTSTDCSP_XSXSIGDP_XVIEXPSP_XVMAXDP_XVMAXSP_XVMINDP_XVMINSP_XVTSTDCDP_XVTSTDCSP_XVXEXPSP_XVXSIGDP_XVXSIGSP") 2, false, false, 66, 7, 101, 6,  0, 0}, // #99
    3808             :   {DBGFIELD("VPOPCNTD_VPRTYBD_VPRTYBW_VSLD_VSRAD_VSRD") 2, false, false, 66, 7, 101, 6,  0, 0}, // #100
    3809             :   {DBGFIELD("XSCMPEQDP_XSCMPEXPDP_XSCMPGEDP_XSCMPGTDP_XSCMPODP_XSCMPUDP_XSTDIVDP_XSTSQRTDP_XVTDIVDP_XVTDIVSP_XVTSQRTDP_XVTSQRTSP") 2, false, false, 66, 7, 101, 6,  0, 0}, // #101
    3810             :   {DBGFIELD("XVCMPEQDP_XVCMPEQDPo_XVCMPEQSP_XVCMPEQSPo_XVCMPGEDP_XVCMPGEDPo_XVCMPGESP_XVCMPGESPo_XVCMPGTDP_XVCMPGTDPo_XVCMPGTSP_XVCMPGTSPo") 2, false, false, 66, 7, 101, 6,  0, 0}, // #102
    3811             :   {DBGFIELD("VABSDUB_VABSDUH_VABSDUW_VCLZB_VCLZD_VCLZH_VCLZW_VCTZB_VCTZD_VCTZH_VCTZW") 2, false, false, 66, 7, 107, 6,  0, 0}, // #103
    3812             :   {DBGFIELD("VADDSBS_VADDSHS_VADDSWS_VADDUBS_VADDUHS_VADDUWS_VAVGSB_VAVGSH_VAVGSW_VAVGUB_VAVGUH_VAVGUW_VBPERMD_VMAXFP_VMAXSB_VMAXSD_VMAXSH_VMAXSW_VMAXUB_VMAXUD_VMAXUH_VMAXUW_VMINFP") 2, false, false, 66, 7, 107, 6,  0, 0}, // #104
    3813             :   {DBGFIELD("VCMPBFP_VCMPBFPo_VCMPGTFP_VCMPGTFPo_VCMPEQFP_VCMPEQFPo_VCMPGEFP_VCMPGEFPo") 2, false, false, 66, 7, 107, 6,  0, 0}, // #105
    3814             :   {DBGFIELD("VADDFP_VCTSXS_VCTSXS_0_VCTUXS_VCTUXS_0_VEXPTEFP_VLOGEFP_VMADDFP_VMHADDSHS_VNMSUBFP_VREFP_VRFIM_VRFIN_VRFIP_VRFIZ_VRSQRTEFP_XVADDDP_XVADDSP_XVCVDPSP_XVCVDPSXDS_XVCVDPSXWS_XVCVDPUXDS_XVCVDPUXWS_XVCVHPSP_XVCVSPDP_XVCVSPHP_XVCVSPSXDS_XVCVSPSXWS_XVCVSPUXDS_XVCVSPUXWS_XVCVSXDDP_XVCVSXDSP_XVCVSXWDP_XVCVSXWSP_XVCVUXDDP_XVCVUXDSP_XVCVUXWDP_XVCVUXWSP_XVMADDADP_XVMADDASP_XVMADDMDP_XVMADDMSP_XVMSUBADP_XVMSUBASP_XVMSUBMDP_XVMSUBMSP_XVMULDP_XVMULSP_XVNMADDADP_XVNMADDASP_XVNMADDMDP_XVNMADDMSP_XVNMSUBADP_XVNMSUBASP_XVNMSUBMDP_XVNMSUBMSP_XVRDPI_XVRDPIC_XVRDPIM_XVRDPIP_XVRDPIZ_XVREDP_XVRESP_XVRSPI_XVRSPIC_XVRSPIM_XVRSPIP_XVRSPIZ_XVRSQRTEDP_XVRSQRTESP_XVSUBDP_XVSUBSP_VCFSX_VCFSX_0_VCFUX_VCFUX_0_VMHRADDSHS_VMLADDUHM_VMSUMMBM_VMSUMSHM_VMSUMSHS_VMSUMUBM_VMSUMUHM_VMSUMUHS_VMULESB_VMULESH_VMULESW_VMULEUB_VMULEUH_VMULEUW_VMULOSB_VMULOSH_VMULOSW_VMULOUB_VMULOUH_VMULOUW_VSUM2SWS_VSUM4SBS_VSUM4SHS_VSUM4UBS_VSUMSWS") 2, false, false, 73, 7, 113, 6,  0, 0}, // #106
    3815             :   {DBGFIELD("VSUBFP_VMULUWM")     2, false, false, 73, 7, 113, 6,  0, 0}, // #107
    3816             :   {DBGFIELD("XSMADDADP_XSMADDASP_XSMADDMDP_XSMADDMSP_XSMSUBADP_XSMSUBASP_XSMSUBMDP_XSMSUBMSP_XSMULDP_XSMULSP_XSNMADDADP_XSNMADDASP_XSNMADDMDP_XSNMADDMSP_XSNMSUBADP_XSNMSUBASP_XSNMSUBMDP_XSNMSUBMSP") 1, false, false, 12, 4, 10, 5,  0, 0}, // #108
    3817             :   {DBGFIELD("XSADDDP_XSADDSP_XSCVDPHP_XSCVDPSP_XSCVDPSXDS_XSCVDPSXWS_XSCVDPUXDS_XSCVDPUXWS_XSCVHPDP_XSCVSPDP_XSCVSXDDP_XSCVSXDSP_XSCVUXDDP_XSCVUXDSP_XSRDPI_XSRDPIC_XSRDPIM_XSRDPIP_XSRDPIZ_XSREDP_XSRESP_XSRSQRTEDP_XSRSQRTESP_XSSUBDP_XSSUBSP_XSCVDPSPN") 1, false, false, 80, 4, 10, 4,  0, 0}, // #109
    3818             :   {DBGFIELD("VBPERMQ_VGBBD_VMRGHB_VMRGHH_VMRGHW_VMRGLB_VMRGLH_VMRGLW_VPERM_VPERMR_VPERMXOR_VPKPX_VPKSDSS_VPKSDUS_VPKSHSS_VPKSHUS_VPKSWSS_VPKSWUS_VPKUDUM_VPKUDUS_VPKUHUM_VPKUHUS_VPKUWUM_VPKUWUS_VSL_VSLDOI_VSLO_VSLV_VSR_VSRO_VSRV_VUPKHPX_VUPKHSB_VUPKHSH_VUPKHSW_VUPKLPX_VUPKLSB_VUPKLSH_VUPKLSW_XXBRD_XXBRH_XXBRQ_XXBRW_XXEXTRACTUW_XXINSERTW_VADDCUQ_VADDECUQ_VADDEUQM_VMUL10CUQ_VMUL10ECUQ_VMUL10EUQ_VMUL10UQ_VSUBCUQ_VSUBECUQ_VSUBEUQM_XSTSTDCQP_XSXSIGQP") 1, false, false, 84, 5, 102, 5,  0, 0}, // #110
    3819             :   {DBGFIELD("VCLZLSBB_VCTZLSBB_VEXTRACTD_VEXTRACTUB_VEXTRACTUH_VEXTRACTUW_VEXTUBLX_VEXTUBRX_VEXTUHLX_VEXTUHRX_VEXTUWLX_VEXTUWRX_VINSERTB_VINSERTD_VINSERTH_VINSERTW_VPRTYBQ_VADDUQM_VSUBUQM") 1, false, false, 84, 5, 102, 5,  0, 0}, // #111
    3820             :   {DBGFIELD("VSPLTB_VSPLTH_VSPLTISB_VSPLTISH_VSPLTISW_VSPLTW_XXMRGHW_XXMRGLW_XXPERM_XXPERMR_XXSLDWI_XXSPLTIB_XXSPLTW") 1, false, false, 84, 5, 102, 5,  0, 0}, // #112
    3821             :   {DBGFIELD("XSCMPEXPQP_XSCMPOQP_XSCMPUQP") 1, false, false, 84, 5, 102, 5,  0, 0}, // #113
    3822             :   {DBGFIELD("XSADDQP_XSADDQPO_XSCVDPQP_XSCVQPDP_XSCVQPDPO_XSCVQPSDZ_XSCVQPSWZ_XSCVQPUDZ_XSCVQPUWZ_XSCVSDQP_XSCVUDQP_XSRQPI_XSRQPXP_XSSUBQP_XSSUBQPO") 1, false, false, 89, 5, 119, 5,  0, 0}, // #114
    3823             :   {DBGFIELD("XSMADDQP_XSMADDQPO_XSMSUBQP_XSMSUBQPO_XSMULQP_XSMULQPO_XSNMADDQP_XSNMADDQPO_XSNMSUBQP_XSNMSUBQPO") 1, false, false, 94, 5, 124, 5,  0, 0}, // #115
    3824             :   {DBGFIELD("XSDIVQP_XSDIVQPO")   1, false, false, 99, 5, 129, 5,  0, 0}, // #116
    3825             :   {DBGFIELD("XSSQRTQP_XSSQRTQPO") 1, false, false, 104, 6, 134, 5,  0, 0}, // #117
    3826             :   {DBGFIELD("LXSDX_LXVD2X_LXSIWZX_LXV_LXSD") 1, false, false, 110, 3,  5, 4,  0, 0}, // #118
    3827             :   {DBGFIELD("LFIWZX_LFDX_LFD")    1, false, false, 113, 3,  5, 5,  0, 0}, // #119
    3828             :   {DBGFIELD("LXSSPX_LXSIWAX_LXSSP") 2, false, false, 38, 6, 139, 7,  0, 0}, // #120
    3829             :   {DBGFIELD("LFIWAX_LFSX_LFS")    2, false, false, 116, 6, 146, 9,  0, 0}, // #121
    3830             :   {DBGFIELD("LXVDSX_LXVW4X")      2, false, false, 122, 5, 155, 5,  0, 0}, // #122
    3831             :   {DBGFIELD("STFS_STFD_STFIWX_STFSX_STFDX_STXSDX_STXSSPX_STXSIWX") 1, false, false, 22, 4, 19, 6,  0, 0}, // #123
    3832             :   {DBGFIELD("STXVD2X_STXVW4X")    1, false, false, 127, 4, 19, 6,  0, 0}, // #124
    3833             :   {DBGFIELD("DIVW_DIVWU")         1, false, false, 131, 4, 160, 4,  0, 0}, // #125
    3834             :   {DBGFIELD("DIVWE_DIVWEU")       1, false, false, 131, 4, 124, 4,  0, 0}, // #126
    3835             :   {DBGFIELD("DIVD_DIVDU")         1, false, false, 131, 4, 124, 4,  0, 0}, // #127
    3836             :   {DBGFIELD("DIVDE_DIVDEU")       1, false, false, 131, 4, 164, 4,  0, 0}, // #128
    3837             :   {DBGFIELD("DIVWEo_DIVWEUo")     2, false, false, 135, 6, 168, 7,  0, 0}, // #129
    3838             :   {DBGFIELD("DIVDEo_DIVDEUo")     2, false, false, 135, 6, 175, 7,  0, 0}, // #130
    3839             :   {DBGFIELD("SLD_SRD_SRAD")       1, false, false,  1, 4,  1, 4,  0, 0}, // #131
    3840             :   {DBGFIELD("SRADI_RLDIC")        1, false, false,  1, 4,  1, 4,  0, 0}, // #132
    3841             :   {DBGFIELD("RLDCL_RLDCR")        1, false, false,  5, 4, 27, 5,  0, 0}, // #133
    3842             :   {DBGFIELD("RLDIMI_RLDICL_RLDICR_RLDICL_32_64") 1, false, false,  5, 4, 27, 5,  0, 0}, // #134
    3843             :   {DBGFIELD("MTOCRF_MTOCRF8_MTCRF_MTCRF8") 2, false, false, 141, 4, 182, 10,  0, 0}, // #135
    3844             :   {DBGFIELD("MCRF")               1, false, false,  1, 4,  5, 4,  0, 0}, // #136
    3845             :   {DBGFIELD("MCRXRX")             1, false, false,  1, 4,  5, 4,  0, 0}, // #137
    3846             :   {DBGFIELD("MCRFS")              2, false, false, 145, 4, 192, 8,  0, 0}, // #138
    3847             :   {DBGFIELD("FDIV_XSDIVDP")       1, false, false, 149, 4, 200, 5,  0, 0}, // #139
    3848             :   {DBGFIELD("FDIVS_XSDIVSP")      1, false, false, 153, 4, 18, 5,  0, 0}, // #140
    3849             :   {DBGFIELD("XVDIVSP")            1, false, false, 157, 6, 124, 5,  0, 0}, // #141
    3850             :   {DBGFIELD("XVDIVDP")            1, false, false, 157, 6, 200, 5,  0, 0}, // #142
    3851             :   {DBGFIELD("FRSP_FRIND_FRINS_FRIPD_FRIPS_FRIZD_FRIZS_FRIMD_FRIMS_FRE_FRES_FRSQRTE_FRSQRTES_FMADDS_FMSUBS_FNMADDS_FNMSUBS_FSELD_FSELS_FADDS_FMULS_FSUBS_FCFID_FCTID_FCTIDZ_FCFIDU_FCFIDS_FCFIDUS_FCTIDUZ_FCTIWUZ_FCTIW_FCTIWZ") 1, false, false, 12, 4, 10, 5,  0, 0}, // #143
    3852             :   {DBGFIELD("FMADD_FMSUB_FNMADD_FNMSUB_FMUL") 1, false, false, 12, 4, 10, 5,  0, 0}, // #144
    3853             :   {DBGFIELD("FMR_FABSD_FABSS_FNABSD_FNABSS_FNEGD_FNEGS_FCPSGND_FCPSGNS") 1, false, false, 12, 4, 10, 5,  0, 0}, // #145
    3854             :   {DBGFIELD("FCMPUS_FCMPUD")      1, false, false,  5, 4, 102, 5,  0, 0}, // #146
    3855             :   {DBGFIELD("LFSU")               3, false, false, 163, 6, 205, 13,  0, 0}, // #147
    3856             :   {DBGFIELD("LFSUX")              3, false, false, 163, 6, 205, 13,  0, 0}, // #148
    3857             :   {DBGFIELD("LFDU")               2, false, false, 169, 6, 218, 9,  0, 0}, // #149
    3858             :   {DBGFIELD("LFDUX")              2, false, false, 169, 6, 218, 9,  0, 0} // #150
    3859             : }; // P9ModelSchedClasses
    3860             : 
    3861             : static const llvm::MCSchedModel NoSchedModel = {
    3862             :   MCSchedModel::DefaultIssueWidth,
    3863             :   MCSchedModel::DefaultMicroOpBufferSize,
    3864             :   MCSchedModel::DefaultLoopMicroOpBufferSize,
    3865             :   MCSchedModel::DefaultLoadLatency,
    3866             :   MCSchedModel::DefaultHighLatency,
    3867             :   MCSchedModel::DefaultMispredictPenalty,
    3868             :   false, // PostRAScheduler
    3869             :   false, // CompleteModel
    3870             :   0, // Processor ID
    3871             :   nullptr, nullptr, 0, 0, // No instruction-level machine model.
    3872             :   nullptr}; // No Itinerary
    3873             : 
    3874             : static const llvm::MCSchedModel PPC440Model = {
    3875             :   2, // IssueWidth
    3876             :   MCSchedModel::DefaultMicroOpBufferSize,
    3877             :   MCSchedModel::DefaultLoopMicroOpBufferSize,
    3878             :   5, // LoadLatency
    3879             :   MCSchedModel::DefaultHighLatency,
    3880             :   MCSchedModel::DefaultMispredictPenalty,
    3881             :   false, // PostRAScheduler
    3882             :   false, // CompleteModel
    3883             :   1, // Processor ID
    3884             :   nullptr, nullptr, 0, 0, // No instruction-level machine model.
    3885             :   PPC440Itineraries};
    3886             : 
    3887             : static const llvm::MCSchedModel G3ItinerariesModel = {
    3888             :   MCSchedModel::DefaultIssueWidth,
    3889             :   MCSchedModel::DefaultMicroOpBufferSize,
    3890             :   MCSchedModel::DefaultLoopMicroOpBufferSize,
    3891             :   MCSchedModel::DefaultLoadLatency,
    3892             :   MCSchedModel::DefaultHighLatency,
    3893             :   MCSchedModel::DefaultMispredictPenalty,
    3894             :   false, // PostRAScheduler
    3895             :   false, // CompleteModel
    3896             :   2, // Processor ID
    3897             :   nullptr, nullptr, 0, 0, // No instruction-level machine model.
    3898             :   G3Itineraries};
    3899             : 
    3900             : static const llvm::MCSchedModel G4ItinerariesModel = {
    3901             :   MCSchedModel::DefaultIssueWidth,
    3902             :   MCSchedModel::DefaultMicroOpBufferSize,
    3903             :   MCSchedModel::DefaultLoopMicroOpBufferSize,
    3904             :   MCSchedModel::DefaultLoadLatency,
    3905             :   MCSchedModel::DefaultHighLatency,
    3906             :   MCSchedModel::DefaultMispredictPenalty,
    3907             :   false, // PostRAScheduler
    3908             :   false, // CompleteModel
    3909             :   3, // Processor ID
    3910             :   nullptr, nullptr, 0, 0, // No instruction-level machine model.
    3911             :   G4Itineraries};
    3912             : 
    3913             : static const llvm::MCSchedModel G4PlusItinerariesModel = {
    3914             :   MCSchedModel::DefaultIssueWidth,
    3915             :   MCSchedModel::DefaultMicroOpBufferSize,
    3916             :   MCSchedModel::DefaultLoopMicroOpBufferSize,
    3917             :   MCSchedModel::DefaultLoadLatency,
    3918             :   MCSchedModel::DefaultHighLatency,
    3919             :   MCSchedModel::DefaultMispredictPenalty,
    3920             :   false, // PostRAScheduler
    3921             :   false, // CompleteModel
    3922             :   4, // Processor ID
    3923             :   nullptr, nullptr, 0, 0, // No instruction-level machine model.
    3924             :   G4PlusItineraries};
    3925             : 
    3926             : static const llvm::MCSchedModel G5Model = {
    3927             :   4, // IssueWidth
    3928             :   MCSchedModel::DefaultMicroOpBufferSize,
    3929             :   MCSchedModel::DefaultLoopMicroOpBufferSize,
    3930             :   3, // LoadLatency
    3931             :   MCSchedModel::DefaultHighLatency,
    3932             :   16, // MispredictPenalty
    3933             :   false, // PostRAScheduler
    3934             :   false, // CompleteModel
    3935             :   5, // Processor ID
    3936             :   nullptr, nullptr, 0, 0, // No instruction-level machine model.
    3937             :   G5Itineraries};
    3938             : 
    3939             : static const llvm::MCSchedModel PPCA2Model = {
    3940             :   1, // IssueWidth
    3941             :   MCSchedModel::DefaultMicroOpBufferSize,
    3942             :   MCSchedModel::DefaultLoopMicroOpBufferSize,
    3943             :   6, // LoadLatency
    3944             :   MCSchedModel::DefaultHighLatency,
    3945             :   13, // MispredictPenalty
    3946             :   false, // PostRAScheduler
    3947             :   false, // CompleteModel
    3948             :   6, // Processor ID
    3949             :   nullptr, nullptr, 0, 0, // No instruction-level machine model.
    3950             :   PPCA2Itineraries};
    3951             : 
    3952             : static const llvm::MCSchedModel PPCE500mcModel = {
    3953             :   2, // IssueWidth
    3954             :   MCSchedModel::DefaultMicroOpBufferSize,
    3955             :   MCSchedModel::DefaultLoopMicroOpBufferSize,
    3956             :   5, // LoadLatency
    3957             :   MCSchedModel::DefaultHighLatency,
    3958             :   MCSchedModel::DefaultMispredictPenalty,
    3959             :   false, // PostRAScheduler
    3960             :   false, // CompleteModel
    3961             :   7, // Processor ID
    3962             :   nullptr, nullptr, 0, 0, // No instruction-level machine model.
    3963             :   PPCE500mcItineraries};
    3964             : 
    3965             : static const llvm::MCSchedModel PPCE5500Model = {
    3966             :   2, // IssueWidth
    3967             :   MCSchedModel::DefaultMicroOpBufferSize,
    3968             :   MCSchedModel::DefaultLoopMicroOpBufferSize,
    3969             :   6, // LoadLatency
    3970             :   MCSchedModel::DefaultHighLatency,
    3971             :   MCSchedModel::DefaultMispredictPenalty,
    3972             :   false, // PostRAScheduler
    3973             :   false, // CompleteModel
    3974             :   8, // Processor ID
    3975             :   nullptr, nullptr, 0, 0, // No instruction-level machine model.
    3976             :   PPCE5500Itineraries};
    3977             : 
    3978             : static const llvm::MCSchedModel P8Model = {
    3979             :   8, // IssueWidth
    3980             :   MCSchedModel::DefaultMicroOpBufferSize,
    3981             :   60, // LoopMicroOpBufferSize
    3982             :   3, // LoadLatency
    3983             :   MCSchedModel::DefaultHighLatency,
    3984             :   16, // MispredictPenalty
    3985             :   false, // PostRAScheduler
    3986             :   false, // CompleteModel
    3987             :   9, // Processor ID
    3988             :   nullptr, nullptr, 0, 0, // No instruction-level machine model.
    3989             :   P8Itineraries};
    3990             : 
    3991             : static const llvm::MCSchedModel P7Model = {
    3992             :   6, // IssueWidth
    3993             :   MCSchedModel::DefaultMicroOpBufferSize,
    3994             :   40, // LoopMicroOpBufferSize
    3995             :   3, // LoadLatency
    3996             :   MCSchedModel::DefaultHighLatency,
    3997             :   16, // MispredictPenalty
    3998             :   false, // PostRAScheduler
    3999             :   false, // CompleteModel
    4000             :   10, // Processor ID
    4001             :   nullptr, nullptr, 0, 0, // No instruction-level machine model.
    4002             :   P7Itineraries};
    4003             : 
    4004             : // {Name, NumUnits, SuperIdx, IsBuffered}
    4005             : static const llvm::MCProcResourceDesc P9ModelProcResources[] = {
    4006             :   {DBGFIELD("InvalidUnit")     0, 0, 0},
    4007             :   {DBGFIELD("ALU")             4, 0, -1}, // #1
    4008             :   {DBGFIELD("ALUE")            2, 1, -1}, // #2, Super=ALU
    4009             :   {DBGFIELD("ALUO")            2, 1, -1}, // #3, Super=ALU
    4010             :   {DBGFIELD("DFU")             1, 0, -1}, // #4
    4011             :   {DBGFIELD("DISPATCHER")      12, 0, -1}, // #5
    4012             :   {DBGFIELD("DIV")             2, 0, -1}, // #6
    4013             :   {DBGFIELD("DP")              4, 0, -1}, // #7
    4014             :   {DBGFIELD("DPE")             2, 7, -1}, // #8, Super=DP
    4015             :   {DBGFIELD("DPO")             2, 7, -1}, // #9, Super=DP
    4016             :   {DBGFIELD("IP_AGEN")         4, 0, -1}, // #10
    4017             :   {DBGFIELD("IP_EXEC")         4, 0, -1}, // #11
    4018             :   {DBGFIELD("IP_EXECE")        2, 11, -1}, // #12, Super=IP_EXEC
    4019             :   {DBGFIELD("IP_EXECO")        2, 11, -1}, // #13, Super=IP_EXEC
    4020             :   {DBGFIELD("LS")              4, 0, -1}, // #14
    4021             :   {DBGFIELD("PM")              2, 0, -1}, // #15
    4022             :   {DBGFIELD("TestGroup")       8, 0, -1}  // #16
    4023             : };
    4024             : 
    4025             : static const llvm::MCSchedModel P9Model = {
    4026             :   8, // IssueWidth
    4027             :   MCSchedModel::DefaultMicroOpBufferSize,
    4028             :   60, // LoopMicroOpBufferSize
    4029             :   5, // LoadLatency
    4030             :   MCSchedModel::DefaultHighLatency,
    4031             :   16, // MispredictPenalty
    4032             :   false, // PostRAScheduler
    4033             :   false, // CompleteModel
    4034             :   11, // Processor ID
    4035             :   P9ModelProcResources,
    4036             :   P9ModelSchedClasses,
    4037             :   17,
    4038             :   151,
    4039             :   nullptr}; // No Itinerary
    4040             : 
    4041             : // Sorted (by key) array of itineraries for CPU subtype.
    4042             : extern const llvm::SubtargetInfoKV PPCProcSchedKV[] = {
    4043             :   { "440", (const void *)&PPC440Model },
    4044             :   { "450", (const void *)&PPC440Model },
    4045             :   { "601", (const void *)&G3ItinerariesModel },
    4046             :   { "602", (const void *)&G3ItinerariesModel },
    4047             :   { "603", (const void *)&G3ItinerariesModel },
    4048             :   { "603e", (const void *)&G3ItinerariesModel },
    4049             :   { "603ev", (const void *)&G3ItinerariesModel },
    4050             :   { "604", (const void *)&G3ItinerariesModel },
    4051             :   { "604e", (const void *)&G3ItinerariesModel },
    4052             :   { "620", (const void *)&G3ItinerariesModel },
    4053             :   { "7400", (const void *)&G4ItinerariesModel },
    4054             :   { "7450", (const void *)&G4PlusItinerariesModel },
    4055             :   { "750", (const void *)&G4ItinerariesModel },
    4056             :   { "970", (const void *)&G5Model },
    4057             :   { "a2", (const void *)&PPCA2Model },
    4058             :   { "a2q", (const void *)&PPCA2Model },
    4059             :   { "e500mc", (const void *)&PPCE500mcModel },
    4060             :   { "e5500", (const void *)&PPCE5500Model },
    4061             :   { "g3", (const void *)&G3ItinerariesModel },
    4062             :   { "g4", (const void *)&G4ItinerariesModel },
    4063             :   { "g4+", (const void *)&G4PlusItinerariesModel },
    4064             :   { "g5", (const void *)&G5Model },
    4065             :   { "generic", (const void *)&G3ItinerariesModel },
    4066             :   { "ppc", (const void *)&G3ItinerariesModel },
    4067             :   { "ppc32", (const void *)&G3ItinerariesModel },
    4068             :   { "ppc64", (const void *)&G5Model },
    4069             :   { "ppc64le", (const void *)&P8Model },
    4070             :   { "pwr3", (const void *)&G5Model },
    4071             :   { "pwr4", (const void *)&G5Model },
    4072             :   { "pwr5", (const void *)&G5Model },
    4073             :   { "pwr5x", (const void *)&G5Model },
    4074             :   { "pwr6", (const void *)&G5Model },
    4075             :   { "pwr6x", (const void *)&G5Model },
    4076             :   { "pwr7", (const void *)&P7Model },
    4077             :   { "pwr8", (const void *)&P8Model },
    4078             :   { "pwr9", (const void *)&P9Model }
    4079             : };
    4080             : #undef DBGFIELD
    4081        1923 : static inline MCSubtargetInfo *createPPCMCSubtargetInfoImpl(const Triple &TT, StringRef CPU, StringRef FS) {
    4082             :   return new MCSubtargetInfo(TT, CPU, FS, PPCFeatureKV, PPCSubTypeKV, 
    4083             :                       PPCProcSchedKV, PPCWriteProcResTable, PPCWriteLatencyTable, PPCReadAdvanceTable, 
    4084        5769 :                       PPCStages, PPCOperandCycles, PPCForwardingPaths);
    4085             : }
    4086             : 
    4087             : } // end namespace llvm
    4088             : 
    4089             : #endif // GET_SUBTARGETINFO_MC_DESC
    4090             : 
    4091             : 
    4092             : #ifdef GET_SUBTARGETINFO_TARGET_DESC
    4093             : #undef GET_SUBTARGETINFO_TARGET_DESC
    4094             : 
    4095             : #include "llvm/Support/Debug.h"
    4096             : #include "llvm/Support/raw_ostream.h"
    4097             : 
    4098             : // ParseSubtargetFeatures - Parses features string setting specified
    4099             : // subtarget options.
    4100        1378 : void llvm::PPCSubtarget::ParseSubtargetFeatures(StringRef CPU, StringRef FS) {
    4101             :   DEBUG(dbgs() << "\nFeatures:" << FS);
    4102             :   DEBUG(dbgs() << "\nCPU:" << CPU << "\n\n");
    4103        1378 :   InitMCProcessorInfo(CPU, FS);
    4104        1378 :   const FeatureBitset& Bits = getFeatureBits();
    4105        2756 :   if (Bits[PPC::DeprecatedDST]) DeprecatedDST = true;
    4106        2756 :   if (Bits[PPC::Directive32] && DarwinDirective < PPC::DIR_32) DarwinDirective = PPC::DIR_32;
    4107        2756 :   if (Bits[PPC::Directive64] && DarwinDirective < PPC::DIR_64) DarwinDirective = PPC::DIR_64;
    4108        2756 :   if (Bits[PPC::Directive440] && DarwinDirective < PPC::DIR_440) DarwinDirective = PPC::DIR_440;
    4109        2756 :   if (Bits[PPC::Directive601] && DarwinDirective < PPC::DIR_601) DarwinDirective = PPC::DIR_601;
    4110        2756 :   if (Bits[PPC::Directive602] && DarwinDirective < PPC::DIR_602) DarwinDirective = PPC::DIR_602;
    4111        2756 :   if (Bits[PPC::Directive603] && DarwinDirective < PPC::DIR_603) DarwinDirective = PPC::DIR_603;
    4112        2756 :   if (Bits[PPC::Directive604] && DarwinDirective < PPC::DIR_603) DarwinDirective = PPC::DIR_603;
    4113        2756 :   if (Bits[PPC::Directive620] && DarwinDirective < PPC::DIR_603) DarwinDirective = PPC::DIR_603;
    4114        2756 :   if (Bits[PPC::Directive750] && DarwinDirective < PPC::DIR_750) DarwinDirective = PPC::DIR_750;
    4115        2756 :   if (Bits[PPC::Directive970] && DarwinDirective < PPC::DIR_970) DarwinDirective = PPC::DIR_970;
    4116        2756 :   if (Bits[PPC::Directive7400] && DarwinDirective < PPC::DIR_7400) DarwinDirective = PPC::DIR_7400;
    4117        2756 :   if (Bits[PPC::DirectiveA2] && DarwinDirective < PPC::DIR_A2) DarwinDirective = PPC::DIR_A2;
    4118        2756 :   if (Bits[PPC::DirectiveE500mc] && DarwinDirective < PPC::DIR_E500mc) DarwinDirective = PPC::DIR_E500mc;
    4119        2756 :   if (Bits[PPC::DirectiveE5500] && DarwinDirective < PPC::DIR_E5500) DarwinDirective = PPC::DIR_E5500;
    4120        2756 :   if (Bits[PPC::DirectivePwr3] && DarwinDirective < PPC::DIR_PWR3) DarwinDirective = PPC::DIR_PWR3;
    4121        2756 :   if (Bits[PPC::DirectivePwr4] && DarwinDirective < PPC::DIR_PWR4) DarwinDirective = PPC::DIR_PWR4;
    4122        2756 :   if (Bits[PPC::DirectivePwr5] && DarwinDirective < PPC::DIR_PWR5) DarwinDirective = PPC::DIR_PWR5;
    4123        2756 :   if (Bits[PPC::DirectivePwr5x] && DarwinDirective < PPC::DIR_PWR5X) DarwinDirective = PPC::DIR_PWR5X;
    4124        2756 :   if (Bits[PPC::DirectivePwr6] && DarwinDirective < PPC::DIR_PWR6) DarwinDirective = PPC::DIR_PWR6;
    4125        2756 :   if (Bits[PPC::DirectivePwr6x] && DarwinDirective < PPC::DIR_PWR6X) DarwinDirective = PPC::DIR_PWR6X;
    4126        2756 :   if (Bits[PPC::DirectivePwr7] && DarwinDirective < PPC::DIR_PWR7) DarwinDirective = PPC::DIR_PWR7;
    4127        2756 :   if (Bits[PPC::DirectivePwr8] && DarwinDirective < PPC::DIR_PWR8) DarwinDirective = PPC::DIR_PWR8;
    4128        2756 :   if (Bits[PPC::DirectivePwr9] && DarwinDirective < PPC::DIR_PWR9) DarwinDirective = PPC::DIR_PWR9;
    4129        2756 :   if (Bits[PPC::Feature64Bit]) Has64BitSupport = true;
    4130        2756 :   if (Bits[PPC::Feature64BitRegs]) Use64BitRegs = true;
    4131        2756 :   if (Bits[PPC::FeatureAltivec]) HasAltivec = true;
    4132        2756 :   if (Bits[PPC::FeatureBPERMD]) HasBPERMD = true;
    4133        2756 :   if (Bits[PPC::FeatureBookE]) IsBookE = true;
    4134        2756 :   if (Bits[PPC::FeatureCMPB]) HasCMPB = true;
    4135        2756 :   if (Bits[PPC::FeatureCRBits]) UseCRBits = true;
    4136        2756 :   if (Bits[PPC::FeatureDirectMove]) HasDirectMove = true;
    4137        2756 :   if (Bits[PPC::FeatureE500]) IsE500 = true;
    4138        2756 :   if (Bits[PPC::FeatureExtDiv]) HasExtDiv = true;
    4139        2756 :   if (Bits[PPC::FeatureFCPSGN]) HasFCPSGN = true;
    4140        2756 :   if (Bits[PPC::FeatureFPCVT]) HasFPCVT = true;
    4141        2756 :   if (Bits[PPC::FeatureFPRND]) HasFPRND = true;
    4142        2756 :   if (Bits[PPC::FeatureFRE]) HasFRE = true;
    4143        2756 :   if (Bits[PPC::FeatureFRES]) HasFRES = true;
    4144        2756 :   if (Bits[PPC::FeatureFRSQRTE]) HasFRSQRTE = true;
    4145        2756 :   if (Bits[PPC::FeatureFRSQRTES]) HasFRSQRTES = true;
    4146        2756 :   if (Bits[PPC::FeatureFSqrt]) HasFSQRT = true;
    4147        2756 :   if (Bits[PPC::FeatureFloat128]) HasFloat128 = true;
    4148        2756 :   if (Bits[PPC::FeatureFusion]) HasFusion = true;
    4149        2756 :   if (Bits[PPC::FeatureHTM]) HasHTM = true;
    4150        2756 :   if (Bits[PPC::FeatureHardFloat]) HasHardFloat = true;
    4151        2756 :   if (Bits[PPC::FeatureICBT]) HasICBT = true;
    4152        2756 :   if (Bits[PPC::FeatureISA3_0]) IsISA3_0 = true;
    4153        2756 :   if (Bits[PPC::FeatureISEL]) HasISEL = true;
    4154        2756 :   if (Bits[PPC::FeatureInvariantFunctionDescriptors]) HasInvariantFunctionDescriptors = true;
    4155        2756 :   if (Bits[PPC::FeatureLDBRX]) HasLDBRX = true;
    4156        2756 :   if (Bits[PPC::FeatureLFIWAX]) HasLFIWAX = true;
    4157        2756 :   if (Bits[PPC::FeatureLongCall]) UseLongCalls = true;
    4158        2756 :   if (Bits[PPC::FeatureMFOCRF]) HasMFOCRF = true;
    4159        2756 :   if (Bits[PPC::FeatureMFTB]) FeatureMFTB = true;
    4160        2756 :   if (Bits[PPC::FeatureMSYNC]) HasOnlyMSYNC = true;
    4161        2756 :   if (Bits[PPC::FeatureP8Altivec]) HasP8Altivec = true;
    4162        2756 :   if (Bits[PPC::FeatureP8Crypto]) HasP8Crypto = true;
    4163        2756 :   if (Bits[PPC::FeatureP8Vector]) HasP8Vector = true;
    4164        2756 :   if (Bits[PPC::FeatureP9Altivec]) HasP9Altivec = true;
    4165        2756 :   if (Bits[PPC::FeatureP9Vector]) HasP9Vector = true;
    4166        2756 :   if (Bits[PPC::FeaturePOPCNTD] && HasPOPCNTD < POPCNTD_Fast) HasPOPCNTD = POPCNTD_Fast;
    4167        2756 :   if (Bits[PPC::FeaturePPC4xx]) IsPPC4xx = true;
    4168        2756 :   if (Bits[PPC::FeaturePPC6xx]) IsPPC6xx = true;
    4169        2756 :   if (Bits[PPC::FeaturePartwordAtomic]) HasPartwordAtomics = true;
    4170        2756 :   if (Bits[PPC::FeatureQPX]) HasQPX = true;
    4171        2756 :   if (Bits[PPC::FeatureRecipPrec]) HasRecipPrec = true;
    4172        2756 :   if (Bits[PPC::FeatureSPE]) HasSPE = true;
    4173        2756 :   if (Bits[PPC::FeatureSTFIWX]) HasSTFIWX = true;
    4174        2756 :   if (Bits[PPC::FeatureSlowPOPCNTD] && HasPOPCNTD < POPCNTD_Slow) HasPOPCNTD = POPCNTD_Slow;
    4175        2756 :   if (Bits[PPC::FeatureVSX]) HasVSX = true;
    4176        1378 : }
    4177             : #endif // GET_SUBTARGETINFO_TARGET_DESC
    4178             : 
    4179             : 
    4180             : #ifdef GET_SUBTARGETINFO_HEADER
    4181             : #undef GET_SUBTARGETINFO_HEADER
    4182             : 
    4183             : namespace llvm {
    4184             : class DFAPacketizer;
    4185        1366 : struct PPCGenSubtargetInfo : public TargetSubtargetInfo {
    4186             :   explicit PPCGenSubtargetInfo(const Triple &TT, StringRef CPU, StringRef FS);
    4187             : public:
    4188             :   unsigned resolveSchedClass(unsigned SchedClass,  const MachineInstr *DefMI, const TargetSchedModel *SchedModel) const override;
    4189             :   DFAPacketizer *createDFAPacketizer(const InstrItineraryData *IID) const;
    4190             : };
    4191             : } // end namespace llvm
    4192             : 
    4193             : #endif // GET_SUBTARGETINFO_HEADER
    4194             : 
    4195             : 
    4196             : #ifdef GET_SUBTARGETINFO_CTOR
    4197             : #undef GET_SUBTARGETINFO_CTOR
    4198             : 
    4199             : #include "llvm/CodeGen/TargetSchedule.h"
    4200             : 
    4201             : namespace llvm {
    4202             : extern const llvm::SubtargetFeatureKV PPCFeatureKV[];
    4203             : extern const llvm::SubtargetFeatureKV PPCSubTypeKV[];
    4204             : extern const llvm::SubtargetInfoKV PPCProcSchedKV[];
    4205             : extern const llvm::MCWriteProcResEntry PPCWriteProcResTable[];
    4206             : extern const llvm::MCWriteLatencyEntry PPCWriteLatencyTable[];
    4207             : extern const llvm::MCReadAdvanceEntry PPCReadAdvanceTable[];
    4208             : extern const llvm::InstrStage PPCStages[];
    4209             : extern const unsigned PPCOperandCycles[];
    4210             : extern const unsigned PPCForwardingPaths[];
    4211        1378 : PPCGenSubtargetInfo::PPCGenSubtargetInfo(const Triple &TT, StringRef CPU, StringRef FS)
    4212             :   : TargetSubtargetInfo(TT, CPU, FS, makeArrayRef(PPCFeatureKV, 46), makeArrayRef(PPCSubTypeKV, 36), 
    4213             :                         PPCProcSchedKV, PPCWriteProcResTable, PPCWriteLatencyTable, PPCReadAdvanceTable, 
    4214        4134 :                         PPCStages, PPCOperandCycles, PPCForwardingPaths) {}
    4215             : 
    4216           0 : unsigned PPCGenSubtargetInfo
    4217             : ::resolveSchedClass(unsigned SchedClass, const MachineInstr *MI, const TargetSchedModel *SchedModel) const {
    4218           0 :   report_fatal_error("Expected a variant SchedClass");
    4219             : } // PPCGenSubtargetInfo::resolveSchedClass
    4220             : } // end namespace llvm
    4221             : 
    4222             : #endif // GET_SUBTARGETINFO_CTOR
    4223             : 

Generated by: LCOV version 1.13