[Xorg] Re: Faster render with gcc 3.4 mmx intrinsics

Soeren Sandmann sandmann at daimi.au.dk
Thu Jul 15 05:54:49 PDT 2004


Soeren Sandmann <sandmann at daimi.au.dk> writes:

> Soeren Sandmann <sandmann at daimi.au.dk> writes:
> 
> > On bug 839
> > 
> >         http://freedesktop.org/bugzilla/show_bug.cgi?id=839
> > 
> > there is a patch adding faster versions of some the render ops.
> 
> Unless someone speaks up, I'll commit the speedups on Friday.

Note that there is still a problem with the Imakefile changes:

===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/fb/Imakefile,v
retrieving revision 1.3
diff -u -r1.3 Imakefile
--- programs/Xserver/fb/Imakefile       30 Jun 2004 20:06:53 -0000      1.3
+++ programs/Xserver/fb/Imakefile       2 Jul 2004 20:13:23 -0000
@@ -3,6 +3,11 @@
 XCOMM
 XCOMM Id: Imakefile,v 1.1 1999/11/02 03:54:44 keithp Exp $
                                                                                
+#if defined(i386Architecture) && defined(HasGcc34) && HasGcc34
+#undef DefaultCCOptions
+#define DefaultCCOptions -mmmx -Winline --param inline-unit-growth=10000 --param large-function-growth=10000 -DUSE_GCC34_MMX
+#endif
+

This essentially *changes* DefaultCCOptions for all of the framebuffer
code, which is not very nice. The problem is

        (a) MMX intrinsics don't work with -pedantic

        (b) DefaultCCOptions includes -pedantic

        (c) There is no way to _remove_ options from DefaultCCOptions

Also, the code is written in a way that needs gcc's default inline
heuristics to be turned off, but that's not a problem because you can
easily *add* options to DefaultCCOptions.

If someone has a clean solution, please let me know. 

Personally I am inclined to just remove -pedantic from
DefaultCCOptions, because the option it isn't really that useful.


Søren



More information about the xorg mailing list