[PATCH] #pragma vectorize

Tyler Nowicki tnowicki at apple.com
Tue Apr 22 14:01:29 PDT 2014


I don’t think we should separate the option interleave from the pragma vectorize. I mean, we should use the syntax #pragma vectorize {interleave(_value_), width(_value_), enable, disable}, because interleave and vectorization are related, enable/disable don’t add anything that isn’t already part of pragma vectorize enable/disable, and specifying `#pragma vectorize disable’ would disable interleaving.

As for safety, how about #pragma vectorize aggressive?

Tyler

On Apr 22, 2014, at 12:56 PM, Chandler Carruth <chandlerc at google.com> wrote:

> 
> On Tue, Apr 22, 2014 at 12:47 PM, Hal Finkel <hfinkel at anl.gov> wrote:
> > I very much dislike the term 'interleave'. We had a great deal of
> > trouble with this term in the C++ committee. There are execution
> > models which want this information but do not guarantee
> > "interleaved" execution, and this is observable.
> 
> In this particular case, I think this objection is misplaced. The particular transformation that we're discussing is, literally, one that provides interleaving of loop iterations. We could also call it unsequenced (as I mentioned in some earlier e-mail), but in some sense, this transformation is more specific than that.
> 
> I understand that. But I'm somewhat concerned *promising* it in the pragma. It seems better to use a more generic term if there is a good one that applies, and widen seems to.
> 
> > If this is just a cost model hint, I like "widen" quite a bit better,
> > and maybe there is a way to work "hint" or "cost" into the name?
> 
> In some sense it is a cost model hint, but I'm not sure a user would see it as such.
> 
> Yea, I see that too.
>  
> 
> Using hint for the non-safety-asserting variants seems like a good idea. We should be clear with the users whether they are providing only a hint, or asserting something more.
> 
> Indeed. This is the key part. 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140422/58382464/attachment.html>


More information about the cfe-commits mailing list