File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -144,6 +144,20 @@ if (${CORE} STREQUAL SAPPHIRERAPIDS)
144144 endif ()
145145endif ()
146146
147+ if (${CORE} STREQUAL ZEN)
148+ if (HAVE_AVX512VL)
149+ if (NOT DYNAMIC_ARCH)
150+ if (NOT NO_AVX512)
151+ execute_process (COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION )
152+ if (${GCC_VERSION} VERSION_GREATER 13.0 OR ${GCC_VERSION} VERSION_EQUAL 13.0)
153+ set (CCOMMON_OPT "${CCOMMON_OPT} -march=znver4" )
154+ else ()
155+ set (CCOMMON_OPT "${CCOMMON_OPT} -march=skylake-avx512" )
156+ endif ()
157+ endif ()
158+ endif ()
159+ endif ()
160+
147161if (${CORE} STREQUAL A64FX)
148162 if (NOT DYNAMIC_ARCH)
149163 execute_process (COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION )
Original file line number Diff line number Diff line change @@ -195,9 +195,27 @@ if (DEFINED TARGET)
195195 endif ()
196196 endif ()
197197 if (${TARGET} STREQUAL SKYLAKEX AND NOT NO_AVX512)
198- set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512" )
198+ set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512" )
199199 endif ()
200- if ((${TARGET} STREQUAL HASWELL OR ${TARGET} STREQUAL ZEN) AND NOT NO_AVX2)
200+
201+ if (((${TARGET} STREQUAL ZEN) AND HAVE_AVX512VL) AND NOT NO_AVX512)
202+ if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU" )
203+ execute_process (COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION )
204+ if (${CMAKE_C_COMPILER_VERSION} VERSION_GREATER 12.99)
205+ set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=znver4" )
206+ else ()
207+ set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512" )
208+ endif ()
209+ elseif (${CMAKE_C_COMPILER_ID} STREQUAL "Clang" OR ${CMAKE_C_COMPILER_ID} STREQUAL "AppleClang" )
210+ if (${CMAKE_C_COMPILER_VERSION} VERSION_GREATER 15.99)
211+ set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=znver4" )
212+ else ()
213+ set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512" )
214+ endif ()
215+ endif ()
216+ endif ()
217+
218+ if ((${TARGET} STREQUAL HASWELL OR (${TARGET} STREQUAL ZEN AND NOT HAVE_AVX512VL)) AND NOT NO_AVX2)
201219 if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU" )
202220 execute_process (COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION )
203221 if (${GCC_VERSION} VERSION_GREATER 4.7 OR ${GCC_VERSION} VERSION_EQUAL 4.7)
You can’t perform that action at this time.
0 commit comments