blob: 23db39002eda1b0740cf27be8a7d3661002463e6 [file] [log] [blame]
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|* Subtarget Enumeration Source Fragment *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifdef GET_SUBTARGETINFO_ENUM
#undef GET_SUBTARGETINFO_ENUM
namespace llvm {
namespace PPC {
enum {
AIXOS = 0,
DeprecatedDST = 1,
Directive32 = 2,
Directive64 = 3,
Directive440 = 4,
Directive601 = 5,
Directive602 = 6,
Directive603 = 7,
Directive604 = 8,
Directive620 = 9,
Directive750 = 10,
Directive970 = 11,
Directive7400 = 12,
DirectiveA2 = 13,
DirectiveE500 = 14,
DirectiveE500mc = 15,
DirectiveE5500 = 16,
DirectivePwr3 = 17,
DirectivePwr4 = 18,
DirectivePwr5 = 19,
DirectivePwr5x = 20,
DirectivePwr6 = 21,
DirectivePwr6x = 22,
DirectivePwr7 = 23,
DirectivePwr8 = 24,
DirectivePwr9 = 25,
DirectivePwr10 = 26,
DirectivePwrFuture = 27,
Feature64Bit = 28,
Feature64BitRegs = 29,
FeatureAddLogicalFusion = 30,
FeatureAddiLoadFusion = 31,
FeatureAddisLoadFusion = 32,
FeatureAltivec = 33,
FeatureArithAddFusion = 34,
FeatureBPERMD = 35,
FeatureBack2BackFusion = 36,
FeatureBookE = 37,
FeatureCMPB = 38,
FeatureCRBits = 39,
FeatureCompareFusion = 40,
FeatureDirectMove = 41,
FeatureE500 = 42,
FeatureEFPU2 = 43,
FeatureExtDiv = 44,
FeatureFCPSGN = 45,
FeatureFPCVT = 46,
FeatureFPRND = 47,
FeatureFPU = 48,
FeatureFRE = 49,
FeatureFRES = 50,
FeatureFRSQRTE = 51,
FeatureFRSQRTES = 52,
FeatureFSqrt = 53,
FeatureFastMFLR = 54,
FeatureFloat128 = 55,
FeatureFusion = 56,
FeatureHTM = 57,
FeatureHardFloat = 58,
FeatureICBT = 59,
FeatureISA2_06 = 60,
FeatureISA2_07 = 61,
FeatureISA3_0 = 62,
FeatureISA3_1 = 63,
FeatureISAFuture = 64,
FeatureISEL = 65,
FeatureInvariantFunctionDescriptors = 66,
FeatureLDBRX = 67,
FeatureLFIWAX = 68,
FeatureLogicalAddFusion = 69,
FeatureLogicalFusion = 70,
FeatureLongCall = 71,
FeatureMFOCRF = 72,
FeatureMFTB = 73,
FeatureMMA = 74,
FeatureMSYNC = 75,
FeatureModernAIXAs = 76,
FeatureP8Altivec = 77,
FeatureP8Crypto = 78,
FeatureP8Vector = 79,
FeatureP9Altivec = 80,
FeatureP9Vector = 81,
FeatureP10Vector = 82,
FeaturePCRelativeMemops = 83,
FeaturePOPCNTD = 84,
FeaturePPC4xx = 85,
FeaturePPC6xx = 86,
FeaturePPCPostRASched = 87,
FeaturePPCPreRASched = 88,
FeaturePairedVectorMemops = 89,
FeaturePartwordAtomic = 90,
FeaturePredictableSelectIsExpensive = 91,
FeaturePrefixInstrs = 92,
FeaturePrivileged = 93,
FeatureQuadwordAtomic = 94,
FeatureROPProtect = 95,
FeatureRecipPrec = 96,
FeatureSPE = 97,
FeatureSTFIWX = 98,
FeatureSecurePlt = 99,
FeatureSha3Fusion = 100,
FeatureSlowPOPCNTD = 101,
FeatureStoreFusion = 102,
FeatureTwoConstNR = 103,
FeatureUnalignedFloats = 104,
FeatureVSX = 105,
FeatureVectorsUseTwoUnits = 106,
FeatureWideImmFusion = 107,
FeatureZeroMoveFusion = 108,
NumSubtargetFeatures = 109
};
} // end namespace PPC
} // end namespace llvm
#endif // GET_SUBTARGETINFO_ENUM
#ifdef GET_SUBTARGETINFO_MACRO
GET_SUBTARGETINFO_MACRO(IsDeprecatedDST, false, isDeprecatedDST)
GET_SUBTARGETINFO_MACRO(IsFeatureMFTB, false, isFeatureMFTB)
GET_SUBTARGETINFO_MACRO(Has64BitSupport, false, has64BitSupport)
GET_SUBTARGETINFO_MACRO(Use64BitRegs, false, use64BitRegs)
GET_SUBTARGETINFO_MACRO(IsAIX, false, isAIX)
GET_SUBTARGETINFO_MACRO(AllowsUnalignedFPAccess, false, allowsUnalignedFPAccess)
GET_SUBTARGETINFO_MACRO(HasAltivec, false, hasAltivec)
GET_SUBTARGETINFO_MACRO(IsBookE, false, isBookE)
GET_SUBTARGETINFO_MACRO(HasBPERMD, false, hasBPERMD)
GET_SUBTARGETINFO_MACRO(HasCMPB, false, hasCMPB)
GET_SUBTARGETINFO_MACRO(UseCRBits, false, useCRBits)
GET_SUBTARGETINFO_MACRO(HasP8Crypto, false, hasP8Crypto)
GET_SUBTARGETINFO_MACRO(HasDirectMove, false, hasDirectMove)
GET_SUBTARGETINFO_MACRO(IsE500, false, isE500)
GET_SUBTARGETINFO_MACRO(HasEFPU2, false, hasEFPU2)
GET_SUBTARGETINFO_MACRO(HasExtDiv, false, hasExtDiv)
GET_SUBTARGETINFO_MACRO(HasFastMFLR, false, hasFastMFLR)
GET_SUBTARGETINFO_MACRO(HasFCPSGN, false, hasFCPSGN)
GET_SUBTARGETINFO_MACRO(HasFloat128, false, hasFloat128)
GET_SUBTARGETINFO_MACRO(HasFPCVT, false, hasFPCVT)
GET_SUBTARGETINFO_MACRO(HasFPRND, false, hasFPRND)
GET_SUBTARGETINFO_MACRO(HasFPU, false, hasFPU)
GET_SUBTARGETINFO_MACRO(HasFRE, false, hasFRE)
GET_SUBTARGETINFO_MACRO(HasFRES, false, hasFRES)
GET_SUBTARGETINFO_MACRO(HasFRSQRTE, false, hasFRSQRTE)
GET_SUBTARGETINFO_MACRO(HasFRSQRTES, false, hasFRSQRTES)
GET_SUBTARGETINFO_MACRO(HasFSQRT, false, hasFSQRT)
GET_SUBTARGETINFO_MACRO(HasAddLogicalFusion, false, hasAddLogicalFusion)
GET_SUBTARGETINFO_MACRO(HasAddiLoadFusion, false, hasAddiLoadFusion)
GET_SUBTARGETINFO_MACRO(HasAddisLoadFusion, false, hasAddisLoadFusion)
GET_SUBTARGETINFO_MACRO(HasArithAddFusion, false, hasArithAddFusion)
GET_SUBTARGETINFO_MACRO(HasBack2BackFusion, false, hasBack2BackFusion)
GET_SUBTARGETINFO_MACRO(HasCompareFusion, false, hasCompareFusion)
GET_SUBTARGETINFO_MACRO(HasLogicalFusion, false, hasLogicalFusion)
GET_SUBTARGETINFO_MACRO(HasLogicalAddFusion, false, hasLogicalAddFusion)
GET_SUBTARGETINFO_MACRO(HasSha3Fusion, false, hasSha3Fusion)
GET_SUBTARGETINFO_MACRO(HasStoreFusion, false, hasStoreFusion)
GET_SUBTARGETINFO_MACRO(HasWideImmFusion, false, hasWideImmFusion)
GET_SUBTARGETINFO_MACRO(HasZeroMoveFusion, false, hasZeroMoveFusion)
GET_SUBTARGETINFO_MACRO(HasFusion, false, hasFusion)
GET_SUBTARGETINFO_MACRO(HasHardFloat, false, hasHardFloat)
GET_SUBTARGETINFO_MACRO(HasHTM, false, hasHTM)
GET_SUBTARGETINFO_MACRO(HasICBT, false, hasICBT)
GET_SUBTARGETINFO_MACRO(HasInvariantFunctionDescriptors, false, hasInvariantFunctionDescriptors)
GET_SUBTARGETINFO_MACRO(IsISAFuture, false, isISAFuture)
GET_SUBTARGETINFO_MACRO(IsISA2_06, false, isISA2_06)
GET_SUBTARGETINFO_MACRO(IsISA2_07, false, isISA2_07)
GET_SUBTARGETINFO_MACRO(IsISA3_0, false, isISA3_0)
GET_SUBTARGETINFO_MACRO(IsISA3_1, false, isISA3_1)
GET_SUBTARGETINFO_MACRO(HasISEL, false, hasISEL)
GET_SUBTARGETINFO_MACRO(HasLDBRX, false, hasLDBRX)
GET_SUBTARGETINFO_MACRO(HasLFIWAX, false, hasLFIWAX)
GET_SUBTARGETINFO_MACRO(UseLongCalls, false, useLongCalls)
GET_SUBTARGETINFO_MACRO(HasMFOCRF, false, hasMFOCRF)
GET_SUBTARGETINFO_MACRO(HasMMA, false, hasMMA)
GET_SUBTARGETINFO_MACRO(HasModernAIXAs, false, hasModernAIXAs)
GET_SUBTARGETINFO_MACRO(HasOnlyMSYNC, false, hasOnlyMSYNC)
GET_SUBTARGETINFO_MACRO(PairedVectorMemops, false, pairedVectorMemops)
GET_SUBTARGETINFO_MACRO(HasPartwordAtomics, false, hasPartwordAtomics)
GET_SUBTARGETINFO_MACRO(HasPCRelativeMemops, false, hasPCRelativeMemops)
GET_SUBTARGETINFO_MACRO(HasP10Vector, false, hasP10Vector)
GET_SUBTARGETINFO_MACRO(HasP8Altivec, false, hasP8Altivec)
GET_SUBTARGETINFO_MACRO(HasP8Vector, false, hasP8Vector)
GET_SUBTARGETINFO_MACRO(HasP9Altivec, false, hasP9Altivec)
GET_SUBTARGETINFO_MACRO(HasP9Vector, false, hasP9Vector)
GET_SUBTARGETINFO_MACRO(UsePPCPostRASchedStrategy, false, usePPCPostRASchedStrategy)
GET_SUBTARGETINFO_MACRO(UsePPCPreRASchedStrategy, false, usePPCPreRASchedStrategy)
GET_SUBTARGETINFO_MACRO(IsPPC4xx, false, isPPC4xx)
GET_SUBTARGETINFO_MACRO(IsPPC6xx, false, isPPC6xx)
GET_SUBTARGETINFO_MACRO(PredictableSelectIsExpensive, false, predictableSelectIsExpensive)
GET_SUBTARGETINFO_MACRO(HasPrefixInstrs, false, hasPrefixInstrs)
GET_SUBTARGETINFO_MACRO(HasPrivileged, false, hasPrivileged)
GET_SUBTARGETINFO_MACRO(HasQuadwordAtomics, false, hasQuadwordAtomics)
GET_SUBTARGETINFO_MACRO(HasRecipPrec, false, hasRecipPrec)
GET_SUBTARGETINFO_MACRO(HasROPProtect, false, hasROPProtect)
GET_SUBTARGETINFO_MACRO(IsSecurePlt, false, isSecurePlt)
GET_SUBTARGETINFO_MACRO(HasSPE, false, hasSPE)
GET_SUBTARGETINFO_MACRO(HasSTFIWX, false, hasSTFIWX)
GET_SUBTARGETINFO_MACRO(NeedsTwoConstNR, false, needsTwoConstNR)
GET_SUBTARGETINFO_MACRO(VectorsUseTwoUnits, false, vectorsUseTwoUnits)
GET_SUBTARGETINFO_MACRO(HasVSX, false, hasVSX)
#undef GET_SUBTARGETINFO_MACRO
#endif // GET_SUBTARGETINFO_MACRO
#ifdef GET_SUBTARGETINFO_MC_DESC
#undef GET_SUBTARGETINFO_MC_DESC
namespace llvm {
// Sorted (by key) array of values for CPU features.
extern const llvm::SubtargetFeatureKV PPCFeatureKV[] = {
{ "64bit", "Enable 64-bit instructions", PPC::Feature64Bit, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "64bitregs", "Enable 64-bit registers usage for ppc32 [beta]", PPC::Feature64BitRegs, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "aix", "AIX OS", PPC::AIXOS, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "allow-unaligned-fp-access", "CPU does not trap on unaligned FP access", PPC::FeatureUnalignedFloats, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "altivec", "Enable Altivec instructions", PPC::FeatureAltivec, { { { 0x1000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "booke", "Enable Book E instructions", PPC::FeatureBookE, { { { 0x800000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "bpermd", "Enable the bpermd instruction", PPC::FeatureBPERMD, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "cmpb", "Enable the cmpb instruction", PPC::FeatureCMPB, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "crbits", "Use condition-register bits individually", PPC::FeatureCRBits, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "crypto", "Enable POWER8 Crypto instructions", PPC::FeatureP8Crypto, { { { 0x0ULL, 0x2000ULL, 0x0ULL, 0x0ULL, } } } },
{ "direct-move", "Enable Power8 direct move instructions", PPC::FeatureDirectMove, { { { 0x0ULL, 0x20000000000ULL, 0x0ULL, 0x0ULL, } } } },
{ "e500", "Enable E500/E500mc instructions", PPC::FeatureE500, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "efpu2", "Enable Embedded Floating-Point APU 2 instructions", PPC::FeatureEFPU2, { { { 0x0ULL, 0x200000000ULL, 0x0ULL, 0x0ULL, } } } },
{ "extdiv", "Enable extended divide instructions", PPC::FeatureExtDiv, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fast-MFLR", "MFLR is a fast instruction", PPC::FeatureFastMFLR, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fcpsgn", "Enable the fcpsgn instruction", PPC::FeatureFCPSGN, { { { 0x1000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "float128", "Enable the __float128 data type for IEEE-754R Binary128.", PPC::FeatureFloat128, { { { 0x0ULL, 0x20000000000ULL, 0x0ULL, 0x0ULL, } } } },
{ "fpcvt", "Enable fc[ft]* (unsigned and single-precision) and lfiwzx instructions", PPC::FeatureFPCVT, { { { 0x1000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fprnd", "Enable the fri[mnpz] instructions", PPC::FeatureFPRND, { { { 0x1000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fpu", "Enable classic FPU instructions", PPC::FeatureFPU, { { { 0x400000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fre", "Enable the fre instruction", PPC::FeatureFRE, { { { 0x1000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fres", "Enable the fres instruction", PPC::FeatureFRES, { { { 0x1000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "frsqrte", "Enable the frsqrte instruction", PPC::FeatureFRSQRTE, { { { 0x1000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "frsqrtes", "Enable the frsqrtes instruction", PPC::FeatureFRSQRTES, { { { 0x1000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fsqrt", "Enable the fsqrt instruction", PPC::FeatureFSqrt, { { { 0x1000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fuse-add-logical", "Target supports Add with Logical Operations fusion", PPC::FeatureAddLogicalFusion, { { { 0x100000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fuse-addi-load", "Power8 Addi-Load fusion", PPC::FeatureAddiLoadFusion, { { { 0x100000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fuse-addis-load", "Power8 Addis-Load fusion", PPC::FeatureAddisLoadFusion, { { { 0x100000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fuse-arith-add", "Target supports Arithmetic Operations with Add fusion", PPC::FeatureArithAddFusion, { { { 0x100000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fuse-back2back", "Target supports general back to back fusion", PPC::FeatureBack2BackFusion, { { { 0x100000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fuse-cmp", "Target supports Comparison Operations fusion", PPC::FeatureCompareFusion, { { { 0x100000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fuse-logical", "Target supports Logical Operations fusion", PPC::FeatureLogicalFusion, { { { 0x100000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fuse-logical-add", "Target supports Logical with Add Operations fusion", PPC::FeatureLogicalAddFusion, { { { 0x100000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fuse-sha3", "Target supports SHA3 assist fusion", PPC::FeatureSha3Fusion, { { { 0x100000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fuse-store", "Target supports store clustering", PPC::FeatureStoreFusion, { { { 0x100000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fuse-wideimm", "Target supports Wide-Immediate fusion", PPC::FeatureWideImmFusion, { { { 0x100000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fuse-zeromove", "Target supports move to SPR with branch fusion", PPC::FeatureZeroMoveFusion, { { { 0x100000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "fusion", "Target supports instruction fusion", PPC::FeatureFusion, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "hard-float", "Enable floating-point instructions", PPC::FeatureHardFloat, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "htm", "Enable Hardware Transactional Memory instructions", PPC::FeatureHTM, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "icbt", "Enable icbt instruction", PPC::FeatureICBT, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "invariant-function-descriptors", "Assume function descriptors are invariant", PPC::FeatureInvariantFunctionDescriptors, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "isa-future-instructions", "Enable instructions for Future ISA.", PPC::FeatureISAFuture, { { { 0x8000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "isa-v206-instructions", "Enable instructions in ISA 2.06.", PPC::FeatureISA2_06, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "isa-v207-instructions", "Enable instructions in ISA 2.07.", PPC::FeatureISA2_07, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "isa-v30-instructions", "Enable instructions in ISA 3.0.", PPC::FeatureISA3_0, { { { 0x2000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "isa-v31-instructions", "Enable instructions in ISA 3.1.", PPC::FeatureISA3_1, { { { 0x4000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "isel", "Enable the isel instruction", PPC::FeatureISEL, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "ldbrx", "Enable the ldbrx instruction", PPC::FeatureLDBRX, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "lfiwax", "Enable the lfiwax instruction", PPC::FeatureLFIWAX, { { { 0x1000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "longcall", "Always use indirect calls", PPC::FeatureLongCall, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "mfocrf", "Enable the MFOCRF instruction", PPC::FeatureMFOCRF, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "mma", "Enable MMA instructions", PPC::FeatureMMA, { { { 0x0ULL, 0x2018000ULL, 0x0ULL, 0x0ULL, } } } },
{ "modern-aix-as", "AIX system assembler is modern enough to support new mnes", PPC::FeatureModernAIXAs, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "msync", "Has only the msync instruction instead of sync", PPC::FeatureMSYNC, { { { 0x2000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "paired-vector-memops", "32Byte load and store instructions", PPC::FeaturePairedVectorMemops, { { { 0x4000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "partword-atomics", "Enable l[bh]arx and st[bh]cx.", PPC::FeaturePartwordAtomic, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "pcrelative-memops", "Enable PC relative Memory Ops", PPC::FeaturePCRelativeMemops, { { { 0x4000000000000000ULL, 0x10000000ULL, 0x0ULL, 0x0ULL, } } } },
{ "popcntd", "Enable the popcnt[dw] instructions", PPC::FeaturePOPCNTD, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "power10-vector", "Enable POWER10 vector instructions", PPC::FeatureP10Vector, { { { 0x8000000000000000ULL, 0x20000ULL, 0x0ULL, 0x0ULL, } } } },
{ "power8-altivec", "Enable POWER8 Altivec instructions", PPC::FeatureP8Altivec, { { { 0x200000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "power8-vector", "Enable POWER8 vector instructions", PPC::FeatureP8Vector, { { { 0x0ULL, 0x20000002000ULL, 0x0ULL, 0x0ULL, } } } },
{ "power9-altivec", "Enable POWER9 Altivec instructions", PPC::FeatureP9Altivec, { { { 0x4000000000000000ULL, 0x2000ULL, 0x0ULL, 0x0ULL, } } } },
{ "power9-vector", "Enable POWER9 vector instructions", PPC::FeatureP9Vector, { { { 0x4000000000000000ULL, 0x18000ULL, 0x0ULL, 0x0ULL, } } } },
{ "ppc-postra-sched", "Use PowerPC post-RA scheduling strategy", PPC::FeaturePPCPostRASched, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "ppc-prera-sched", "Use PowerPC pre-RA scheduling strategy", PPC::FeaturePPCPreRASched, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "ppc4xx", "Enable PPC 4xx instructions", PPC::FeaturePPC4xx, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "ppc6xx", "Enable PPC 6xx instructions", PPC::FeaturePPC6xx, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "predictable-select-expensive", "Prefer likely predicted branches over selects", PPC::FeaturePredictableSelectIsExpensive, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "prefix-instrs", "Enable prefixed instructions", PPC::FeaturePrefixInstrs, { { { 0x4000000000000000ULL, 0x18000ULL, 0x0ULL, 0x0ULL, } } } },
{ "privileged", "Add privileged instructions", PPC::FeaturePrivileged, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "quadword-atomics", "Enable lqarx and stqcx.", PPC::FeatureQuadwordAtomic, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "recipprec", "Assume higher precision reciprocal estimates", PPC::FeatureRecipPrec, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "rop-protect", "Add ROP protect", PPC::FeatureROPProtect, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "secure-plt", "Enable secure plt mode", PPC::FeatureSecurePlt, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "slow-popcntd", "Has slow popcnt[dw] instructions", PPC::FeatureSlowPOPCNTD, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "spe", "Enable SPE instructions", PPC::FeatureSPE, { { { 0x400000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "stfiwx", "Enable the stfiwx instruction", PPC::FeatureSTFIWX, { { { 0x1000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "two-const-nr", "Requires two constant Newton-Raphson computation", PPC::FeatureTwoConstNR, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "vectors-use-two-units", "Vectors use two units", PPC::FeatureVectorsUseTwoUnits, { { { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
{ "vsx", "Enable VSX instructions", PPC::FeatureVSX, { { { 0x200000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
};
#ifdef DBGFIELD
#error "<target>GenSubtargetInfo.inc requires a DBGFIELD macro"
#endif
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
#define DBGFIELD(x) x,
#else
#define DBGFIELD(x)
#endif
// Functional units for "PPC440Itineraries"
namespace PPC440ItinerariesFU {
const InstrStage::FuncUnits P440_DISS1 = 1ULL << 0;
const InstrStage::FuncUnits P440_DISS2 = 1ULL << 1;
const InstrStage::FuncUnits P440_FRACC = 1ULL << 2;
const InstrStage::FuncUnits P440_IRACC = 1ULL << 3;
const InstrStage::FuncUnits P440_IEXE1 = 1ULL << 4;
const InstrStage::FuncUnits P440_IEXE2 = 1ULL << 5;
const InstrStage::FuncUnits P440_IWB = 1ULL << 6;
const InstrStage::FuncUnits P440_LRACC = 1ULL << 7;
const InstrStage::FuncUnits P440_JEXE1 = 1ULL << 8;
const InstrStage::FuncUnits P440_JEXE2 = 1ULL << 9;
const InstrStage::FuncUnits P440_JWB = 1ULL << 10;
const InstrStage::FuncUnits P440_AGEN = 1ULL << 11;
const InstrStage::FuncUnits P440_CRD = 1ULL << 12;
const InstrStage::FuncUnits P440_LWB = 1ULL << 13;
const InstrStage::FuncUnits P440_FEXE1 = 1ULL << 14;
const InstrStage::FuncUnits P440_FEXE2 = 1ULL << 15;
const InstrStage::FuncUnits P440_FEXE3 = 1ULL << 16;
const InstrStage::FuncUnits P440_FEXE4 = 1ULL << 17;
const InstrStage::FuncUnits P440_FEXE5 = 1ULL << 18;
const InstrStage::FuncUnits P440_FEXE6 = 1ULL << 19;
const InstrStage::FuncUnits P440_FWB = 1ULL << 20;
const InstrStage::FuncUnits P440_LWARX_Hold = 1ULL << 21;
} // end namespace PPC440ItinerariesFU
// Pipeline forwarding paths for itineraries "PPC440Itineraries"
namespace PPC440ItinerariesBypass {
const unsigned NoBypass = 0;
const unsigned P440_GPR_Bypass = 1 << 0;
const unsigned P440_FPR_Bypass = 1 << 1;
} // end namespace PPC440ItinerariesBypass
// Functional units for "G3Itineraries"
namespace G3ItinerariesFU {
const InstrStage::FuncUnits G3_IU1 = 1ULL << 0;
const InstrStage::FuncUnits G3_IU2 = 1ULL << 1;
const InstrStage::FuncUnits G3_FPU1 = 1ULL << 2;
const InstrStage::FuncUnits G3_BPU = 1ULL << 3;
const InstrStage::FuncUnits G3_SRU = 1ULL << 4;
const InstrStage::FuncUnits G3_SLU = 1ULL << 5;
} // end namespace G3ItinerariesFU
// Functional units for "G4Itineraries"
namespace G4ItinerariesFU {
const InstrStage::FuncUnits G4_IU1 = 1ULL << 0;
const InstrStage::FuncUnits G4_IU2 = 1ULL << 1;
const InstrStage::FuncUnits G4_SLU = 1ULL << 2;
const InstrStage::FuncUnits G4_SRU = 1ULL << 3;
const InstrStage::FuncUnits G4_BPU = 1ULL << 4;
const InstrStage::FuncUnits G4_FPU1 = 1ULL << 5;
const InstrStage::FuncUnits G4_VIU1 = 1ULL << 6;
const InstrStage::FuncUnits G4_VIU2 = 1ULL << 7;
const InstrStage::FuncUnits G4_VPU = 1ULL << 8;
const InstrStage::FuncUnits G4_VFPU = 1ULL << 9;
} // end namespace G4ItinerariesFU
// Functional units for "G4PlusItineraries"
namespace G4PlusItinerariesFU {
const InstrStage::FuncUnits G4P_IU1 = 1ULL << 0;
const InstrStage::FuncUnits G4P_IU2 = 1ULL << 1;
const InstrStage::FuncUnits G4P_IU3 = 1ULL << 2;
const InstrStage::FuncUnits G4P_IU4 = 1ULL << 3;
const InstrStage::FuncUnits G4P_BPU = 1ULL << 4;
const InstrStage::FuncUnits G4P_SLU = 1ULL << 5;
const InstrStage::FuncUnits G4P_FPU1 = 1ULL << 6;
const InstrStage::FuncUnits G4P_VFPU = 1ULL << 7;
const InstrStage::FuncUnits G4P_VIU1 = 1ULL << 8;
const InstrStage::FuncUnits G4P_VIU2 = 1ULL << 9;
const InstrStage::FuncUnits G4P_VPU = 1ULL << 10;
} // end namespace G4PlusItinerariesFU
// Functional units for "G5Itineraries"
namespace G5ItinerariesFU {
const InstrStage::FuncUnits G5_IU1 = 1ULL << 0;
const InstrStage::FuncUnits G5_IU2 = 1ULL << 1;
const InstrStage::FuncUnits G5_SLU = 1ULL << 2;
const InstrStage::FuncUnits G5_BPU = 1ULL << 3;
const InstrStage::FuncUnits G5_FPU1 = 1ULL << 4;
const InstrStage::FuncUnits G5_FPU2 = 1ULL << 5;
const InstrStage::FuncUnits G5_VFPU = 1ULL << 6;
const InstrStage::FuncUnits G5_VIU1 = 1ULL << 7;
const InstrStage::FuncUnits G5_VIU2 = 1ULL << 8;
const InstrStage::FuncUnits G5_VPU = 1ULL << 9;
} // end namespace G5ItinerariesFU
// Functional units for "PPCA2Itineraries"
namespace PPCA2ItinerariesFU {
const InstrStage::FuncUnits A2_XU = 1ULL << 0;
const InstrStage::FuncUnits A2_FU = 1ULL << 1;
} // end namespace PPCA2ItinerariesFU
// Functional units for "PPCE500Itineraries"
namespace PPCE500ItinerariesFU {
const InstrStage::FuncUnits E500_DIS0 = 1ULL << 0;
const InstrStage::FuncUnits E500_DIS1 = 1ULL << 1;
const InstrStage::FuncUnits E500_SU0 = 1ULL << 2;
const InstrStage::FuncUnits E500_SU1 = 1ULL << 3;
const InstrStage::FuncUnits E500_BU = 1ULL << 4;
const InstrStage::FuncUnits E500_MU = 1ULL << 5;
const InstrStage::FuncUnits E500_LSU_0 = 1ULL << 6;
} // end namespace PPCE500ItinerariesFU
// Pipeline forwarding paths for itineraries "PPCE500Itineraries"
namespace PPCE500ItinerariesBypass {
const unsigned NoBypass = 0;
const unsigned E500_CR_Bypass = 1 << 0;
const unsigned E500_GPR_Bypass = 1 << 1;
const unsigned E500_DivBypass = 1 << 2;
} // end namespace PPCE500ItinerariesBypass
// Functional units for "PPCE500mcItineraries"
namespace PPCE500mcItinerariesFU {
const InstrStage::FuncUnits E500mc_DIS0 = 1ULL << 0;
const InstrStage::FuncUnits E500mc_DIS1 = 1ULL << 1;
const InstrStage::FuncUnits E500mc_SFX0 = 1ULL << 2;
const InstrStage::FuncUnits E500mc_SFX1 = 1ULL << 3;
const InstrStage::FuncUnits E500mc_BU = 1ULL << 4;
const InstrStage::FuncUnits E500mc_CFX_DivBypass = 1ULL << 5;
const InstrStage::FuncUnits E500mc_CFX_0 = 1ULL << 6;
const InstrStage::FuncUnits E500mc_LSU_0 = 1ULL << 7;
const InstrStage::FuncUnits E500mc_FPU_0 = 1ULL << 8;
} // end namespace PPCE500mcItinerariesFU
// Pipeline forwarding paths for itineraries "PPCE500mcItineraries"
namespace PPCE500mcItinerariesBypass {
const unsigned NoBypass = 0;
const unsigned E500mc_CR_Bypass = 1 << 0;
const unsigned E500mc_GPR_Bypass = 1 << 1;
const unsigned E500mc_FPR_Bypass = 1 << 2;
} // end namespace PPCE500mcItinerariesBypass
// Functional units for "PPCE5500Itineraries"
namespace PPCE5500ItinerariesFU {
const InstrStage::FuncUnits E5500_DIS0 = 1ULL << 0;
const InstrStage::FuncUnits E5500_DIS1 = 1ULL << 1;
const InstrStage::FuncUnits E5500_SFX0 = 1ULL << 2;
const InstrStage::FuncUnits E5500_SFX1 = 1ULL << 3;
const InstrStage::FuncUnits E5500_BU = 1ULL << 4;
const InstrStage::FuncUnits E5500_CFX_DivBypass = 1ULL << 5;
const InstrStage::FuncUnits E5500_CFX_0 = 1ULL << 6;
const InstrStage::FuncUnits E5500_CFX_1 = 1ULL << 7;
const InstrStage::FuncUnits E5500_LSU_0 = 1ULL << 8;
const InstrStage::FuncUnits E5500_FPU_0 = 1ULL << 9;
} // end namespace PPCE5500ItinerariesFU
// Pipeline forwarding paths for itineraries "PPCE5500Itineraries"
namespace PPCE5500ItinerariesBypass {
const unsigned NoBypass = 0;
const unsigned E5500_CR_Bypass = 1 << 0;
const unsigned E5500_GPR_Bypass = 1 << 1;
const unsigned E5500_FPR_Bypass = 1 << 2;
} // end namespace PPCE5500ItinerariesBypass
// Functional units for "P8Itineraries"
namespace P8ItinerariesFU {
const InstrStage::FuncUnits P8_DU1 = 1ULL << 0;
const InstrStage::FuncUnits P8_DU2 = 1ULL << 1;
const InstrStage::FuncUnits P8_DU3 = 1ULL << 2;
const InstrStage::FuncUnits P8_DU4 = 1ULL << 3;
const InstrStage::FuncUnits P8_DU5 = 1ULL << 4;
const InstrStage::FuncUnits P8_DU6 = 1ULL << 5;
const InstrStage::FuncUnits P8_DU7 = 1ULL << 6;
const InstrStage::FuncUnits P8_DU8 = 1ULL << 7;
const InstrStage::FuncUnits P8_LU1 = 1ULL << 8;
const InstrStage::FuncUnits P8_LU2 = 1ULL << 9;
const InstrStage::FuncUnits P8_LSU1 = 1ULL << 10;
const InstrStage::FuncUnits P8_LSU2 = 1ULL << 11;
const InstrStage::FuncUnits P8_FXU1 = 1ULL << 12;
const InstrStage::FuncUnits P8_FXU2 = 1ULL << 13;
const InstrStage::FuncUnits P8_FPU1 = 1ULL << 14;
const InstrStage::FuncUnits P8_FPU2 = 1ULL << 15;
const InstrStage::FuncUnits P8_CRU = 1ULL << 16;
const InstrStage::FuncUnits P8_BRU = 1ULL << 17;
} // end namespace P8ItinerariesFU
// Functional units for "P7Itineraries"
namespace P7ItinerariesFU {
const InstrStage::FuncUnits P7_DU1 = 1ULL << 0;
const InstrStage::FuncUnits P7_DU2 = 1ULL << 1;
const InstrStage::FuncUnits P7_DU3 = 1ULL << 2;
const InstrStage::FuncUnits P7_DU4 = 1ULL << 3;
const InstrStage::FuncUnits P7_DU5 = 1ULL << 4;
const InstrStage::FuncUnits P7_DU6 = 1ULL << 5;
const InstrStage::FuncUnits P7_LS1 = 1ULL << 6;
const InstrStage::FuncUnits P7_LS2 = 1ULL << 7;
const InstrStage::FuncUnits P7_FX1 = 1ULL << 8;
const InstrStage::FuncUnits P7_FX2 = 1ULL << 9;
const InstrStage::FuncUnits P7_VS1 = 1ULL << 10;
const InstrStage::FuncUnits P7_VS2 = 1ULL << 11;
const InstrStage::FuncUnits P7_CRU = 1ULL << 12;
const InstrStage::FuncUnits P7_BRU = 1ULL << 13;
} // end namespace P7ItinerariesFU
extern const llvm::InstrStage PPCStages[] = {
{ 0, 0, 0, llvm::InstrStage::Required }, // No itinerary
{ 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 }, // 1-5
{ 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 }, // 6-10
{ 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 }, // 11-15
{ 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
{ 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
{ 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
{ 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
{ 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
{ 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
{ 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
{ 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
{ 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
{ 3, G3ItinerariesFU::G3_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 86
{ 1, G3ItinerariesFU::G3_IU1 | G3ItinerariesFU::G3_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 87
{ 1, G3ItinerariesFU::G3_BPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 88
{ 1, G3ItinerariesFU::G3_SRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 89
{ 2, G3ItinerariesFU::G3_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 90
{ 19, G3ItinerariesFU::G3_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 91
{ 1, G3ItinerariesFU::G3_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 92
{ 31, G3ItinerariesFU::G3_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 93
{ 17, G3ItinerariesFU::G3_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 94
{ 2, G3ItinerariesFU::G3_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 95
{ 2, G3ItinerariesFU::G3_SRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 96
{ 34, G3ItinerariesFU::G3_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 97
{ 3, G3ItinerariesFU::G3_SRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 98
{ 3, G3ItinerariesFU::G3_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 99
{ 5, G3ItinerariesFU::G3_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 100
{ 6, G3ItinerariesFU::G3_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 101
{ 3, G3ItinerariesFU::G3_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 102
{ 8, G3ItinerariesFU::G3_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 103
{ 2, G3ItinerariesFU::G3_IU1 | G3ItinerariesFU::G3_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 104
{ 8, G4ItinerariesFU::G4_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 105
{ 1, G4ItinerariesFU::G4_IU1 | G4ItinerariesFU::G4_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 106
{ 1, G4ItinerariesFU::G4_BPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 107
{ 4, G4ItinerariesFU::G4_VFPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 108
{ 1, G4ItinerariesFU::G4_SRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 109
{ 2, G4ItinerariesFU::G4_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 110
{ 19, G4ItinerariesFU::G4_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 111
{ 1, G4ItinerariesFU::G4_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 112
{ 31, G4ItinerariesFU::G4_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 113
{ 1, G4ItinerariesFU::G4_VIU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 114
{ 3, G4ItinerariesFU::G4_VIU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 115
{ 17, G4ItinerariesFU::G4_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 116
{ 2, G4ItinerariesFU::G4_SRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 117
{ 3, G4ItinerariesFU::G4_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 118
{ 34, G4ItinerariesFU::G4_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 119
{ 3, G4ItinerariesFU::G4_SRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 120
{ 3, G4ItinerariesFU::G4_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 121
{ 5, G4ItinerariesFU::G4_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 122
{ 6, G4ItinerariesFU::G4_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 123
{ 3, G4ItinerariesFU::G4_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 124
{ 5, G4ItinerariesFU::G4_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 125
{ 8, G4ItinerariesFU::G4_SRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 126
{ 2, G4ItinerariesFU::G4_IU1 | G4ItinerariesFU::G4_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 127
{ 1, G4ItinerariesFU::G4_VPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 128
{ 35, G4PlusItinerariesFU::G4P_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 129
{ 1, G4PlusItinerariesFU::G4P_IU1 | G4PlusItinerariesFU::G4P_IU2 | G4PlusItinerariesFU::G4P_IU3 | G4PlusItinerariesFU::G4P_IU4, -1, (llvm::InstrStage::ReservationKinds)0 }, // 130
{ 1, G4PlusItinerariesFU::G4P_BPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 131
{ 4, G4PlusItinerariesFU::G4P_VFPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 132
{ 2, G4PlusItinerariesFU::G4P_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 133
{ 3, G4PlusItinerariesFU::G4P_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 134
{ 23, G4PlusItinerariesFU::G4P_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 135
{ 5, G4PlusItinerariesFU::G4P_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 136
{ 35, G4PlusItinerariesFU::G4P_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 137
{ 1, G4PlusItinerariesFU::G4P_VIU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 138
{ 4, G4PlusItinerariesFU::G4P_VIU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 139
{ 21, G4PlusItinerariesFU::G4P_FPU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 140
{ 3, G4PlusItinerariesFU::G4P_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 141
{ 0, G4PlusItinerariesFU::G4P_IU1 | G4PlusItinerariesFU::G4P_IU2 | G4PlusItinerariesFU::G4P_IU3 | G4PlusItinerariesFU::G4P_IU4, -1, (llvm::InstrStage::ReservationKinds)0 }, // 142
{ 4, G4PlusItinerariesFU::G4P_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 143
{ 37, G4PlusItinerariesFU::G4P_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 144
{ 4, G4PlusItinerariesFU::G4P_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 145
{ 5, G4PlusItinerariesFU::G4P_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 146
{ 2, G4PlusItinerariesFU::G4P_IU1 | G4PlusItinerariesFU::G4P_IU2 | G4PlusItinerariesFU::G4P_IU3 | G4PlusItinerariesFU::G4P_IU4, -1, (llvm::InstrStage::ReservationKinds)0 }, // 147
{ 2, G4PlusItinerariesFU::G4P_VFPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 148
{ 2, G4PlusItinerariesFU::G4P_VPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 149
{ 35, G5ItinerariesFU::G5_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 150
{ 2, G5ItinerariesFU::G5_IU1 | G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 151
{ 1, G5ItinerariesFU::G5_BPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 152
{ 8, G5ItinerariesFU::G5_VFPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 153
{ 4, G5ItinerariesFU::G5_IU1 | G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 154
{ 3, G5ItinerariesFU::G5_IU1 | G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 155
{ 4, G5ItinerariesFU::G5_BPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 156
{ 3, G5ItinerariesFU::G5_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 157
{ 68, G5ItinerariesFU::G5_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 158
{ 36, G5ItinerariesFU::G5_IU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 159
{ 6, G5ItinerariesFU::G5_FPU1 | G5ItinerariesFU::G5_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 160
{ 33, G5ItinerariesFU::G5_FPU1 | G5ItinerariesFU::G5_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 161
{ 8, G5ItinerariesFU::G5_FPU1 | G5ItinerariesFU::G5_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 162
{ 2, G5ItinerariesFU::G5_VIU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 163
{ 5, G5ItinerariesFU::G5_VIU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 164
{ 40, G5ItinerariesFU::G5_FPU1 | G5ItinerariesFU::G5_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 165
{ 40, G5ItinerariesFU::G5_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 166
{ 11, G5ItinerariesFU::G5_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 167
{ 5, G5ItinerariesFU::G5_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 168
{ 64, G5ItinerariesFU::G5_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 169
{ 7, G5ItinerariesFU::G5_IU1 | G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 170
{ 2, G5ItinerariesFU::G5_BPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 171
{ 3, G5ItinerariesFU::G5_BPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 172
{ 2, G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 173
{ 3, G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 174
{ 6, G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 175
{ 10, G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 176
{ 8, G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 177
{ 5, G5ItinerariesFU::G5_IU1 | G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 178
{ 1, G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 179
{ 4, G5ItinerariesFU::G5_SLU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 180
{ 1, G5ItinerariesFU::G5_IU1 | G5ItinerariesFU::G5_IU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 181
{ 2, G5ItinerariesFU::G5_VFPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 182
{ 3, G5ItinerariesFU::G5_VPU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 183
{ 1, PPCA2ItinerariesFU::A2_XU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 184
{ 1, PPCA2ItinerariesFU::A2_FU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 185
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500ItinerariesFU::E500_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 186-187
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500ItinerariesFU::E500_SU0 | PPCE500ItinerariesFU::E500_SU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 188-189
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500ItinerariesFU::E500_BU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 190-191
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500ItinerariesFU::E500_MU, 0, (llvm::InstrStage::ReservationKinds)0 }, { 14, PPCE500ItinerariesFU::E500_MU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 192-194
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 6, PPCE500ItinerariesFU::E500_MU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 195-196
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 32, PPCE500ItinerariesFU::E500_MU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 197-198
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 4, PPCE500ItinerariesFU::E500_MU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 199-200
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500ItinerariesFU::E500_SU0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 201-202
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 29, PPCE500ItinerariesFU::E500_MU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 203-204
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 3, PPCE500ItinerariesFU::E500_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 205-206
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500ItinerariesFU::E500_SU0 | PPCE500ItinerariesFU::E500_SU1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500ItinerariesFU::E500_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 207-209
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 5, PPCE500ItinerariesFU::E500_SU0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 210-211
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 4, PPCE500ItinerariesFU::E500_SU0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 212-213
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 2, PPCE500ItinerariesFU::E500_SU0 | PPCE500ItinerariesFU::E500_SU1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 214-215
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500ItinerariesFU::E500_LSU_0, 0, (llvm::InstrStage::ReservationKinds)0 }, // 216-217
{ 1, PPCE500ItinerariesFU::E500_DIS0 | PPCE500ItinerariesFU::E500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 2, PPCE500ItinerariesFU::E500_SU0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 218-219
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500mcItinerariesFU::E500mc_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 220-221
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500mcItinerariesFU::E500mc_SFX0 | PPCE500mcItinerariesFU::E500mc_SFX1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 222-223
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500mcItinerariesFU::E500mc_BU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 224-225
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500mcItinerariesFU::E500mc_CFX_0, 0, (llvm::InstrStage::ReservationKinds)0 }, { 14, PPCE500mcItinerariesFU::E500mc_CFX_DivBypass, -1, (llvm::InstrStage::ReservationKinds)0 }, // 226-228
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 4, PPCE500mcItinerariesFU::E500mc_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 229-230
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 68, PPCE500mcItinerariesFU::E500mc_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 231-232
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 2, PPCE500mcItinerariesFU::E500mc_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 233-234
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 38, PPCE500mcItinerariesFU::E500mc_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 235-236
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 3, PPCE500mcItinerariesFU::E500mc_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 237-238
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500mcItinerariesFU::E500mc_SFX0 | PPCE500mcItinerariesFU::E500mc_SFX1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500mcItinerariesFU::E500mc_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 239-241
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 5, PPCE500mcItinerariesFU::E500mc_SFX0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 242-243
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 8, PPCE500mcItinerariesFU::E500mc_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 244-245
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 4, PPCE500mcItinerariesFU::E500mc_SFX0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 246-247
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 2, PPCE500mcItinerariesFU::E500mc_SFX0 | PPCE500mcItinerariesFU::E500mc_SFX1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 248-249
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500mcItinerariesFU::E500mc_SFX0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 250-251
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500mcItinerariesFU::E500mc_CFX_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 252-253
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE500mcItinerariesFU::E500mc_LSU_0, 0, (llvm::InstrStage::ReservationKinds)0 }, // 254-255
{ 1, PPCE500mcItinerariesFU::E500mc_DIS0 | PPCE500mcItinerariesFU::E500mc_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 2, PPCE500mcItinerariesFU::E500mc_SFX0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 256-257
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE5500ItinerariesFU::E5500_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 258-259
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE5500ItinerariesFU::E5500_SFX0 | PPCE5500ItinerariesFU::E5500_SFX1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 260-261
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE5500ItinerariesFU::E5500_BU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 262-263
{ 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 }, // 264-266
{ 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 }, // 267-269
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE5500ItinerariesFU::E5500_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 270-271
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 31, PPCE5500ItinerariesFU::E5500_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 272-273
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 16, PPCE5500ItinerariesFU::E5500_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 274-275
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 3, PPCE5500ItinerariesFU::E5500_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 276-277
{ 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 }, // 278-280
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 4, PPCE5500ItinerariesFU::E5500_LSU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 281-282
{ 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 }, // 283-285
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE5500ItinerariesFU::E5500_CFX_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 286-287
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 5, PPCE5500ItinerariesFU::E5500_CFX_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 288-289
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 4, PPCE5500ItinerariesFU::E5500_CFX_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 290-291
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 7, PPCE5500ItinerariesFU::E5500_FPU_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 292-293
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 2, PPCE5500ItinerariesFU::E5500_CFX_0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 294-295
{ 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 }, // 296-298
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 2, PPCE5500ItinerariesFU::E5500_SFX0 | PPCE5500ItinerariesFU::E5500_SFX1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 299-300
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, PPCE5500ItinerariesFU::E5500_LSU_0, 0, (llvm::InstrStage::ReservationKinds)0 }, // 301-302
{ 1, PPCE5500ItinerariesFU::E5500_DIS0 | PPCE5500ItinerariesFU::E5500_DIS1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 2, PPCE5500ItinerariesFU::E5500_SFX0, -1, (llvm::InstrStage::ReservationKinds)0 }, // 303-304
{ 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 }, // 305-306
{ 1, P8ItinerariesFU::P8_DU7 | P8ItinerariesFU::P8_DU8, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, P8ItinerariesFU::P8_BRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 307-308
{ 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, P8ItinerariesFU::P8_FPU1 | P8ItinerariesFU::P8_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 309-310
{ 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 }, // 311-312
{ 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, P8ItinerariesFU::P8_CRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 313-314
{ 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 }, // 315-316
{ 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 }, // 317-318
{ 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 }, // 319-320
{ 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 }, // 321-322
{ 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 }, // 323-325
{ 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 }, // 326-328
{ 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 }, // 329-333
{ 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 }, // 334-337
{ 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 }, // 338-344
{ 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 }, // 345-346
{ 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 }, // 347-350
{ 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 }, // 351-354
{ 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 }, // 355-359
{ 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 }, // 360-368
{ 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 }, // 369-372
{ 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 }, // 373-374
{ 1, P8ItinerariesFU::P8_DU1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, P8ItinerariesFU::P8_FXU1 | P8ItinerariesFU::P8_FXU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 375-376
{ 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 }, // 377-384
{ 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 }, // 385-388
{ 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 }, // 389-397
{ 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 }, // 398-400
{ 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 }, // 401-403
{ 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 }, // 404-408
{ 1, P8ItinerariesFU::P8_DU1 | P8ItinerariesFU::P8_DU2, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, P8ItinerariesFU::P8_FPU1 | P8ItinerariesFU::P8_FPU2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 409-410
{ 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 }, // 411-412
{ 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 }, // 413-414
{ 1, P7ItinerariesFU::P7_DU5 | P7ItinerariesFU::P7_DU6, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, P7ItinerariesFU::P7_BRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 415-416
{ 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, P7ItinerariesFU::P7_VS1 | P7ItinerariesFU::P7_VS2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 417-418
{ 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, P7ItinerariesFU::P7_CRU, -1, (llvm::InstrStage::ReservationKinds)0 }, // 419-420
{ 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 }, // 421-422
{ 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 }, // 423-425
{ 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 }, // 426-428
{ 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 }, // 429-430
{ 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, P7ItinerariesFU::P7_VS1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 431-432
{ 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 }, // 433-435
{ 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 }, // 436-438
{ 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 }, // 439-443
{ 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 }, // 444-447
{ 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 }, // 448-454
{ 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 }, // 455-458
{ 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 }, // 459-463
{ 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 }, // 464-471
{ 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 }, // 472-477
{ 1, P7ItinerariesFU::P7_DU1, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, P7ItinerariesFU::P7_FX1, -1, (llvm::InstrStage::ReservationKinds)0 }, // 478-479
{ 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 }, // 480-486
{ 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 }, // 487-489
{ 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 }, // 490-494
{ 1, P7ItinerariesFU::P7_DU1 | P7ItinerariesFU::P7_DU2, 0, (llvm::InstrStage::ReservationKinds)0 }, { 1, P7ItinerariesFU::P7_VS2, -1, (llvm::InstrStage::ReservationKinds)0 }, // 495-496
{ 0, 0, 0, llvm::InstrStage::Required } // End stages
};
extern const unsigned PPCOperandCycles[] = {
0, // No itinerary
2, 0, 0, // 1-3
2, 0, 0, // 4-6
4, 0, // 7-8
2, 0, 0, // 9-11
2, 0, 0, // 12-14
4, 0, 0, // 15-17
1, 1, // 18-19
5, 1, 1, // 20-22
36, 0, 0, // 23-25
6, 0, 0, // 26-28
31, 0, 0, // 29-31
6, 0, 0, // 32-34
6, 0, 0, // 35-37
1, 1, 1, // 38-40
19, 0, 0, // 41-43
6, 0, 0, 0, // 44-47
4, 1, 1, // 48-50
2, 0, 0, 0, // 51-54
4, 1, 1, // 55-57
5, 2, 1, 1, // 58-61
5, 2, 1, 1, // 62-65
5, 1, 1, // 66-68
5, 2, 1, 1, // 69-72
5, 2, 1, 1, // 73-76
4, 1, 1, // 77-79
4, 1, 1, // 80-82
4, 1, 1, // 83-85
4, 1, 1, // 86-88
4, 0, 0, // 89-91
4, 0, 0, // 92-94
4, 0, // 95-96
6, 0, // 97-98
3, 0, 0, // 99-101
3, 0, // 102-103
2, 0, // 104-105
6, 0, // 106-107
6, 0, // 108-109
3, 0, 0, // 110-112
2, 0, // 113-114
5, 0, // 115-116
4, 0, 0, // 117-119
4, 0, 0, // 120-122
4, 0, 0, // 123-125
4, 0, // 126-127
2, 0, 0, // 128-130
4, 1, 1, // 131-133
2, 1, 1, 1, // 134-137
2, 1, 1, 1, // 138-141
4, 1, 1, // 142-144
4, 1, 1, // 145-147
1, 1, 1, // 148-150
2, 1, 1, 1, // 151-154
2, 0, // 155-156
6, 0, // 157-158
3, 0, 0, // 159-161
3, 0, 0, // 162-164
2, 0, 0, // 165-167
2, 0, // 168-169
6, 0, 0, // 170-172
6, 0, 0, // 173-175
2, 0, 0, // 176-178
2, 0, 0, // 179-181
2, 0, 0, // 182-184
2, 0, 0, // 185-187
4, 0, 0, // 188-190
4, 0, 0, // 191-193
4, 0, // 194-195
6, 0, // 196-197
5, 1, 1, // 198-200
2, 0, 0, // 201-203
4, 0, 0, // 204-206
4, 0, 0, // 207-209
2, 0, 0, // 210-212
6, 0, 0, // 213-215
2, 0, 0, // 216-218
2, 0, 0, 0, // 219-222
6, 0, // 223-224
1, 1, 1, // 225-227
5, 1, 1, // 228-230
6, 0, 0, // 231-233
4, 0, 0, // 234-236
4, 0, 0, // 237-239
4, 0, 0, // 240-242
6, 0, 0, // 243-245
6, 0, 0, // 246-248
6, 0, 0, 0, // 249-252
6, 0, 0, // 253-255
4, 0, 0, // 256-258
4, 0, 0, // 259-261
6, 0, 0, // 262-264
6, 0, 0, // 265-267
6, 0, 0, 0, // 268-271
5, 1, 1, // 272-274
6, 0, 0, // 275-277
5, 1, 1, // 278-280
5, 1, 1, // 281-283
5, 1, 1, // 284-286
1, 1, // 287-288
4, 1, 1, // 289-291
5, 1, 1, // 292-294
4, 1, 1, // 295-297
4, 1, 1, // 298-300
5, 1, 1, // 301-303
5, 2, 1, 1, // 304-307
5, 2, 1, 1, // 308-311
6, 0, // 312-313
4, 1, 1, // 314-316
4, 1, 1, // 317-319
4, 1, 1, // 320-322
6, 0, // 323-324
5, 1, 1, // 325-327
5, 1, 1, // 328-330
5, 1, 1, // 331-333
5, 1, 1, // 334-336
4, 1, 1, // 337-339
4, 1, 1, // 340-342
5, 1, 1, // 343-345
1, 1, 1, // 346-348
1, 1, 1, // 349-351
4, 1, 1, // 352-354
5, 1, 1, // 355-357
4, 1, 1, // 358-360
1, 1, 1, // 361-363
1, 1, 1, // 364-366
5, 1, 1, // 367-369
6, 0, // 370-371
2, 0, 0, // 372-374
6, 0, // 375-376
6, 0, // 377-378
3, 0, // 379-380
2, 0, // 381-382
6, 0, // 383-384
36, 0, 0, // 385-387
36, 0, 0, // 388-390
36, 0, 0, // 391-393
36, 0, 0, // 394-396
4, 0, 0, // 397-399
2, 0, 0, // 400-402
6, 0, 0, // 403-405
4, 0, 0, // 406-408
3, 0, 0, // 409-411
3, 0, 0, // 412-414
2, 0, 0, // 415-417
2, 0, 0, // 418-420
2, 0, 0, // 421-423
3, 0, 0, // 424-426
4, 0, // 427-428
31, 0, 0, // 429-431
31, 0, 0, // 432-434
31, 0, 0, // 435-437
19, 0, 0, // 438-440
19, 0, 0, // 441-443
19, 0, 0, // 444-446
19, 0, 0, // 447-449
31, 0, 0, // 450-452
5, 2, 1, 1, // 453-456
5, 2, 1, 1, // 457-460
2, 1, 1, 1, // 461-464
2, 1, 1, 1, // 465-468
2, 1, 1, 1, // 469-472
5, 2, 1, 1, // 473-476
5, 2, 1, 1, // 477-480
5, 2, 1, 1, // 481-484
5, 2, 1, 1, // 485-488
4, 0, // 489-490
4, 0, // 491-492
5, 1, 1, // 493-495
1, 1, 1, // 496-498
2, 0, 0, // 499-501
5, 1, 1, // 502-504
1, 1, 1, // 505-507
4, 0, // 508-509
4, 0, // 510-511
5, 1, 1, // 512-514
1, 1, 1, // 515-517
5, 1, 1, // 518-520
1, 1, 1, // 521-523
2, 0, // 524-525
5, 0, // 526-527
6, 0, // 528-529
6, 0, // 530-531
2, 0, 0, // 532-534
2, 0, // 535-536
2, 0, 0, // 537-539
1, 1, // 540-541
6, 0, 0, // 542-544
6, 0, 0, // 545-547
6, 0, 0, 0, // 548-551
6, 0, 0, // 552-554
6, 0, 0, 0, // 555-558
6, 0, 0, // 559-561
4, 0, // 562-563
4, 0, // 564-565
4, 0, // 566-567
4, 0, // 568-569
2, 0, 0, // 570-572
2, 0, 0, // 573-575
36, 0, 0, // 576-578
5, 1, 1, // 579-581
2, 0, // 582-583
2, 0, 0, // 584-586
6, 0, 0, // 587-589
2, 0, 0, // 590-592
6, 0, 0, // 593-595
6, 0, 0, // 596-598
2, 0, 0, // 599-601
2, 0, 0, // 602-604
4, 0, 0, // 605-607
5, 1, 1, // 608-610
6, 0, // 611-612
2, 0, 0, // 613-615
2, 0, 0, // 616-618
2, 0, 0, // 619-621
6, 0, 0, // 622-624
2, 0, 0, // 625-627
2, 0, 0, // 628-630
2, 0, 0, // 631-633
2, 0, 0, // 634-636
2, 0, 0, // 637-639
4, 0, 0, // 640-642
2, 0, 0, // 643-645
2, 0, 0, // 646-648
5, 1, 1, // 649-651
3, 0, 0, // 652-654
6, 0, // 655-656
2, 0, 0, // 657-659
3, 0, 0, // 660-662
2, 0, 0, // 663-665
2, 0, 0, // 666-668
4, 0, // 669-670
6, 0, 0, // 671-673
4, 0, // 674-675
2, 0, 0, // 676-678
2, 0, 0, // 679-681
3, 0, 0, // 682-684
3, 0, 0, // 685-687
5, 1, 1, // 688-690
5, 1, 1, // 691-693
1, 1, // 694-695
5, 1, 1, // 696-698
5, 1, 1, // 699-701
5, 0, // 702-703
2, 0, 0, // 704-706
5, 1, 1, // 707-709
5, 1, 1, // 710-712
5, 1, 1, // 713-715
2, 0, // 716-717
6, 0, // 718-719
2, 0, 0, // 720-722
1, 1, // 723-724
4, 1, 1, // 725-727
1, 1, // 728-729
5, 1, 1, // 730-732
1, 1, 1, // 733-735
4, 1, 1, // 736-738
1, 1, 1, // 739-741
5, 1, 1, // 742-744
5, 1, 1, // 745-747
5, 1, 1, // 748-750
5, 1, 1, // 751-753
4, 0, // 754-755
1, 1, // 756-757
5, 1, 1, // 758-760
1, 1, 1, // 761-763
4, 0, // 764-765
4, 0, // 766-767
5, 1, 1, // 768-770
2, 0, 0, // 771-773
6, // 774
1, 0, 0, // 775-777
2, 0, 0, // 778-780
6, 0, 0, // 781-783
2, 0, 0, // 784-786
2, 0, 0, // 787-789
1, 0, 0, // 790-792
1, 0, 0, // 793-795
6, 0, 0, // 796-798
71, 0, 0, // 799-801
39, 0, 0, // 802-804
6, 0, 0, // 805-807
72, 0, 0, // 808-810
5, 0, 0, // 811-813
6, 0, 0, // 814-816
0, 0, 0, // 817-819
2, 0, 0, // 820-822
59, 0, 0, // 823-825
6, 0, 0, 0, // 826-829
69, 0, 0, // 830-832
65, 0, 0, // 833-835
16, 0, 0, // 836-838
2, 0, 0, 0, // 839-842
16, // 843
82, 0, 0, // 844-846
6, 8, 0, 0, // 847-850
6, 8, 0, 0, // 851-854
6, 0, 0, // 855-857
6, 0, 0, // 858-860
7, 0, 0, // 861-863
7, 9, 0, 0, // 864-867
7, 9, 0, 0, // 868-871
6, 0, 0, // 872-874
6, 8, 0, 0, // 875-878
6, 8, 0, 0, // 879-882
5, 0, 0, // 883-885
1, 0, 0, // 886-888
6, 0, // 889-890
6, 0, // 891-892
4, 0, // 893-894
1, 0, // 895-896
4, 0, // 897-898
6, 0, // 899-900
16, 0, // 901-902
5, 0, 0, // 903-905
5, 0, 0, // 906-908
6, 0, 0, // 909-911
16, // 912
2, 0, 0, // 913-915
2, 0, 0, // 916-918
82, 0, 0, // 919-921
2, 0, 0, 0, // 922-925
2, 0, 0, 0, // 926-929
0, 0, 0, // 930-932
82, 0, 0, // 933-935
0, 0, 0, // 936-938
2, 0, 0, 0, // 939-942
2, 0, // 943-944
2, 0, // 945-946
6, 0, // 947-948
2, 0, 0, // 949-951
2, 0, // 952-953
2, 0, // 954-955
5, 0, 0, // 956-958
5, 0, 0, // 959-961
2, 0, 0, // 962-964
2, 0, 0, // 965-967
2, 0, 0, // 968-970
2, 0, 0, // 971-973
2, 0, 0, // 974-976
1, 0, 0, // 977-979
5, 0, 0, // 980-982
1, 0, 0, // 983-985
6, 0, 0, // 986-988
6, 0, // 989-990
6, 0, 0, // 991-993
2, 0, 0, // 994-996
2, 0, 0, // 997-999
2, 0, 0, // 1000-1002
1, 0, // 1003-1004
1, 0, 0, // 1005-1007
1, 0, 0, // 1008-1010
2, 0, 0, // 1011-1013
6, 0, 0, // 1014-1016
2, 0, 0, // 1017-1019
2, 0, 0, 0, // 1020-1023
6, 0, // 1024-1025
0, 0, 0, // 1026-1028
6, 0, 0, // 1029-1031
5, 0, 0, // 1032-1034
5, 0, 0, // 1035-1037
5, 0, 0, // 1038-1040
6, 0, 0, // 1041-1043
6, 0, 0, // 1044-1046
6, 0, 0, // 1047-1049
6, 0, 0, 0, // 1050-1053
6, 0, 0, // 1054-1056
5, 0, 0, // 1057-1059
5, 0, 0, // 1060-1062
6, 0, 0, // 1063-1065
6, 0, 0, // 1066-1068
6, 0, 0, 0, // 1069-1072
6, 0, 0, // 1073-1075
5, 0, 0, // 1076-1078
6, 0, 0, // 1079-1081
6, 0, 0, // 1082-1084
7, 0, 0, // 1085-1087
1, 0, 0, // 1088-1090
16, 0, 0, // 1091-1093
6, 0, 0, // 1094-1096
82, 0, 0, // 1097-1099
16, // 1100
6, // 1101
7, 0, 0, // 1102-1104
6, 8, 0, 0, // 1105-1108
6, 8, 0, 0, // 1109-1112
6, 0, // 1113-1114
82, 0, 0, // 1115-1117
82, 0, 0, // 1118-1120
6, 0, 0, // 1121-1123
6, 0, // 1124-1125
7, 0, 0, // 1126-1128
7, 0, 0, // 1129-1131
7, 0, 0, // 1132-1134
7, 0, 0, // 1135-1137
6, 8, 0, 0, // 1138-1141
6, 8, 0, 0, // 1142-1145
7, 0, 0, // 1146-1148
0, 0, 0, // 1149-1151
0, 0, 0, // 1152-1154
0, 0, 0, // 1155-1157
6, 0, 0, // 1158-1160
0, 0, 0, // 1161-1163
0, 0, 0, // 1164-1166
6, 0, 0, // 1167-1169
6, 0, // 1170-1171
2, 0, 0, // 1172-1174
4, 0, // 1175-1176
6, 0, // 1177-1178
4, 0, // 1179-1180
16, 0, // 1181-1182
6, 0, // 1183-1184
39, 0, 0, // 1185-1187
39, 0, 0, // 1188-1190
71, 0, 0, // 1191-1193
71, 0, 0, // 1194-1196
39, 0, 0, // 1197-1199
71, 0, 0, // 1200-1202
39, 0, 0, // 1203-1205
71, 0, 0, // 1206-1208
1, 0, 0, // 1209-1211
2, 0, 0, // 1212-1214
6, 0, 0, // 1215-1217
5, 0, 0, // 1218-1220
2, 0, 0, // 1221-1223
2, 0, 0, // 1224-1226
2, 0, 0, // 1227-1229
2, 0, 0, // 1230-1232
2, 0, 0, // 1233-1235
6, 0, // 1236-1237
2, 0, 0, // 1238-1240
2, 0, 0, // 1241-1243
72, 0, 0, // 1244-1246
72, 0, 0, // 1247-1249
69, 0, 0, // 1250-1252
69, 0, 0, // 1253-1255
69, 0, 0, // 1256-1258
65, 0, 0, // 1259-1261
69, 0, 0, // 1262-1264
65, 0, 0, // 1265-1267
65, 0, 0, // 1268-1270
65, 0, 0, // 1271-1273
72, 0, 0, // 1274-1276
59, 0, 0, // 1277-1279
59, 0, 0, // 1280-1282
59, 0, 0, // 1283-1285
59, 0, 0, // 1286-1288
72, 0, 0, // 1289-1291
7, 9, 0, 0, // 1292-1295
7, 9, 0, 0, // 1296-1299
2, 0, 0, 0, // 1300-1303
2, 0, 0, 0, // 1304-1307
2, 0, 0, 0, // 1308-1311
6, 8, 0, 0, // 1312-1315
6, 8, 0, 0, // 1316-1319
6, 0, 0, // 1320-1322
6, 0, 0, // 1323-1325
7, 9, 0, 0, // 1326-1329
7, 9, 0, 0, // 1330-1333
6, 0, 0, // 1334-1336
6, 0, 0, // 1337-1339
6, 0, 0, // 1340-1342
0, 0, 0, // 1343-1345
1, 0, 0, // 1346-1348
6, 0, 0, // 1349-1351
0, 0, 0, // 1352-1354
6, 0, 0, // 1355-1357
16, // 1358
6, 0, 0, // 1359-1361
0, 0, 0, // 1362-1364
7, 0, 0, // 1365-1367
0, 0, 0, // 1368-1370
6, 0, // 1371-1372
6, 0, // 1373-1374
1, 0, 0, // 1375-1377
16, 0, // 1378-1379
2, 0, 0, // 1380-1382
6, // 1383
1, 0, 0, // 1384-1386
6, 0, 0, // 1387-1389
6, 0, 0, // 1390-1392
6, 0, 0, 0, // 1393-1396
6, 0, 0, // 1397-1399
6, 0, 0, 0, // 1400-1403
6, 0, 0, // 1404-1406
6, 0, 0, // 1407-1409
6, 0, 0, // 1410-1412
6, 0, 0, // 1413-1415
6, 0, 0, // 1416-1418
2, 0, 0, // 1419-1421
2, 0, 0, // 1422-1424
39, 0, 0, // 1425-1427
6, 0, 0, // 1428-1430
2, 0, // 1431-1432
2, 0, 0, // 1433-1435
5, 0, 0, // 1436-1438
2, 0, 0, // 1439-1441
5, 0, 0, // 1442-1444
5, 0, 0, // 1445-1447
2, 0, 0, // 1448-1450
2, 0, 0, // 1451-1453
2, 0, 0, // 1454-1456
2, 0, 0, // 1457-1459
2, 0, 0, // 1460-1462
2, 0, 0, // 1463-1465
1, 0, 0, // 1466-1468
6, 0, 0, // 1469-1471
6, 0, // 1472-1473
1, 0, 0, // 1474-1476
1, 0, 0, // 1477-1479
2, 0, 0, // 1480-1482
6, 0, 0, // 1483-1485
2, 0, 0, // 1486-1488
2, 0, 0, // 1489-1491
1, 0, 0, // 1492-1494
2, 0, 0, // 1495-1497
2, 0, 0, // 1498-1500
1, 0, 0, // 1501-1503
2, 0, 0, // 1504-1506
2, 0, 0, // 1507-1509
2, 0, 0, // 1510-1512
6, 0, 0, // 1513-1515
2, 0, 0, // 1516-1518
6, 0, // 1519-1520
2, 0, 0, // 1521-1523
1, 0, 0, // 1524-1526
2, 0, 0, // 1527-1529
6, 0, 0, // 1530-1532
6, 0, 0, // 1533-1535
6, 0, 0, // 1536-1538
2, 0, 0, // 1539-1541
2, 0, 0, // 1542-1544
6, 0, 0, // 1545-1547
7, 0, 0, // 1548-1550
1, 0, 0, // 1551-1553
6, 0, 0, // 1554-1556
6, 0, 0, // 1557-1559
2, 0, 0, // 1560-1562
6, 0, 0, // 1563-1565
7, 0, 0, // 1566-1568
7, 0, 0, // 1569-1571
4, 0, // 1572-1573
2, 0, 0, // 1574-1576
1, 0, 0, // 1577-1579
16, 0, 0, // 1580-1582
1, 0, 0, // 1583-1585
7, 0, 0, // 1586-1588
0, 0, 0, // 1589-1591
0, 0, 0, // 1592-1594
0, 0, 0, // 1595-1597
6, 0, 0, // 1598-1600
6, 0, 0, // 1601-1603
7, 0, 0, // 1604-1606
7, 0, 0, // 1607-1609
6, 0, 0, // 1610-1612
1, 0, 0, // 1613-1615
6, 0, 0, // 1616-1618
0, 0, 0, // 1619-1621
6, 0, 0, // 1622-1624
6, 0, 0, // 1625-1627
7, 0, 0, // 1628-1630
1, 0, 0, // 1631-1633
4, 1, 1, // 1634-1636
4, 1, 1, // 1637-1639
4, 1, // 1640-1641
4, 1, 1, // 1642-1644
5, 1, 1, // 1645-1647
4, 1, 1, // 1648-1650
6, 1, // 1651-1652
6, 1, // 1653-1654
17, 1, 1, // 1655-1657
9, 1, 1, // 1658-1660
35, 1, 1, // 1661-1663
7, 1, 1, // 1664-1666
4, 1, 1, // 1667-1669
7, 1, 1, // 1670-1672
6, 1, // 1673-1674
32, 1, 1, // 1675-1677
6, 1, // 1678-1679
4, 1, 1, 1, // 1680-1683
6, 1, 1, // 1684-1686
6, 1, // 1687-1688
6, 1, // 1689-1690
6, 1, // 1691-1692
6, 1, // 1693-1694
6, 1, // 1695-1696
7, 1, // 1697-1698
4, 1, // 1699-1700
4, 1, 1, // 1701-1703
8, 1, // 1704-1705
4, 1, // 1706-1707
7, 1, // 1708-1709
8, 1, // 1710-1711
7, 1, // 1712-1713
7, 1, // 1714-1715
7, 1, // 1716-1717
4, 1, // 1718-1719
5, 1, // 1720-1721
4, 1, // 1722-1723
5, 1, // 1724-1725
7, 1, 1, // 1726-1728
7, 1, 1, // 1729-1731
7, 1, 1, // 1732-1734
4, 1, 1, // 1735-1737
6, 1, // 1738-1739
6, 1, // 1740-1741
6, 1, // 1742-1743
5, 1, // 1744-1745
4, 1, 1, // 1746-1748
4, 1, // 1749-1750
5, 1, 1, // 1751-1753
5, 1, // 1754-1755
4, 1, 1, // 1756-1758
4, 1, 1, // 1759-1761
5, 1, 1, // 1762-1764
4, 1, 1, // 1765-1767
4, 1, 1, // 1768-1770
4, 1, // 1771-1772
4, 1, 1, // 1773-1775
4, 1, // 1776-1777
4, 1, // 1778-1779
6, 1, // 1780-1781
4, 1, 1, // 1782-1784
8, 1, // 1785-1786
4, 1, 1, // 1787-1789
4, 1, 1, // 1790-1792
4, 1, 1, // 1793-1795
4, 1, 1, // 1796-1798
4, 1, 1, 1, // 1799-1802
4, 1, // 1803-1804
6, 1, // 1805-1806
6, 1, // 1807-1808
4, 1, 1, // 1809-1811
4, 1, 1, // 1812-1814
7, 1, 1, // 1815-1817
7, 1, 1, // 1818-1820
7, 1, 1, // 1821-1823
7, 1, 1, // 1824-1826
7, 1, 1, // 1827-1829
6, 1, // 1830-1831
4, 1, 1, // 1832-1834
6, 1, // 1835-1836
6, 1, // 1837-1838
6, 1, // 1839-1840
6, 1, // 1841-1842
6, 1, // 1843-1844
6, 1, 1, // 1845-1847
7, 1, // 1848-1849
6, 1, // 1850-1851
6, 1, // 1852-1853
4, 1, // 1854-1855
6, 1, // 1856-1857
6, 1, // 1858-1859
4, 1, // 1860-1861
6, 1, // 1862-1863
6, 1, // 1864-1865
6, 1, // 1866-1867
6, 1, // 1868-1869
7, 1, // 1870-1871
6, 1, // 1872-1873
6, 1, // 1874-1875
4, 1, // 1876-1877
4, 1, 1, // 1878-1880
7, 1, // 1881-1882
4, 1, // 1883-1884
7, 1, // 1885-1886
4, 1, // 1887-1888
7, 1, // 1889-1890
5, 1, // 1891-1892
4, 1, // 1893-1894
17, 1, 1, // 1895-1897
17, 1, 1, // 1898-1900
17, 1, 1, // 1901-1903
17, 1, 1, // 1904-1906
4, 1, 1, // 1907-1909
4, 1, 1, // 1910-1912
4, 1, // 1913-1914
4, 1, 1, // 1915-1917
4, 1, 1, // 1918-1920
4, 1, 1, // 1921-1923
8, 1, // 1924-1925
35, 1, 1, // 1926-1928
35, 1, 1, // 1929-1931
35, 1, 1, // 1932-1934
32, 1, 1, // 1935-1937
32, 1, 1, // 1938-1940
32, 1