[PATCH] LoopVectorizer: Don't attempt to vectorize extractelement instructions
Hal Finkel
hfinkel at anl.gov
Fri Oct 25 13:49:12 PDT 2013
----- Original Message -----
> LGTM. Thanks!
r193434. Thanks!
-Hal
>
>
> On Oct 25, 2013, at 1:13 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>
> > [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
> > <lv-ee-crash.patch>
>
>
--
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory
More information about the llvm-commits
mailing list