[PATCH] D28810: [X86][SSE] Use MOVMSK for all_of/any_of reduction patterns

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 17 08:52:35 PST 2017


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>


More information about the llvm-commits mailing list