rawhide report: 20050510 changes

Nils Philippsen nphilipp at redhat.com
Tue May 10 15:17:20 UTC 2005


On Tue, 2005-05-10 at 11:11 -0400, Jakub Jelinek wrote:
> On Tue, May 10, 2005 at 05:08:34PM +0200, Nils Philippsen wrote:
> > > If the only place that you want to enable -msse2 for are the clobber
> > > lists of __asm statements, then perhaps best would be to conditionalize
> > > them:
> > > __asm ("something" : ... : ... :
> > > #ifdef __SSE2__
> > > "xmm0", "xmm1"
> > > #endif
> > > );
> > > etc., because without -msse2 (resp. -msse (__SSE__ macro)), the registers
> > > are not known to the compiler, so there is no point to tell the compiler
> > > about them.
> > 
> > Ahh. If I understand you correctly, given that the various asm optimized
> > functions are in separate source files, it should be ensured that 
> > -mmmx/sse/sse2/3dnow are used only for the relevant source files?
> 
> Yes (and assuming they don't also contain code that is called
> unconditionally).

I expect that to be the case (the code is in files called gimp-
composite-{generic,mmx,altivec,sse,sse2,...}).

> Or don't pass -mmmx/-msse/-msse2/-m3dnow etc. at all, and hide all the
> SSE2 etc. stuff in __asm and conditionally don't expose the clobbers
> to GCC.

The idea is to use the most optimized code path possible from one
binary. Besides, I don't really think we want to have
i686,pentiumX,athlon variants of GIMP packages ;-).

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 fedora-devel-list mailing list