SLPVectorizer: Only vectorize intrinsics whose operands are widened equally
authorArnold Schwaighofer <aschwaighofer@apple.com>
Wed, 9 Apr 2014 14:20:47 +0000 (14:20 +0000)
committerArnold Schwaighofer <aschwaighofer@apple.com>
Wed, 9 Apr 2014 14:20:47 +0000 (14:20 +0000)
commitb0ee2374cea63f2edcc1bf092f6f46f3cc60da62
tree15ff5a11778e979bf43da1dd43fe94c3ec3f0230
parent0d5d656524e11532c3f8fbd3c0deae9236676bf7
SLPVectorizer: Only vectorize intrinsics whose operands are widened equally

The vectorizer only knows how to vectorize intrinics by widening all operands by
the same factor.

Patch by Tyler Nowicki!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205855 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/Utils/VectorUtils.h [new file with mode: 0644]
lib/Transforms/Vectorize/LoopVectorize.cpp
lib/Transforms/Vectorize/SLPVectorizer.cpp
test/Transforms/SLPVectorizer/X86/non-vectorizable-intrinsic.ll [new file with mode: 0644]