<div dir="ltr"><div class="gmail_extra">On 30 October 2013 09:25, Nadav Rotem <span dir="ltr"><<a href="mailto:nrotem@apple.com" target="_blank">nrotem@apple.com</a>></span> wrote: <div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

The access pattern to arrays a and b is non-linear.  Unrolled loops are usually handled by the SLP-vectorizer.  Are ir0 and ir1 consecutive for all values for i ?<br></blockquote><div></div></div><br></div><div class="gmail_extra">
Based on his list of values, it seems that the induction stride is linear within each block of 4 iterations, but it's not a clear relationship.</div><div class="gmail_extra"><br></div><div class="gmail_extra">As you say, it should be possible to spot that once the loop is unrolled, and get the SLP to vectorize if the relationship becomes clear. </div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Maybe I'm wrong, but this looks like a problem of missed opportunities, not technically hard to implement.</div><div class="gmail_extra"><br></div><div class="gmail_extra">
--renato</div></div>