https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127292
--- Comment #2 from Drea Pinski <pinskia at gcc dot gnu.org> --- So the issue with using lt here is that we don't combine: _1 = a_3(D) > 1; _6 = a_3(D) != 0; _7 = _1 < _6; _2 = _1 | _7; _4 = (int) _2; yet. _7 = _1 < _6; _2 = _1 | _7; This is `_1 | (_1 < 6)` which is the same as `_1 | (!_1 & _6)` .
