diff --git a/SystemInformation.cxx b/SystemInformation.cxx index e6cc924eb2ff98977780ad09579122c01d2e76a0..37bf98da989d9929fa5ca24bdff0cf6e42642ca9 100644 --- a/SystemInformation.cxx +++ b/SystemInformation.cxx @@ -3731,6 +3731,11 @@ unsigned char SystemInformationImplementation::LogicalCPUPerPhysicalCPU(void) /** Works only for windows */ bool SystemInformationImplementation::IsHyperThreadingSupported() { + if (this->Features.ExtendedFeatures.SupportsHyperthreading) + { + return true; + } + #if USE_CPUID int Regs[4] = { 0, 0, 0, 0 }, VendorId[4] = { 0, 0, 0, 0 }; @@ -3754,7 +3759,9 @@ bool SystemInformationImplementation::IsHyperThreadingSupported() { if (VendorId[2] == 0x6c65746e) // 'letn' { - return(Regs[3] & HT_BIT); // Genuine Intel with hyper-Threading technology + // Genuine Intel with hyper-Threading technology + this->Features.ExtendedFeatures.SupportsHyperthreading = ((Regs[3] & HT_BIT) != 0); + return this->Features.ExtendedFeatures.SupportsHyperthreading; } } }