Teach the DAGCombiner how to fold 'vselect' dag nodes according
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>
Wed, 8 Jan 2014 18:33:04 +0000 (18:33 +0000)
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>
Wed, 8 Jan 2014 18:33:04 +0000 (18:33 +0000)
commit638e97f13512b8424fac28e4ed79964300bcf8b0
treeee7bee181c2f2fb7357e7ef5cfdd5fd396083abb
parent2b5313d26ba58fb70b0333a73693ee453315879c
Teach the DAGCombiner how to fold 'vselect' dag nodes according
to the following two rules:
  1) fold (vselect (build_vector AllOnes), A, B) -> A
  2) fold (vselect (build_vector AllZeros), A, B) -> B

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198777 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/AArch64/neon-bitwise-instructions.ll
test/CodeGen/X86/2011-10-19-widen_vselect.ll
test/CodeGen/X86/avx512-vselect-crash.ll
test/CodeGen/X86/vselect.ll