[LLVMdev] Handling Masked Vector Operations
Nadav Rotem
nrotem at apple.com
Thu May 2 10:29:03 PDT 2013
>
>> For DIV/MOD you can blend the inputs BEFORE the operation. You can
>> place ones or zeros depending on the operation.
>
> Quick follow-up on this. What about using "undef" as the input for
> false items:
>
> tv1 = select mask, v1, undef
> tv2 = select mask, v2, undef
> tv3 = div tv1, tv2
> v3 = select mask, tv3, undef
>
> I'm always confused about the semantics of undef. Is the above safe
> code? It would simplify things a bit not to have to track which input
> values are safe based on the context of an operation.
>
> -David
This is not a correct use of undef. I think that InstCombine/DagCombine will optimize tv1 into 'undef'.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130502/590bb96a/attachment.html>
More information about the llvm-dev
mailing list