Allow vectorization of intrinsics such as powi,cttz and ctlz in Loop and SLP Vectorizer.
authorKarthik Bhat <kv.bhat@samsung.com>
Fri, 30 May 2014 04:31:24 +0000 (04:31 +0000)
committerKarthik Bhat <kv.bhat@samsung.com>
Fri, 30 May 2014 04:31:24 +0000 (04:31 +0000)
commit8ffc96a163a9d4387feb06007d36ac1e419a8cd1
treebc3b0ed97b2b882dd5f275b5dc4ad2377cb7ad74
parent102187efba7e084e7b2f59a435cb0b3583189d7b
Allow vectorization of intrinsics such as powi,cttz and ctlz in Loop and SLP Vectorizer.

This patch adds support to vectorize intrinsics such as powi, cttz and ctlz in Vectorizer. These intrinsics are different from other
intrinsics as second argument to these function must be same in order to vectorize them and it should be represented as a scalar.
Review: http://reviews.llvm.org/D3851#inline-32769 and http://reviews.llvm.org/D3937#inline-32857

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209873 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/Utils/VectorUtils.h
lib/Transforms/Vectorize/LoopVectorize.cpp
lib/Transforms/Vectorize/SLPVectorizer.cpp
test/Transforms/LoopVectorize/intrinsic.ll
test/Transforms/SLPVectorizer/X86/intrinsic.ll