]> granicus.if.org Git - php/commitdiff
Use __cpuid_count() from cpuid.h instead of custom assembly
authorOndřej Surý <ondrej@sury.org>
Tue, 17 Jul 2018 13:59:53 +0000 (13:59 +0000)
committerOndřej Surý <ondrej@sury.org>
Tue, 17 Jul 2018 13:59:53 +0000 (13:59 +0000)
Zend/zend_cpuinfo.c

index 43252a7cca11b926ac4f83a76e94d0eb1dcb9d8b..70e1dbf4fa3154f0d2d009ab469d7862e74a8387 100644 (file)
@@ -29,12 +29,9 @@ typedef struct _zend_cpu_info {
 static zend_cpu_info cpuinfo = {0};
 
 #if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
+#include <cpuid.h>
 static void __zend_cpuid(uint32_t func, uint32_t subfunc, zend_cpu_info *cpuinfo) {
-       __asm__ __volatile__ (
-               "cpuid"
-               : "=a"(cpuinfo->eax), "=b"(cpuinfo->ebx), "=c"(cpuinfo->ecx), "=d"(cpuinfo->edx)
-               : "a"(func), "c"(subfunc)
-       );
+       __cpuid_count(func, subfunc, cpuinfo->eax, cpuinfo->ebx, cpuinfo->ecx, cpuinfo->edx);
 }
 #elif defined(ZEND_WIN32)
 # include <intrin.h>