From: Marco Costalba Date: Fri, 24 Aug 2012 08:30:50 +0000 (+0100) Subject: Slightly microptimize SEE X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=fde0b9e701a6bfac05e56f6bffdc29943be56120 Slightly microptimize SEE Reduce of one instruction. It seems a tad faster on the profiler now. Very slightly but anyhow it is a code semplification. No functional change. Signed-off-by: Marco Costalba --- diff --git a/src/position.cpp b/src/position.cpp index 21022ae1..9be0fe60 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -1271,12 +1271,11 @@ int Position::see(Move m) const { // Locate the least valuable attacker for the side to move. The loop // below looks like it is potentially infinite, but it isn't. We know // that the side to move still has at least one attacker left. - for (pt = PAWN; !(stmAttackers & pieces(pt)); pt++) + for (pt = PAWN; (b = stmAttackers & pieces(pt)) == 0; pt++) assert(pt < KING); // Remove the attacker we just found from the 'occupied' bitboard, // and scan for new X-ray attacks behind the attacker. - b = stmAttackers & pieces(pt); occ ^= (b & (~b + 1)); attackers |= (attacks_bb(to, occ) & pieces(ROOK, QUEEN)) | (attacks_bb(to, occ) & pieces(BISHOP, QUEEN));