Fixes #185244 ``` trunc(umin(zext(a) + zext(b), MAX)) -> uadd.sat(a, b) trunc(smin(zext(a) + zext(b), MAX)) -> uadd.sat(a, b) trunc(smax(zext(a) - zext(b), 0)) --> usub.sat(a, b) ``` Proof: https://alive2.llvm.org/ce/z/K6wszu
Fixes #185244 ``` trunc(umin(zext(a) + zext(b), MAX)) -> uadd.sat(a, b) trunc(smin(zext(a) + zext(b), MAX)) -> uadd.sat(a, b) trunc(smax(zext(a) - zext(b), 0)) --> usub.sat(a, b) ``` Proof: https://alive2.llvm.org/ce/z/K6wszu