/*
Stockfish, a UCI chess playing engine derived from Glaurung 2.1
Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
- Copyright (C) 2008-2012 Marco Costalba, Joona Kiiski, Tord Romstad
+ Copyright (C) 2008-2013 Marco Costalba, Joona Kiiski, Tord Romstad
Stockfish is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#if !defined(BITCOUNT_H_INCLUDED)
+#ifndef BITCOUNT_H_INCLUDED
#define BITCOUNT_H_INCLUDED
#include <cassert>
template<>
inline int popcount<CNT_HW_POPCNT>(Bitboard b) {
-#if !defined(USE_POPCNT)
+#ifndef USE_POPCNT
assert(false);
return b != 0; // Avoid 'b not used' warning
#else
- unsigned long ret;
- __asm__("popcnt %1, %0" : "=r" (ret) : "r" (b));
- return ret;
+ __asm__("popcnt %1, %0" : "=r" (b) : "r" (b));
+ return b;
#endif
}
-#endif // !defined(BITCOUNT_H_INCLUDED)
+#endif // #ifndef BITCOUNT_H_INCLUDED