From: Jan Beulich Date: Wed, 27 Jul 2022 07:22:31 +0000 (+0200) Subject: x86: also suppress use of MMX insns X-Git-Tag: archive/raspbian/4.16.2-1+rpi1^2~34^2~21 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=5e3a9b45c74d51c7908f809ca3ff59f18e84ab5d;p=xen.git x86: also suppress use of MMX insns Passing -mno-sse alone is not enough: The compiler may still find (questionable) reasons to use MMX insns. In particular with gcc12 use of MOVD+PUNPCKLDQ+MOVQ was observed in an apparent attempt to auto- vectorize the storing of two adjacent zeroes, 32 bits each. Reported-by: ChrisD Signed-off-by: Jan Beulich Acked-by: Andrew Cooper master commit: 6fe2e39a0243bddba60f83b77b972a5922d25eb8 master date: 2022-07-20 15:48:49 +0200 --- diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk index 976ac5aafe..27272f767a 100644 --- a/xen/arch/x86/arch.mk +++ b/xen/arch/x86/arch.mk @@ -37,9 +37,9 @@ $(call as-option-add,CFLAGS,CC,\ CFLAGS += -mno-red-zone -fpic -# Xen doesn't use SSE interally. If the compiler supports it, also skip the -# SSE setup for variadic function calls. -CFLAGS += -mno-sse $(call cc-option,$(CC),-mskip-rax-setup) +# Xen doesn't use MMX or SSE interally. If the compiler supports it, also skip +# the SSE setup for variadic function calls. +CFLAGS += -mno-mmx -mno-sse $(call cc-option,$(CC),-mskip-rax-setup) ifeq ($(CONFIG_INDIRECT_THUNK),y) # Compile with gcc thunk-extern, indirect-branch-register if available.