Our configure logic for excluding XMM register use is flawed.  We
should to keep SSE2 availability from XMM availability apart, since a
CPU which supports SSE2 will always handle SSE2+MMX, while XMM requires
operating system support.  Now, we suppress use of (some) gcc
sse-related options which trigger bad behaviour (via the acinclude.m4
GMP_GCC_PENTIUM4_SSE2) and in that context check of the OS handles XMM
(via GMP_OS_X86_XMM).

Limiting that check to that context does not properly suppress assembly
code in sse2 subdirs.  Suppressing all that code would actually be
sub-optimal, since some of it might actually stick to MMX regs.

I discovered this problem when running tests on the long-obsolete
FreeBSD 4.

It would be nice to clean this up, but I won't have time to work on it
before the release.


Torbjörn

_______________________________________________
gmp-devel mailing list
gmp-devel@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-devel

Reply via email to