https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68026
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Component|c |tree-optimization --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- t = 3<=(x2|1|x3|x1-1U); Doing the non-volatile sub: t = 3 <= (x2 | 1 | 2 | (x1 - 1u)) ... t = 3 <= (x2 | 3 | (x1 - 1u)) or: t = 3 <= 3 | x2 | (x1 - 1u) Which is: t = true, x1, x2. Only if re-association happens with casts thrown in too which might be the case of the regression.