]> git.sesse.net Git - stockfish/blobdiff - src/tt.cpp
Avoid Intel compiler optimizes away prefetching
[stockfish] / src / tt.cpp
index 862842f2639069b20a28593487207b74c755e884..0396b287cc5734b9517569e1124f91ddf0fcde73 100644 (file)
@@ -34,7 +34,7 @@
 #endif
 
 // This is the number of TTEntry slots for each position
-static const int ClusterSize = 5;
+static const int ClusterSize = 4;
 
 // The main transposition table
 TranspositionTable TT;
@@ -181,7 +181,10 @@ void TranspositionTable::prefetch(const Key posKey) const {
 #if defined(_MSC_VER)
   _mm_prefetch((char*)first_entry(posKey), _MM_HINT_T0);
 #else
-  __builtin_prefetch((const void*)first_entry(posKey), 0, 3);
+  // We need to force an asm volatile here because gcc builtin
+  // is optimized away by Intel compiler.
+  char* addr = (char*)first_entry(posKey);
+  asm volatile("prefetcht0 %0" :: "m" (addr));
 #endif
 }