With large compare constant:
(X u/ Y) == C --> (X == C) && (Y == 1)
(X u/ Y) != C --> (X != C) || (Y != 1)
https://alive2.llvm.org/ce/z/EhKwh6
There are various potential missing icmp (div) transforms shown here:
https://github.com/llvm/llvm-project/issues/55695
This is a generalization for part of the udiv + equality. I didn't check in detail, but some of those may only make sense as codegen transforms.
This results in one extra instruction in IR, but it is better for analysis, and looks much better in codegen on all targets that I tried.