rawhide report: 20050510 changes
Nils Philippsen
nphilipp at redhat.com
Sun May 15 15:47:31 UTC 2005
On Fri, 2005-05-13 at 16:15 +0200, dragoran wrote:
> Nils Philippsen wrote:
>
> >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
> >
> >
> why aren't sse/mmx/sse2 enabled by default on x86_64 ? all those chips
> supports it.
I got some things mixed up in my original assessment of the problem:
- I thought that gcc only allowed MMX/SSE/SSE2-specific inline assembler
when using -mmmx/-msse/-msse2. Actually the real problem was that gcc
only allows MMX/SSE registers in clobber lists when using
-mmmx/-msse/-msse2 and complains about them being present if these
options aren't used. Masking them out with #ifdef __MMX__/__SSE__ ...
#endif is the real solution.
- I thought the problem would show on x86_64 as well while it doesn't
due to the aforementioned reasons.
gimp-2.2.7-4 contains the real fix.
Nils
--
Nils Philippsen / Red Hat / nphilipp at 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
More information about the devel
mailing list