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

Reply via email to