D152673 Incorrectly didn't account for operand position in the icmp,
i.e it treated icmp uge x, y the same as icmp uge y, x which is
incorrect:
https://reviews.llvm.org/rG142f7448e770f25b774b058a7eab1f107c4daad9
The fix takes operand position into account. The new tests
exhaustively cover all operand positions for ule, uge, ult,
ugt (the set of predicates) and all transform verify with the new
commit.