@@ -46,15 +46,55 @@ ifdef TARGET
4646GETARCH_FLAGS := -DFORCE_$(TARGET)
4747endif
4848
49+ # Force fallbacks for 32bit
50+
51+ ifeq ($(BINARY), 32)
52+ ifeq ($(TARGET), HASWELL)
53+ GETARCH_FLAGS := -DFORCE_NEHALEM
54+ endif
55+ ifeq ($(TARGET), SANDYBRIDGE)
56+ GETARCH_FLAGS := -DFORCE_NEHALEM
57+ endif
58+ ifeq ($(TARGET), BULLDOZER)
59+ GETARCH_FLAGS := -DFORCE_BARCELONA
60+ endif
61+ ifeq ($(TARGET), PILEDRIVER)
62+ GETARCH_FLAGS := -DFORCE_BARCELONA
63+ endif
64+ endif
65+
66+
4967#TARGET_CORE will override TARGET which is used in DYNAMIC_ARCH=1.
5068#
5169ifdef TARGET_CORE
5270GETARCH_FLAGS := -DFORCE_$(TARGET_CORE)
5371endif
5472
73+ # Force fallbacks for 32bit
74+
75+ ifeq ($(BINARY), 32)
76+ ifeq ($(TARGET_CORE), HASWELL)
77+ GETARCH_FLAGS := -DFORCE_NEHALEM
78+ endif
79+ ifeq ($(TARGET_CORE), SANDYBRIDGE)
80+ GETARCH_FLAGS := -DFORCE_NEHALEM
81+ endif
82+ ifeq ($(TARGET_CORE), BULLDOZER)
83+ GETARCH_FLAGS := -DFORCE_BARCELONA
84+ endif
85+ ifeq ($(TARGET_CORE), PILEDRIVER)
86+ GETARCH_FLAGS := -DFORCE_BARCELONA
87+ endif
88+ endif
89+
90+
91+
92+
5593ifdef INTERFACE64
94+ ifneq ($(INTERFACE64), 0)
5695GETARCH_FLAGS += -DUSE64BITINT
5796endif
97+ endif
5898
5999ifndef GEMM_MULTITHREAD_THRESHOLD
60100GEMM_MULTITHREAD_THRESHOLD=4
@@ -65,6 +105,10 @@ ifeq ($(NO_AVX), 1)
65105GETARCH_FLAGS += -DNO_AVX
66106endif
67107
108+ ifeq ($(BINARY), 32)
109+ GETARCH_FLAGS += -DNO_AVX
110+ endif
111+
68112ifeq ($(DEBUG), 1)
69113GETARCH_FLAGS += -g
70114endif
@@ -336,9 +380,6 @@ ifeq ($(DYNAMIC_ARCH), 1)
336380ifeq ($(ARCH), x86)
337381DYNAMIC_CORE = KATMAI COPPERMINE NORTHWOOD PRESCOTT BANIAS \
338382 CORE2 PENRYN DUNNINGTON NEHALEM ATHLON OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO
339- ifneq ($(NO_AVX), 1)
340- DYNAMIC_CORE += SANDYBRIDGE BULLDOZER PILEDRIVER HASWELL
341- endif
342383endif
343384
344385ifeq ($(ARCH), x86_64)
@@ -503,8 +544,10 @@ else
503544ifdef BINARY64
504545FCOMMON_OPT += -m64
505546ifdef INTERFACE64
547+ ifneq ($(INTERFACE64), 0)
506548FCOMMON_OPT += -fdefault-integer-8
507549endif
550+ endif
508551else
509552FCOMMON_OPT += -m32
510553endif
@@ -517,8 +560,10 @@ endif
517560ifeq ($(F_COMPILER), INTEL)
518561CCOMMON_OPT += -DF_INTERFACE_INTEL
519562ifdef INTERFACE64
563+ ifneq ($(INTERFACE64), 0)
520564FCOMMON_OPT += -i8
521565endif
566+ endif
522567ifdef USE_OPENMP
523568FCOMMON_OPT += -openmp
524569endif
@@ -537,8 +582,10 @@ CCOMMON_OPT += -DF_INTERFACE_IBM
537582ifdef BINARY64
538583FCOMMON_OPT += -q64
539584ifdef INTERFACE64
585+ ifneq ($(INTERFACE64), 0)
540586FCOMMON_OPT += -qintsize=8
541587endif
588+ endif
542589else
543590FCOMMON_OPT += -q32
544591endif
@@ -552,8 +599,10 @@ CCOMMON_OPT += -DF_INTERFACE_PGI
552599COMMON_PROF += -DPGICOMPILER
553600ifdef BINARY64
554601ifdef INTERFACE64
602+ ifneq ($(INTERFACE64), 0)
555603FCOMMON_OPT += -i8
556604endif
605+ endif
557606FCOMMON_OPT += -tp p7-64
558607else
559608FCOMMON_OPT += -tp p7
@@ -567,9 +616,11 @@ ifeq ($(F_COMPILER), PATHSCALE)
567616CCOMMON_OPT += -DF_INTERFACE_PATHSCALE
568617ifdef BINARY64
569618ifdef INTERFACE64
619+ ifneq ($(INTERFACE64), 0)
570620FCOMMON_OPT += -i8
571621endif
572622endif
623+ endif
573624
574625ifneq ($(ARCH), mips64)
575626ifndef BINARY64
@@ -594,9 +645,11 @@ ifeq ($(F_COMPILER), OPEN64)
594645CCOMMON_OPT += -DF_INTERFACE_OPEN64
595646ifdef BINARY64
596647ifdef INTERFACE64
648+ ifneq ($(INTERFACE64), 0)
597649FCOMMON_OPT += -i8
598650endif
599651endif
652+ endif
600653
601654ifeq ($(ARCH), mips64)
602655ifndef BINARY64
@@ -682,10 +735,12 @@ endif
682735
683736ifdef BINARY64
684737ifdef INTERFACE64
738+ ifneq ($(INTERFACE64), 0)
685739CCOMMON_OPT +=
686740#-DUSE64BITINT
687741endif
688742endif
743+ endif
689744
690745ifeq ($(NEED_PIC), 1)
691746ifeq ($(C_COMPILER), IBM)
@@ -718,6 +773,10 @@ ifeq ($(NO_AVX), 1)
718773CCOMMON_OPT += -DNO_AVX
719774endif
720775
776+ ifeq ($(BINARY), 32)
777+ CCOMMON_OPT += -DNO_AVX
778+ endif
779+
721780ifdef SMP
722781CCOMMON_OPT += -DSMP_SERVER
723782
@@ -872,8 +931,11 @@ endif
872931LAPACK_CFLAGS = $(CFLAGS)
873932LAPACK_CFLAGS += -DHAVE_LAPACK_CONFIG_H
874933ifdef INTERFACE64
934+ ifneq ($(INTERFACE64), 0)
875935LAPACK_CFLAGS += -DLAPACK_ILP64
876936endif
937+ endif
938+
877939ifdef OS_WINDOWS
878940LAPACK_CFLAGS += -DOPENBLAS_OS_WINDOWS
879941endif
0 commit comments