https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86604
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pinskia at gcc dot gnu.org Severity|normal |enhancement --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Maybe something like: (simplify (cond (ne bool@0 integer_zerop) (plus @1 integer_onep) @1) (plus (convert @0) @1)) Where bool is defined to be a var that is in the range of [0,1]. This seems like what LLVM does.