From: Marco Costalba Date: Tue, 2 Jul 2013 18:06:24 +0000 (+0200) Subject: Revert "Remove confusing optimization" X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=12c0dfc11364f915d90032a3dfbac3ed8f39db0a Revert "Remove confusing optimization" This reverts commit e05c80a08859f6c4f0f599ca0b262ced00ad66fe. we gain a speed up of 1.5% under gcc ! No functional change. --- diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 68984802..c5af2f89 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -821,7 +821,8 @@ Value do_evaluate(const Position& pos, Value& margin) { // If there is an enemy rook or queen attacking the pawn from behind, // add all X-ray attacks by the rook or queen. Otherwise consider only // the squares in the pawn's path attacked or occupied by the enemy. - if (forward_bb(Them, s) & pos.pieces(Them, ROOK, QUEEN) & pos.attacks_from(s)) + if ( (forward_bb(Them, s) & pos.pieces(Them, ROOK, QUEEN)) // Unlikely + && (forward_bb(Them, s) & pos.pieces(Them, ROOK, QUEEN) & pos.attacks_from(s))) unsafeSquares = squaresToQueen; else unsafeSquares = squaresToQueen & (ei.attackedBy[Them][ALL_PIECES] | pos.pieces(Them));