- Square to = pop_lsb(&b);
-
- if (Type == CAPTURES || Type == EVASIONS || Type == NON_EVASIONS)
- (*mlist++).move = make<PROMOTION>(to - Delta, to, QUEEN);
-
- if (Type == QUIETS || Type == EVASIONS || Type == NON_EVASIONS)
- {
- (*mlist++).move = make<PROMOTION>(to - Delta, to, ROOK);
- (*mlist++).move = make<PROMOTION>(to - Delta, to, BISHOP);
- (*mlist++).move = make<PROMOTION>(to - Delta, to, KNIGHT);
- }
-
- // Knight-promotion is the only one that can give a direct check not
- // already included in the queen-promotion.
- if (Type == QUIET_CHECKS && (StepAttacksBB[W_KNIGHT][to] & ci->ksq))
- (*mlist++).move = make<PROMOTION>(to - Delta, to, KNIGHT);
- else
- (void)ci; // Silence a warning under MSVC
+ *moveList++ = make<PROMOTION>(to - Delta, to, ROOK);
+ *moveList++ = make<PROMOTION>(to - Delta, to, BISHOP);
+ *moveList++ = make<PROMOTION>(to - Delta, to, KNIGHT);