Use optimized pop_1st_bit() under Windows 64 with icc
authorMarco Costalba <mcostalba@gmail.com>
Fri, 14 Aug 2009 11:47:49 +0000 (12:47 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Fri, 14 Aug 2009 11:47:49 +0000 (12:47 +0100)
Intel compiler can handle this code even under Windows.

So lift the costrain.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/bitboard.h
src/types.h

index d2b623f609ea584a1fcee81ff87917179360889e..c0af52269afe5997bb7f73c526c77f3e4322d55e 100644 (file)
@@ -323,13 +323,13 @@ inline Bitboard isolated_pawn_mask(Square s) {
 
 #if defined(USE_BSFQ) // Assembly code by Heinz van Saanen
 
-inline Square __attribute__((always_inline)) first_1(Bitboard b) {
+inline Square first_1(Bitboard b) {
   Bitboard dummy;
   __asm__("bsfq %1, %0": "=r"(dummy): "rm"(b) );
   return (Square)(dummy);
 }
 
-inline Square __attribute__((always_inline)) pop_1st_bit(Bitboard* b) {
+inline Square pop_1st_bit(Bitboard* b) {
   const Square s = first_1(*b);
   *b &= ~(1ULL<<s);
   return s;
index 0819ff11d1019936c6c29be47008a97ac44cfda4..95e3f6eeb46c4357b297f308f63f666bb5679757 100644 (file)
@@ -62,7 +62,7 @@ typedef uint64_t Bitboard;
 #define IS_64BIT
 #endif
 
-#if defined(IS_64BIT) && !defined(_WIN64) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
+#if defined(IS_64BIT) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
 #define USE_BSFQ
 #endif