- 64 Bit Windows builds always have SSE2 support.

- Disable optimization of sim routines. This seems to expose a compiler bug in VS2010. Also silence warning 4748 due to disabled optimizations.
master
Nicky 2013-08-01 23:41:51 +02:00
parent 8a33a91ec3
commit 3acee1e8cf
2 changed files with 11 additions and 1 deletions

View File

@ -31,7 +31,7 @@
#error "Please include llmath.h before this file."
#endif
#if ( ( LL_DARWIN || LL_LINUX ) && !(__SSE2__) ) || ( LL_WINDOWS && ( _M_IX86_FP < 2 ) )
#if ( ( LL_DARWIN || LL_LINUX ) && !(__SSE2__) ) || ( LL_WINDOWS && ( _M_IX86_FP < 2 && !ND_BUILD64BIT_ARCH ) )
#error SSE2 not enabled. LLVector4a and related class will not compile.
#endif

View File

@ -27,6 +27,11 @@
////////////////////////////////////
// LOAD/STORE
////////////////////////////////////
#if defined( LL_WINDOWS ) && defined( ND_BUILD64BIT_ARCH )
#pragma optimize( "", off )
#pragma warning(push)
#pragma warning(disable:4748)
#endif
// Load from 16-byte aligned src array (preferred method of loading)
inline void LLVector4a::load4a(const F32* src)
@ -592,3 +597,8 @@ inline LLVector4a::operator LLQuad() const
{
return mQ;
}
#if defined( LL_WINDOWS ) && defined( ND_BUILD64BIT_ARCH )
#pragma warning(pop)
#pragma optimize( "", on )
#endif