diff --git a/cmake/cflags-x86.cmake b/cmake/cflags-x86.cmake index 5ae21ee4..01200c27 100644 --- a/cmake/cflags-x86.cmake +++ b/cmake/cflags-x86.cmake @@ -1,29 +1,34 @@ option(BUILD_AVX512 "Enabling support for AVX512" OFF) option(BUILD_AVX512VBMI "Enabling support for AVX512VBMI" OFF) -set(SKYLAKE_FLAG "-march=skylake-avx512") -set(ICELAKE_FLAG "-march=icelake-server") +set(SKYLAKE_ARCH "skylake-avx512") +set(ICELAKE_ARCH "icelake-server") +set(SKYLAKE_FLAG "-march=${SKYLAKE_ARCH}") +set(ICELAKE_FLAG "-march=${ICELAKE_ARCH}") if (NOT FAT_RUNTIME) if (BUILD_AVX512VBMI) message (STATUS "AVX512VBMI implies AVX512, enabling BUILD_AVX512") set(BUILD_AVX512 ON) + set(BUILD_AVX2 ON) set(ARCH_C_FLAGS "${ICELAKE_FLAG}") set(ARCH_CXX_FLAGS "${ICELAKE_FLAG}") - endif () - if (BUILD_AVX512) + set(X86_ARCH "${ICELAKE_ARCH}") + elseif (BUILD_AVX512) message (STATUS "AVX512 implies AVX2, enabling BUILD_AVX2") set(BUILD_AVX2 ON) set(ARCH_C_FLAGS "${SKYLAKE_FLAG}") set(ARCH_CXX_FLAGS "${SKYLAKE_FLAG}") - endif () - if (BUILD_AVX2) + set(X86_ARCH "${SKYLAKE_ARCH}") + elseif (BUILD_AVX2) message (STATUS "Enabling BUILD_AVX2") set(ARCH_C_FLAGS "-mavx2") set(ARCH_CXX_FLAGS "-mavx2") + set(X86_ARCH "core-avx2") else() set(ARCH_C_FLAGS "-msse4.2") set(ARCH_CXX_FLAGS "-msse4.2") + set(X86_ARCH "core-i7") endif() else() set(BUILD_AVX512VBMI ON) @@ -31,6 +36,7 @@ else() set(BUILD_AVX2 ON) set(ARCH_C_FLAGS "-msse4.2") set(ARCH_CXX_FLAGS "-msse4.2") + set(X86_ARCH "x86-64-v2") endif() set(CMAKE_REQUIRED_FLAGS "${ARCH_C_FLAGS}")