<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>Ok, so trying to recap the consensus seems to be for the following syntax</div><div><br></div><div>#pragma interleave(_value_)</div><div>- indicates the loop body should be unrolled</div><div>- does not imply that it is safe to do so</div><div><br></div><div>#pragma vectorize width(_value_)/enable/disable</div><div>- behavior remains the same</div></div><div><br></div><div>And rename `class LoopVectorizeHints' to `class LoopHints'.</div><div><br></div><div>Is that right? Did I miss anything?</div><div><br></div><div>Tyler</div><br><div><div>On Apr 22, 2014, at 11:39 AM, Hal Finkel <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">----- Original Message -----<br><blockquote type="cite">From: "Nadav Rotem" <<a href="mailto:nrotem@apple.com">nrotem@apple.com</a>><br>To: "Raul Silvera" <<a href="mailto:rsilvera@google.com">rsilvera@google.com</a>><br>Cc: "Hal Finkel" <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>>, "Alexey Bataev" <<a href="mailto:alexey.bataev@intel.com">alexey.bataev@intel.com</a>>, "llvm cfe" <<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a>><br>Sent: Tuesday, April 22, 2014 1:30:39 PM<br>Subject: Re: [PATCH] #pragma vectorize<br><br><br><br><br>On Apr 22, 2014, at 11:24 AM, Raul Silvera < <a href="mailto:rsilvera@google.com">rsilvera@google.com</a> ><br>wrote:<br><br><br><br><br>Does this pragma widen also asserts safety, or does it depend on the<br>compiler proving independence?<br><br><br>This specific pragma only affects the decision of the vectorizer<br>'cost model'.<br><br><br><br><br><br><br>widen does seem to imply the data types are being widened -- also a<br>form of vectorization. Perhaps interleave is another word to<br>consider?<br><br><br>I also like ‘interleave’.<br><br></blockquote><br>I like this as well.<br><br>-Hal<br><br><blockquote type="cite"><br><br><br><br><br><br>Raúl E Silvera | SWE | <a href="mailto:rsilvera@google.com">rsilvera@google.com</a> | 408-789-2846<br><br><br><br>On Tue, Apr 22, 2014 at 10:49 AM, Hal Finkel < <a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a> ><br>wrote:<br><br><br><br>----- Original Message -----<br><blockquote type="cite">From: "Nadav Rotem" < <a href="mailto:nrotem@apple.com">nrotem@apple.com</a> ><br>To: "Hal Finkel" < <a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a> ><br></blockquote><br><blockquote type="cite">Cc: "Tyler Nowicki" < <a href="mailto:tnowicki@apple.com">tnowicki@apple.com</a> >, <a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>, "Alexey Bataev" < <a href="mailto:alexey.bataev@intel.com">alexey.bataev@intel.com</a> >,<br>"Alexander Musman" < <a href="mailto:alexander.musman@gmail.com">alexander.musman@gmail.com</a> >, "Chandler<br>Carruth" < <a href="mailto:chandlerc@google.com">chandlerc@google.com</a> ><br></blockquote><br><blockquote type="cite">Sent: Tuesday, April 22, 2014 12:44:21 PM<br>Subject: Re: [PATCH] #pragma vectorize<br><br><br><br><br></blockquote><br><blockquote type="cite">On Apr 22, 2014, at 10:38 AM, Hal Finkel < <a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a> > wrote:<br><br><br>Okay, this is reasonable, but I'm still not sure it should be in a<br>pragma called 'vectorize'. This particular transformation can be<br>applied (and more often than not is applied) to scalar code.<br>Strictly speaking it is an optimization that exposes ILP, and has<br>little to do with vectorization.<br><br><br>This is a good point. Maybe ILP would be a better name?<br></blockquote><br>No, actually I like widen better because it is an action word. I<br>don't think that ILP gives any idea of what the compiler is being<br>asked to do. Not that I'm in love with widen, but I don't have a<br>better suggestion -- unsequenced_unrolling or<br>unsequenced_iterations, etc. all seem a bit bulky ;)<br><br>-Hal<br><br><br><blockquote type="cite"><br><br><br><br><br>That having been said, the fact that the correctness model for this<br>'widening' operation is similar (although not identical) to that<br>for<br>vectorization, and thus implemented by the vectorizer, is not facet<br>of the implementation we should expose to the user. However, pragma<br>widen is fine with me too.<br><br></blockquote><br><br><br>--<br>Hal Finkel<br>Assistant Computational Scientist<br>Leadership Computing Facility<br>Argonne National Laboratory<br>_______________________________________________<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><br><br><br></blockquote><br>--<span class="Apple-converted-space"> </span><br>Hal Finkel<br>Assistant Computational Scientist<br>Leadership Computing Facility<br>Argonne National Laboratory<br><br>_______________________________________________<br>cfe-commits mailing list<br><a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a></div></blockquote></div><br></body></html>