mirror of
https://github.com/official-stockfish/Stockfish.git
synced 2026-07-24 05:37:13 +00:00
Merge commit '2ce47573b4d3664dca4cbc4354c8c600540d16ad' into cluster
This is the last commit before there are more conflicts.
This commit is contained in:
+40
-2
@@ -99,6 +99,8 @@ VPATH = syzygy:nnue:nnue/features
|
||||
# avx512 = yes/no --- -mavx512bw --- Use Intel Advanced Vector Extensions 512
|
||||
# vnni256 = yes/no --- -mavx256vnni --- Use Intel Vector Neural Network Instructions 512 with 256bit operands
|
||||
# vnni512 = yes/no --- -mavx512vnni --- Use Intel Vector Neural Network Instructions 512
|
||||
# altivec = yes/no --- -maltivec --- Use PowerPC Altivec SIMD extension
|
||||
# vsx = yes/no --- -mvsx --- Use POWER VSX SIMD extension
|
||||
# neon = yes/no --- -DUSE_NEON --- Use ARM SIMD architecture
|
||||
# dotprod = yes/no --- -DUSE_NEON_DOTPROD --- Use ARM advanced SIMD Int8 dot product instructions
|
||||
# lsx = yes/no --- -mlsx --- Use Loongson SIMD eXtension
|
||||
@@ -128,7 +130,7 @@ endif
|
||||
ifeq ($(ARCH), $(filter $(ARCH), \
|
||||
x86-64-vnni512 x86-64-vnni256 x86-64-avx512 x86-64-avxvnni x86-64-bmi2 \
|
||||
x86-64-avx2 x86-64-sse41-popcnt x86-64-modern x86-64-ssse3 x86-64-sse3-popcnt \
|
||||
x86-64 x86-32-sse41-popcnt x86-32-sse2 x86-32 ppc-64 ppc-32 e2k \
|
||||
x86-64 x86-32-sse41-popcnt x86-32-sse2 x86-32 ppc-64 ppc-64-altivec ppc-64-vsx ppc-32 e2k \
|
||||
armv7 armv7-neon armv8 armv8-dotprod apple-silicon general-64 general-32 riscv64 \
|
||||
loongarch64 loongarch64-lsx loongarch64-lasx))
|
||||
SUPPORTED_ARCH=true
|
||||
@@ -153,6 +155,8 @@ avxvnni = no
|
||||
avx512 = no
|
||||
vnni256 = no
|
||||
vnni512 = no
|
||||
altivec = no
|
||||
vsx = no
|
||||
neon = no
|
||||
mpi = no
|
||||
dotprod = no
|
||||
@@ -363,6 +367,20 @@ ifeq ($(ARCH),ppc-64)
|
||||
prefetch = yes
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH),ppc-64-altivec)
|
||||
arch = ppc64
|
||||
popcnt = yes
|
||||
prefetch = yes
|
||||
altivec = yes
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH),ppc-64-vsx)
|
||||
arch = ppc64
|
||||
popcnt = yes
|
||||
prefetch = yes
|
||||
vsx = yes
|
||||
endif
|
||||
|
||||
ifeq ($(findstring e2k,$(ARCH)),e2k)
|
||||
arch = e2k
|
||||
mmx = yes
|
||||
@@ -653,7 +671,7 @@ else
|
||||
endif
|
||||
|
||||
ifeq ($(popcnt),yes)
|
||||
ifeq ($(arch),$(filter $(arch),ppc64 armv7 armv8 arm64))
|
||||
ifeq ($(arch),$(filter $(arch),ppc64 ppc64-altivec ppc64-vsx armv7 armv8 arm64))
|
||||
CXXFLAGS += -DUSE_POPCNT
|
||||
else
|
||||
CXXFLAGS += -msse3 -mpopcnt -DUSE_POPCNT
|
||||
@@ -723,6 +741,20 @@ ifeq ($(mmx),yes)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(altivec),yes)
|
||||
CXXFLAGS += -maltivec
|
||||
ifeq ($(COMP),gcc)
|
||||
CXXFLAGS += -mabi=altivec
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(vsx),yes)
|
||||
CXXFLAGS += -mvsx
|
||||
ifeq ($(COMP),gcc)
|
||||
CXXFLAGS += -DNO_WARN_X86_INTRINSICS -DUSE_SSE2
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(neon),yes)
|
||||
CXXFLAGS += -DUSE_NEON=$(arm_version)
|
||||
ifeq ($(KERNEL),Linux)
|
||||
@@ -864,6 +896,8 @@ help:
|
||||
@echo "x86-32-sse2 > x86 32-bit with sse2 support"
|
||||
@echo "x86-32 > x86 32-bit generic (with mmx compile support)"
|
||||
@echo "ppc-64 > PPC 64-bit"
|
||||
@echo "ppc-64-altivec > PPC 64-bit with altivec support"
|
||||
@echo "ppc-64-vsx > PPC 64-bit with vsx support"
|
||||
@echo "ppc-32 > PPC 32-bit"
|
||||
@echo "armv7 > ARMv7 32-bit"
|
||||
@echo "armv7-neon > ARMv7 32-bit with popcnt and neon"
|
||||
@@ -999,6 +1033,8 @@ config-sanity: net
|
||||
@echo "avx512: '$(avx512)'"
|
||||
@echo "vnni256: '$(vnni256)'"
|
||||
@echo "vnni512: '$(vnni512)'"
|
||||
@echo "altivec: '$(altivec)'"
|
||||
@echo "vsx: '$(vsx)'"
|
||||
@echo "neon: '$(neon)'"
|
||||
@echo "mpi: '$(mpi)'"
|
||||
@echo "dotprod: '$(dotprod)'"
|
||||
@@ -1033,6 +1069,8 @@ config-sanity: net
|
||||
@test "$(avx512)" = "yes" || test "$(avx512)" = "no"
|
||||
@test "$(vnni256)" = "yes" || test "$(vnni256)" = "no"
|
||||
@test "$(vnni512)" = "yes" || test "$(vnni512)" = "no"
|
||||
@test "$(altivec)" = "yes" || test "$(altivec)" = "no"
|
||||
@test "$(vsx)" = "yes" || test "$(vsx)" = "no"
|
||||
@test "$(neon)" = "yes" || test "$(neon)" = "no"
|
||||
@test "$(lsx)" = "yes" || test "$(lsx)" = "no"
|
||||
@test "$(lasx)" = "yes" || test "$(lasx)" = "no"
|
||||
|
||||
Reference in New Issue
Block a user