Skip to content

Commit bc8b7f6

Browse files
committed
Port zend_cpuid for windows arm64
1 parent f24650d commit bc8b7f6

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

Zend/zend_cpuinfo.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,15 @@ static void __zend_cpuid(uint32_t func, uint32_t subfunc, zend_cpu_info *cpuinfo
5555
#endif
5656
}
5757
# endif
58-
#elif defined(ZEND_WIN32) && !defined(__clang__)
59-
# include <intrin.h>
58+
#elif defined(ZEND_WIN32)
59+
# if defined(_M_ARM64)
60+
# include <intrin.h>
61+
static void __zend_cpuid(uint32_t func, uint32_t subfunc, zend_cpu_info *cpuinfo) {
62+
// TODO: use registry to do this
63+
cpuinfo->eax = 0;
64+
}
65+
# elif !defined(__clang__)
66+
# include <intrin.h>
6067
static void __zend_cpuid(uint32_t func, uint32_t subfunc, zend_cpu_info *cpuinfo) {
6168
int regs[4];
6269

@@ -67,6 +74,7 @@ static void __zend_cpuid(uint32_t func, uint32_t subfunc, zend_cpu_info *cpuinfo
6774
cpuinfo->ecx = regs[2];
6875
cpuinfo->edx = regs[3];
6976
}
77+
# endif
7078
#else
7179
static void __zend_cpuid(uint32_t func, uint32_t subfunc, zend_cpu_info *cpuinfo) {
7280
cpuinfo->eax = 0;

0 commit comments

Comments
 (0)