<div dir="ltr"><div><div><div>Hi Artur -<br><br></div>I don't think there's any reason to limit the transform to sexts only; that's just the case that was apparent in <a href="https://llvm.org/bugs/show_bug.cgi?id=20134">https://llvm.org/bugs/show_bug.cgi?id=20134</a> , so I limited it to that pattern.<br><br></div>It's probably worth noting that I'm currently fighting through casts of all kinds in IR (InstCombine) rather than the backend:<br><a href="https://reviews.llvm.org/D22421">https://reviews.llvm.org/D22421</a><br><a href="https://reviews.llvm.org/D22271">https://reviews.llvm.org/D22271</a><br><a href="https://reviews.llvm.org/D22477">https://reviews.llvm.org/D22477</a><br><a href="https://reviews.llvm.org/D20774">https://reviews.llvm.org/D20774</a><br><a href="https://llvm.org/bugs/show_bug.cgi?id=27925">https://llvm.org/bugs/show_bug.cgi?id=27925</a><br><br></div>I'm very interested to see what kinds of patterns you're seeing and want to optimize. It's possible that IR transforms could eliminate the need for the backend fixups...or it could make them harder. Are there bug reports for the cases that you are looking at?<br><div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 19, 2016 at 9:13 AM, Artur Pilipenko <span dir="ltr"><<a href="mailto:apilipenko@azulsystems.com" target="_blank">apilipenko@azulsystems.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="word-wrap:break-word">
<div>Hi Sanjay,</div>
<div><br>
</div>
<div>Some time ago you implemented a sext(add_nsw(x, C)) --> add(sext(x), C_sext) transformation in X86ISelLowering </div>
<div><a href="https://reviews.llvm.org/D13757" target="_blank">https://reviews.llvm.org/D13757</a></div>
<div>Is there any reason why this transformation is limited to sexts and doesn’t support zexts?</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Artur</div>
</div>

</blockquote></div><br></div>