Merge pull request #3764 from martin-frbg/issue3757
Fix compilation of Haswell/Zen DYNAMIC_ARCH targets with Apple clang
This commit is contained in:
commit
8273ab6ee3
|
@ -197,14 +197,14 @@ if (DEFINED TARGET)
|
||||||
if (${TARGET} STREQUAL SKYLAKEX AND NOT NO_AVX512)
|
if (${TARGET} STREQUAL SKYLAKEX AND NOT NO_AVX512)
|
||||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512")
|
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512")
|
||||||
endif()
|
endif()
|
||||||
if (${TARGET} STREQUAL HASWELL AND NOT NO_AVX2)
|
if ((${TARGET} STREQUAL HASWELL OR ${TARGET} STREQUAL ZEN) AND NOT NO_AVX2)
|
||||||
if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU")
|
if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU")
|
||||||
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
|
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
|
||||||
if (${GCC_VERSION} VERSION_GREATER 4.7 OR ${GCC_VERSION} VERSION_EQUAL 4.7)
|
if (${GCC_VERSION} VERSION_GREATER 4.7 OR ${GCC_VERSION} VERSION_EQUAL 4.7)
|
||||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mavx2")
|
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mavx2")
|
||||||
endif()
|
endif()
|
||||||
elseif (${CMAKE_C_COMPILER_ID} STREQUAL "CLANG")
|
elseif (${CMAKE_C_COMPILER_ID} STREQUAL "CLANG")
|
||||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mavx2")
|
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mavx2 -mfma")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if (DEFINED HAVE_AVX)
|
if (DEFINED HAVE_AVX)
|
||||||
|
|
|
@ -23,7 +23,7 @@ ifeq ($(C_COMPILER), CLANG)
|
||||||
# Any clang posing as gcc 4.2 should be new enough (3.4 or later)
|
# Any clang posing as gcc 4.2 should be new enough (3.4 or later)
|
||||||
GCCVERSIONCHECK := $(GCCVERSIONGT4)$(GCCVERSIONGTEQ4)$(GCCMINORVERSIONGTEQ2)
|
GCCVERSIONCHECK := $(GCCVERSIONGT4)$(GCCVERSIONGTEQ4)$(GCCMINORVERSIONGTEQ2)
|
||||||
ifeq ($(GCCVERSIONCHECK), $(filter $(GCCVERSIONCHECK), 011 110 111))
|
ifeq ($(GCCVERSIONCHECK), $(filter $(GCCVERSIONCHECK), 011 110 111))
|
||||||
AVX2OPT = -mavx2
|
AVX2OPT = -mavx2 -mfma
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifdef NO_AVX2
|
ifdef NO_AVX2
|
||||||
|
@ -73,6 +73,8 @@ else ifeq ($(TARGET_CORE), SKYLAKEX)
|
||||||
endif
|
endif
|
||||||
else ifeq ($(TARGET_CORE), HASWELL)
|
else ifeq ($(TARGET_CORE), HASWELL)
|
||||||
override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) $(AVX2OPT)
|
override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) $(AVX2OPT)
|
||||||
|
else ifeq ($(TARGET_CORE), ZEN)
|
||||||
|
override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) $(AVX2OPT)
|
||||||
else ifeq ($(TARGET_CORE), LOONGSON3R4)
|
else ifeq ($(TARGET_CORE), LOONGSON3R4)
|
||||||
override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) $(MSA_FLAGS)
|
override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) $(MSA_FLAGS)
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue