]> git.sesse.net Git - stockfish/blobdiff - src/movegen.cpp
Simplify King Evasion
[stockfish] / src / movegen.cpp
index 1e42f99e91231da212cdf17cb473727853329d2a..5049613617ac5eb304385fa82f40fc073dbed66f 100644 (file)
@@ -313,17 +313,9 @@ ExtMove* generate<EVASIONS>(const Position& pos, ExtMove* moveList) {
 
   Color us = pos.side_to_move();
   Square ksq = pos.square<KING>(us);
-  Bitboard sliderAttacks = 0;
-  Bitboard sliders = pos.checkers() & ~pos.pieces(KNIGHT, PAWN);
 
-  // Find all the squares attacked by slider checkers. We will remove them from
-  // the king evasions in order to skip known illegal moves, which avoids any
-  // useless legality checks later on.
-  while (sliders)
-      sliderAttacks |= line_bb(ksq, pop_lsb(sliders)) & ~pos.checkers();
-
-  // Generate evasions for king, capture and non capture moves
-  Bitboard b = attacks_bb<KING>(ksq) & ~pos.pieces(us) & ~sliderAttacks;
+  // Generate evasions for king
+  Bitboard b = attacks_bb<KING>(ksq) & ~pos.pieces(us);
   while (b)
       *moveList++ = make_move(ksq, pop_lsb(b));