[cairo] MMX compilation under win32... patches ready to land

Soeren Sandmann sandmann at daimi.au.dk
Mon Mar 10 13:21:36 PDT 2008

Vladimir Vukicevic <vladimir at pobox.com> writes:

> Great!  Soeren, let me know when you've had a chance to review the  
> code bits, and I'd be happy to merge/upstream these.  

The code looks fine to me.

> One thing I saw that scared me --
> http://virtualdub.org/blog/pivot/entry.php?  id=188#body .  I know
> we're just using vanilla MMX, so maybe this doesn't apply, but it
> would probably be hepful to double-check the output from the
> intrinsics to make sure there isn't anything dumb coming out of the
> compilers..

This matches my experience to some extent. There is some pretty dumb
stuff coming out of GCC 4. Crazy things like this:

        movq    %mm1, -32(%ebp)
        movq    -32(%ebp), %mm1

but even worse, the register allocator seems to generate way too many
memory spills.

GCC 3.4, which was current when I wrote the MMX paths, generated
decent code; a human could maybe improve on it, but not by much. The
code generated by GCC 4 is terrible.

However, even so, the MMX paths are still a win.


More information about the cairo mailing list