Merge pull request #2110 from pc2/cpu-detection

Fix detection of Skylake processors when using GCC
This commit is contained in:
Martin Kroeker 2019-06-05 20:27:05 +02:00 committed by GitHub
commit 417efd41c6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 1 deletions

View File

@ -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

View File

@ -240,7 +240,7 @@ if (($architecture eq "x86") || ($architecture eq "x86_64")) {
} else { } else {
$no_avx512 = 0; $no_avx512 = 0;
} }
unlink("tmpf.o"); unlink("$tmpf.o");
} }
} }

View File

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