From: <axl...@us...> - 2010-04-26 02:41:16
|
Revision: 701 http://hgengine.svn.sourceforge.net/hgengine/?rev=701&view=rev Author: axlecrusher Date: 2010-04-26 02:41:10 +0000 (Mon, 26 Apr 2010) Log Message: ----------- fix ambiguous warnings Modified Paths: -------------- Mercury2/src/MercuryMath.cpp Mercury2/src/MercuryMath.h Modified: Mercury2/src/MercuryMath.cpp =================================================================== --- Mercury2/src/MercuryMath.cpp 2010-04-25 22:33:57 UTC (rev 700) +++ Mercury2/src/MercuryMath.cpp 2010-04-26 02:41:10 UTC (rev 701) @@ -205,7 +205,11 @@ { unsigned int y; __m128 xmm[4]; - + +// PREFETCH(in1, _MM_HINT_T0); +// PREFETCH(in2, _MM_HINT_T1); +// PREFETCH(out, _MM_HINT_T1); + for (y = 0; y < 4; ++y) { //load rows as columns Modified: Mercury2/src/MercuryMath.h =================================================================== --- Mercury2/src/MercuryMath.h 2010-04-25 22:33:57 UTC (rev 700) +++ Mercury2/src/MercuryMath.h 2010-04-26 02:41:10 UTC (rev 701) @@ -10,13 +10,13 @@ #ifdef USE_SSE #include <xmmintrin.h> +#define PREFETCH(a,sel) _mm_prefetch(a,sel); //prefetch a cache line (64 bytes) +#else +#define PREFETCH(a,sel) ; //prefetch a cache line (64 bytes) #endif class FloatRow { public: - inline float& operator[](unsigned int i) { return ((float*)&m_floats)[i]; } - inline const float& operator[](unsigned int i) const { return ((const float*)&m_floats)[i]; } - inline operator float*() { return (float*)&m_floats; } inline operator const float*() const { return (const float*)&m_floats; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |