<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;"><div></div><div><br></div><br><div><div>On Apr 22, 2014, at 2:30 PM, Tyler Nowicki <<a href="mailto:tnowicki@apple.com">tnowicki@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Hi Hal,</div><div><br></div><div>Thanks for the reply.</div><br><div><blockquote type="cite">Maybe we're looking at this the wrong way... what about?<br><br>pragma loop vectorize(width/enable/disable) interleave(count/enable/disable)<br></blockquote><div><br></div><div>I like this more, especially because its clear it applies only to loops.</div><br><blockquote type="cite"><br><blockquote type="cite">enable/disable don’t add<br>anything that isn’t already part of pragma vectorize enable/disable,<br>and specifying `#pragma vectorize disable’ would disable<br>interleaving.<br></blockquote><br>But that's a bug. Are you sure that's what happens?<br></blockquote><div><br></div><div>I could be mistaken. This is what is in <span style="font-family: Menlo; font-size: 11px;">LoopVectorize at the top of processLoop()</span></div><div><br></div><div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"> if (Hints.Force == 0) {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"> DEBUG(dbgs() << "LV: Not vectorizing: #pragma vectorize disable.\n");</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"> return false;</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"> }</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"><br></div><div style="margin: 0px;">And the unrolling occurs later in processLoop(). I thought it was a feature… but yea, lets fix it.</div></div><br><blockquote type="cite"><br><blockquote type="cite"><br><br>As for safety, how about #pragma vectorize aggressive?<br></blockquote><br>I don't like that; *that* sounds like a cost-model adjustment. The user is asserting something about the property of the loop, and we should try to capture that property. Although this may just be confusing, "vectorizable" is what we mean.</blockquote><div><br></div><div>`nodependence’? </div><br></div>Thanks,<div><br></div><div>Tyler</div></div>_______________________________________________<br>cfe-commits mailing list<br><a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits<br></blockquote></div><br></body></html>