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 FeatureFutureVector = 62,
74 FeatureHTM = 63,
75 FeatureHardFloat = 64,
76 FeatureICBT = 65,
77 FeatureISA2_06 = 66,
78 FeatureISA2_07 = 67,
79 FeatureISA3_0 = 68,
80 FeatureISA3_1 = 69,
81 FeatureISAFuture = 70,
82 FeatureISEL = 71,
83 FeatureInvariantFunctionDescriptors = 72,
84 FeatureLDBRX = 73,
85 FeatureLFIWAX = 74,
86 FeatureLogicalAddFusion = 75,
87 FeatureLogicalFusion = 76,
88 FeatureLongCall = 77,
89 FeatureMFOCRF = 78,
90 FeatureMFTB = 79,
91 FeatureMMA = 80,
92 FeatureMSYNC = 81,
93 FeatureModernAIXAs = 82,
94 FeatureP8Altivec = 83,
95 FeatureP8Crypto = 84,
96 FeatureP8Vector = 85,
97 FeatureP9Altivec = 86,
98 FeatureP9Vector = 87,
99 FeatureP10Vector = 88,
100 FeaturePCRelativeMemops = 89,
101 FeaturePOPCNTD = 90,
102 FeaturePPC4xx = 91,
103 FeaturePPC6xx = 92,
104 FeaturePPCPostRASched = 93,
105 FeaturePPCPreRASched = 94,
106 FeaturePairedVectorMemops = 95,
107 FeaturePartwordAtomic = 96,
108 FeaturePredictableSelectIsExpensive = 97,
109 FeaturePrefixInstrs = 98,
110 FeaturePrivileged = 99,
111 FeatureQuadwordAtomic = 100,
112 FeatureROPProtect = 101,
113 FeatureRecipPrec = 102,
114 FeatureSPE = 103,
115 FeatureSTFIWX = 104,
116 FeatureSecurePlt = 105,
117 FeatureSha3Fusion = 106,
118 FeatureSlowPOPCNTD = 107,
119 FeatureStoreFusion = 108,
120 FeatureTwoConstNR = 109,
121 FeatureUnalignedFloats = 110,
122 FeatureVSX = 111,
123 FeatureVectorsUseTwoUnits = 112,
124 FeatureWideImmFusion = 113,
125 FeatureZeroMoveFusion = 114,
126 NumSubtargetFeatures = 115
127};
128
129} // namespace PPC
130
131} // namespace llvm
132
133#endif // GET_SUBTARGETFEATURES_ENUM
134
135#ifdef GET_SUBTARGETFEATURES_KV
136#undef GET_SUBTARGETFEATURES_KV
137
138namespace llvm {
139
140// Sorted (by key) array of values for CPU features.
141extern const llvm::BasicSubtargetFeatureKV BasicPPCFeatureKV[] = {
142 { .Key: "64bit", .Value: PPC::Feature64Bit, .Implies: { { ._M_elems: { 0x80000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
143 { .Key: "64bit-support", .Value: PPC::Feature64BitSupport, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
144 { .Key: "64bitregs", .Value: PPC::Feature64BitRegs, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
145 { .Key: "aix", .Value: PPC::AIXOS, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
146 { .Key: "aix-shared-lib-tls-model-opt", .Value: PPC::FeatureAIXSharedLibTLSModelOpt, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
147 { .Key: "aix-small-local-dynamic-tls", .Value: PPC::FeatureAIXLocalDynamicTLS, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
148 { .Key: "aix-small-local-exec-tls", .Value: PPC::FeatureAIXLocalExecTLS, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
149 { .Key: "allow-unaligned-fp-access", .Value: PPC::FeatureUnalignedFloats, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
150 { .Key: "altivec", .Value: PPC::FeatureAltivec, .Implies: { { ._M_elems: { 0x20000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
151 { .Key: "booke", .Value: PPC::FeatureBookE, .Implies: { { ._M_elems: { 0x0ULL, 0x2ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
152 { .Key: "bpermd", .Value: PPC::FeatureBPERMD, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
153 { .Key: "cmpb", .Value: PPC::FeatureCMPB, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
154 { .Key: "crbits", .Value: PPC::FeatureCRBits, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
155 { .Key: "crypto", .Value: PPC::FeatureP8Crypto, .Implies: { { ._M_elems: { 0x0ULL, 0x80000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
156 { .Key: "direct-move", .Value: PPC::FeatureDirectMove, .Implies: { { ._M_elems: { 0x0ULL, 0x800000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
157 { .Key: "e500", .Value: PPC::FeatureE500, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
158 { .Key: "efpu2", .Value: PPC::FeatureEFPU2, .Implies: { { ._M_elems: { 0x0ULL, 0x8000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
159 { .Key: "extdiv", .Value: PPC::FeatureExtDiv, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
160 { .Key: "fast-MFLR", .Value: PPC::FeatureFastMFLR, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
161 { .Key: "fcpsgn", .Value: PPC::FeatureFCPSGN, .Implies: { { ._M_elems: { 0x20000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
162 { .Key: "float128", .Value: PPC::FeatureFloat128, .Implies: { { ._M_elems: { 0x0ULL, 0x800000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
163 { .Key: "fpcvt", .Value: PPC::FeatureFPCVT, .Implies: { { ._M_elems: { 0x20000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
164 { .Key: "fprnd", .Value: PPC::FeatureFPRND, .Implies: { { ._M_elems: { 0x20000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
165 { .Key: "fpu", .Value: PPC::FeatureFPU, .Implies: { { ._M_elems: { 0x0ULL, 0x1ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
166 { .Key: "fre", .Value: PPC::FeatureFRE, .Implies: { { ._M_elems: { 0x20000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
167 { .Key: "fres", .Value: PPC::FeatureFRES, .Implies: { { ._M_elems: { 0x20000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
168 { .Key: "frsqrte", .Value: PPC::FeatureFRSQRTE, .Implies: { { ._M_elems: { 0x20000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
169 { .Key: "frsqrtes", .Value: PPC::FeatureFRSQRTES, .Implies: { { ._M_elems: { 0x20000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
170 { .Key: "fsqrt", .Value: PPC::FeatureFSqrt, .Implies: { { ._M_elems: { 0x20000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
171 { .Key: "fuse-add-logical", .Value: PPC::FeatureAddLogicalFusion, .Implies: { { ._M_elems: { 0x2000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
172 { .Key: "fuse-addi-load", .Value: PPC::FeatureAddiLoadFusion, .Implies: { { ._M_elems: { 0x2000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
173 { .Key: "fuse-addis-load", .Value: PPC::FeatureAddisLoadFusion, .Implies: { { ._M_elems: { 0x2000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
174 { .Key: "fuse-arith-add", .Value: PPC::FeatureArithAddFusion, .Implies: { { ._M_elems: { 0x2000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
175 { .Key: "fuse-back2back", .Value: PPC::FeatureBack2BackFusion, .Implies: { { ._M_elems: { 0x2000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
176 { .Key: "fuse-cmp", .Value: PPC::FeatureCompareFusion, .Implies: { { ._M_elems: { 0x2000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
177 { .Key: "fuse-logical", .Value: PPC::FeatureLogicalFusion, .Implies: { { ._M_elems: { 0x2000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
178 { .Key: "fuse-logical-add", .Value: PPC::FeatureLogicalAddFusion, .Implies: { { ._M_elems: { 0x2000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
179 { .Key: "fuse-sha3", .Value: PPC::FeatureSha3Fusion, .Implies: { { ._M_elems: { 0x2000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
180 { .Key: "fuse-store", .Value: PPC::FeatureStoreFusion, .Implies: { { ._M_elems: { 0x2000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
181 { .Key: "fuse-wideimm", .Value: PPC::FeatureWideImmFusion, .Implies: { { ._M_elems: { 0x2000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
182 { .Key: "fuse-zeromove", .Value: PPC::FeatureZeroMoveFusion, .Implies: { { ._M_elems: { 0x2000000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
183 { .Key: "fusion", .Value: PPC::FeatureFusion, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
184 { .Key: "future-vector", .Value: PPC::FeatureFutureVector, .Implies: { { ._M_elems: { 0x0ULL, 0x1000040ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
185 { .Key: "hard-float", .Value: PPC::FeatureHardFloat, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
186 { .Key: "htm", .Value: PPC::FeatureHTM, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
187 { .Key: "icbt", .Value: PPC::FeatureICBT, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
188 { .Key: "invariant-function-descriptors", .Value: PPC::FeatureInvariantFunctionDescriptors, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
189 { .Key: "isa-future-instructions", .Value: PPC::FeatureISAFuture, .Implies: { { ._M_elems: { 0x0ULL, 0x20ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
190 { .Key: "isa-v206-instructions", .Value: PPC::FeatureISA2_06, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
191 { .Key: "isa-v207-instructions", .Value: PPC::FeatureISA2_07, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
192 { .Key: "isa-v30-instructions", .Value: PPC::FeatureISA3_0, .Implies: { { ._M_elems: { 0x0ULL, 0x8ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
193 { .Key: "isa-v31-instructions", .Value: PPC::FeatureISA3_1, .Implies: { { ._M_elems: { 0x0ULL, 0x10ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
194 { .Key: "isel", .Value: PPC::FeatureISEL, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
195 { .Key: "ldbrx", .Value: PPC::FeatureLDBRX, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
196 { .Key: "lfiwax", .Value: PPC::FeatureLFIWAX, .Implies: { { ._M_elems: { 0x20000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
197 { .Key: "longcall", .Value: PPC::FeatureLongCall, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
198 { .Key: "mfocrf", .Value: PPC::FeatureMFOCRF, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
199 { .Key: "mma", .Value: PPC::FeatureMMA, .Implies: { { ._M_elems: { 0x0ULL, 0x80600000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
200 { .Key: "modern-aix-as", .Value: PPC::FeatureModernAIXAs, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
201 { .Key: "msync", .Value: PPC::FeatureMSYNC, .Implies: { { ._M_elems: { 0x40000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
202 { .Key: "paired-vector-memops", .Value: PPC::FeaturePairedVectorMemops, .Implies: { { ._M_elems: { 0x0ULL, 0x800000000010ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
203 { .Key: "partword-atomics", .Value: PPC::FeaturePartwordAtomic, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
204 { .Key: "pcrelative-memops", .Value: PPC::FeaturePCRelativeMemops, .Implies: { { ._M_elems: { 0x0ULL, 0x400000010ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
205 { .Key: "popcntd", .Value: PPC::FeaturePOPCNTD, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
206 { .Key: "power10-vector", .Value: PPC::FeatureP10Vector, .Implies: { { ._M_elems: { 0x0ULL, 0x800020ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
207 { .Key: "power8-altivec", .Value: PPC::FeatureP8Altivec, .Implies: { { ._M_elems: { 0x4000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
208 { .Key: "power8-vector", .Value: PPC::FeatureP8Vector, .Implies: { { ._M_elems: { 0x0ULL, 0x800000080000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
209 { .Key: "power9-altivec", .Value: PPC::FeatureP9Altivec, .Implies: { { ._M_elems: { 0x0ULL, 0x80010ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
210 { .Key: "power9-vector", .Value: PPC::FeatureP9Vector, .Implies: { { ._M_elems: { 0x0ULL, 0x600010ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
211 { .Key: "ppc-postra-sched", .Value: PPC::FeaturePPCPostRASched, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
212 { .Key: "ppc-prera-sched", .Value: PPC::FeaturePPCPreRASched, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
213 { .Key: "ppc4xx", .Value: PPC::FeaturePPC4xx, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
214 { .Key: "ppc6xx", .Value: PPC::FeaturePPC6xx, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
215 { .Key: "predictable-select-expensive", .Value: PPC::FeaturePredictableSelectIsExpensive, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
216 { .Key: "prefix-instrs", .Value: PPC::FeaturePrefixInstrs, .Implies: { { ._M_elems: { 0x0ULL, 0x20ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
217 { .Key: "privileged", .Value: PPC::FeaturePrivileged, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
218 { .Key: "quadword-atomics", .Value: PPC::FeatureQuadwordAtomic, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
219 { .Key: "recipprec", .Value: PPC::FeatureRecipPrec, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
220 { .Key: "rop-protect", .Value: PPC::FeatureROPProtect, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
221 { .Key: "secure-plt", .Value: PPC::FeatureSecurePlt, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
222 { .Key: "slow-popcntd", .Value: PPC::FeatureSlowPOPCNTD, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
223 { .Key: "spe", .Value: PPC::FeatureSPE, .Implies: { { ._M_elems: { 0x0ULL, 0x1ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
224 { .Key: "stfiwx", .Value: PPC::FeatureSTFIWX, .Implies: { { ._M_elems: { 0x20000000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
225 { .Key: "two-const-nr", .Value: PPC::FeatureTwoConstNR, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
226 { .Key: "vectors-use-two-units", .Value: PPC::FeatureVectorsUseTwoUnits, .Implies: { { ._M_elems: { 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
227 { .Key: "vsx", .Value: PPC::FeatureVSX, .Implies: { { ._M_elems: { 0x4000000000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
228};
229
230// Sorted (by key) array of values for CPU subtype.
231extern const llvm::BasicSubtargetSubTypeKV BasicPPCSubTypeKV[] = {
232 { .Key: "440", .Implies: { { ._M_elems: { 0x180040000000010ULL, 0x28082ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
233 { .Key: "450", .Implies: { { ._M_elems: { 0x180040000000010ULL, 0x28082ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
234 { .Key: "601", .Implies: { { ._M_elems: { 0x20000000000020ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
235 { .Key: "602", .Implies: { { ._M_elems: { 0x20000000000040ULL, 0x8000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
236 { .Key: "603", .Implies: { { ._M_elems: { 0x180000000000080ULL, 0x8000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
237 { .Key: "603e", .Implies: { { ._M_elems: { 0x180000000000080ULL, 0x8000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
238 { .Key: "603ev", .Implies: { { ._M_elems: { 0x180000000000080ULL, 0x8000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
239 { .Key: "604", .Implies: { { ._M_elems: { 0x180000000000100ULL, 0x8000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
240 { .Key: "604e", .Implies: { { ._M_elems: { 0x180000000000100ULL, 0x8000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
241 { .Key: "620", .Implies: { { ._M_elems: { 0x180000000000200ULL, 0x8000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
242 { .Key: "7400", .Implies: { { ._M_elems: { 0x180004000001000ULL, 0x8000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
243 { .Key: "7450", .Implies: { { ._M_elems: { 0x180004000001000ULL, 0x8000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
244 { .Key: "750", .Implies: { { ._M_elems: { 0x180000000000400ULL, 0x8000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
245 { .Key: "970", .Implies: { { ._M_elems: { 0x580004080000800ULL, 0x1000000c000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
246 { .Key: "a2", .Implies: { { ._M_elems: { 0x7dc0c0080002000ULL, 0x9400000c686ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
247 { .Key: "e500", .Implies: { { ._M_elems: { 0x40000004000ULL, 0x8000028082ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
248 { .Key: "e500mc", .Implies: { { ._M_elems: { 0x40000008000ULL, 0x10000008082ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
249 { .Key: "e5500", .Implies: { { ._M_elems: { 0x40080010000ULL, 0x1000000c082ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
250 { .Key: "future", .Implies: { { ._M_elems: { 0x4fde59c89f800002ULL, 0xf557e7f9defeULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
251 { .Key: "g3", .Implies: { { ._M_elems: { 0x180000000000400ULL, 0x8000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
252 { .Key: "g4", .Implies: { { ._M_elems: { 0x180004000001000ULL, 0x8000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
253 { .Key: "g4+", .Implies: { { ._M_elems: { 0x180004000001000ULL, 0x8000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
254 { .Key: "g5", .Implies: { { ._M_elems: { 0x580004080000802ULL, 0x1000000c000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
255 { .Key: "generic", .Implies: { { ._M_elems: { 0x4ULL, 0x8001ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
256 { .Key: "ppc", .Implies: { { ._M_elems: { 0x4ULL, 0x8001ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
257 { .Key: "ppc32", .Implies: { { ._M_elems: { 0x4ULL, 0x8001ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
258 { .Key: "ppc64", .Implies: { { ._M_elems: { 0x580004080000008ULL, 0x1000000c000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
259 { .Key: "ppc64le", .Implies: { { ._M_elems: { 0x87de597081800002ULL, 0xe1530438c68eULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
260 { .Key: "pwr10", .Implies: { { ._M_elems: { 0xfde59c887800002ULL, 0xf557e7f9debeULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
261 { .Key: "pwr11", .Implies: { { ._M_elems: { 0xfde59c88f800002ULL, 0xf557e7f9debeULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
262 { .Key: "pwr3", .Implies: { { ._M_elems: { 0x180004080020000ULL, 0x10000004000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
263 { .Key: "pwr4", .Implies: { { ._M_elems: { 0x580004080040000ULL, 0x1000000c000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
264 { .Key: "pwr5", .Implies: { { ._M_elems: { 0x7c0004080080002ULL, 0x1000000c000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
265 { .Key: "pwr5x", .Implies: { { ._M_elems: { 0x7d0004080100002ULL, 0x1000000c000ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
266 { .Key: "pwr6", .Implies: { { ._M_elems: { 0x7d4084080200002ULL, 0x1400000c400ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
267 { .Key: "pwr6x", .Implies: { { ._M_elems: { 0x7d4084080100002ULL, 0x1400000c400ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
268 { .Key: "pwr7", .Implies: { { ._M_elems: { 0x7de094080800002ULL, 0xe1400400c684ULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
269 { .Key: "pwr8", .Implies: { { ._M_elems: { 0x87de597081800002ULL, 0xe1530438c68eULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
270 { .Key: "pwr9", .Implies: { { ._M_elems: { 0x87de594083800002ULL, 0x1e15364f8c69eULL, 0x0ULL, 0x0ULL, 0x0ULL, 0x0ULL, } } } },
271};
272
273
274} // namespace llvm
275
276#endif // GET_SUBTARGETFEATURES_KV
277
278