Lines Matching refs:CPUFeatures
90 CPUFeatures AA64PFR0::GetCPUFeatures() const { in GetCPUFeatures()
91 CPUFeatures f; in GetCPUFeatures()
92 if (Get(kFP) >= 0) f.Combine(CPUFeatures::kFP); in GetCPUFeatures()
93 if (Get(kFP) >= 1) f.Combine(CPUFeatures::kFPHalf); in GetCPUFeatures()
94 if (Get(kAdvSIMD) >= 0) f.Combine(CPUFeatures::kNEON); in GetCPUFeatures()
95 if (Get(kAdvSIMD) >= 1) f.Combine(CPUFeatures::kNEONHalf); in GetCPUFeatures()
96 if (Get(kRAS) >= 1) f.Combine(CPUFeatures::kRAS); in GetCPUFeatures()
97 if (Get(kSVE) >= 1) f.Combine(CPUFeatures::kSVE); in GetCPUFeatures()
98 if (Get(kDIT) >= 1) f.Combine(CPUFeatures::kDIT); in GetCPUFeatures()
99 if (Get(kCSV2) >= 1) f.Combine(CPUFeatures::kCSV2); in GetCPUFeatures()
100 if (Get(kCSV2) >= 2) f.Combine(CPUFeatures::kSCXTNUM); in GetCPUFeatures()
101 if (Get(kCSV3) >= 1) f.Combine(CPUFeatures::kCSV3); in GetCPUFeatures()
105 CPUFeatures AA64PFR1::GetCPUFeatures() const { in GetCPUFeatures()
106 CPUFeatures f; in GetCPUFeatures()
107 if (Get(kBT) >= 1) f.Combine(CPUFeatures::kBTI); in GetCPUFeatures()
108 if (Get(kSSBS) >= 1) f.Combine(CPUFeatures::kSSBS); in GetCPUFeatures()
109 if (Get(kSSBS) >= 2) f.Combine(CPUFeatures::kSSBSControl); in GetCPUFeatures()
110 if (Get(kMTE) >= 1) f.Combine(CPUFeatures::kMTEInstructions); in GetCPUFeatures()
111 if (Get(kMTE) >= 2) f.Combine(CPUFeatures::kMTE); in GetCPUFeatures()
115 CPUFeatures AA64ISAR0::GetCPUFeatures() const { in GetCPUFeatures()
116 CPUFeatures f; in GetCPUFeatures()
117 if (Get(kAES) >= 1) f.Combine(CPUFeatures::kAES); in GetCPUFeatures()
118 if (Get(kAES) >= 2) f.Combine(CPUFeatures::kPmull1Q); in GetCPUFeatures()
119 if (Get(kSHA1) >= 1) f.Combine(CPUFeatures::kSHA1); in GetCPUFeatures()
120 if (Get(kSHA2) >= 1) f.Combine(CPUFeatures::kSHA2); in GetCPUFeatures()
121 if (Get(kSHA2) >= 2) f.Combine(CPUFeatures::kSHA512); in GetCPUFeatures()
122 if (Get(kCRC32) >= 1) f.Combine(CPUFeatures::kCRC32); in GetCPUFeatures()
123 if (Get(kAtomic) >= 1) f.Combine(CPUFeatures::kAtomics); in GetCPUFeatures()
124 if (Get(kRDM) >= 1) f.Combine(CPUFeatures::kRDM); in GetCPUFeatures()
125 if (Get(kSHA3) >= 1) f.Combine(CPUFeatures::kSHA3); in GetCPUFeatures()
126 if (Get(kSM3) >= 1) f.Combine(CPUFeatures::kSM3); in GetCPUFeatures()
127 if (Get(kSM4) >= 1) f.Combine(CPUFeatures::kSM4); in GetCPUFeatures()
128 if (Get(kDP) >= 1) f.Combine(CPUFeatures::kDotProduct); in GetCPUFeatures()
129 if (Get(kFHM) >= 1) f.Combine(CPUFeatures::kFHM); in GetCPUFeatures()
130 if (Get(kTS) >= 1) f.Combine(CPUFeatures::kFlagM); in GetCPUFeatures()
131 if (Get(kTS) >= 2) f.Combine(CPUFeatures::kAXFlag); in GetCPUFeatures()
132 if (Get(kRNDR) >= 1) f.Combine(CPUFeatures::kRNG); in GetCPUFeatures()
136 CPUFeatures AA64ISAR1::GetCPUFeatures() const { in GetCPUFeatures()
137 CPUFeatures f; in GetCPUFeatures()
138 if (Get(kDPB) >= 1) f.Combine(CPUFeatures::kDCPoP); in GetCPUFeatures()
139 if (Get(kDPB) >= 2) f.Combine(CPUFeatures::kDCCVADP); in GetCPUFeatures()
140 if (Get(kJSCVT) >= 1) f.Combine(CPUFeatures::kJSCVT); in GetCPUFeatures()
141 if (Get(kFCMA) >= 1) f.Combine(CPUFeatures::kFcma); in GetCPUFeatures()
142 if (Get(kLRCPC) >= 1) f.Combine(CPUFeatures::kRCpc); in GetCPUFeatures()
143 if (Get(kLRCPC) >= 2) f.Combine(CPUFeatures::kRCpcImm); in GetCPUFeatures()
144 if (Get(kFRINTTS) >= 1) f.Combine(CPUFeatures::kFrintToFixedSizedInt); in GetCPUFeatures()
145 if (Get(kSB) >= 1) f.Combine(CPUFeatures::kSB); in GetCPUFeatures()
146 if (Get(kSPECRES) >= 1) f.Combine(CPUFeatures::kSPECRES); in GetCPUFeatures()
147 if (Get(kBF16) >= 1) f.Combine(CPUFeatures::kBF16); in GetCPUFeatures()
148 if (Get(kDGH) >= 1) f.Combine(CPUFeatures::kDGH); in GetCPUFeatures()
149 if (Get(kI8MM) >= 1) f.Combine(CPUFeatures::kI8MM); in GetCPUFeatures()
155 f.Combine(CPUFeatures::kPAuth); in GetCPUFeatures()
157 if (Get(kAPA) >= 1) f.Combine(CPUFeatures::kPAuthQARMA); in GetCPUFeatures()
158 if (apx == 0b0010) f.Combine(CPUFeatures::kPAuthEnhancedPAC); in GetCPUFeatures()
159 if (apx >= 0b0011) f.Combine(CPUFeatures::kPAuthEnhancedPAC2); in GetCPUFeatures()
160 if (apx >= 0b0100) f.Combine(CPUFeatures::kPAuthFPAC); in GetCPUFeatures()
161 if (apx >= 0b0101) f.Combine(CPUFeatures::kPAuthFPACCombined); in GetCPUFeatures()
164 if (Get(kGPI) >= 1) f.Combine(CPUFeatures::kPAuthGeneric); in GetCPUFeatures()
166 f.Combine(CPUFeatures::kPAuthGeneric, CPUFeatures::kPAuthGenericQARMA); in GetCPUFeatures()
171 CPUFeatures AA64MMFR1::GetCPUFeatures() const { in GetCPUFeatures()
172 CPUFeatures f; in GetCPUFeatures()
173 if (Get(kLO) >= 1) f.Combine(CPUFeatures::kLORegions); in GetCPUFeatures()
177 CPUFeatures AA64MMFR2::GetCPUFeatures() const { in GetCPUFeatures()
178 CPUFeatures f; in GetCPUFeatures()
179 if (Get(kAT) >= 1) f.Combine(CPUFeatures::kUSCAT); in GetCPUFeatures()
183 CPUFeatures AA64ZFR0::GetCPUFeatures() const { in GetCPUFeatures()
186 CPUFeatures f; in GetCPUFeatures()
187 if (Get(kF64MM) >= 1) f.Combine(CPUFeatures::kSVEF64MM); in GetCPUFeatures()
188 if (Get(kF32MM) >= 1) f.Combine(CPUFeatures::kSVEF32MM); in GetCPUFeatures()
189 if (Get(kI8MM) >= 1) f.Combine(CPUFeatures::kSVEI8MM); in GetCPUFeatures()
190 if (Get(kBF16) >= 1) f.Combine(CPUFeatures::kSVEBF16); in GetCPUFeatures()
209 CPUFeatures CPU::InferCPUFeaturesFromIDRegisters() { in InferCPUFeaturesFromIDRegisters()
210 CPUFeatures f; in InferCPUFeaturesFromIDRegisters()
218 CPUFeatures CPU::InferCPUFeaturesFromOS( in InferCPUFeaturesFromOS()
219 CPUFeatures::QueryIDRegistersOption option) { in InferCPUFeaturesFromOS()
220 CPUFeatures features; in InferCPUFeaturesFromOS()
226 static const CPUFeatures::Feature kFeatureBits[] = in InferCPUFeaturesFromOS()
228 CPUFeatures::kFP, in InferCPUFeaturesFromOS()
229 CPUFeatures::kNEON, in InferCPUFeaturesFromOS()
230 CPUFeatures::kNone, // "EVTSTRM", which VIXL doesn't track. in InferCPUFeaturesFromOS()
231 CPUFeatures::kAES, in InferCPUFeaturesFromOS()
232 CPUFeatures::kPmull1Q, in InferCPUFeaturesFromOS()
233 CPUFeatures::kSHA1, in InferCPUFeaturesFromOS()
234 CPUFeatures::kSHA2, in InferCPUFeaturesFromOS()
235 CPUFeatures::kCRC32, in InferCPUFeaturesFromOS()
237 CPUFeatures::kAtomics, in InferCPUFeaturesFromOS()
238 CPUFeatures::kFPHalf, in InferCPUFeaturesFromOS()
239 CPUFeatures::kNEONHalf, in InferCPUFeaturesFromOS()
240 CPUFeatures::kIDRegisterEmulation, in InferCPUFeaturesFromOS()
241 CPUFeatures::kRDM, in InferCPUFeaturesFromOS()
242 CPUFeatures::kJSCVT, in InferCPUFeaturesFromOS()
243 CPUFeatures::kFcma, in InferCPUFeaturesFromOS()
244 CPUFeatures::kRCpc, in InferCPUFeaturesFromOS()
246 CPUFeatures::kDCPoP, in InferCPUFeaturesFromOS()
247 CPUFeatures::kSHA3, in InferCPUFeaturesFromOS()
248 CPUFeatures::kSM3, in InferCPUFeaturesFromOS()
249 CPUFeatures::kSM4, in InferCPUFeaturesFromOS()
250 CPUFeatures::kDotProduct, in InferCPUFeaturesFromOS()
251 CPUFeatures::kSHA512, in InferCPUFeaturesFromOS()
252 CPUFeatures::kSVE, in InferCPUFeaturesFromOS()
253 CPUFeatures::kFHM, in InferCPUFeaturesFromOS()
255 CPUFeatures::kDIT, in InferCPUFeaturesFromOS()
256 CPUFeatures::kUSCAT, in InferCPUFeaturesFromOS()
257 CPUFeatures::kRCpcImm, in InferCPUFeaturesFromOS()
258 CPUFeatures::kFlagM, in InferCPUFeaturesFromOS()
259 CPUFeatures::kSSBSControl, in InferCPUFeaturesFromOS()
260 CPUFeatures::kSB, in InferCPUFeaturesFromOS()
261 CPUFeatures::kPAuth, in InferCPUFeaturesFromOS()
262 CPUFeatures::kPAuthGeneric, in InferCPUFeaturesFromOS()
264 CPUFeatures::kDCCVADP, in InferCPUFeaturesFromOS()
265 CPUFeatures::kNone, // "sve2" in InferCPUFeaturesFromOS()
266 CPUFeatures::kNone, // "sveaes" in InferCPUFeaturesFromOS()
267 CPUFeatures::kNone, // "svepmull" in InferCPUFeaturesFromOS()
268 CPUFeatures::kNone, // "svebitperm" in InferCPUFeaturesFromOS()
269 CPUFeatures::kNone, // "svesha3" in InferCPUFeaturesFromOS()
270 CPUFeatures::kNone, // "svesm4" in InferCPUFeaturesFromOS()
271 CPUFeatures::kFrintToFixedSizedInt, in InferCPUFeaturesFromOS()
273 CPUFeatures::kSVEI8MM, in InferCPUFeaturesFromOS()
274 CPUFeatures::kSVEF32MM, in InferCPUFeaturesFromOS()
275 CPUFeatures::kSVEF64MM, in InferCPUFeaturesFromOS()
276 CPUFeatures::kSVEBF16, in InferCPUFeaturesFromOS()
277 CPUFeatures::kI8MM, in InferCPUFeaturesFromOS()
278 CPUFeatures::kBF16, in InferCPUFeaturesFromOS()
279 CPUFeatures::kDGH, in InferCPUFeaturesFromOS()
280 CPUFeatures::kRNG, in InferCPUFeaturesFromOS()
282 CPUFeatures::kBTI}; in InferCPUFeaturesFromOS()
296 if ((option == CPUFeatures::kQueryIDRegistersIfAvailable) && in InferCPUFeaturesFromOS()
297 (features.Has(CPUFeatures::kIDRegisterEmulation))) { in InferCPUFeaturesFromOS()