<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">LGTM.<div><br></div><div>—Owen</div><div><br><div style=""><div>On Sep 19, 2013, at 12:39 PM, Kai Nacke <<a href="mailto:kai.nacke@redstar.de">kai.nacke@redstar.de</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Ping^2.<br><br>Regards<br>Kai<br><br>On 15.09.2013 20:00, Kai Nacke wrote:<br><blockquote type="cite">Ping.<br><br>On 10.09.2013 01:26, Kai Nacke wrote:<br><blockquote type="cite">Hi!<br><br>C-like languages promote types like unsigned short to unsigned int<br>before performing an arithmetic operation. The rotate matcher in the<br>DAGCombiner does not consider this situation.<br>The attached patch extends the DAGCombiner in the way that the pattern<br><br>(or (shl ([az]ext x), (*ext y)), (srl ([az]ext x), (*ext (sub 32, y))))<br><br>is folded into<br><br>([az]ext (rotl x, y))<br><br>The matching is restricted to aext and zext because in this cases the<br>upper bits are either undefined or known. Test case is included.<br><br>This fixes PR16726.<br><br>Please review.<br><br>Regards<br>Kai<br><br><br>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits<br><br></blockquote><br><br><br>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a></blockquote></div></blockquote></div><br></div></body></html>