<p dir="ltr">Hi Weiming, </p>
<p dir="ltr">Patch looks great. Simple  and effective. </p>
<p dir="ltr">Do you really need the extra shuffles before add/multi in the text? </p>
<p dir="ltr">Otherwise, Looks good to me. </p>
<p dir="ltr">Cheers, <br>
Renato </p>
<div class="gmail_quote">On 25 Sep 2013 21:27, "Weiming Zhao" <<a href="mailto:weimingz@codeaurora.org">weimingz@codeaurora.org</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal">Hi,<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">    Generally, it is desirable to transform “(a + b) * c” to “a*c + b*c” for<u></u><u></u></p>
<p class="MsoNormal" style="text-indent:9.0pt">ARM with VMLx Forwarding, where a, b and c are vectors.<u></u><u></u></p><p class="MsoNormal" style="text-indent:9.0pt"><u></u> <u></u></p><p class="MsoNormal">    However, for (a + b)*(a + b), distribution will result in one extra<u></u><u></u></p>
<p class="MsoNormal">    instruction.<u></u><u></u></p><p class="MsoNormal">    With distribution:<u></u><u></u></p><p class="MsoNormal">       x = a + b (vadd)<u></u><u></u></p><p class="MsoNormal">       y = a * x (vmul)<u></u><u></u></p>
<p class="MsoNormal">       z = y + b * y (vmla)<u></u><u></u></p><p class="MsoNormal">    <u></u><u></u></p><p class="MsoNormal">    Without distribution:<u></u><u></u></p><p class="MsoNormal">       x = a + b (vadd)<u></u><u></u></p>
<p class="MsoNormal">       z = x * x (vmul)<u></u><u></u></p><p class="MsoNormal">    <u></u><u></u></p><p class="MsoNormal">    This patch detects if a mul is a square of add/sub. If yes, skip<u></u><u></u></p><p class="MsoNormal">
    distribution.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Please help to review the patch<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Thanks,<u></u><u></u></p>
<p class="MsoNormal">Weiming<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p></div></div><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" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div>