Skip to content

Commit 8273ab6

Browse files
authored
Merge pull request #3764 from martin-frbg/issue3757
Fix compilation of Haswell/Zen DYNAMIC_ARCH targets with Apple clang
2 parents 85758ab + a0a4f7c commit 8273ab6

2 files changed

Lines changed: 5 additions & 3 deletions

File tree

cmake/system.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,14 +197,14 @@ if (DEFINED TARGET)
197197
if (${TARGET} STREQUAL SKYLAKEX AND NOT NO_AVX512)
198198
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512")
199199
endif()
200-
if (${TARGET} STREQUAL HASWELL AND NOT NO_AVX2)
200+
if ((${TARGET} STREQUAL HASWELL OR ${TARGET} STREQUAL ZEN) AND NOT NO_AVX2)
201201
if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU")
202202
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
203203
if (${GCC_VERSION} VERSION_GREATER 4.7 OR ${GCC_VERSION} VERSION_EQUAL 4.7)
204204
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mavx2")
205205
endif()
206206
elseif (${CMAKE_C_COMPILER_ID} STREQUAL "CLANG")
207-
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mavx2")
207+
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mavx2 -mfma")
208208
endif()
209209
endif()
210210
if (DEFINED HAVE_AVX)

kernel/Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ ifeq ($(C_COMPILER), CLANG)
2323
# Any clang posing as gcc 4.2 should be new enough (3.4 or later)
2424
GCCVERSIONCHECK := $(GCCVERSIONGT4)$(GCCVERSIONGTEQ4)$(GCCMINORVERSIONGTEQ2)
2525
ifeq ($(GCCVERSIONCHECK), $(filter $(GCCVERSIONCHECK), 011 110 111))
26-
AVX2OPT = -mavx2
26+
AVX2OPT = -mavx2 -mfma
2727
endif
2828
endif
2929
ifdef NO_AVX2
@@ -73,6 +73,8 @@ else ifeq ($(TARGET_CORE), SKYLAKEX)
7373
endif
7474
else ifeq ($(TARGET_CORE), HASWELL)
7575
override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) $(AVX2OPT)
76+
else ifeq ($(TARGET_CORE), ZEN)
77+
override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) $(AVX2OPT)
7678
else ifeq ($(TARGET_CORE), LOONGSON3R4)
7779
override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) $(MSA_FLAGS)
7880
else

0 commit comments

Comments
 (0)