[PowerPC] Enable interleaved-access vectorization
authorHal Finkel <hfinkel@anl.gov>
Fri, 4 Sep 2015 00:10:41 +0000 (00:10 +0000)
committerHal Finkel <hfinkel@anl.gov>
Fri, 4 Sep 2015 00:10:41 +0000 (00:10 +0000)
commitf606a6ed992d5e4e2877419b51e2a9b540b5e3f0
treec5c0cb88fc93d9fd43895694ca24830a7ae24b3c
parent738216def666cdd66d8c07311c30736c60b67fbf
[PowerPC] Enable interleaved-access vectorization

This adds a basic cost model for interleaved-access vectorization (and a better
default for shuffles), and enables interleaved-access vectorization by default.
The relevant difference from the default cost model for interleaved-access
vectorization, is that on PPC, the shuffles that end up being used are *much*
cheaper than modeling the process with insert/extract pairs (which are
quite expensive, especially on older cores).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246824 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/PowerPC/PPCTargetTransformInfo.cpp
lib/Target/PowerPC/PPCTargetTransformInfo.h
test/Transforms/LoopVectorize/PowerPC/stride-vectorization.ll [new file with mode: 0644]