Unify do_promotion_move()