<div dir="ltr">On 15 October 2013 21:55, Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><span style="color:rgb(34,34,34)">If the loop was manually unrolled because non-trivial dependencies would have prevented the compiler from doing so, then those same dependencies should prevent the rerolling.</span></div>
</blockquote><div><br></div><div>Exactly.</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><span style="color:rgb(34,34,34)">We probably should do it by default when compiling for code size.</span></div>
</blockquote><div><br></div><div>Yes. And with the vectorizer turned on when in -Os, this should also help performance.</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><span style="color:rgb(34,34,34)"> Otherwise, we may want to use it as a utility function from the loop vectorizer (and other relevant loop transformations) so that we only reroll if we'll be doing something non-trivial with the result.</span></div>
</blockquote><div><br></div><div>+1.</div><div></div></div><br></div><div class="gmail_extra">cheers,</div><div class="gmail_extra">--renato</div></div>