[LLVMdev] Disable vectorization for unaligned data

Arnold aschwaighofer at apple.com
Sun Jul 21 16:37:07 PDT 2013


On Jul 21, 2013, at 4:03 PM, Renato Golin <renato.golin at linaro.org> wrote:

> If I got you right, this is the classic case for loop peeling. I thought LLVM's vectorizer had something like that already in.

No we don't have loop peeling.

The problem is even more fundamental than this. In the vectorizer we pass the alignment of the scalar loop access which is of course lower than what is required.we need to compute alignment based on the first access only and the vector access size. But we don't to this at the moment.

> 
> On 21 July 2013 18:16, Arnold Schwaighofer <aschwaighofer at apple.com> wrote:
>> I will have to work on this soon as ARM also has pretty inefficient unaligned vector loads.
> 
> NEON does support unaligned access via VLD*/VST*, what loads are you referring to?

Yes but they can be very slow depending on the alignment( more micro ops).
> 
> cheers,
> --renato
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130721/2bcdf486/attachment.html>


More information about the llvm-dev mailing list