Lines Matching refs:Features
682 const unsigned *Features, in getIntelProcessorTypeAndSubtype() argument
685 return (Features[F / 32] & (1U << (F % 32))) != 0; in getIntelProcessorTypeAndSubtype()
1048 const unsigned *Features, in getAMDProcessorTypeAndSubtype() argument
1051 return (Features[F / 32] & (1U << (F % 32))) != 0; in getAMDProcessorTypeAndSubtype()
1203 unsigned *Features) { in getAvailableFeatures() argument
1207 Features[F / 32] |= 1U << (F % 32); in getAvailableFeatures()
1350 unsigned Features[(X86::CPU_FEATURE_MAX + 31) / 32] = {0}; in getHostCPUName() local
1352 getAvailableFeatures(ECX, EDX, MaxLeaf, Features); in getHostCPUName()
1362 CPU = getIntelProcessorTypeAndSubtype(Family, Model, Features, &Type, in getHostCPUName()
1365 CPU = getAMDProcessorTypeAndSubtype(Family, Model, Features, &Type, in getHostCPUName()
1687 bool sys::getHostCPUFeatures(StringMap<bool> &Features) { in getHostCPUFeatures() argument
1696 Features["cx8"] = (EDX >> 8) & 1; in getHostCPUFeatures()
1697 Features["cmov"] = (EDX >> 15) & 1; in getHostCPUFeatures()
1698 Features["mmx"] = (EDX >> 23) & 1; in getHostCPUFeatures()
1699 Features["fxsr"] = (EDX >> 24) & 1; in getHostCPUFeatures()
1700 Features["sse"] = (EDX >> 25) & 1; in getHostCPUFeatures()
1701 Features["sse2"] = (EDX >> 26) & 1; in getHostCPUFeatures()
1703 Features["sse3"] = (ECX >> 0) & 1; in getHostCPUFeatures()
1704 Features["pclmul"] = (ECX >> 1) & 1; in getHostCPUFeatures()
1705 Features["ssse3"] = (ECX >> 9) & 1; in getHostCPUFeatures()
1706 Features["cx16"] = (ECX >> 13) & 1; in getHostCPUFeatures()
1707 Features["sse4.1"] = (ECX >> 19) & 1; in getHostCPUFeatures()
1708 Features["sse4.2"] = (ECX >> 20) & 1; in getHostCPUFeatures()
1709 Features["crc32"] = Features["sse4.2"]; in getHostCPUFeatures()
1710 Features["movbe"] = (ECX >> 22) & 1; in getHostCPUFeatures()
1711 Features["popcnt"] = (ECX >> 23) & 1; in getHostCPUFeatures()
1712 Features["aes"] = (ECX >> 25) & 1; in getHostCPUFeatures()
1713 Features["rdrnd"] = (ECX >> 30) & 1; in getHostCPUFeatures()
1733 Features["avx"] = HasAVXSave; in getHostCPUFeatures()
1734 Features["fma"] = ((ECX >> 12) & 1) && HasAVXSave; in getHostCPUFeatures()
1736 Features["xsave"] = ((ECX >> 26) & 1) && HasAVXSave; in getHostCPUFeatures()
1737 Features["f16c"] = ((ECX >> 29) & 1) && HasAVXSave; in getHostCPUFeatures()
1744 Features["sahf"] = HasExtLeaf1 && ((ECX >> 0) & 1); in getHostCPUFeatures()
1745 Features["lzcnt"] = HasExtLeaf1 && ((ECX >> 5) & 1); in getHostCPUFeatures()
1746 Features["sse4a"] = HasExtLeaf1 && ((ECX >> 6) & 1); in getHostCPUFeatures()
1747 Features["prfchw"] = HasExtLeaf1 && ((ECX >> 8) & 1); in getHostCPUFeatures()
1748 Features["xop"] = HasExtLeaf1 && ((ECX >> 11) & 1) && HasAVXSave; in getHostCPUFeatures()
1749 Features["lwp"] = HasExtLeaf1 && ((ECX >> 15) & 1); in getHostCPUFeatures()
1750 Features["fma4"] = HasExtLeaf1 && ((ECX >> 16) & 1) && HasAVXSave; in getHostCPUFeatures()
1751 Features["tbm"] = HasExtLeaf1 && ((ECX >> 21) & 1); in getHostCPUFeatures()
1752 Features["mwaitx"] = HasExtLeaf1 && ((ECX >> 29) & 1); in getHostCPUFeatures()
1754 Features["64bit"] = HasExtLeaf1 && ((EDX >> 29) & 1); in getHostCPUFeatures()
1760 Features["clzero"] = HasExtLeaf8 && ((EBX >> 0) & 1); in getHostCPUFeatures()
1761 Features["rdpru"] = HasExtLeaf8 && ((EBX >> 4) & 1); in getHostCPUFeatures()
1762 Features["wbnoinvd"] = HasExtLeaf8 && ((EBX >> 9) & 1); in getHostCPUFeatures()
1767 Features["fsgsbase"] = HasLeaf7 && ((EBX >> 0) & 1); in getHostCPUFeatures()
1768 Features["sgx"] = HasLeaf7 && ((EBX >> 2) & 1); in getHostCPUFeatures()
1769 Features["bmi"] = HasLeaf7 && ((EBX >> 3) & 1); in getHostCPUFeatures()
1771 Features["avx2"] = HasLeaf7 && ((EBX >> 5) & 1) && HasAVXSave; in getHostCPUFeatures()
1772 Features["bmi2"] = HasLeaf7 && ((EBX >> 8) & 1); in getHostCPUFeatures()
1773 Features["invpcid"] = HasLeaf7 && ((EBX >> 10) & 1); in getHostCPUFeatures()
1774 Features["rtm"] = HasLeaf7 && ((EBX >> 11) & 1); in getHostCPUFeatures()
1776 Features["avx512f"] = HasLeaf7 && ((EBX >> 16) & 1) && HasAVX512Save; in getHostCPUFeatures()
1777 if (Features["avx512f"]) in getHostCPUFeatures()
1778 Features["evex512"] = true; in getHostCPUFeatures()
1779 Features["avx512dq"] = HasLeaf7 && ((EBX >> 17) & 1) && HasAVX512Save; in getHostCPUFeatures()
1780 Features["rdseed"] = HasLeaf7 && ((EBX >> 18) & 1); in getHostCPUFeatures()
1781 Features["adx"] = HasLeaf7 && ((EBX >> 19) & 1); in getHostCPUFeatures()
1782 Features["avx512ifma"] = HasLeaf7 && ((EBX >> 21) & 1) && HasAVX512Save; in getHostCPUFeatures()
1783 Features["clflushopt"] = HasLeaf7 && ((EBX >> 23) & 1); in getHostCPUFeatures()
1784 Features["clwb"] = HasLeaf7 && ((EBX >> 24) & 1); in getHostCPUFeatures()
1785 Features["avx512pf"] = HasLeaf7 && ((EBX >> 26) & 1) && HasAVX512Save; in getHostCPUFeatures()
1786 Features["avx512er"] = HasLeaf7 && ((EBX >> 27) & 1) && HasAVX512Save; in getHostCPUFeatures()
1787 Features["avx512cd"] = HasLeaf7 && ((EBX >> 28) & 1) && HasAVX512Save; in getHostCPUFeatures()
1788 Features["sha"] = HasLeaf7 && ((EBX >> 29) & 1); in getHostCPUFeatures()
1789 Features["avx512bw"] = HasLeaf7 && ((EBX >> 30) & 1) && HasAVX512Save; in getHostCPUFeatures()
1790 Features["avx512vl"] = HasLeaf7 && ((EBX >> 31) & 1) && HasAVX512Save; in getHostCPUFeatures()
1792 Features["prefetchwt1"] = HasLeaf7 && ((ECX >> 0) & 1); in getHostCPUFeatures()
1793 Features["avx512vbmi"] = HasLeaf7 && ((ECX >> 1) & 1) && HasAVX512Save; in getHostCPUFeatures()
1794 Features["pku"] = HasLeaf7 && ((ECX >> 4) & 1); in getHostCPUFeatures()
1795 Features["waitpkg"] = HasLeaf7 && ((ECX >> 5) & 1); in getHostCPUFeatures()
1796 Features["avx512vbmi2"] = HasLeaf7 && ((ECX >> 6) & 1) && HasAVX512Save; in getHostCPUFeatures()
1797 Features["shstk"] = HasLeaf7 && ((ECX >> 7) & 1); in getHostCPUFeatures()
1798 Features["gfni"] = HasLeaf7 && ((ECX >> 8) & 1); in getHostCPUFeatures()
1799 Features["vaes"] = HasLeaf7 && ((ECX >> 9) & 1) && HasAVXSave; in getHostCPUFeatures()
1800 Features["vpclmulqdq"] = HasLeaf7 && ((ECX >> 10) & 1) && HasAVXSave; in getHostCPUFeatures()
1801 Features["avx512vnni"] = HasLeaf7 && ((ECX >> 11) & 1) && HasAVX512Save; in getHostCPUFeatures()
1802 Features["avx512bitalg"] = HasLeaf7 && ((ECX >> 12) & 1) && HasAVX512Save; in getHostCPUFeatures()
1803 Features["avx512vpopcntdq"] = HasLeaf7 && ((ECX >> 14) & 1) && HasAVX512Save; in getHostCPUFeatures()
1804 Features["rdpid"] = HasLeaf7 && ((ECX >> 22) & 1); in getHostCPUFeatures()
1805 Features["kl"] = HasLeaf7 && ((ECX >> 23) & 1); // key locker in getHostCPUFeatures()
1806 Features["cldemote"] = HasLeaf7 && ((ECX >> 25) & 1); in getHostCPUFeatures()
1807 Features["movdiri"] = HasLeaf7 && ((ECX >> 27) & 1); in getHostCPUFeatures()
1808 Features["movdir64b"] = HasLeaf7 && ((ECX >> 28) & 1); in getHostCPUFeatures()
1809 Features["enqcmd"] = HasLeaf7 && ((ECX >> 29) & 1); in getHostCPUFeatures()
1811 Features["uintr"] = HasLeaf7 && ((EDX >> 5) & 1); in getHostCPUFeatures()
1812 Features["avx512vp2intersect"] = in getHostCPUFeatures()
1814 Features["serialize"] = HasLeaf7 && ((EDX >> 14) & 1); in getHostCPUFeatures()
1815 Features["tsxldtrk"] = HasLeaf7 && ((EDX >> 16) & 1); in getHostCPUFeatures()
1826 Features["pconfig"] = HasLeaf7 && ((EDX >> 18) & 1); in getHostCPUFeatures()
1827 Features["amx-bf16"] = HasLeaf7 && ((EDX >> 22) & 1) && HasAMXSave; in getHostCPUFeatures()
1828 Features["avx512fp16"] = HasLeaf7 && ((EDX >> 23) & 1) && HasAVX512Save; in getHostCPUFeatures()
1829 Features["amx-tile"] = HasLeaf7 && ((EDX >> 24) & 1) && HasAMXSave; in getHostCPUFeatures()
1830 Features["amx-int8"] = HasLeaf7 && ((EDX >> 25) & 1) && HasAMXSave; in getHostCPUFeatures()
1836 Features["sha512"] = HasLeaf7Subleaf1 && ((EAX >> 0) & 1); in getHostCPUFeatures()
1837 Features["sm3"] = HasLeaf7Subleaf1 && ((EAX >> 1) & 1); in getHostCPUFeatures()
1838 Features["sm4"] = HasLeaf7Subleaf1 && ((EAX >> 2) & 1); in getHostCPUFeatures()
1839 Features["raoint"] = HasLeaf7Subleaf1 && ((EAX >> 3) & 1); in getHostCPUFeatures()
1840 Features["avxvnni"] = HasLeaf7Subleaf1 && ((EAX >> 4) & 1) && HasAVXSave; in getHostCPUFeatures()
1841 Features["avx512bf16"] = HasLeaf7Subleaf1 && ((EAX >> 5) & 1) && HasAVX512Save; in getHostCPUFeatures()
1842 Features["amx-fp16"] = HasLeaf7Subleaf1 && ((EAX >> 21) & 1) && HasAMXSave; in getHostCPUFeatures()
1843 Features["cmpccxadd"] = HasLeaf7Subleaf1 && ((EAX >> 7) & 1); in getHostCPUFeatures()
1844 Features["hreset"] = HasLeaf7Subleaf1 && ((EAX >> 22) & 1); in getHostCPUFeatures()
1845 Features["avxifma"] = HasLeaf7Subleaf1 && ((EAX >> 23) & 1) && HasAVXSave; in getHostCPUFeatures()
1846 Features["avxvnniint8"] = HasLeaf7Subleaf1 && ((EDX >> 4) & 1) && HasAVXSave; in getHostCPUFeatures()
1847 Features["avxneconvert"] = HasLeaf7Subleaf1 && ((EDX >> 5) & 1) && HasAVXSave; in getHostCPUFeatures()
1848 Features["amx-complex"] = HasLeaf7Subleaf1 && ((EDX >> 8) & 1) && HasAMXSave; in getHostCPUFeatures()
1849 Features["avxvnniint16"] = HasLeaf7Subleaf1 && ((EDX >> 10) & 1) && HasAVXSave; in getHostCPUFeatures()
1850 Features["prefetchi"] = HasLeaf7Subleaf1 && ((EDX >> 14) & 1); in getHostCPUFeatures()
1851 Features["usermsr"] = HasLeaf7Subleaf1 && ((EDX >> 15) & 1); in getHostCPUFeatures()
1852 Features["avx10.1-256"] = HasLeaf7Subleaf1 && ((EDX >> 19) & 1); in getHostCPUFeatures()
1858 Features["xsaveopt"] = HasLeafD && ((EAX >> 0) & 1) && HasAVXSave; in getHostCPUFeatures()
1859 Features["xsavec"] = HasLeafD && ((EAX >> 1) & 1) && HasAVXSave; in getHostCPUFeatures()
1860 Features["xsaves"] = HasLeafD && ((EAX >> 3) & 1) && HasAVXSave; in getHostCPUFeatures()
1865 Features["ptwrite"] = HasLeaf14 && ((EBX >> 4) & 1); in getHostCPUFeatures()
1869 Features["widekl"] = HasLeaf7 && HasLeaf19 && ((EBX >> 2) & 1); in getHostCPUFeatures()
1873 Features["avx10.1-512"] = in getHostCPUFeatures()
1874 Features["avx10.1-256"] && HasLeaf24 && ((EBX >> 18) & 1); in getHostCPUFeatures()
1879 bool sys::getHostCPUFeatures(StringMap<bool> &Features) { in getHostCPUFeatures() argument
1936 Features[LLVMFeatureStr] = true; in getHostCPUFeatures()
1942 Features["crypto"] = true; in getHostCPUFeatures()
1948 bool sys::getHostCPUFeatures(StringMap<bool> &Features) { in getHostCPUFeatures() argument
1950 Features["neon"] = true; in getHostCPUFeatures()
1952 Features["crc"] = true; in getHostCPUFeatures()
1954 Features["crypto"] = true; in getHostCPUFeatures()
1960 bool sys::getHostCPUFeatures(StringMap<bool> &Features) { in getHostCPUFeatures() argument
1966 Features["f"] = HasFPU && (cpucfg2 & (1U << 1)); // CPUCFG.2.FP_SP in getHostCPUFeatures()
1967 Features["d"] = HasFPU && (cpucfg2 & (1U << 2)); // CPUCFG.2.FP_DP in getHostCPUFeatures()
1969 Features["lsx"] = hwcap & (1UL << 4); // HWCAP_LOONGARCH_LSX in getHostCPUFeatures()
1970 Features["lasx"] = hwcap & (1UL << 5); // HWCAP_LOONGARCH_LASX in getHostCPUFeatures()
1971 Features["lvz"] = hwcap & (1UL << 9); // HWCAP_LOONGARCH_LVZ in getHostCPUFeatures()
1976 bool sys::getHostCPUFeatures(StringMap<bool> &Features) { return false; } in getHostCPUFeatures() argument