From: mstembera Date: Wed, 15 Mar 2017 03:56:26 +0000 (-0700) Subject: Fix pawn entry prefetch X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=d01b66ae8f4090c8e12e72423ff9165e6bc3a2f8 Fix pawn entry prefetch No functional change Closes #1026 --- diff --git a/src/misc.cpp b/src/misc.cpp index 360bd216..11833440 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -205,6 +205,12 @@ void prefetch(void* addr) { #endif +void prefetch2(void* addr) { + + prefetch(addr); + prefetch((uint8_t*)addr + 64); +} + namespace WinProcGroup { #ifndef _WIN32 diff --git a/src/misc.h b/src/misc.h index 72be1ee4..b63e613f 100644 --- a/src/misc.h +++ b/src/misc.h @@ -31,6 +31,7 @@ const std::string engine_info(bool to_uci = false); void prefetch(void* addr); +void prefetch2(void* addr); void start_logger(const std::string& fname); void dbg_hit_on(bool b); diff --git a/src/position.cpp b/src/position.cpp index 40890acf..e20c822f 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -827,7 +827,7 @@ void Position::do_move(Move m, StateInfo& newSt, bool givesCheck) { // Update pawn hash key and prefetch access to pawnsTable st->pawnKey ^= Zobrist::psq[pc][from] ^ Zobrist::psq[pc][to]; - prefetch(thisThread->pawnsTable[st->pawnKey]); + prefetch2(thisThread->pawnsTable[st->pawnKey]); // Reset rule 50 draw counter st->rule50 = 0;