-/// HT_enabled() returns true if hyper-threading is enabled on current machine
-
-static bool HT_enabled() {
-
- char CPUString[0x20];
- int CPUInfo[4] = {-1};
- int nIds, nLogicalCPU, nCores;
-
- // Detect CPU producer
- __cpuid(CPUInfo, 0);
- nIds = CPUInfo[0];
-
- memset(CPUString, 0, sizeof(CPUString));
- memcpy(&CPUString[0], &CPUInfo[1], sizeof(int));
- memcpy(&CPUString[4], &CPUInfo[3], sizeof(int));
- memcpy(&CPUString[8], &CPUInfo[2], sizeof(int));
-
- // Not an Intel CPU or CPUID.4 not supported
- if (strcmp(CPUString, "GenuineIntel") || nIds < 4)
- return false;
-
- // Detect if HT Technology is supported
- __cpuid(CPUInfo, 1);
- if (!((CPUInfo[3] >> 28) & 1))
- return false;