icmp eq/ne (X *nw Z), (Y *nw Z) -> icmp eq/ne Z, 0
X != Y
Alive2: https://alive2.llvm.org/ce/z/9oDP6K I found this pattern in 04e75858d7/casadi/core/repmat.cpp (L70-L78).
04e75858d7/casadi/core/repmat.cpp (L70-L78)
(add/sub (sub/add) (sub/add))
[l|a]shr iN (X-1)&~X, N-1 -> [z|s]ext(X==0)
ucmp
scmp