[InstCombine] `xor` reduction w/ i1 elt type is a parity check
For i1 element type, `xor` and `add` are interchangeable (https://alive2.llvm.org/ce/z/e77hhQ), so we should treat it just like an `add` reduction and consistently transform them both: https://alive2.llvm.org/ce/z/MjCm5W (self) https://alive2.llvm.org/ce/z/kgqF4M (skipped zext) https://alive2.llvm.org/ce/z/pgy3HP (skipped sext) Though, let's emit the IR that is similar to the one we produce for `vector_reduce_add(<n x i1>)`. See https://bugs.llvm.org/show_bug.cgi?id=51259
Loading
Please sign in to comment