From 6fe2e39a0243bddba60f83b77b972a5922d25eb8 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Wed, 20 Jul 2022 15:48:49 +0200 Subject: [PATCH] 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 --- xen/arch/x86/arch.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk index fb86cbda46..227d439a45 100644 --- a/xen/arch/x86/arch.mk +++ b/xen/arch/x86/arch.mk @@ -36,9 +36,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. -- 2.30.2