<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 8 January 2014 14:18, 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">
<div class="HOEnZb"><div class="h5"><span style="color:rgb(34,34,34)">For unrolling, I'm specifically against tying the syntax in any way to the vectorizer. The vectorizer can unroll without vectorizing, and that's an implementation detail. We also have a generic (concatenation) unroller, and that should also be controlled by the same syntax. I propose that, for unrolling we accept something like this:</span></div>
</div></blockquote><div><br></div><div>This is a good point.</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="HOEnZb"><div class="h5">
<span style="color:rgb(34,34,34)">#pragma nounroll[(interleave/</span><span style="color:rgb(34,34,34)">concatenate/all)] -- all is the default</span><br></div></div>
#pragma unroll[(n[, interleave/concatenate/any])] -- any is the default<br></blockquote><div><br></div><div>But this is getting *seriously* out of my area of expertise... ;)</div><div><br></div><div>I agree with Arnold that any generic alternative will be too complex for current purposes, but I also agree with the front-end crowd that we should do it right for one. Given my lack of experience with parsers and utter ignorance in Clang, I'd rather defer that implementation to someone more knowledgeable.</div>
<div><br></div><div>I like the idea of using C++11 attributes, but this could be complimentary, not replace the pragmas, as Hal pointed out.</div><div><br></div><div>cheers,</div><div>--renato</div></div></div></div>