From: Cebtenzzre Date: Fri, 1 Sep 2023 13:53:14 +0000 (-0400) Subject: make : use unaligned vector moves on MinGW (#2945) X-Git-Tag: gguf-v0.4.0~161 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=6c9c23429bf4e4fcaaddbebadc4638558430a7f2;p=pkg%2Fggml%2Fsources%2Fllama.cpp make : use unaligned vector moves on MinGW (#2945) Fixes #2922 --- diff --git a/Makefile b/Makefile index ef1eef6a..23f050c0 100644 --- a/Makefile +++ b/Makefile @@ -177,6 +177,14 @@ ifeq ($(UNAME_M),$(filter $(UNAME_M),x86_64 i686 amd64)) #CXXFLAGS += -mssse3 endif +# The stack is only 16-byte aligned on Windows, so don't let gcc emit aligned moves. +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54412 +# https://github.com/ggerganov/llama.cpp/issues/2922 +ifneq '' '$(findstring mingw,$(shell $(CC) -dumpmachine))' + CFLAGS += -Xassembler -muse-unaligned-vector-move + CXXFLAGS += -Xassembler -muse-unaligned-vector-move +endif + ifneq ($(filter aarch64%,$(UNAME_M)),) # Apple M1, M2, etc. # Raspberry Pi 3, 4, Zero 2 (64-bit)