[LLVMdev] Predicated Vector Operations

dag at cray.com dag at cray.com
Wed May 8 11:56:34 PDT 2013


Nadav Rotem <nrotem at apple.com> writes:

> On May 8, 2013, at 11:07 AM, dag at cray.com wrote:
>
>     It might be as simple as adding
>     an IR-level predicated load and predicated store, I'm not sure.
>
> I think that selects on the inputs+outputs of instructions is a good
> abstraction, and I don't think that we need to add a mask operand to
> every LLVM IR instruction. However, we do need support for masked
> load/stores, and I think that we should implement them as target
> independent intrinsics. I don't want to change the generic LLVM IR
> Load/Store instructions because I don't want to modify all of the
> existing optimizations and I also don't want other users of the
> compiler to pay for this complexity.

That's probably a reasonable compromise.  What's the significant
difference between a target independent intrinic and a new Instruction?
I'm asking to puzzle out whether there is a
performance/maintenance/other advantage to one over the other.

                              -David



More information about the llvm-dev mailing list