1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-07-11 19:49:14 +00:00

Fix PowerPC and ARM compatibility.

This commit is contained in:
Tord Romstad 2010-04-06 10:19:09 +02:00
parent 13224e1d9d
commit 41816b7ced
3 changed files with 10 additions and 3 deletions

View file

@ -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

View file

@ -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

View file

@ -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)