summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2014-06-28 05:16:40 +0000
committerChandler Carruth <chandlerc@gmail.com>2014-06-28 05:16:40 +0000
commit887c2c3482cf002a2057ddc18c23554ffa57af4a (patch)
tree884bc4510c85d65cee5ab53f83e3f23e387cd749 /llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
parent72304efabc30503e84dc13683a734715e8a22115 (diff)
downloadbcm5719-llvm-887c2c3482cf002a2057ddc18c23554ffa57af4a.tar.gz
bcm5719-llvm-887c2c3482cf002a2057ddc18c23554ffa57af4a.zip
[x86] Add handling for splat-like widenings of v16i8 shuffles.
These show up really frequently, not the least with actual splats. =] We lowered these quite badly before. The new code path tries to widen i8 shuffles to i16 shuffles in a splat-like way. There are still some inefficiencies in our i16 splat logic though, so we aren't really done here. Also, for certain patterns (bit of a gather-and-splat) we still generate pretty silly code, and I've left a fixme for addressing it. However, I'm not actually worried about this code pattern as much. The old shuffle lowering generates a 29 instruction monstrosity for it that should execute much more slowly. llvm-svn: 211974
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud