[X86][AVX512] Improve vector bool reductions
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 27 Apr 2019 17:32:46 +0000 (17:32 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 27 Apr 2019 17:32:46 +0000 (17:32 +0000)
commit2a2d4224002d8c730ce4723b82a15cc491ee76e8
tree188afe69ded2d3f0d219fb157974bc9552587252
parent913bfd3363f131e20bcd7949d00ba553795d7615
[X86][AVX512] Improve vector bool reductions

As predicate masks are legal on AVX512 targets, we avoid MOVMSK in these cases, but we can just bitcast the bool vector to the integer equivalent directly - avoiding expansion of the reduction to a shuffle pattern.

llvm-svn: 359386
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-compare-all_of.ll
llvm/test/CodeGen/X86/vector-compare-any_of.ll
llvm/test/CodeGen/X86/vector-reduce-and-bool.ll
llvm/test/CodeGen/X86/vector-reduce-or-bool.ll