Merge pull request #2966 from martin-frbg/issue2964
Ensure that EXPRECISION is disabled for DYNAMIC_ARCH with TARGET=GENERIC and fix CMAKE DYNAMIC_ARCH builds
This commit is contained in:
commit
60ab9c783f
|
@ -93,6 +93,12 @@ endif
|
|||
ifdef TARGET
|
||||
GETARCH_FLAGS := -DFORCE_$(TARGET)
|
||||
GETARCH_FLAGS += -DUSER_TARGET
|
||||
ifeq ($(TARGET), GENERIC)
|
||||
ifeq ($(DYNAMIC_ARCH), 1)
|
||||
override NO_EXPRECISION=1
|
||||
export NO_EXPRECiSION
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# Force fallbacks for 32bit
|
||||
|
|
|
@ -84,6 +84,14 @@ if (X86)
|
|||
set(NO_EXPRECISION 1)
|
||||
endif ()
|
||||
|
||||
if (DYNAMIC_ARCH)
|
||||
if (TARGET)
|
||||
if (${TARGET} STREQUAL "GENERIC")
|
||||
set(NO_EXPRECISION 1)
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (UTEST_CHECK)
|
||||
set(CCOMMON_OPT "${CCOMMON_OPT} -DUTEST_CHECK")
|
||||
set(SANITY_CHECK 1)
|
||||
|
|
|
@ -139,6 +139,36 @@ if (DEFINED CORE AND CMAKE_CROSSCOMPILING AND NOT (${HOST_OS} STREQUAL "WINDOWSS
|
|||
set(CGEMM3M_UNROLL_N 4)
|
||||
set(ZGEMM3M_UNROLL_M 4)
|
||||
set(ZGEMM3M_UNROLL_N 4)
|
||||
elseif ("${TCORE}" STREQUAL "BARCELONA")
|
||||
file(APPEND ${TARGET_CONF_TEMP}
|
||||
"#define HAVE_SSE3\n")
|
||||
elseif ("${TCORE}" STREQUAL "STEAMROLLER")
|
||||
file(APPEND ${TARGET_CONF_TEMP}
|
||||
"#define HAVE_SSE3\n")
|
||||
elseif ("${TCORE}" STREQUAL "EXCAVATOR")
|
||||
file(APPEND ${TARGET_CONF_TEMP}
|
||||
"#define HAVE_SSE3\n")
|
||||
elseif ("${TCORE}" STREQUAL "NEHALEM")
|
||||
file(APPEND ${TARGET_CONF_TEMP}
|
||||
"#define HAVE_SSE3\n")
|
||||
elseif ("${TCORE}" STREQUAL "PRESCOTT")
|
||||
file(APPEND ${TARGET_CONF_TEMP}
|
||||
"#define HAVE_SSE3\n")
|
||||
elseif ("${TCORE}" STREQUAL "SANDYBRIDGE")
|
||||
file(APPEND ${TARGET_CONF_TEMP}
|
||||
"#define HAVE_AVX\n")
|
||||
elseif ("${TCORE}" STREQUAL "HASWELL")
|
||||
file(APPEND ${TARGET_CONF_TEMP}
|
||||
"#define HAVE_AVX2\n")
|
||||
elseif ("${TCORE}" STREQUAL "ZEN")
|
||||
file(APPEND ${TARGET_CONF_TEMP}
|
||||
"#define HAVE_AVX2\n")
|
||||
elseif ("${TCORE}" STREQUAL "SKYLAKEX")
|
||||
file(APPEND ${TARGET_CONF_TEMP}
|
||||
"#define HAVE_AVX512\n")
|
||||
elseif ("${TCORE}" STREQUAL "COOPERLAKE")
|
||||
file(APPEND ${TARGET_CONF_TEMP}
|
||||
"#define HAVE_AVX512\n")
|
||||
elseif ("${TCORE}" STREQUAL "ARMV7")
|
||||
file(APPEND ${TARGET_CONF_TEMP}
|
||||
"#define L1_DATA_SIZE\t65536\n"
|
||||
|
|
|
@ -64,12 +64,36 @@ if (DEFINED TARGET)
|
|||
if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU")
|
||||
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)
|
||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mavx2")
|
||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse3 -mavx2")
|
||||
endif()
|
||||
elseif (${CMAKE_C_COMPILER_ID} STREQUAL "CLANG")
|
||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mavx2")
|
||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse -msse3 -mavx2")
|
||||
endif()
|
||||
endif()
|
||||
if (${TARGET} STREQUAL "HASWELL" AND NOT NO_AVX2)
|
||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse3 -mavx2")
|
||||
endif()
|
||||
if (${TARGET} STREQUAL "ZEN" AND NOT NO_AVX2)
|
||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse3 -mavx2")
|
||||
endif()
|
||||
if (${TARGET} STREQUAL "SANDYBRIDGE" AND NOT NO_AVX)
|
||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse3 -mavx")
|
||||
endif()
|
||||
if (${TARGET} STREQUAL "BARCELONA" OR ${TARGET} STREQUAL "STEAMROLLER" OR ${TARGET} STREQUAL "BULLDOZER" OR ${TARGET} STREQUAL "EXCAVATOR")
|
||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse3")
|
||||
endif()
|
||||
if (${TARGET} STREQUAL "PILEDRIVER" OR ${TARGET} STREQUAL "BOBCAT" OR ${TARGET} STREQUAL "OPTERON_SSE3")
|
||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse3")
|
||||
endif()
|
||||
if (${TARGET} STREQUAL "PRESCOTT" OR ${TARGET} STREQUAL "NANO")
|
||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse3")
|
||||
endif()
|
||||
if (${TARGET} STREQUAL "NEHALEM" OR ${TARGET} STREQUAL "ATOM")
|
||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse3")
|
||||
endif()
|
||||
if (${TARGET} STREQUAL "CORE2" OR ${TARGET} STREQUAL "PENRYN" OR ${TARGET} STREQUAL "DUNNINGTON")
|
||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse3")
|
||||
endif()
|
||||
if (DEFINED HAVE_SSE)
|
||||
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse")
|
||||
endif()
|
||||
|
|
Loading…
Reference in New Issue