[LLVMdev] [Mesa3d-dev] Folding vector instructions

Chris Lattner clattner at apple.com
Wed Dec 31 12:09:57 PST 2008


On Dec 31, 2008, at 6:15 AM, Alex wrote:

> Chris Lattner wrote:
>> The direction we're going is to expose more and more vector  
>> operations in
>> LLVM IR.  For example, compares and select are currently being  
>> worked on,
>> so you can do a comparison of two vectors which returns a vector of  
>> bools,
>> and use that as the compare value of a select instruction  
>> (selecting between
>> two vectors).  This would allow implementing min and a variety of  
>> other
>> operations and is easier for the codegen to reassemble into a first- 
>> class
>> min operation etc.
>
> With the motivation of making the codegen easier to reassemble the  
> first-class
> operations, do you also mean that there will be vector version of  
> add, sub,
> mul, which are usually supported by many vector GPU?

Yep, LLVM already fully supports those, just use the normal add/sub/ 
mul etc operations.  If unsupported by a target, they are converted to  
scalar operations, or vectors of a different type where possible.

I'll let others respond to the Gallium-specific portions of your email,

-Chris



More information about the llvm-dev mailing list