[X86][SSE] Optimize llvm.experimental.vector.reduce.xor.vXi1 parity reduction (PR38840)
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 28 Apr 2019 10:46:17 +0000 (10:46 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 28 Apr 2019 10:46:17 +0000 (10:46 +0000)
commit93ad48210cb7c61906875ad5be1ca8d894063380
treee9dc544fad4b64eb822d82a17a5a55069c0dce1e
parentfed302ae37ec56badc8283e39070561e47ae740e
[X86][SSE] Optimize llvm.experimental.vector.reduce.xor.vXi1 parity reduction (PR38840)

An xor reduction of a bool vector can be optimized to a parity check of the MOVMSK/BITCAST'd integer - if the population count is odd return 1, else return 0.

Differential Revision: https://reviews.llvm.org/D61230

llvm-svn: 359396
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-reduce-xor-bool.ll