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)
commit5ab77956497f2787c9a8266632ba0e3498630bd6
treee4238d79feb373df98ebf837edf8f2ec8850f199
parent6cd3ebb223d822a1a208a73e48ad0ce2c2824ffd
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

llvm-svn: 209873
llvm/include/llvm/Transforms/Utils/VectorUtils.h
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/test/Transforms/LoopVectorize/intrinsic.ll
llvm/test/Transforms/SLPVectorizer/X86/intrinsic.ll