From df1081bb82f5d303ef3f50e8f70987b106a2aa4a Mon Sep 17 00:00:00 2001 From: James Zern Date: Fri, 16 Jan 2015 16:14:49 -0800 Subject: [PATCH] dsp/cpu: (msvs) add include for __cpuidex and only use it on x86 / x64 where it's available. has the side-effect of quieting a msvs /analyze warning: C6001: Using uninitialized memory 'cpu_info'. (cherry picked from commit 0de5f33e31036c04c020527c3984749bdd292675) Change-Id: Iae51be3b22b2ee949cfc473eeea9fd9fb6b3c2cb --- src/dsp/cpu.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/dsp/cpu.c b/src/dsp/cpu.c index 7673d0fa..ef04a75a 100644 --- a/src/dsp/cpu.c +++ b/src/dsp/cpu.c @@ -38,7 +38,9 @@ static WEBP_INLINE void GetCPUInfo(int cpu_info[4], int info_type) { : "=a"(cpu_info[0]), "=b"(cpu_info[1]), "=c"(cpu_info[2]), "=d"(cpu_info[3]) : "a"(info_type), "c"(0)); } -#elif defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 150030729 // >= VS2008 SP1 +#elif (defined(_M_X64) || defined(_M_IX86)) && \ + defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 150030729 // >= VS2008 SP1 +#include #define GetCPUInfo(info, type) __cpuidex(info, type, 0) // set ecx=0 #elif defined(WEBP_MSC_SSE2) #define GetCPUInfo __cpuid