SSE, XMM and GMP's configure

Torbjorn Granlund tg at
Sat Jan 25 18:15:47 UTC 2014

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.


More information about the gmp-devel mailing list