1 // Microsoft version of 'inline' 2 #define inline __inline 3 4 // In Visual Studio, _M_IX86_FP=1 means /arch:SSE was used, likewise 5 // _M_IX86_FP=2 means /arch:SSE2 was used. 6 // Also, enable both _USE_SSE and _USE_SSE2 if we're compiling for x86-64 7 #if _M_IX86_FP >= 1 || defined(_M_X64) 8 #define _USE_SSE 9 #endif 10 11 #if _M_IX86_FP >= 2 || defined(_M_X64) 12 #define _USE_SSE2 13 #endif 14 15 // Visual Studio support alloca(), but it always align variables to 16-bit 16 // boundary, while SSE need 128-bit alignment. So we disable alloca() when 17 // SSE is enabled. 18 #ifndef _USE_SSE 19 # define USE_ALLOCA 20 #endif 21 22 /* Default to floating point */ 23 #ifndef FIXED_POINT 24 # define FLOATING_POINT 25 # define USE_SMALLFT 26 #else 27 # define USE_KISS_FFT 28 #endif 29 30 /* We don't support visibility on Win32 */ 31 #define EXPORT 32