| 383 | } |
| 384 | |
| 385 | std::string stringOfCPUFeatures(int features) |
| 386 | { |
| 387 | std::string str; |
| 388 | if (features & CPU_FEATURE_XMM_ENABLED) str += "XMM "; |
| 389 | if (features & CPU_FEATURE_YMM_ENABLED) str += "YMM "; |
| 390 | if (features & CPU_FEATURE_ZMM_ENABLED) str += "ZMM "; |
| 391 | if (features & CPU_FEATURE_SSE ) str += "SSE "; |
| 392 | if (features & CPU_FEATURE_SSE2 ) str += "SSE2 "; |
| 393 | if (features & CPU_FEATURE_SSE3 ) str += "SSE3 "; |
| 394 | if (features & CPU_FEATURE_SSSE3 ) str += "SSSE3 "; |
| 395 | if (features & CPU_FEATURE_SSE41 ) str += "SSE4.1 "; |
| 396 | if (features & CPU_FEATURE_SSE42 ) str += "SSE4.2 "; |
| 397 | if (features & CPU_FEATURE_POPCNT) str += "POPCNT "; |
| 398 | if (features & CPU_FEATURE_AVX ) str += "AVX "; |
| 399 | if (features & CPU_FEATURE_F16C ) str += "F16C "; |
| 400 | if (features & CPU_FEATURE_RDRAND) str += "RDRAND "; |
| 401 | if (features & CPU_FEATURE_AVX2 ) str += "AVX2 "; |
| 402 | if (features & CPU_FEATURE_FMA3 ) str += "FMA3 "; |
| 403 | if (features & CPU_FEATURE_LZCNT ) str += "LZCNT "; |
| 404 | if (features & CPU_FEATURE_BMI1 ) str += "BMI1 "; |
| 405 | if (features & CPU_FEATURE_BMI2 ) str += "BMI2 "; |
| 406 | if (features & CPU_FEATURE_AVX512F) str += "AVX512F "; |
| 407 | if (features & CPU_FEATURE_AVX512DQ) str += "AVX512DQ "; |
| 408 | if (features & CPU_FEATURE_AVX512PF) str += "AVX512PF "; |
| 409 | if (features & CPU_FEATURE_AVX512ER) str += "AVX512ER "; |
| 410 | if (features & CPU_FEATURE_AVX512CD) str += "AVX512CD "; |
| 411 | if (features & CPU_FEATURE_AVX512BW) str += "AVX512BW "; |
| 412 | if (features & CPU_FEATURE_AVX512VL) str += "AVX512VL "; |
| 413 | if (features & CPU_FEATURE_AVX512IFMA) str += "AVX512IFMA "; |
| 414 | if (features & CPU_FEATURE_AVX512VBMI) str += "AVX512VBMI "; |
| 415 | if (features & CPU_FEATURE_NEON) str += "NEON "; |
| 416 | if (features & CPU_FEATURE_NEON_2X) str += "2xNEON "; |
| 417 | return str; |
| 418 | } |
| 419 | |
| 420 | std::string stringOfISA (int isa) |
| 421 | { |