diff --git a/Makefile.system b/Makefile.system index 4d7eb1610..79fb41569 100644 --- a/Makefile.system +++ b/Makefile.system @@ -46,12 +46,50 @@ ifdef TARGET GETARCH_FLAGS := -DFORCE_$(TARGET) endif +# Force fallbacks for 32bit + +ifeq ($(BINARY), 32) +ifeq ($(TARGET), HASWELL) +GETARCH_FLAGS := -DFORCE_NEHALEM +endif +ifeq ($(TARGET), SANDYBRIDGE) +GETARCH_FLAGS := -DFORCE_NEHALEM +endif +ifeq ($(TARGET), BULLDOZER) +GETARCH_FLAGS := -DFORCE_BARCELONA +endif +ifeq ($(TARGET), PILEDRIVER) +GETARCH_FLAGS := -DFORCE_BARCELONA +endif +endif + + #TARGET_CORE will override TARGET which is used in DYNAMIC_ARCH=1. # ifdef TARGET_CORE GETARCH_FLAGS := -DFORCE_$(TARGET_CORE) endif +# Force fallbacks for 32bit + +ifeq ($(BINARY), 32) +ifeq ($(TARGET_CORE), HASWELL) +GETARCH_FLAGS := -DFORCE_NEHALEM +endif +ifeq ($(TARGET_CORE), SANDYBRIDGE) +GETARCH_FLAGS := -DFORCE_NEHALEM +endif +ifeq ($(TARGET_CORE), BULLDOZER) +GETARCH_FLAGS := -DFORCE_BARCELONA +endif +ifeq ($(TARGET_CORE), PILEDRIVER) +GETARCH_FLAGS := -DFORCE_BARCELONA +endif +endif + + + + ifdef INTERFACE64 ifneq ($(INTERFACE64), 0) GETARCH_FLAGS += -DUSE64BITINT @@ -65,6 +103,9 @@ GETARCH_FLAGS += -DGEMM_MULTITHREAD_THRESHOLD=$(GEMM_MULTITHREAD_THRESHOLD) ifeq ($(NO_AVX), 1) GETARCH_FLAGS += -DNO_AVX +ifeq ($(BINARY), 32) +GETARCH_FLAGS += -DNO_AVX +endif endif ifeq ($(DEBUG), 1) @@ -338,9 +379,6 @@ ifeq ($(DYNAMIC_ARCH), 1) ifeq ($(ARCH), x86) DYNAMIC_CORE = KATMAI COPPERMINE NORTHWOOD PRESCOTT BANIAS \ CORE2 PENRYN DUNNINGTON NEHALEM ATHLON OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO -ifneq ($(NO_AVX), 1) -DYNAMIC_CORE += SANDYBRIDGE BULLDOZER PILEDRIVER HASWELL -endif endif ifeq ($(ARCH), x86_64) @@ -732,7 +770,12 @@ endif ifeq ($(NO_AVX), 1) CCOMMON_OPT += -DNO_AVX +else +ifeq ($(BINARY), 32) +CCOMMON_OPT += -DNO_AVX endif +endif + ifdef SMP CCOMMON_OPT += -DSMP_SERVER