[CodeGen] ExpandReductions - add reduce_and/or(<X x i1> V) -> icmp(iX bitcast(<X...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 4 Apr 2023 10:19:30 +0000 (11:19 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 4 Apr 2023 10:19:35 +0000 (11:19 +0100)
commit00e3ae447150b839567906c9d2c527d7d32db46c
treead2a1363bed63976391cd29081df670b55fdd05c
parent1b16c70299481c10e500715c9ab538a307bc0bb0
[CodeGen] ExpandReductions - add reduce_and/or(<X x i1> V) -> icmp(iX bitcast(<X x i1> V)) canonicalization

This already exists in InstCombine but was missing from the late stage ExpandReductions pass

Fixes #53419
Fixes #61923

Differential Revision: https://reviews.llvm.org/D147452
llvm/lib/CodeGen/ExpandReductions.cpp
llvm/test/CodeGen/X86/pr53419.ll
llvm/test/CodeGen/X86/pr61923.ll
llvm/test/CodeGen/X86/vector-reduce-and-bool.ll
llvm/test/CodeGen/X86/vector-reduce-or-bool.ll