aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authormatoro <matoro_gentoo@matoro.tk>2024-02-13 16:08:48 -0500
committerBen Kohler <bkohler@gentoo.org>2024-03-20 10:47:27 -0500
commitebed28dd5e08e8aaee44f08c27c367019568fb15 (patch)
tree1991c2eec075d92a5aeb4b71fbd6b0a4479c058a /arch
parentarch: remove x86.pentium-m, x86.pentium-4, x86.prescott subprofiles (diff)
downloadcatalyst-ebed28dd5e08e8aaee44f08c27c367019568fb15.tar.gz
catalyst-ebed28dd5e08e8aaee44f08c27c367019568fb15.tar.bz2
catalyst-ebed28dd5e08e8aaee44f08c27c367019568fb15.zip
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 <matoro_gentoo@matoro.tk> Closes: https://github.com/gentoo/catalyst/pull/12 Signed-off-by: Ben Kohler <bkohler@gentoo.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86.toml3
1 files changed, 3 insertions, 0 deletions
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",]