summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExprConstant.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2018-10-23 15:13:09 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2018-10-23 15:13:09 +0000
commit532a0f122e3a20415704fe3899351332795238e6 (patch)
tree55fbc538379a7089a82c7a3bcf74f7f1bfb87620 /clang/lib/CodeGen/CGExprConstant.cpp
parent747feb28e469a472e6ae5472385fac024ae1b632 (diff)
downloadbcm5719-llvm-532a0f122e3a20415704fe3899351332795238e6.tar.gz
bcm5719-llvm-532a0f122e3a20415704fe3899351332795238e6.zip
[SLPVectorizer] Add basic support for mul/and/or/xor horizontal reductions
Expand arithmetic reduction to include mul/and/or/xor instructions. This patch just fixes the SLPVectorizer - the effective reduction costs for AVX1+ are still poor (see rL344846) and will need to be improved before SLP sees this as a valid transform - but we can already see the effect on SSE2 tests. This partially helps PR37731, but doesn't fix it all as it still falls over on the extraction/reduction order for some reason. Differential Revision: https://reviews.llvm.org/D53473 llvm-svn: 345037
Diffstat (limited to 'clang/lib/CodeGen/CGExprConstant.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud