On Sun, Feb 19, 2012 at 4:59 PM, Søren Sandmann <[email protected]> wrote: > Matt Turner <[email protected]> writes: > >> The current runtime test checked that MMX extensions were available >> before executing code in pixman-mmx.c, even though no MMX extensions >> were used. >> >> The new --{enable,disable}-mmxext flag enables the use of MMX extensions >> in pixman-mmx.c. This allows us to use a few more efficient instructions >> added with 3DNow and SSE1 by default, and also allows the builder to >> disable these instructions and use pixman-mmx.c on a system without MMX >> extensions, something that wasn't possible before. > > Are there any interesting chips without MMX extensions? Pentium MMX > definitely is not interesting. If there aren't, I'd rather just get rid > of the ifdefs and unconditionally require MMX-ext to be present.
Not really, but it doesn't seem to be much code at all to support MMX/nonEXT. Either way is okay with me. >> The SSE intrinsics header xmmintrin.h includes the MMX extensions we >> want to use, while the mm3dnow.h header does not. Instead of compiling >> with -msse (which would cause SSE instructions to be generated), we use >> a hack and just #define __SSE__ before including xmmintrin.h. > > I like this hack, but looking at the code it doesn't look like you are > using it? Ah, I hit problems with that. I should have removed that paragraph from the commit message. When you compile xmmintrin.h with #define __SSE__ but without -msse, you get lots of errors about converting between vector types, so I don't think it works. I wound up just duplicating the two _mm_* functions the _MM_SHUFFLE. _______________________________________________ Pixman mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pixman
