[PATCH] LoopVectorizer: Don't attempt to vectorize extractelement instructions

Hal Finkel hfinkel at anl.gov
Fri Oct 25 13:13:24 PDT 2013


[With the patch this time].

----- Original Message -----
> Nadav, Arnold,
> 
> The loop vectorizer does not currently understand how to vectorize
> extractelement instructions. The existing check, which excluded all
> vector-valued instructions, did not catch extractelement instructions
> because
> it checked only the return value. As a result, vectorization would
> proceed,
> producing illegal instructions like this:
>     
>   %58 = extractelement <2 x i32> %15, i32 0
>   %59 = extractelement i32 %58, i32 0
>     
> where the second extractelement is illegal because its first operand
> is not a vector. Later passes (or the verifier) would then crash.
> 
> We could teach the vectorizer to handle this case when vectorizing,
> but I think that might be a task better associated with a larger
> effort in vectorizing vectorized loops. Please review.
> 
> Thanks again,
> Hal
> 
> --
> Hal Finkel
> Assistant Computational Scientist
> Leadership Computing Facility
> Argonne National Laboratory
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lv-ee-crash.patch
Type: text/x-patch
Size: 2630 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131025/e924bc40/attachment.bin>


More information about the llvm-commits mailing list