Lines Matching refs:Features
106 llvm::StringMap<bool> &Features, DiagnosticsEngine &Diags, StringRef CPU, in initFeatureMap() argument
111 setFeatureEnabledImpl(Features, "sse2", true); in initFeatureMap()
117 setFeatureEnabledImpl(Features, "x87", true); in initFeatureMap()
133 setFeatureEnabledImpl(Features, "mmx", true); in initFeatureMap()
137 setFeatureEnabledImpl(Features, "pconfig", true); in initFeatureMap()
138 setFeatureEnabledImpl(Features, "wbnoinvd", true); in initFeatureMap()
141 setFeatureEnabledImpl(Features, "vaes", true); in initFeatureMap()
142 setFeatureEnabledImpl(Features, "gfni", true); in initFeatureMap()
143 setFeatureEnabledImpl(Features, "vpclmulqdq", true); in initFeatureMap()
144 setFeatureEnabledImpl(Features, "avx512bitalg", true); in initFeatureMap()
145 setFeatureEnabledImpl(Features, "avx512vbmi2", true); in initFeatureMap()
146 setFeatureEnabledImpl(Features, "avx512vpopcntdq", true); in initFeatureMap()
147 setFeatureEnabledImpl(Features, "rdpid", true); in initFeatureMap()
150 setFeatureEnabledImpl(Features, "avx512ifma", true); in initFeatureMap()
151 setFeatureEnabledImpl(Features, "avx512vbmi", true); in initFeatureMap()
152 setFeatureEnabledImpl(Features, "sha", true); in initFeatureMap()
158 setFeatureEnabledImpl(Features, "avx512vnni", true); in initFeatureMap()
161 setFeatureEnabledImpl(Features, "avx512f", true); in initFeatureMap()
162 setFeatureEnabledImpl(Features, "avx512cd", true); in initFeatureMap()
163 setFeatureEnabledImpl(Features, "avx512dq", true); in initFeatureMap()
164 setFeatureEnabledImpl(Features, "avx512bw", true); in initFeatureMap()
165 setFeatureEnabledImpl(Features, "avx512vl", true); in initFeatureMap()
166 setFeatureEnabledImpl(Features, "pku", true); in initFeatureMap()
168 setFeatureEnabledImpl(Features, "clwb", true); in initFeatureMap()
171 setFeatureEnabledImpl(Features, "xsavec", true); in initFeatureMap()
172 setFeatureEnabledImpl(Features, "xsaves", true); in initFeatureMap()
173 setFeatureEnabledImpl(Features, "mpx", true); in initFeatureMap()
177 setFeatureEnabledImpl(Features, "sgx", true); in initFeatureMap()
178 setFeatureEnabledImpl(Features, "clflushopt", true); in initFeatureMap()
179 setFeatureEnabledImpl(Features, "aes", true); in initFeatureMap()
182 setFeatureEnabledImpl(Features, "rdseed", true); in initFeatureMap()
183 setFeatureEnabledImpl(Features, "adx", true); in initFeatureMap()
184 setFeatureEnabledImpl(Features, "prfchw", true); in initFeatureMap()
187 setFeatureEnabledImpl(Features, "avx2", true); in initFeatureMap()
188 setFeatureEnabledImpl(Features, "lzcnt", true); in initFeatureMap()
189 setFeatureEnabledImpl(Features, "bmi", true); in initFeatureMap()
190 setFeatureEnabledImpl(Features, "bmi2", true); in initFeatureMap()
191 setFeatureEnabledImpl(Features, "fma", true); in initFeatureMap()
192 setFeatureEnabledImpl(Features, "invpcid", true); in initFeatureMap()
193 setFeatureEnabledImpl(Features, "movbe", true); in initFeatureMap()
196 setFeatureEnabledImpl(Features, "rdrnd", true); in initFeatureMap()
197 setFeatureEnabledImpl(Features, "f16c", true); in initFeatureMap()
198 setFeatureEnabledImpl(Features, "fsgsbase", true); in initFeatureMap()
201 setFeatureEnabledImpl(Features, "avx", true); in initFeatureMap()
202 setFeatureEnabledImpl(Features, "xsave", true); in initFeatureMap()
203 setFeatureEnabledImpl(Features, "xsaveopt", true); in initFeatureMap()
206 setFeatureEnabledImpl(Features, "pclmul", true); in initFeatureMap()
209 setFeatureEnabledImpl(Features, "sse4.2", true); in initFeatureMap()
212 setFeatureEnabledImpl(Features, "sse4.1", true); in initFeatureMap()
215 setFeatureEnabledImpl(Features, "ssse3", true); in initFeatureMap()
216 setFeatureEnabledImpl(Features, "sahf", true); in initFeatureMap()
221 setFeatureEnabledImpl(Features, "sse3", true); in initFeatureMap()
222 setFeatureEnabledImpl(Features, "cx16", true); in initFeatureMap()
227 setFeatureEnabledImpl(Features, "sse2", true); in initFeatureMap()
231 setFeatureEnabledImpl(Features, "sse", true); in initFeatureMap()
232 setFeatureEnabledImpl(Features, "fxsr", true); in initFeatureMap()
236 setFeatureEnabledImpl(Features, "cldemote", true); in initFeatureMap()
237 setFeatureEnabledImpl(Features, "movdiri", true); in initFeatureMap()
238 setFeatureEnabledImpl(Features, "movdir64b", true); in initFeatureMap()
239 setFeatureEnabledImpl(Features, "gfni", true); in initFeatureMap()
240 setFeatureEnabledImpl(Features, "waitpkg", true); in initFeatureMap()
243 setFeatureEnabledImpl(Features, "ptwrite", true); in initFeatureMap()
244 setFeatureEnabledImpl(Features, "rdpid", true); in initFeatureMap()
245 setFeatureEnabledImpl(Features, "sgx", true); in initFeatureMap()
248 setFeatureEnabledImpl(Features, "sha", true); in initFeatureMap()
249 setFeatureEnabledImpl(Features, "rdseed", true); in initFeatureMap()
250 setFeatureEnabledImpl(Features, "xsave", true); in initFeatureMap()
251 setFeatureEnabledImpl(Features, "xsaveopt", true); in initFeatureMap()
252 setFeatureEnabledImpl(Features, "xsavec", true); in initFeatureMap()
253 setFeatureEnabledImpl(Features, "xsaves", true); in initFeatureMap()
254 setFeatureEnabledImpl(Features, "clflushopt", true); in initFeatureMap()
255 setFeatureEnabledImpl(Features, "mpx", true); in initFeatureMap()
256 setFeatureEnabledImpl(Features, "fsgsbase", true); in initFeatureMap()
257 setFeatureEnabledImpl(Features, "aes", true); in initFeatureMap()
260 setFeatureEnabledImpl(Features, "rdrnd", true); in initFeatureMap()
261 setFeatureEnabledImpl(Features, "pclmul", true); in initFeatureMap()
262 setFeatureEnabledImpl(Features, "sse4.2", true); in initFeatureMap()
263 setFeatureEnabledImpl(Features, "prfchw", true); in initFeatureMap()
266 setFeatureEnabledImpl(Features, "movbe", true); in initFeatureMap()
267 setFeatureEnabledImpl(Features, "ssse3", true); in initFeatureMap()
268 setFeatureEnabledImpl(Features, "fxsr", true); in initFeatureMap()
269 setFeatureEnabledImpl(Features, "cx16", true); in initFeatureMap()
270 setFeatureEnabledImpl(Features, "sahf", true); in initFeatureMap()
275 setFeatureEnabledImpl(Features, "avx512vpopcntdq", true); in initFeatureMap()
278 setFeatureEnabledImpl(Features, "avx512f", true); in initFeatureMap()
279 setFeatureEnabledImpl(Features, "avx512cd", true); in initFeatureMap()
280 setFeatureEnabledImpl(Features, "avx512er", true); in initFeatureMap()
281 setFeatureEnabledImpl(Features, "avx512pf", true); in initFeatureMap()
282 setFeatureEnabledImpl(Features, "prfchw", true); in initFeatureMap()
283 setFeatureEnabledImpl(Features, "prefetchwt1", true); in initFeatureMap()
284 setFeatureEnabledImpl(Features, "fxsr", true); in initFeatureMap()
285 setFeatureEnabledImpl(Features, "rdseed", true); in initFeatureMap()
286 setFeatureEnabledImpl(Features, "adx", true); in initFeatureMap()
287 setFeatureEnabledImpl(Features, "lzcnt", true); in initFeatureMap()
288 setFeatureEnabledImpl(Features, "bmi", true); in initFeatureMap()
289 setFeatureEnabledImpl(Features, "bmi2", true); in initFeatureMap()
290 setFeatureEnabledImpl(Features, "fma", true); in initFeatureMap()
291 setFeatureEnabledImpl(Features, "rdrnd", true); in initFeatureMap()
292 setFeatureEnabledImpl(Features, "f16c", true); in initFeatureMap()
293 setFeatureEnabledImpl(Features, "fsgsbase", true); in initFeatureMap()
294 setFeatureEnabledImpl(Features, "aes", true); in initFeatureMap()
295 setFeatureEnabledImpl(Features, "pclmul", true); in initFeatureMap()
296 setFeatureEnabledImpl(Features, "cx16", true); in initFeatureMap()
297 setFeatureEnabledImpl(Features, "xsaveopt", true); in initFeatureMap()
298 setFeatureEnabledImpl(Features, "xsave", true); in initFeatureMap()
299 setFeatureEnabledImpl(Features, "movbe", true); in initFeatureMap()
300 setFeatureEnabledImpl(Features, "sahf", true); in initFeatureMap()
307 setFeatureEnabledImpl(Features, "3dnow", true); in initFeatureMap()
311 setFeatureEnabledImpl(Features, "sse4a", true); in initFeatureMap()
312 setFeatureEnabledImpl(Features, "lzcnt", true); in initFeatureMap()
313 setFeatureEnabledImpl(Features, "popcnt", true); in initFeatureMap()
314 setFeatureEnabledImpl(Features, "sahf", true); in initFeatureMap()
317 setFeatureEnabledImpl(Features, "sse3", true); in initFeatureMap()
320 setFeatureEnabledImpl(Features, "sse2", true); in initFeatureMap()
323 setFeatureEnabledImpl(Features, "sse", true); in initFeatureMap()
324 setFeatureEnabledImpl(Features, "fxsr", true); in initFeatureMap()
328 setFeatureEnabledImpl(Features, "3dnowa", true); in initFeatureMap()
332 setFeatureEnabledImpl(Features, "avx", true); in initFeatureMap()
333 setFeatureEnabledImpl(Features, "aes", true); in initFeatureMap()
334 setFeatureEnabledImpl(Features, "pclmul", true); in initFeatureMap()
335 setFeatureEnabledImpl(Features, "bmi", true); in initFeatureMap()
336 setFeatureEnabledImpl(Features, "f16c", true); in initFeatureMap()
337 setFeatureEnabledImpl(Features, "xsaveopt", true); in initFeatureMap()
338 setFeatureEnabledImpl(Features, "movbe", true); in initFeatureMap()
341 setFeatureEnabledImpl(Features, "ssse3", true); in initFeatureMap()
342 setFeatureEnabledImpl(Features, "sse4a", true); in initFeatureMap()
343 setFeatureEnabledImpl(Features, "lzcnt", true); in initFeatureMap()
344 setFeatureEnabledImpl(Features, "popcnt", true); in initFeatureMap()
345 setFeatureEnabledImpl(Features, "prfchw", true); in initFeatureMap()
346 setFeatureEnabledImpl(Features, "cx16", true); in initFeatureMap()
347 setFeatureEnabledImpl(Features, "fxsr", true); in initFeatureMap()
348 setFeatureEnabledImpl(Features, "sahf", true); in initFeatureMap()
352 setFeatureEnabledImpl(Features, "adx", true); in initFeatureMap()
353 setFeatureEnabledImpl(Features, "aes", true); in initFeatureMap()
354 setFeatureEnabledImpl(Features, "avx2", true); in initFeatureMap()
355 setFeatureEnabledImpl(Features, "bmi", true); in initFeatureMap()
356 setFeatureEnabledImpl(Features, "bmi2", true); in initFeatureMap()
357 setFeatureEnabledImpl(Features, "clflushopt", true); in initFeatureMap()
358 setFeatureEnabledImpl(Features, "clzero", true); in initFeatureMap()
359 setFeatureEnabledImpl(Features, "cx16", true); in initFeatureMap()
360 setFeatureEnabledImpl(Features, "f16c", true); in initFeatureMap()
361 setFeatureEnabledImpl(Features, "fma", true); in initFeatureMap()
362 setFeatureEnabledImpl(Features, "fsgsbase", true); in initFeatureMap()
363 setFeatureEnabledImpl(Features, "fxsr", true); in initFeatureMap()
364 setFeatureEnabledImpl(Features, "lzcnt", true); in initFeatureMap()
365 setFeatureEnabledImpl(Features, "mwaitx", true); in initFeatureMap()
366 setFeatureEnabledImpl(Features, "movbe", true); in initFeatureMap()
367 setFeatureEnabledImpl(Features, "pclmul", true); in initFeatureMap()
368 setFeatureEnabledImpl(Features, "popcnt", true); in initFeatureMap()
369 setFeatureEnabledImpl(Features, "prfchw", true); in initFeatureMap()
370 setFeatureEnabledImpl(Features, "rdrnd", true); in initFeatureMap()
371 setFeatureEnabledImpl(Features, "rdseed", true); in initFeatureMap()
372 setFeatureEnabledImpl(Features, "sahf", true); in initFeatureMap()
373 setFeatureEnabledImpl(Features, "sha", true); in initFeatureMap()
374 setFeatureEnabledImpl(Features, "sse4a", true); in initFeatureMap()
375 setFeatureEnabledImpl(Features, "xsave", true); in initFeatureMap()
376 setFeatureEnabledImpl(Features, "xsavec", true); in initFeatureMap()
377 setFeatureEnabledImpl(Features, "xsaveopt", true); in initFeatureMap()
378 setFeatureEnabledImpl(Features, "xsaves", true); in initFeatureMap()
382 setFeatureEnabledImpl(Features, "avx2", true); in initFeatureMap()
383 setFeatureEnabledImpl(Features, "bmi2", true); in initFeatureMap()
384 setFeatureEnabledImpl(Features, "mwaitx", true); in initFeatureMap()
387 setFeatureEnabledImpl(Features, "fsgsbase", true); in initFeatureMap()
388 setFeatureEnabledImpl(Features, "xsaveopt", true); in initFeatureMap()
391 setFeatureEnabledImpl(Features, "bmi", true); in initFeatureMap()
392 setFeatureEnabledImpl(Features, "fma", true); in initFeatureMap()
393 setFeatureEnabledImpl(Features, "f16c", true); in initFeatureMap()
394 setFeatureEnabledImpl(Features, "tbm", true); in initFeatureMap()
398 setFeatureEnabledImpl(Features, "xop", true); in initFeatureMap()
399 setFeatureEnabledImpl(Features, "lwp", true); in initFeatureMap()
400 setFeatureEnabledImpl(Features, "lzcnt", true); in initFeatureMap()
401 setFeatureEnabledImpl(Features, "aes", true); in initFeatureMap()
402 setFeatureEnabledImpl(Features, "pclmul", true); in initFeatureMap()
403 setFeatureEnabledImpl(Features, "prfchw", true); in initFeatureMap()
404 setFeatureEnabledImpl(Features, "cx16", true); in initFeatureMap()
405 setFeatureEnabledImpl(Features, "fxsr", true); in initFeatureMap()
406 setFeatureEnabledImpl(Features, "xsave", true); in initFeatureMap()
407 setFeatureEnabledImpl(Features, "sahf", true); in initFeatureMap()
410 if (!TargetInfo::initFeatureMap(Features, Diags, CPU, FeaturesVec)) in initFeatureMap()
417 auto I = Features.find("sse4.2"); in initFeatureMap()
418 if (I != Features.end() && I->getValue() && in initFeatureMap()
421 Features["popcnt"] = true; in initFeatureMap()
424 I = Features.find("3dnow"); in initFeatureMap()
425 if (I != Features.end() && I->getValue() && in initFeatureMap()
428 Features["prfchw"] = true; in initFeatureMap()
432 I = Features.find("sse"); in initFeatureMap()
433 if (I != Features.end() && I->getValue() && in initFeatureMap()
436 Features["mmx"] = true; in initFeatureMap()
441 void X86TargetInfo::setSSELevel(llvm::StringMap<bool> &Features, in setSSELevel() argument
446 Features["avx512f"] = Features["fma"] = Features["f16c"] = true; in setSSELevel()
449 Features["avx2"] = true; in setSSELevel()
452 Features["avx"] = true; in setSSELevel()
453 Features["xsave"] = true; in setSSELevel()
456 Features["sse4.2"] = true; in setSSELevel()
459 Features["sse4.1"] = true; in setSSELevel()
462 Features["ssse3"] = true; in setSSELevel()
465 Features["sse3"] = true; in setSSELevel()
468 Features["sse2"] = true; in setSSELevel()
471 Features["sse"] = true; in setSSELevel()
482 Features["sse"] = false; in setSSELevel()
485 Features["sse2"] = Features["pclmul"] = Features["aes"] = Features["sha"] = in setSSELevel()
486 Features["gfni"] = false; in setSSELevel()
489 Features["sse3"] = false; in setSSELevel()
490 setXOPLevel(Features, NoXOP, false); in setSSELevel()
493 Features["ssse3"] = false; in setSSELevel()
496 Features["sse4.1"] = false; in setSSELevel()
499 Features["sse4.2"] = false; in setSSELevel()
502 Features["fma"] = Features["avx"] = Features["f16c"] = Features["xsave"] = in setSSELevel()
503 Features["xsaveopt"] = Features["vaes"] = Features["vpclmulqdq"] = false; in setSSELevel()
504 setXOPLevel(Features, FMA4, false); in setSSELevel()
507 Features["avx2"] = false; in setSSELevel()
510 Features["avx512f"] = Features["avx512cd"] = Features["avx512er"] = in setSSELevel()
511 Features["avx512pf"] = Features["avx512dq"] = Features["avx512bw"] = in setSSELevel()
512 Features["avx512vl"] = Features["avx512vbmi"] = in setSSELevel()
513 Features["avx512ifma"] = Features["avx512vpopcntdq"] = in setSSELevel()
514 Features["avx512bitalg"] = Features["avx512vnni"] = in setSSELevel()
515 Features["avx512vbmi2"] = false; in setSSELevel()
520 void X86TargetInfo::setMMXLevel(llvm::StringMap<bool> &Features, in setMMXLevel() argument
525 Features["3dnowa"] = true; in setMMXLevel()
528 Features["3dnow"] = true; in setMMXLevel()
531 Features["mmx"] = true; in setMMXLevel()
542 Features["mmx"] = false; in setMMXLevel()
545 Features["3dnow"] = false; in setMMXLevel()
548 Features["3dnowa"] = false; in setMMXLevel()
553 void X86TargetInfo::setXOPLevel(llvm::StringMap<bool> &Features, XOPEnum Level, in setXOPLevel() argument
558 Features["xop"] = true; in setXOPLevel()
561 Features["fma4"] = true; in setXOPLevel()
562 setSSELevel(Features, AVX, true); in setXOPLevel()
565 Features["sse4a"] = true; in setXOPLevel()
566 setSSELevel(Features, SSE3, true); in setXOPLevel()
577 Features["sse4a"] = false; in setXOPLevel()
580 Features["fma4"] = false; in setXOPLevel()
583 Features["xop"] = false; in setXOPLevel()
588 void X86TargetInfo::setFeatureEnabledImpl(llvm::StringMap<bool> &Features, in setFeatureEnabledImpl() argument
594 Features[Name] = Enabled; in setFeatureEnabledImpl()
597 setMMXLevel(Features, MMX, Enabled); in setFeatureEnabledImpl()
599 setSSELevel(Features, SSE1, Enabled); in setFeatureEnabledImpl()
601 setSSELevel(Features, SSE2, Enabled); in setFeatureEnabledImpl()
603 setSSELevel(Features, SSE3, Enabled); in setFeatureEnabledImpl()
605 setSSELevel(Features, SSSE3, Enabled); in setFeatureEnabledImpl()
607 setSSELevel(Features, SSE42, Enabled); in setFeatureEnabledImpl()
609 setSSELevel(Features, SSE41, Enabled); in setFeatureEnabledImpl()
611 setMMXLevel(Features, AMD3DNow, Enabled); in setFeatureEnabledImpl()
613 setMMXLevel(Features, AMD3DNowAthlon, Enabled); in setFeatureEnabledImpl()
616 setSSELevel(Features, SSE2, Enabled); in setFeatureEnabledImpl()
618 Features["vaes"] = false; in setFeatureEnabledImpl()
621 setSSELevel(Features, AVX, Enabled); in setFeatureEnabledImpl()
622 Features["aes"] = true; in setFeatureEnabledImpl()
626 setSSELevel(Features, SSE2, Enabled); in setFeatureEnabledImpl()
628 Features["vpclmulqdq"] = false; in setFeatureEnabledImpl()
631 setSSELevel(Features, AVX, Enabled); in setFeatureEnabledImpl()
632 Features["pclmul"] = true; in setFeatureEnabledImpl()
636 setSSELevel(Features, SSE2, Enabled); in setFeatureEnabledImpl()
638 setSSELevel(Features, AVX, Enabled); in setFeatureEnabledImpl()
640 setSSELevel(Features, AVX2, Enabled); in setFeatureEnabledImpl()
642 setSSELevel(Features, AVX512F, Enabled); in setFeatureEnabledImpl()
649 setSSELevel(Features, AVX512F, Enabled); in setFeatureEnabledImpl()
652 Features["avx512bw"] = true; in setFeatureEnabledImpl()
655 Features["avx512vbmi"] = Features["avx512vbmi2"] = in setFeatureEnabledImpl()
656 Features["avx512bitalg"] = false; in setFeatureEnabledImpl()
659 setSSELevel(Features, AVX, Enabled); in setFeatureEnabledImpl()
661 setSSELevel(Features, AVX512F, Enabled); in setFeatureEnabledImpl()
663 setXOPLevel(Features, FMA4, Enabled); in setFeatureEnabledImpl()
665 setXOPLevel(Features, XOP, Enabled); in setFeatureEnabledImpl()
667 setXOPLevel(Features, SSE4A, Enabled); in setFeatureEnabledImpl()
670 setSSELevel(Features, AVX, Enabled); in setFeatureEnabledImpl()
672 setSSELevel(Features, AVX512F, Enabled); in setFeatureEnabledImpl()
675 setSSELevel(Features, SSE2, Enabled); in setFeatureEnabledImpl()
682 setSSELevel(Features, SSE42, Enabled); in setFeatureEnabledImpl()
684 setSSELevel(Features, SSE41, Enabled); in setFeatureEnabledImpl()
687 Features["xsaveopt"] = false; in setFeatureEnabledImpl()
690 Features["xsave"] = true; in setFeatureEnabledImpl()
696 bool X86TargetInfo::handleTargetFeatures(std::vector<std::string> &Features, in handleTargetFeatures() argument
698 for (const auto &Feature : Features) { in handleTargetFeatures()
1521 StringRef Name, llvm::SmallVectorImpl<StringRef> &Features) const { in getCPUSpecificCPUDispatchFeatures()
1527 WholeList.split(Features, ',', /*MaxSplit=*/-1, /*KeepEmpty=*/false); in getCPUSpecificCPUDispatchFeatures()