| 1 | // Autogenerated by TargetFeatureEmitter.cpp |
| 2 | |
| 3 | |
| 4 | #ifdef GET_SUBTARGETFEATURES_ENUM |
| 5 | #undef GET_SUBTARGETFEATURES_ENUM |
| 6 | |
| 7 | namespace llvm { |
| 8 | namespace PPC { |
| 9 | enum { |
| 10 | AIXOS = 0, |
| 11 | DeprecatedDST = 1, |
| 12 | Directive32 = 2, |
| 13 | Directive64 = 3, |
| 14 | Directive440 = 4, |
| 15 | Directive601 = 5, |
| 16 | Directive602 = 6, |
| 17 | Directive603 = 7, |
| 18 | Directive604 = 8, |
| 19 | Directive620 = 9, |
| 20 | Directive750 = 10, |
| 21 | Directive970 = 11, |
| 22 | Directive7400 = 12, |
| 23 | DirectiveA2 = 13, |
| 24 | DirectiveE500 = 14, |
| 25 | DirectiveE500mc = 15, |
| 26 | DirectiveE5500 = 16, |
| 27 | DirectivePwr3 = 17, |
| 28 | DirectivePwr4 = 18, |
| 29 | DirectivePwr5 = 19, |
| 30 | DirectivePwr5x = 20, |
| 31 | DirectivePwr6 = 21, |
| 32 | DirectivePwr6x = 22, |
| 33 | DirectivePwr7 = 23, |
| 34 | DirectivePwr8 = 24, |
| 35 | DirectivePwr9 = 25, |
| 36 | DirectivePwr10 = 26, |
| 37 | DirectivePwr11 = 27, |
| 38 | DirectivePwrFuture = 28, |
| 39 | Feature64Bit = 29, |
| 40 | Feature64BitRegs = 30, |
| 41 | FeatureAIXLocalDynamicTLS = 31, |
| 42 | FeatureAIXLocalExecTLS = 32, |
| 43 | FeatureAIXSharedLibTLSModelOpt = 33, |
| 44 | FeatureAddLogicalFusion = 34, |
| 45 | FeatureAddiLoadFusion = 35, |
| 46 | FeatureAddisLoadFusion = 36, |
| 47 | FeatureAltivec = 37, |
| 48 | FeatureArithAddFusion = 38, |
| 49 | FeatureBPERMD = 39, |
| 50 | FeatureBack2BackFusion = 40, |
| 51 | FeatureBookE = 41, |
| 52 | FeatureCMPB = 42, |
| 53 | FeatureCRBits = 43, |
| 54 | FeatureCompareFusion = 44, |
| 55 | FeatureDirectMove = 45, |
| 56 | FeatureE500 = 46, |
| 57 | FeatureEFPU2 = 47, |
| 58 | FeatureExtDiv = 48, |
| 59 | FeatureFCPSGN = 49, |
| 60 | FeatureFPCVT = 50, |
| 61 | FeatureFPRND = 51, |
| 62 | FeatureFPU = 52, |
| 63 | FeatureFRE = 53, |
| 64 | FeatureFRES = 54, |
| 65 | FeatureFRSQRTE = 55, |
| 66 | FeatureFRSQRTES = 56, |
| 67 | FeatureFSqrt = 57, |
| 68 | FeatureFastMFLR = 58, |
| 69 | FeatureFloat128 = 59, |
| 70 | FeatureFusion = 60, |
| 71 | FeatureHTM = 61, |
| 72 | FeatureHardFloat = 62, |
| 73 | FeatureICBT = 63, |
| 74 | FeatureISA2_06 = 64, |
| 75 | FeatureISA2_07 = 65, |
| 76 | FeatureISA3_0 = 66, |
| 77 | FeatureISA3_1 = 67, |
| 78 | FeatureISAFuture = 68, |
| 79 | FeatureISEL = 69, |
| 80 | FeatureInvariantFunctionDescriptors = 70, |
| 81 | FeatureLDBRX = 71, |
| 82 | FeatureLFIWAX = 72, |
| 83 | FeatureLogicalAddFusion = 73, |
| 84 | FeatureLogicalFusion = 74, |
| 85 | FeatureLongCall = 75, |
| 86 | FeatureMFOCRF = 76, |
| 87 | FeatureMFTB = 77, |
| 88 | FeatureMMA = 78, |
| 89 | FeatureMSYNC = 79, |
| 90 | FeatureModernAIXAs = 80, |
| 91 | FeatureP8Altivec = 81, |
| 92 | FeatureP8Crypto = 82, |
| 93 | FeatureP8Vector = 83, |
| 94 | FeatureP9Altivec = 84, |
| 95 | FeatureP9Vector = 85, |
| 96 | FeatureP10Vector = 86, |
| 97 | FeaturePCRelativeMemops = 87, |
| 98 | FeaturePOPCNTD = 88, |
| 99 | FeaturePPC4xx = 89, |
| 100 | FeaturePPC6xx = 90, |
| 101 | FeaturePPCPostRASched = 91, |
| 102 | FeaturePPCPreRASched = 92, |
| 103 | FeaturePairedVectorMemops = 93, |
| 104 | FeaturePartwordAtomic = 94, |
| 105 | FeaturePredictableSelectIsExpensive = 95, |
| 106 | FeaturePrefixInstrs = 96, |
| 107 | FeaturePrivileged = 97, |
| 108 | FeatureQuadwordAtomic = 98, |
| 109 | FeatureROPProtect = 99, |
| 110 | FeatureRecipPrec = 100, |
| 111 | FeatureSPE = 101, |
| 112 | FeatureSTFIWX = 102, |
| 113 | FeatureSecurePlt = 103, |
| 114 | FeatureSha3Fusion = 104, |
| 115 | FeatureSlowPOPCNTD = 105, |
| 116 | FeatureStoreFusion = 106, |
| 117 | FeatureTwoConstNR = 107, |
| 118 | FeatureUnalignedFloats = 108, |
| 119 | FeatureVSX = 109, |
| 120 | FeatureVectorsUseTwoUnits = 110, |
| 121 | FeatureWideImmFusion = 111, |
| 122 | FeatureZeroMoveFusion = 112, |
| 123 | NumSubtargetFeatures = 113 |
| 124 | }; |
| 125 | } // end namespace PPC |
| 126 | } // end namespace llvm |
| 127 | |
| 128 | #endif // GET_SUBTARGETFEATURES_ENUM |
| 129 | |
| 130 | |
| 131 | #ifdef GET_SUBTARGETFEATURES_KV |
| 132 | #undef GET_SUBTARGETFEATURES_KV |
| 133 | |
| 134 | namespace llvm { |
| 135 | // Sorted (by key) array of values for CPU features. |
| 136 | extern const llvm::BasicSubtargetFeatureKV BasicPPCFeatureKV[] = { |
| 137 | { .Key: "64bit" , .Value: PPC::Feature64Bit, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 138 | { .Key: "64bitregs" , .Value: PPC::Feature64BitRegs, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 139 | { .Key: "aix" , .Value: PPC::AIXOS, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 140 | { .Key: "aix-shared-lib-tls-model-opt" , .Value: PPC::FeatureAIXSharedLibTLSModelOpt, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 141 | { .Key: "aix-small-local-dynamic-tls" , .Value: PPC::FeatureAIXLocalDynamicTLS, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 142 | { .Key: "aix-small-local-exec-tls" , .Value: PPC::FeatureAIXLocalExecTLS, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 143 | { .Key: "allow-unaligned-fp-access" , .Value: PPC::FeatureUnalignedFloats, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 144 | { .Key: "altivec" , .Value: PPC::FeatureAltivec, .Implies: { { ._M_elems: { 0x10000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 145 | { .Key: "booke" , .Value: PPC::FeatureBookE, .Implies: { { ._M_elems: { 0x8000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 146 | { .Key: "bpermd" , .Value: PPC::FeatureBPERMD, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 147 | { .Key: "cmpb" , .Value: PPC::FeatureCMPB, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 148 | { .Key: "crbits" , .Value: PPC::FeatureCRBits, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 149 | { .Key: "crypto" , .Value: PPC::FeatureP8Crypto, .Implies: { { ._M_elems: { 0x0ULL, 0x20000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 150 | { .Key: "direct-move" , .Value: PPC::FeatureDirectMove, .Implies: { { ._M_elems: { 0x0ULL, 0x200000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 151 | { .Key: "e500" , .Value: PPC::FeatureE500, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 152 | { .Key: "efpu2" , .Value: PPC::FeatureEFPU2, .Implies: { { ._M_elems: { 0x0ULL, 0x2000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 153 | { .Key: "extdiv" , .Value: PPC::FeatureExtDiv, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 154 | { .Key: "fast-MFLR" , .Value: PPC::FeatureFastMFLR, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 155 | { .Key: "fcpsgn" , .Value: PPC::FeatureFCPSGN, .Implies: { { ._M_elems: { 0x10000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 156 | { .Key: "float128" , .Value: PPC::FeatureFloat128, .Implies: { { ._M_elems: { 0x0ULL, 0x200000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 157 | { .Key: "fpcvt" , .Value: PPC::FeatureFPCVT, .Implies: { { ._M_elems: { 0x10000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 158 | { .Key: "fprnd" , .Value: PPC::FeatureFPRND, .Implies: { { ._M_elems: { 0x10000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 159 | { .Key: "fpu" , .Value: PPC::FeatureFPU, .Implies: { { ._M_elems: { 0x4000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 160 | { .Key: "fre" , .Value: PPC::FeatureFRE, .Implies: { { ._M_elems: { 0x10000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 161 | { .Key: "fres" , .Value: PPC::FeatureFRES, .Implies: { { ._M_elems: { 0x10000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 162 | { .Key: "frsqrte" , .Value: PPC::FeatureFRSQRTE, .Implies: { { ._M_elems: { 0x10000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 163 | { .Key: "frsqrtes" , .Value: PPC::FeatureFRSQRTES, .Implies: { { ._M_elems: { 0x10000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 164 | { .Key: "fsqrt" , .Value: PPC::FeatureFSqrt, .Implies: { { ._M_elems: { 0x10000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 165 | { .Key: "fuse-add-logical" , .Value: PPC::FeatureAddLogicalFusion, .Implies: { { ._M_elems: { 0x1000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 166 | { .Key: "fuse-addi-load" , .Value: PPC::FeatureAddiLoadFusion, .Implies: { { ._M_elems: { 0x1000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 167 | { .Key: "fuse-addis-load" , .Value: PPC::FeatureAddisLoadFusion, .Implies: { { ._M_elems: { 0x1000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 168 | { .Key: "fuse-arith-add" , .Value: PPC::FeatureArithAddFusion, .Implies: { { ._M_elems: { 0x1000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 169 | { .Key: "fuse-back2back" , .Value: PPC::FeatureBack2BackFusion, .Implies: { { ._M_elems: { 0x1000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 170 | { .Key: "fuse-cmp" , .Value: PPC::FeatureCompareFusion, .Implies: { { ._M_elems: { 0x1000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 171 | { .Key: "fuse-logical" , .Value: PPC::FeatureLogicalFusion, .Implies: { { ._M_elems: { 0x1000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 172 | { .Key: "fuse-logical-add" , .Value: PPC::FeatureLogicalAddFusion, .Implies: { { ._M_elems: { 0x1000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 173 | { .Key: "fuse-sha3" , .Value: PPC::FeatureSha3Fusion, .Implies: { { ._M_elems: { 0x1000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 174 | { .Key: "fuse-store" , .Value: PPC::FeatureStoreFusion, .Implies: { { ._M_elems: { 0x1000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 175 | { .Key: "fuse-wideimm" , .Value: PPC::FeatureWideImmFusion, .Implies: { { ._M_elems: { 0x1000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 176 | { .Key: "fuse-zeromove" , .Value: PPC::FeatureZeroMoveFusion, .Implies: { { ._M_elems: { 0x1000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 177 | { .Key: "fusion" , .Value: PPC::FeatureFusion, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 178 | { .Key: "hard-float" , .Value: PPC::FeatureHardFloat, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 179 | { .Key: "htm" , .Value: PPC::FeatureHTM, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 180 | { .Key: "icbt" , .Value: PPC::FeatureICBT, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 181 | { .Key: "invariant-function-descriptors" , .Value: PPC::FeatureInvariantFunctionDescriptors, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 182 | { .Key: "isa-future-instructions" , .Value: PPC::FeatureISAFuture, .Implies: { { ._M_elems: { 0x0ULL, 0x8ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 183 | { .Key: "isa-v206-instructions" , .Value: PPC::FeatureISA2_06, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 184 | { .Key: "isa-v207-instructions" , .Value: PPC::FeatureISA2_07, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 185 | { .Key: "isa-v30-instructions" , .Value: PPC::FeatureISA3_0, .Implies: { { ._M_elems: { 0x0ULL, 0x2ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 186 | { .Key: "isa-v31-instructions" , .Value: PPC::FeatureISA3_1, .Implies: { { ._M_elems: { 0x0ULL, 0x4ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 187 | { .Key: "isel" , .Value: PPC::FeatureISEL, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 188 | { .Key: "ldbrx" , .Value: PPC::FeatureLDBRX, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 189 | { .Key: "lfiwax" , .Value: PPC::FeatureLFIWAX, .Implies: { { ._M_elems: { 0x10000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 190 | { .Key: "longcall" , .Value: PPC::FeatureLongCall, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 191 | { .Key: "mfocrf" , .Value: PPC::FeatureMFOCRF, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 192 | { .Key: "mma" , .Value: PPC::FeatureMMA, .Implies: { { ._M_elems: { 0x0ULL, 0x20180000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 193 | { .Key: "modern-aix-as" , .Value: PPC::FeatureModernAIXAs, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 194 | { .Key: "msync" , .Value: PPC::FeatureMSYNC, .Implies: { { ._M_elems: { 0x20000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 195 | { .Key: "paired-vector-memops" , .Value: PPC::FeaturePairedVectorMemops, .Implies: { { ._M_elems: { 0x0ULL, 0x4ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 196 | { .Key: "partword-atomics" , .Value: PPC::FeaturePartwordAtomic, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 197 | { .Key: "pcrelative-memops" , .Value: PPC::FeaturePCRelativeMemops, .Implies: { { ._M_elems: { 0x0ULL, 0x100000004ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 198 | { .Key: "popcntd" , .Value: PPC::FeaturePOPCNTD, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 199 | { .Key: "power10-vector" , .Value: PPC::FeatureP10Vector, .Implies: { { ._M_elems: { 0x0ULL, 0x200008ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 200 | { .Key: "power8-altivec" , .Value: PPC::FeatureP8Altivec, .Implies: { { ._M_elems: { 0x2000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 201 | { .Key: "power8-vector" , .Value: PPC::FeatureP8Vector, .Implies: { { ._M_elems: { 0x0ULL, 0x200000020000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 202 | { .Key: "power9-altivec" , .Value: PPC::FeatureP9Altivec, .Implies: { { ._M_elems: { 0x0ULL, 0x20004ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 203 | { .Key: "power9-vector" , .Value: PPC::FeatureP9Vector, .Implies: { { ._M_elems: { 0x0ULL, 0x180004ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 204 | { .Key: "ppc-postra-sched" , .Value: PPC::FeaturePPCPostRASched, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 205 | { .Key: "ppc-prera-sched" , .Value: PPC::FeaturePPCPreRASched, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 206 | { .Key: "ppc4xx" , .Value: PPC::FeaturePPC4xx, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 207 | { .Key: "ppc6xx" , .Value: PPC::FeaturePPC6xx, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 208 | { .Key: "predictable-select-expensive" , .Value: PPC::FeaturePredictableSelectIsExpensive, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 209 | { .Key: "prefix-instrs" , .Value: PPC::FeaturePrefixInstrs, .Implies: { { ._M_elems: { 0x0ULL, 0x8ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 210 | { .Key: "privileged" , .Value: PPC::FeaturePrivileged, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 211 | { .Key: "quadword-atomics" , .Value: PPC::FeatureQuadwordAtomic, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 212 | { .Key: "recipprec" , .Value: PPC::FeatureRecipPrec, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 213 | { .Key: "rop-protect" , .Value: PPC::FeatureROPProtect, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 214 | { .Key: "secure-plt" , .Value: PPC::FeatureSecurePlt, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 215 | { .Key: "slow-popcntd" , .Value: PPC::FeatureSlowPOPCNTD, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 216 | { .Key: "spe" , .Value: PPC::FeatureSPE, .Implies: { { ._M_elems: { 0x4000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 217 | { .Key: "stfiwx" , .Value: PPC::FeatureSTFIWX, .Implies: { { ._M_elems: { 0x10000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 218 | { .Key: "two-const-nr" , .Value: PPC::FeatureTwoConstNR, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 219 | { .Key: "vectors-use-two-units" , .Value: PPC::FeatureVectorsUseTwoUnits, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 220 | { .Key: "vsx" , .Value: PPC::FeatureVSX, .Implies: { { ._M_elems: { 0x2000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 221 | }; |
| 222 | |
| 223 | // Sorted (by key) array of values for CPU subtype. |
| 224 | extern const llvm::BasicSubtargetSubTypeKV BasicPPCSubTypeKV[] = { |
| 225 | { .Key: "440" , .Implies: { { ._M_elems: { 0x80c0020000000010ULL, 0xa020ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 226 | { .Key: "450" , .Implies: { { ._M_elems: { 0x80c0020000000010ULL, 0xa020ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 227 | { .Key: "601" , .Implies: { { ._M_elems: { 0x10000000000020ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 228 | { .Key: "602" , .Implies: { { ._M_elems: { 0x10000000000040ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 229 | { .Key: "603" , .Implies: { { ._M_elems: { 0xc0000000000080ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 230 | { .Key: "603e" , .Implies: { { ._M_elems: { 0xc0000000000080ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 231 | { .Key: "603ev" , .Implies: { { ._M_elems: { 0xc0000000000080ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 232 | { .Key: "604" , .Implies: { { ._M_elems: { 0xc0000000000100ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 233 | { .Key: "604e" , .Implies: { { ._M_elems: { 0xc0000000000100ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 234 | { .Key: "620" , .Implies: { { ._M_elems: { 0xc0000000000200ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 235 | { .Key: "7400" , .Implies: { { ._M_elems: { 0xc0002000001000ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 236 | { .Key: "7450" , .Implies: { { ._M_elems: { 0xc0002000001000ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 237 | { .Key: "750" , .Implies: { { ._M_elems: { 0xc0000000000400ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 238 | { .Key: "970" , .Implies: { { ._M_elems: { 0x2c0002020000800ULL, 0x4000003000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 239 | { .Key: "a2" , .Implies: { { ._M_elems: { 0x83ee060020002000ULL, 0x250000031a1ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 240 | { .Key: "e500" , .Implies: { { ._M_elems: { 0x8000020000004000ULL, 0x200000a020ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 241 | { .Key: "e500mc" , .Implies: { { ._M_elems: { 0x8000020000008000ULL, 0x4000002020ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 242 | { .Key: "e5500" , .Implies: { { ._M_elems: { 0x8000020020010000ULL, 0x4000003020ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 243 | { .Key: "future" , .Implies: { { ._M_elems: { 0x87ef2ce43f800002ULL, 0x3d55f9fe77bfULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 244 | { .Key: "g3" , .Implies: { { ._M_elems: { 0xc0000000000400ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 245 | { .Key: "g4" , .Implies: { { ._M_elems: { 0xc0002000001000ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 246 | { .Key: "g4+" , .Implies: { { ._M_elems: { 0xc0002000001000ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 247 | { .Key: "g5" , .Implies: { { ._M_elems: { 0x2c0002020000802ULL, 0x4000003000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 248 | { .Key: "generic" , .Implies: { { ._M_elems: { 0x4000000000000004ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 249 | { .Key: "ppc" , .Implies: { { ._M_elems: { 0x4000000000000004ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 250 | { .Key: "ppc32" , .Implies: { { ._M_elems: { 0x4000000000000004ULL, 0x2000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 251 | { .Key: "ppc64" , .Implies: { { ._M_elems: { 0x2c0002020000008ULL, 0x4000003000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 252 | { .Key: "ppc64le" , .Implies: { { ._M_elems: { 0xa3ef2cb821800002ULL, 0x3854c10e31a3ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 253 | { .Key: "pwr10" , .Implies: { { ._M_elems: { 0x87ef2ce427800002ULL, 0x3d55f9fe77afULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 254 | { .Key: "pwr11" , .Implies: { { ._M_elems: { 0x87ef2ce42f800002ULL, 0x3d55f9fe77afULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 255 | { .Key: "pwr3" , .Implies: { { ._M_elems: { 0xc0002020020000ULL, 0x4000001000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 256 | { .Key: "pwr4" , .Implies: { { ._M_elems: { 0x2c0002020040000ULL, 0x4000003000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 257 | { .Key: "pwr5" , .Implies: { { ._M_elems: { 0x3e0002020080002ULL, 0x4000003000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 258 | { .Key: "pwr5x" , .Implies: { { ._M_elems: { 0x3e8002020100002ULL, 0x4000003000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 259 | { .Key: "pwr6" , .Implies: { { ._M_elems: { 0x3ea042020200002ULL, 0x5000003100ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 260 | { .Key: "pwr6x" , .Implies: { { ._M_elems: { 0x3ea042020100002ULL, 0x5000003100ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 261 | { .Key: "pwr7" , .Implies: { { ._M_elems: { 0x3ef04a020800002ULL, 0x3850010031a1ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 262 | { .Key: "pwr8" , .Implies: { { ._M_elems: { 0xa3ef2cb821800002ULL, 0x3854c10e31a3ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 263 | { .Key: "pwr9" , .Implies: { { ._M_elems: { 0xa3ef2ca023800002ULL, 0x7854d93e31a7ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } }, |
| 264 | }; |
| 265 | |
| 266 | } // end namespace llvm |
| 267 | |
| 268 | #endif // GET_SUBTARGETFEATURES_KV |
| 269 | |
| 270 | |