dsp: msvc compatibility

intrin.h is available after VS2003

patch from the FreeImage project

Change-Id: I58a18a0db00e247f871d05e3ba99772704f0e079
This commit is contained in:
James Zern 2013-08-16 20:42:50 -07:00
parent 43a7c8ebee
commit f358450feb
2 changed files with 4 additions and 2 deletions

View File

@ -23,7 +23,8 @@ extern "C" {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// CPU detection // CPU detection
#if defined(_MSC_VER) && (defined(_M_X64) || defined(_M_IX86)) #if defined(_MSC_VER) && _MSC_VER > 1310 && \
(defined(_M_X64) || defined(_M_IX86))
#define WEBP_MSC_SSE2 // Visual C++ SSE2 targets #define WEBP_MSC_SSE2 // Visual C++ SSE2 targets
#endif #endif

View File

@ -108,7 +108,8 @@ static WEBP_INLINE float VP8LFastSLog2(int v) {
static WEBP_INLINE int BitsLog2Floor(uint32_t n) { static WEBP_INLINE int BitsLog2Floor(uint32_t n) {
return 31 ^ __builtin_clz(n); return 31 ^ __builtin_clz(n);
} }
#elif defined(_MSC_VER) && (defined(_M_X64) || defined(_M_IX86)) #elif defined(_MSC_VER) && _MSC_VER > 1310 && \
(defined(_M_X64) || defined(_M_IX86))
#include <intrin.h> #include <intrin.h>
#pragma intrinsic(_BitScanReverse) #pragma intrinsic(_BitScanReverse)