From ebed28dd5e08e8aaee44f08c27c367019568fb15 Mon Sep 17 00:00:00 2001 From: matoro Date: Tue, 13 Feb 2024 16:08:48 -0500 Subject: arch: add new x86.i686-ssemath subprofile As mentioned on the mailing list, x86 arch testing needs to be performed using SSE registers for floating-point math instead of the 387 FPU. This is a subprofile which provides a generic i686 target with SSE2 and `-mfpmath=sse`. The use is not just limited to arch testing however as this is a useful platform for getting maximum performance on late-gen chips. Per gcc: > The resulting code should be considerably faster in the majority of cases and avoid the numerical instability problems of 387 code, but may break some existing code that expects temporaries to be 80 bits. Of course modern code has quite the opposite problem, where it does not expect floating-point variables to be 80 bits. Signed-off-by: Matoro Mahri Closes: https://github.com/gentoo/catalyst/pull/12 Signed-off-by: Ben Kohler --- arch/x86.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/x86.toml b/arch/x86.toml index 5451d410..24d4c547 100644 --- a/arch/x86.toml +++ b/arch/x86.toml @@ -50,3 +50,6 @@ CPU_FLAGS_X86 = [ "mmx", "mmxext", "3dnow", "3dnowext",] COMMON_FLAGS = "-O2 -march=athlon-xp -pipe" CPU_FLAGS_X86 = [ "mmx", "mmxext", "3dnow", "3dnowext", "sse",] +[x86.i686-ssemath] +COMMON_FLAGS = "-O2 -march=i686 -msse2 -mfpmath=sse -pipe" +CPU_FLAGS_X86 = [ "mmx", "mmxext", "sse", "sse2",] -- cgit v1.2.3-65-gdbad