Added cpuid compatibility for older MSVC versions Change-Id: I891bf936e03411ca611620e7cb2eb5081993a346
diff --git a/vpx_ports/x86.h b/vpx_ports/x86.h index e5e97e7..fdbed25 100644 --- a/vpx_ports/x86.h +++ b/vpx_ports/x86.h
@@ -71,6 +71,7 @@ #endif #else /* end __SUNPRO__ */ #if ARCH_X86_64 +#if defined(_MSC_VER) && _MSC_VER > 1500 void __cpuidex(int CPUInfo[4], int info_type, int ecxvalue); #pragma intrinsic(__cpuidex) #define cpuid(func, func2, a, b, c, d) do {\ @@ -79,6 +80,15 @@ a = regs[0]; b = regs[1]; c = regs[2]; d = regs[3];\ } while(0) #else +void __cpuid(int CPUInfo[4], int info_type); +#pragma intrinsic(__cpuid) +#define cpuid(func, func2, a, b, c, d) do {\ + int regs[4];\ + __cpuid(regs, func); \ + a = regs[0]; b = regs[1]; c = regs[2]; d = regs[3];\ + } while (0) +#endif +#else #define cpuid(func, func2, a, b, c, d)\ __asm mov eax, func\ __asm mov ecx, func2\