On Apr 10, 2012, at 12:30 PM, Matt Turner <matts...@gmail.com> wrote:
> On Tue, Apr 10, 2012 at 1:50 AM, Jeremy Huddleston > <jerem...@freedesktop.org> wrote: >> >>>>>>> Newer clangs support the "K" constraint? Fixed in response to its use >>>>>>> in pixman? :) >>> >>> And to close the loop on this, the fix has landed in clang trunk and will >>> be in 3.1: >>> http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20120319/055254.html >> >> >> And the other half of the issue seems to be a bug in pixman (at least that's >> what I am told): >> >> """ >>> FWIW the problem happening here with inlining is that at -O0 the constant >>> isn't being propagated through the inlining and so we have the 'K' constant >>> error that you see. >> >> IMO, the source of this problem is that pixman isn't using clang's >> xmmintrin.h, which defines _mm_shuffle_pi16 for exactly this reason. They >> should fix that. >> """ > > Sigh. The reason we're not just plainly using xmmintrin.h is that it > requires SSE. The MMX extension instructions we are using in > pixman-mmx.c are available in SSE and Extended 3DNow. If you compile > with -msse and include xmmintrin.h, you'll get lots of SSE > instructions that aren't in 3DNow. So, why not append -mno-sse when building pixman-mmx.c to ensure that doesn't happen? > Try the attached patch. It's how gcc's xmmintrin.h handles it. > > Matt > <p.patch> Sigh, that will probably do it, but I'd rather not go down a slower path on current hardware just to allow a K6-2 to be marginally faster. Of course, if I cared about performance rather than tinderboxing, I'd be optimizing the build... Acked-by: Jeremy Huddleston <jerem...@apple.com> _______________________________________________ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pixman