diff options
-rw-r--r-- | Zend/zend_cpuinfo.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Zend/zend_cpuinfo.c b/Zend/zend_cpuinfo.c index 9defda05b3..26f3338f3d 100644 --- a/Zend/zend_cpuinfo.c +++ b/Zend/zend_cpuinfo.c @@ -40,7 +40,14 @@ static void __zend_cpuid(uint32_t func, uint32_t subfunc) { #elif defined(ZEND_WIN32) # include <intrin.h> static void __zend_cpuid(uint32_t func, uint32_t subfunc) { - __cpuidex(&cpuinfo, func, subfunc) + int regs[4]; + + __cpuidex(regs, func, subfunc); + + cpuinfo.eax = regs[0]; + cpuinfo.ebx = regs[1]; + cpuinfo.ecx = regs[2]; + cpuinfo.edx = regs[3]; } #else static void __zend_cpuid(uint32_t func, uint32_t subfunc) { |