let the prefetch go through a register instead...
[IRC.git] / Robust / src / Runtime / memPool.h
index 51fbc1f24d86ab2c0a085f3f86dfe3ade20f2d07..9d2f21b3c79a66978f4e5a28b53f5401870e989f 100644 (file)
@@ -120,8 +120,6 @@ static inline void* poolalloc( MemPool* p ) {
 
   //////////////////////////////////////////////////////////
   //
-  //   a prefetch statement from the Linux kernel,
-  //   which the little "m" depends on architecture:
   //
   //  static inline void prefetch(void *x) 
   //  { 
@@ -132,7 +130,7 @@ static inline void* poolalloc( MemPool* p ) {
   //  but this built-in gcc one seems the most portable:
   //////////////////////////////////////////////////////////
   //__builtin_prefetch( &(p->head->next) );
-  asm volatile( "prefetcht0 %0" :: "m" (next));
+  asm volatile( "prefetcht0 (%0)" :: "r" (next));
 
   return headCurrent;
 }