[PATCH] D60610: [X86][SSE] Recognise vXi1 boolean anyof/allof reduction patterns
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 12 05:28:22 PDT 2019
RKSimon created this revision.
RKSimon added reviewers: spatel, craig.topper, andreadb, lebedev.ri.
Herald added a project: LLVM.
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 to 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 <https://reviews.llvm.org/D60403> which assume the MOVMSK generation.
Repository:
rL LLVM
https://reviews.llvm.org/D60610
Files:
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/vector-compare-all_of.ll
test/CodeGen/X86/vector-compare-any_of.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60610.194846.patch
Type: text/x-patch
Size: 33891 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190412/7721ba6d/attachment.bin>
More information about the llvm-commits
mailing list