RKSimon created this revision.
This is a first attempt at using the MOVMSK instructions to replace all_of/any_of reduction patterns (i.e. an and/or + shuffle chain).
So far this only matches patterns where we are reducing an all/none bits source vector (i.e. a comparison result) but we should be able to expand on this in conjunction with improvements to 'bool vector' handling both in the x86 backend as well as the vectorizers etc.
Repository:
rL LLVM
https://reviews.llvm.org/D28810
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: D28810.84680.patch
Type: text/x-patch
Size: 55735 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170117/252858df/attachment.bin>