X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbitcount.h;h=72ee37ca98dc997cf6fd9ed46696752a637c1b1e;hp=3c5ba2a1fa4004e40905e0b2514d76d4ab1518ee;hb=8307da0de77c9c7bbf7c56a7d9c8a688ff4dfb4e;hpb=7614501362896ddee902c1257f1b56ad148bc4d3 diff --git a/src/bitcount.h b/src/bitcount.h index 3c5ba2a1..72ee37ca 100644 --- a/src/bitcount.h +++ b/src/bitcount.h @@ -1,7 +1,7 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) - Copyright (C) 2008-2010 Marco Costalba, Joona Kiiski, Tord Romstad + Copyright (C) 2008-2012 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 @@ -18,7 +18,6 @@ along with this program. If not, see . */ - #if !defined(BITCOUNT_H_INCLUDED) #define BITCOUNT_H_INCLUDED @@ -88,7 +87,7 @@ inline int count_1s(Bitboard b) { #elif defined(_MSC_VER) && defined(__INTEL_COMPILER) return _mm_popcnt_u64(b); #elif defined(_MSC_VER) - return __popcnt64(b); + return (int)__popcnt64(b); #elif defined(__GNUC__) unsigned long ret; __asm__("popcnt %1, %0" : "=r" (ret) : "r" (b)); @@ -96,32 +95,4 @@ inline int count_1s(Bitboard b) { #endif } - -/// cpu_has_popcnt() detects support for popcnt instruction at runtime -inline bool cpu_has_popcnt() { - - int CPUInfo[4] = {-1}; - __cpuid(CPUInfo, 0x00000001); - return (CPUInfo[2] >> 23) & 1; -} - - -/// CpuHasPOPCNT is a global constant initialized at startup that -/// is set to true if CPU on which application runs supports popcnt -/// hardware instruction. Unless USE_POPCNT is not defined. -#if defined(USE_POPCNT) -const bool CpuHasPOPCNT = cpu_has_popcnt(); -#else -const bool CpuHasPOPCNT = false; -#endif - - -/// CpuIs64Bit is a global constant initialized at compile time that -/// is set to true if CPU on which application runs is a 64 bits. -#if defined(IS_64BIT) -const bool CpuIs64Bit = true; -#else -const bool CpuIs64Bit = false; -#endif - #endif // !defined(BITCOUNT_H_INCLUDED)