<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 27, 2015 at 6:50 PM, David Majnemer <span dir="ltr"><<a href="mailto:david.majnemer@gmail.com" target="_blank">david.majnemer@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Examples of this rule which do not result in poison:</div><div>```</div><div>  %or  = or  i32 %always_poison, 2</div><div>  %and = and i32 %always_poison, 2</div><div>  %mul = mul i32 %always_poison, 0</div><div>```</div><div><br></div><div>In fact, it would be reasonable to optimize `%or` to `2` and `%and` to `0`.  In this respect, poison is not different from `undef`.</div></blockquote></div><br>The last time we discussed this, we were considering poison a property of an individual bit much like undef is a property of an indivdual bit. Are you no longer proposing those semantics? That is, while %or's second bit is clearly not poison, is the first bit (or LSB) poison?</div></div>