[InstCombine] Generalise ((x1 ^ y1) | (x2 ^ y2)) == 0 transform
authorMaksim Kita <kitaetoya@gmail.com>
Sat, 15 Jul 2023 20:55:04 +0000 (15:55 -0500)
committerNoah Goldstein <goldstein.w.n@gmail.com>
Sat, 15 Jul 2023 21:57:16 +0000 (16:57 -0500)
commitda822ce90ed9c46ef8f0abc40f572865f117b384
tree2a422ecb3825c1ab68888f8765cc5edb2702fb78
parent39f0afde98f36c63da691863c172b3c54a1fa92c
[InstCombine] Generalise ((x1 ^ y1) | (x2 ^ y2)) == 0 transform

Generalise ((x1 ^ y1) | (x2 ^ y2)) == 0 transform to more than two pairs of variables https://github.com/llvm/llvm-project/issues/57831.
Depends D154384.

Reviewed By: goldstein.w.n, nikic

Differential Revision: https://reviews.llvm.org/D154306
llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
llvm/test/Transforms/InstCombine/icmp-or.ll