|
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.
|