mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-20 00:56:39 +08:00
Fix PowerPC and ARM compatibility.
This commit is contained in:
@@ -197,6 +197,7 @@ osx-ppc32:
|
|||||||
CXX='g++' \
|
CXX='g++' \
|
||||||
CXXFLAGS="$(GCCFLAGS)" \
|
CXXFLAGS="$(GCCFLAGS)" \
|
||||||
CXXFLAGS+='-arch ppc' \
|
CXXFLAGS+='-arch ppc' \
|
||||||
|
CXXFLAGS+='-DBIGENDIAN' \
|
||||||
LDFLAGS+='-arch ppc' \
|
LDFLAGS+='-arch ppc' \
|
||||||
all
|
all
|
||||||
|
|
||||||
@@ -205,6 +206,7 @@ osx-ppc64:
|
|||||||
CXX='g++' \
|
CXX='g++' \
|
||||||
CXXFLAGS="$(GCCFLAGS)" \
|
CXXFLAGS="$(GCCFLAGS)" \
|
||||||
CXXFLAGS+='-arch ppc64' \
|
CXXFLAGS+='-arch ppc64' \
|
||||||
|
CXXFLAGS+='-DBIGENDIAN' \
|
||||||
LDFLAGS+='-arch ppc64' \
|
LDFLAGS+='-arch ppc64' \
|
||||||
all
|
all
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#if !defined(__hpux)
|
#if !(defined(__hpux) || defined(__ppc__) || defined(__ppc64__) || defined(__arm__))
|
||||||
# include <xmmintrin.h>
|
# include <xmmintrin.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -170,7 +170,7 @@ TTEntry* TranspositionTable::retrieve(const Key posKey) const {
|
|||||||
/// to be loaded from RAM, that can be very slow. When we will
|
/// to be loaded from RAM, that can be very slow. When we will
|
||||||
/// subsequently call retrieve() the TT data will be already
|
/// subsequently call retrieve() the TT data will be already
|
||||||
/// quickly accessible in L1/L2 CPU cache.
|
/// quickly accessible in L1/L2 CPU cache.
|
||||||
#if defined(__hpux)
|
#if defined(__hpux) || defined(__ppc__) || defined(__ppc64__) || defined(__arm__)
|
||||||
void TranspositionTable::prefetch(const Key) const {} // Not supported on HP UX
|
void TranspositionTable::prefetch(const Key) const {} // Not supported on HP UX
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ typedef uint64_t Bitboard;
|
|||||||
// is already available as an intrinsic.
|
// is already available as an intrinsic.
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
#include <intrin.h>
|
#include <intrin.h>
|
||||||
#elif defined(__GNUC__)
|
#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
|
||||||
inline void __cpuid(int CPUInfo[4], int InfoType)
|
inline void __cpuid(int CPUInfo[4], int InfoType)
|
||||||
{
|
{
|
||||||
int* eax = CPUInfo + 0;
|
int* eax = CPUInfo + 0;
|
||||||
@@ -90,6 +90,11 @@ inline void __cpuid(int CPUInfo[4], int InfoType)
|
|||||||
__asm__("cpuid" : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx)
|
__asm__("cpuid" : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx)
|
||||||
: "0" (*eax), "2" (*ecx));
|
: "0" (*eax), "2" (*ecx));
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
inline void __cpuid(int CPUInfo[4], int)
|
||||||
|
{
|
||||||
|
CPUInfo[0] = CPUInfo[1] = CPUInfo[2] = CPUInfo[3] = 0;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // !defined(TYPES_H_INCLUDED)
|
#endif // !defined(TYPES_H_INCLUDED)
|
||||||
|
|||||||
Reference in New Issue
Block a user