From 5f164203334ee85758236c2b51a15bfe842e4ec3 Mon Sep 17 00:00:00 2001 From: duthils Date: Fri, 14 Apr 2023 12:31:51 -0400 Subject: [PATCH] make : disable avx in case f16c is not available (#706) Why: * ggml.c does not support AVX without F16C --- Makefile | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 438e3f4..9454b3a 100644 --- a/Makefile +++ b/Makefile @@ -77,10 +77,6 @@ ifeq ($(UNAME_M),$(filter $(UNAME_M),x86_64 i686)) CFLAGS += -mavx2 endif else ifeq ($(UNAME_S),Linux) - AVX1_M := $(shell grep "avx " /proc/cpuinfo) - ifneq (,$(findstring avx,$(AVX1_M))) - CFLAGS += -mavx - endif AVX2_M := $(shell grep "avx2 " /proc/cpuinfo) ifneq (,$(findstring avx2,$(AVX2_M))) CFLAGS += -mavx2 @@ -92,16 +88,17 @@ ifeq ($(UNAME_M),$(filter $(UNAME_M),x86_64 i686)) F16C_M := $(shell grep "f16c " /proc/cpuinfo) ifneq (,$(findstring f16c,$(F16C_M))) CFLAGS += -mf16c + + AVX1_M := $(shell grep "avx " /proc/cpuinfo) + ifneq (,$(findstring avx,$(AVX1_M))) + CFLAGS += -mavx + endif endif SSE3_M := $(shell grep "sse3 " /proc/cpuinfo) ifneq (,$(findstring sse3,$(SSE3_M))) CFLAGS += -msse3 endif else ifeq ($(UNAME_S),Haiku) - AVX1_M := $(shell sysinfo -cpu | grep "AVX ") - ifneq (,$(findstring avx,$(AVX1_M))) - CFLAGS += -mavx - endif AVX2_M := $(shell sysinfo -cpu | grep "AVX2 ") ifneq (,$(findstring avx2,$(AVX2_M))) CFLAGS += -mavx2 @@ -113,6 +110,11 @@ ifeq ($(UNAME_M),$(filter $(UNAME_M),x86_64 i686)) F16C_M := $(shell sysinfo -cpu | grep "F16C ") ifneq (,$(findstring f16c,$(F16C_M))) CFLAGS += -mf16c + + AVX1_M := $(shell sysinfo -cpu | grep "AVX ") + ifneq (,$(findstring avx,$(AVX1_M))) + CFLAGS += -mavx + endif endif else CFLAGS += -mfma -mf16c -mavx -mavx2