https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112093
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=101590 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- | has a similar issue: ``` int f_or(unsigned a, unsigned b) { return (a|b) <= a; } int f1_or(unsigned a, unsigned b) { return (a|b) == a; } int g_or(unsigned a, unsigned b) { return (a|b) > a; } int g1_or(unsigned a, unsigned b) { return (a|b) != a; } ``` Note for other comparisons, see PR 101590 which I am about to submit a patch for since they simplify down to a constant.