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 | |