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@xxxxxxxxxx "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 -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx http://www.redhat.com/mailman/listinfo/fedora-devel-list