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