[LLVMdev] A few inline assembly questions

Bill Wendling isanbard at gmail.com
Mon Mar 19 03:44:29 PDT 2007


On Mar 18, 2007, at 5:14 PM, Chris Lattner wrote:

>> 2) i have code utilizing whatever vector insructions i can get my  
>> hands on to
>> speed up some very common rendering operations. llvm-gcc doesn't  
>> seem to
>> support mmx intrinsics which makes Qt compiled with llvm-gcc quite  
>> a bit
>> slower when it comes to graphics.
>
> As Anton mentioned, work is actively underway to add MMX intrinsic
> support.  Right now we have very basic support for a few simple  
> operations
> like add and multiply.  Bill Wendling is the one working on this, I
> forwarded your testcase to him so that he can focus on those  
> operations
> first.
>
Got 'em. :-) I think my schedule's slightly more open this week, so I  
should be able to add the missing operators easily.

>> test2.cpp shows in essence what we're doing
>> in Qt. we basically have a very simple class that defines simple  
>> static
>> methods like negate/add/byte_mul/interpolate_pixel. now the  
>> question is if
>> there is any way of getting code like this to utilize vector  
>> instructions
>> with llvm-gcc. i wouldn't mind having llvm specific path there as  
>> long as it
>> works.
>
> Absolutely.  Until now, there hasn't been anything pushing for MMX
> intrinsic support (most clients we've worked with so far use SSE2  
> instead
> of MMX).  LLVM definitely needs to support the MMX intrinsics, when  
> Bill
> has your testcase working, I'd appreciate it if you could try Qt  
> with MMX
> enabled again.  I filed http://llvm.org/PR1260 to track your specific
> testcase (PR1222 is the bug for MMX intrinsics in general).  If you  
> want
> to see when this is completed, it is easiest to CC yourself on the  
> bug.
>
Also, if you could do some performance comparisons between GCC and  
LLVM, it would be a good measurement of how we're doing. From the few  
instructions I've added, we tend to generate better code. :-)

-bw




More information about the llvm-dev mailing list