35 #include <yepPredefines.h>
410 YEP_PUBLIC_SYMBOL
enum YepStatus YEPABI yepLibrary_GetCpuDataCacheSize(
Yep32u level,
Yep32u *cacheSize);
411 YEP_PUBLIC_SYMBOL
enum YepStatus YEPABI yepLibrary_GetCpuInstructionCacheSize(
Yep32u level,
Yep32u *cacheSize);
412 YEP_PUBLIC_SYMBOL
enum YepStatus YEPABI yepLibrary_GetLogicalCoresCount(
Yep32u *logicalCoresCount);
587 #define YEP_ENUMERATION_ISA_FEATURE_FOR_ARCHITECTURE(architecture) (256 + (architecture))
591 #define YEP_ENUMERATION_SIMD_FEATURE_FOR_ARCHITECTURE(architecture) (512 + (architecture))
595 #define YEP_ENUMERATION_SYSTEM_FEATURE_FOR_ARCHITECTURE(architecture) (768 + (architecture))
728 const Yep64u YepIsaFeaturesDefault = 0x0000000000000000ull;
729 const Yep64u YepSimdFeaturesDefault = 0x0000000000000000ull;
730 const Yep64u YepSystemFeaturesDefault = 0x0000000000000000ull;
732 #define YepIsaFeaturesDefault 0x0000000000000000ull
733 #define YepSimdFeaturesDefault 0x0000000000000000ull
734 #define YepSystemFeaturesDefault 0x0000000000000000ull
751 #define YepSystemFeatureCycleCounter 0x0000000000000001ull
754 #define YepSystemFeatureCycleCounter64Bit 0x0000000000000002ull
757 #define YepSystemFeatureAddressSpace64Bit 0x0000000000000004ull
760 #define YepSystemFeatureGPRegisters64Bit 0x0000000000000008ull
763 #define YepSystemFeatureMisalignedAccess 0x0000000000000010ull
766 #define YepSystemFeatureSingleThreaded 0x0000000000000020ull
817 #define YepX86IsaFeatureFPU 0x0000000000000001ull
820 #define YepX86IsaFeatureCpuid 0x0000000000000002ull
823 #define YepX86IsaFeatureRdtsc 0x0000000000000004ull
826 #define YepX86IsaFeatureCMOV 0x0000000000000008ull
829 #define YepX86IsaFeatureSYSENTER 0x0000000000000010ull
832 #define YepX86IsaFeatureSYSCALL 0x0000000000000020ull
835 #define YepX86IsaFeatureMSR 0x0000000000000040ull
838 #define YepX86IsaFeatureClflush 0x0000000000000080ull
841 #define YepX86IsaFeatureMONITOR 0x0000000000000100ull
844 #define YepX86IsaFeatureFXSAVE 0x0000000000000200ull
847 #define YepX86IsaFeatureXSAVE 0x0000000000000400ull
850 #define YepX86IsaFeatureCmpxchg8b 0x0000000000000800ull
853 #define YepX86IsaFeatureCmpxchg16b 0x0000000000001000ull
856 #define YepX86IsaFeatureX64 0x0000000000002000ull
859 #define YepX86IsaFeatureLahfSahf64 0x0000000000004000ull
862 #define YepX86IsaFeatureFsGsBase 0x0000000000008000ull
865 #define YepX86IsaFeatureMovbe 0x0000000000010000ull
868 #define YepX86IsaFeaturePopcnt 0x0000000000020000ull
871 #define YepX86IsaFeatureLzcnt 0x0000000000040000ull
874 #define YepX86IsaFeatureBMI 0x0000000000080000ull
877 #define YepX86IsaFeatureBMI2 0x0000000000100000ull
880 #define YepX86IsaFeatureTBM 0x0000000000200000ull
883 #define YepX86IsaFeatureRdrand 0x0000000000400000ull
886 #define YepX86IsaFeatureACE 0x0000000000800000ull
889 #define YepX86IsaFeatureACE2 0x0000000001000000ull
892 #define YepX86IsaFeatureRNG 0x0000000002000000ull
895 #define YepX86IsaFeaturePHE 0x0000000004000000ull
898 #define YepX86IsaFeaturePMM 0x0000000008000000ull
901 #define YepX86IsaFeatureAES 0x0000000010000000ull
904 #define YepX86IsaFeaturePclmulqdq 0x0000000020000000ull
907 #define YepX86IsaFeatureRdtscp 0x0000000040000000ull
910 #define YepX86IsaFeatureLWP 0x0000000080000000ull
913 #define YepX86IsaFeatureHLE 0x0000000100000000ull
916 #define YepX86IsaFeatureRTM 0x0000000200000000ull
919 #define YepX86IsaFeatureXtest 0x0000000400000000ull
922 #define YepX86IsaFeatureRdseed 0x0000000800000000ull
925 #define YepX86IsaFeatureADX 0x0000001000000000ull
928 #define YepX86IsaFeatureSHA 0x0000002000000000ull
931 #define YepX86IsaFeatureMPX 0x0000004000000000ull
970 #define YepX86SimdFeatureMMX 0x0000000000000001ull
974 #define YepX86SimdFeatureMMXPlus 0x0000000000000002ull
977 #define YepX86SimdFeatureEMMX 0x0000000000000004ull
981 #define YepX86SimdFeature3dnow 0x0000000000000008ull
985 #define YepX86SimdFeature3dnowPlus 0x0000000000000010ull
988 #define YepX86SimdFeature3dnowPrefetch 0x0000000000000020ull
991 #define YepX86SimdFeature3dnowGeode 0x0000000000000040ull
995 #define YepX86SimdFeatureSSE 0x0000000000000080ull
999 #define YepX86SimdFeatureSSE2 0x0000000000000100ull
1003 #define YepX86SimdFeatureSSE3 0x0000000000000200ull
1007 #define YepX86SimdFeatureSSSE3 0x0000000000000400ull
1011 #define YepX86SimdFeatureSSE4_1 0x0000000000000800ull
1015 #define YepX86SimdFeatureSSE4_2 0x0000000000001000ull
1019 #define YepX86SimdFeatureSSE4A 0x0000000000002000ull
1023 #define YepX86SimdFeatureAVX 0x0000000000004000ull
1027 #define YepX86SimdFeatureAVX2 0x0000000000008000ull
1031 #define YepX86SimdFeatureXOP 0x0000000000010000ull
1035 #define YepX86SimdFeatureF16C 0x0000000000020000ull
1039 #define YepX86SimdFeatureFMA3 0x0000000000040000ull
1043 #define YepX86SimdFeatureFMA4 0x0000000000080000ull
1046 #define YepX86SimdFeatureKNF 0x0000000000100000ull
1050 #define YepX86SimdFeatureKNC 0x0000000000200000ull
1053 #define YepX86SimdFeatureAVX512F 0x0000000000400000ull
1056 #define YepX86SimdFeatureAVX512CD 0x0000000000800000ull
1059 #define YepX86SimdFeatureAVX512ER 0x0000000001000000ull
1062 #define YepX86SimdFeatureAVX512PF 0x0000000002000000ull
1074 const Yep64u YepX86SystemFeatureXMM = 0x0020000000000000ull;
1075 const Yep64u YepX86SystemFeatureYMM = 0x0040000000000000ull;
1085 #define YepX86SystemFeatureACE 0x0000000100000000ull
1088 #define YepX86SystemFeatureACE2 0x0000000200000000ull
1091 #define YepX86SystemFeatureRNG 0x0000000400000000ull
1094 #define YepX86SystemFeaturePHE 0x0000000800000000ull
1097 #define YepX86SystemFeaturePMM 0x0000001000000000ull
1100 #define YepX86SystemFeatureMisalignedSSE 0x0000002000000000ull
1103 #define YepX86SystemFeatureFPU 0x0010000000000000ull
1106 #define YepX86SystemFeatureSSE 0x0020000000000000ull
1109 #define YepX86SystemFeatureAVX 0x0040000000000000ull
1112 #define YepX86SystemFeatureZMM 0x0080000000000000ull
1115 #define YepX86SystemFeatureBND 0x0100000000000000ull
1131 #define YepIA64IsaFeatureBrl 0x0000000000000001ull
1134 #define YepIA64IsaFeatureAtomic128 0x0000000000000002ull
1137 #define YepIA64IsaFeatureClz 0x0000000000000004ull
1140 #define YepIA64IsaFeatureMpy4 0x0000000000000008ull
1172 #define YepARMIsaFeatureV4 0x0000000000000001ull
1175 #define YepARMIsaFeatureV5 0x0000000000000002ull
1178 #define YepARMIsaFeatureV5E 0x0000000000000004ull
1181 #define YepARMIsaFeatureV6 0x0000000000000008ull
1184 #define YepARMIsaFeatureV6K 0x0000000000000010ull
1187 #define YepARMIsaFeatureV7 0x0000000000000020ull
1190 #define YepARMIsaFeatureV7MP 0x0000000000000040ull
1193 #define YepARMIsaFeatureThumb 0x0000000000000080ull
1196 #define YepARMIsaFeatureThumb2 0x0000000000000100ull
1199 #define YepARMIsaFeatureThumbEE 0x0000000000000200ull
1202 #define YepARMIsaFeatureJazelle 0x0000000000000400ull
1205 #define YepARMIsaFeatureFPA 0x0000000000000800ull
1208 #define YepARMIsaFeatureVFP 0x0000000000001000ull
1211 #define YepARMIsaFeatureVFP2 0x0000000000002000ull
1214 #define YepARMIsaFeatureVFP3 0x0000000000004000ull
1217 #define YepARMIsaFeatureVFPd32 0x0000000000008000ull
1220 #define YepARMIsaFeatureVFP3HP 0x0000000000010000ull
1223 #define YepARMIsaFeatureVFP4 0x0000000000020000ull
1226 #define YepARMIsaFeatureDiv 0x0000000000040000ull
1229 #define YepARMIsaFeatureArmada 0x0000000000080000ull
1247 #define YepARMSimdFeatureXScale 0x0000000000000001ull
1250 #define YepARMSimdFeatureWMMX 0x0000000000000002ull
1253 #define YepARMSimdFeatureWMMX2 0x0000000000000004ull
1256 #define YepARMSimdFeatureNEON 0x0000000000000008ull
1259 #define YepARMSimdFeatureNEONHP 0x0000000000000010ull
1262 #define YepARMSimdFeatureNEON2 0x0000000000000020ull
1279 #define YepARMSystemFeatureVFPVectorMode 0x0000000100000000ull
1282 #define YepARMSystemFeatureFPA 0x0100000000000000ull
1285 #define YepARMSystemFeatureWMMX 0x0200000000000000ull
1288 #define YepARMSystemFeatureS32 0x0400000000000000ull
1291 #define YepARMSystemFeatureD32 0x0800000000000000ull
1316 #define YepMIPSIsaFeatureMIPS_I 0x0000000000000001ull
1319 #define YepMIPSIsaFeatureMIPS_II 0x0000000000000002ull
1322 #define YepMIPSIsaFeatureMIPS_III 0x0000000000000004ull
1325 #define YepMIPSIsaFeatureMIPS_IV 0x0000000000000008ull
1328 #define YepMIPSIsaFeatureMIPS_V 0x0000000000000010ull
1331 #define YepMIPSIsaFeatureR1 0x0000000000000020ull
1334 #define YepMIPSIsaFeatureR2 0x0000000000000040ull
1337 #define YepMIPSIsaFeatureFPU 0x0000000001000000ull
1340 #define YepMIPSIsaFeatureMIPS16 0x0000000002000000ull
1343 #define YepMIPSIsaFeatureSmartMIPS 0x0000000004000000ull
1346 #define YepMIPSIsaFeatureMT 0x0000000008000000ull
1349 #define YepMIPSIsaFeatureMicroMIPS 0x0000000010000000ull
1352 #define YepMIPSIsaFeatureVZ 0x0000000020000000ull
1372 #define YepMIPSSimdFeatureMDMX 0x0000000000000001ull
1375 #define YepMIPSSimdFeaturePairedSingle 0x0000000000000002ull
1378 #define YepMIPSSimdFeatureMIPS3D 0x0000000000000004ull
1381 #define YepMIPSSimdFeatureDSP 0x0000000000000008ull
1384 #define YepMIPSSimdFeatureDSP2 0x0000000000000010ull
1388 #define YepMIPSSimdFeatureGodsonMMX 0x0000000000000020ull
1391 #define YepMIPSSimdFeatureMXU 0x0000000000000040ull
1394 #define YepMIPSSimdFeatureMXU2 0x0000000000000080ull