]> git.sesse.net Git - stockfish/blobdiff - src/tt.cpp
Reverse the logic used to detect prefetch
[stockfish] / src / tt.cpp
index 8da3ca75767755f0e4198f98125fd0e23da12dfb..e8a316c96b7ae5831cb32737ec0df38eb72300b8 100644 (file)
@@ -1,7 +1,7 @@
 /*
   Stockfish, a UCI chess playing engine derived from Glaurung 2.1
   Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
-  Copyright (C) 2008-2009 Marco Costalba
+  Copyright (C) 2008-2010 Marco Costalba, Joona Kiiski, Tord Romstad
 
   Stockfish is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@
 #include <cassert>
 #include <cmath>
 #include <cstring>
-#if !defined(__hpux)
+#if defined(__i386__) || defined(_M_IX86) || defined(_X86_)
 #  include <xmmintrin.h>
 #endif
 
@@ -121,10 +121,7 @@ void TranspositionTable::store(const Key posKey, Value v, ValueType t, Depth d,
   {
       if (!tte->key() || tte->key() == posKey32) // empty or overwrite old
       {
-          // Do not overwrite when new type is VALUE_TYPE_EV_LO
-          if (tte->key() && t == VALUE_TYPE_EV_LO)
-              return;
-
+          // Preserve any exsisting ttMove
           if (m == MOVE_NONE)
               m = tte->move();
 
@@ -169,8 +166,8 @@ TTEntry* TranspositionTable::retrieve(const Key posKey) const {
 /// to be loaded from RAM, that can be very slow. When we will
 /// subsequently call retrieve() the TT data will be already
 /// quickly accessible in L1/L2 CPU cache.
-#if defined(__hpux)
-void TranspositionTable::prefetch(const Key) const {} // Not supported on HP UX
+#if !(defined(__i386__) || defined(_M_IX86) || defined(_X86_))
+void TranspositionTable::prefetch(const Key) const {}
 #else
 
 void TranspositionTable::prefetch(const Key posKey) const {