mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-20 17:16:33 +08:00
Retire run-time detection of hardware POPCNT
It was meant to build a single binary optimized for any kind of CPU: with and without hardware POPCNT. This is a nice idea but in practice was never used, or people builds binary with popcnt enabled or not, mainly according to their type of CPU. And it was also never used in the official Jim's builds where, in case, would be easier for a number of reasons, do build two different versions: with and without SEE42 support. So retire this feature and simplify the code. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
24
src/types.h
24
src/types.h
@@ -124,30 +124,22 @@ inline void __cpuid(int CPUInfo[4], int)
|
||||
#define FORCE_INLINE inline
|
||||
#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.
|
||||
/// HasPopCnt is a global constant initialized at compile time that is set to
|
||||
/// true if CPU on which application runs supports popcnt hardware instruction.
|
||||
#if defined(USE_POPCNT)
|
||||
const bool CpuHasPOPCNT = cpu_has_popcnt();
|
||||
const bool HasPopCnt = true;
|
||||
#else
|
||||
const bool CpuHasPOPCNT = false;
|
||||
const bool HasPopCnt = 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.
|
||||
/// Is64Bit 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;
|
||||
const bool Is64Bit = true;
|
||||
#else
|
||||
const bool CpuIs64Bit = false;
|
||||
const bool Is64Bit = false;
|
||||
#endif
|
||||
|
||||
#include <string>
|
||||
|
||||
Reference in New Issue
Block a user