<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 3, 2014 at 2:54 PM, Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">However, Chandler had made a similar change to the loop vectorizer (to prefer power-of-2 unrolling factors), because it helps with X86 addressing modes, and as a result, I wonder whether it is worth keeping this part regardless. Chandler?</blockquote>
</div><br>To try and answer this specifc question first:</div><div class="gmail_extra"><br></div><div class="gmail_extra">The power-of-two thing is an interesting and pesky issue. I suspect that it matters more for "widening" style unrolls than for this version. Consider that in the widening version, we need to have all N unroll-step pointers live at the same time (potentially), whereas here we can just lea them however we like on each unrolled iteration.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">So I wouldn't include it until we have benchmarks showing it matters.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">
Regarding the entire patch series, please at least commit everything but the gep-cost-metric change at least. I'm more hesitant there and would like to stare at the patch a bit.</div></div>