DroidFish: Build native code for all platforms supported by the NDK.

This commit is contained in:
Peter Osterlund 2014-10-21 19:46:10 +00:00
parent 782fb97ae4
commit dd91100779
6 changed files with 14 additions and 8 deletions

View File

@ -1,9 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="copy_stockfish" name="Copy stockfish executables to assets">
<target name="copy_stockfish">
<copy file="${basedir}/libs/arm64-v8a/stockfish" tofile="${basedir}/assets/stockfish-arm64-v8a"/>
<copy file="${basedir}/libs/armeabi/stockfish" tofile="${basedir}/assets/stockfish-armeabi"/>
<copy file="${basedir}/libs/armeabi-v7a/stockfish" tofile="${basedir}/assets/stockfish-armeabi-v7a"/>
<copy file="${basedir}/libs/x86/stockfish" tofile="${basedir}/assets/stockfish-x86"/>
<copy file="${basedir}/libs/mips/stockfish" tofile="${basedir}/assets/stockfish-mips"/>
<copy file="${basedir}/libs/mips64/stockfish" tofile="${basedir}/assets/stockfish-mips64"/>
<copy file="${basedir}/libs/x86/stockfish" tofile="${basedir}/assets/stockfish-x86"/>
<copy file="${basedir}/libs/x86_64/stockfish" tofile="${basedir}/assets/stockfish-x86_64"/>
</target>
</project>

View File

@ -1,4 +1,4 @@
APP_ABI := armeabi armeabi-v7a x86 mips
APP_ABI := all
APP_STL := gnustl_static
APP_OPTIM := release
NDK_TOOLCHAIN_VERSION := 4.8

View File

@ -283,8 +283,8 @@ namespace {
occupancy[size] = b;
reference[size] = sliding_attack(deltas, s, b);
if (HasPext)
attacks[s][_pext_u64(b, masks[s])] = reference[size];
// if (HasPext)
// attacks[s][_pext_u64(b, masks[s])] = reference[size];
size++;
b = (b - masks[s]) & masks[s];

View File

@ -243,8 +243,8 @@ FORCE_INLINE unsigned magic_index(Square s, Bitboard occ) {
Bitboard* const Magics = Pt == ROOK ? RMagics : BMagics;
unsigned* const Shifts = Pt == ROOK ? RShifts : BShifts;
if (HasPext)
return unsigned(_pext_u64(occ, Masks[s]));
// if (HasPext)
// return unsigned(_pext_u64(occ, Masks[s]));
if (Is64Bit)
return unsigned(((occ & Masks[s]) * Magics[s]) >> Shifts[s]);

View File

@ -57,7 +57,7 @@
#if defined(USE_PEXT)
# include <immintrin.h> // Header for _pext_u64() intrinsic
#else
# define _pext_u64(b, m) (0)
//# define _pext_u64(b, m) (0)
#endif
# if !defined(NO_PREFETCH) && (defined(__INTEL_COMPILER) || defined(_MSC_VER))

View File

@ -40,8 +40,11 @@ public class EngineUtil {
public static String internalStockFishName() {
String abi = Build.CPU_ABI;
if (!abi.equals("x86") &&
!abi.equals("x86_64") &&
!abi.equals("armeabi-v7a") &&
!abi.equals("mips"))
!abi.equals("arm64-v8a") &&
!abi.equals("mips") &&
!abi.equals("mips64"))
abi = "armeabi"; // Unknown ABI, assume original ARM
return "stockfish-" + abi;
}