[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251027124049.GAaP9oUaUtzzHUK4j4@fat_crate.local>
Date: Mon, 27 Oct 2025 13:40:49 +0100
From: Borislav Petkov <bp@...en8.de>
To: Peter Zijlstra <peterz@...radead.org>
Cc: x86@...nel.org, Leyvi Rose <leyvirose@...il.com>,
Samuel Holland <samuel.holland@...ive.com>,
Christian König <christian.koenig@....com>,
Masami Hiramatsu <mhiramat@...nel.org>,
lkml <linux-kernel@...r.kernel.org>
Subject: Re: x86: Disable SSE4A
On Mon, Oct 27, 2025 at 12:40:59PM +0100, Peter Zijlstra wrote:
> Leyvi Rose reported that his X86_NATIVE_CPU=y build is failing because
> our instruction decoder doesn't support SSE4A and the AMDGPU code seems
> to be generating those with his compiler of choice (CLANG+LTO).
>
> Now, our normal build flags disable SSE MMX SSE2 3DNOW AVX, but then
> CC_FLAGS_FPU re-enable SSE SSE2.
>
> Since nothing mentions SSE3 or SSE4, I'm assuming that -msse (or its
> negative) control all SSE variants -- but why then explicitly enumerate
> SSE2 ?
>
> Anyway, until the instruction decoder gets fixed, explicitly disallow
> SSE4A (an AMD specific SSE4 extension).
>
> Fixes: ea1dcca1de12 ("x86/kbuild/64: Add the CONFIG_X86_NATIVE_CPU option to locally optimize the kernel with '-march=native'")
> Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org>
> ---
>
> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index 4db7e4bf69f5..8fbff3106c56 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -75,7 +75,7 @@ export BITS
> #
> # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53383
> #
> -KBUILD_CFLAGS += -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx
> +KBUILD_CFLAGS += -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a
> KBUILD_RUSTFLAGS += --target=$(objtree)/scripts/target.json
> KBUILD_RUSTFLAGS += -Ctarget-feature=-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-avx,-avx2
Acked-by: Borislav Petkov (AMD) <bp@...en8.de>
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
Powered by blists - more mailing lists