On Tue, 2005-05-10 at 11:30 -0400, Owen Taylor wrote:
On Tue, 2005-05-10 at 08:26 -0400, Jakub Jelinek wrote:
> a) on x86-64 this is unnecessary, all x86-64's have -msse2 by default
> b) -msse2 implies -msse
> c) if you use -msse2 in CFLAGS for all files, you can't run the latest
> GIMP on e.g. Pentium2, or pre-x86_64 AMD chips.
> -msse2 should be ONLY used on sources that have SSE/SSE2 stuff in it,
> and GIMP should make sure that no routine from those sources will be
> ever called on pre-SSE2 chips
This sounds like a big pain ... shouldn't there be a way to say
"use sse2/sse only for builtins" ?
Without that, there is no way to use builtins in single functions; you
need to have one file for sse2, one for sse, one for mmx, and do the
detection of the current processor somewhere else entirely.
I concur, with gcc <= 4.0.0-2 it was possible to use MMX/SSE calls in
inline assembly without having to use -mmmx/-msse/-msse2. In order to
build the gimp so that it uses MMX/SSE where available, I had to resort
to serious autofoo munging because it doesn't allow for setting
per-object compiler flags.
Nils
--
Nils Philippsen / Red Hat / nphilipp(a)redhat.com
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety." -- B. Franklin, 1759
PGP fingerprint: C4A8 9474 5C4C ADE3 2B8F 656D 47D8 9B65 6951 3011