Fix detection of AVX512 capable compilers in getarch
21eda8b5
introduced a check in getarch.c to test if the compiler is capable of
AVX512. This check currently fails, since the used __AVX2__ macro is only
defined if getarch itself was compiled with AVX2/AVX512 support. Make sure this
is the case by building getarch with -march=native on x86_64. It is only
supposed to run on the build host anyway.
This commit is contained in:
parent
27649b9543
commit
7a9a4dbc4f
|
@ -9,6 +9,11 @@ ifndef TOPDIR
|
||||||
TOPDIR = .
|
TOPDIR = .
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# If ARCH is not set, we use the host system's architecture.
|
||||||
|
ifndef ARCH
|
||||||
|
ARCH := $(shell uname -m)
|
||||||
|
endif
|
||||||
|
|
||||||
# Catch conflicting usage of ARCH in some BSD environments
|
# Catch conflicting usage of ARCH in some BSD environments
|
||||||
ifeq ($(ARCH), amd64)
|
ifeq ($(ARCH), amd64)
|
||||||
override ARCH=x86_64
|
override ARCH=x86_64
|
||||||
|
@ -137,6 +142,10 @@ endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
# On x86_64 build getarch with march=native. This is required to detect AVX512 support in getarch.
|
||||||
|
ifeq ($(ARCH), x86_64)
|
||||||
|
GETARCH_FLAGS += -march=native
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
ifdef INTERFACE64
|
ifdef INTERFACE64
|
||||||
|
|
|
@ -65,6 +65,11 @@ if (DEFINED TARGET)
|
||||||
set(GETARCH_FLAGS "-DFORCE_${TARGET}")
|
set(GETARCH_FLAGS "-DFORCE_${TARGET}")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
# On x86_64 build getarch with march=native. This is required to detect AVX512 support in getarch.
|
||||||
|
if (X86_64)
|
||||||
|
set(GETARCH_FLAGS "${GETARCH_FLAGS} -march=native")
|
||||||
|
endif ()
|
||||||
|
|
||||||
if (INTERFACE64)
|
if (INTERFACE64)
|
||||||
message(STATUS "Using 64-bit integers.")
|
message(STATUS "Using 64-bit integers.")
|
||||||
set(GETARCH_FLAGS "${GETARCH_FLAGS} -DUSE64BITINT")
|
set(GETARCH_FLAGS "${GETARCH_FLAGS} -DUSE64BITINT")
|
||||||
|
|
Loading…
Reference in New Issue