fix some build misconfigurations on x86

This commit is contained in:
Konstantinos Margaritis 2024-01-18 00:43:11 +02:00
parent 9134cd6250
commit 9e4789d374

View File

@ -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}")