1// Autogenerated by TargetFeatureEmitter.cpp
2
3
4#ifdef GET_SUBTARGETFEATURES_ENUM
5#undef GET_SUBTARGETFEATURES_ENUM
6
7namespace llvm {
8namespace PPC {
9enum {
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
134namespace llvm {
135// Sorted (by key) array of values for CPU features.
136extern 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.
224extern 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