aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2019-04-12 14:22:57 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2019-04-12 14:22:57 +0000
commit6c8f4ada360d8d289dbba7c80eb8a1fae991d7d0 (patch)
tree17c76318831db3bc81e2e00602fff698336ea0ca /llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
parent1e39fc1faa5d8e27877eff45b2b9839c94e5d12e (diff)
downloadllvm-6c8f4ada360d8d289dbba7c80eb8a1fae991d7d0.zip
llvm-6c8f4ada360d8d289dbba7c80eb8a1fae991d7d0.tar.gz
llvm-6c8f4ada360d8d289dbba7c80eb8a1fae991d7d0.tar.bz2
[X86][SSE] Recognise vXi1 boolean anyof/allof reduction patterns
Currently combineHorizontalPredicateResult only handles anyof/allof reduction patterns of legal types, which can be tricky to match as type legalization of bools can introduce bitcasts/truncs/extensions. This patch extends combineHorizontalPredicateResult to recognise vXi1 bool reductions as well and uses the existing combineBitcastvxi1 helper to create the MOVMSK necessary to then compare the signmask result. This ensures the accuracy of the reduction costs added in D60403 which assume the MOVMSK generation. Differential Revision: https://reviews.llvm.org/D60610 llvm-svn: 358286
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp')
0 files changed, 0 insertions, 0 deletions