[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