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