https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109845
--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Andrew Pinski from comment #2) > So the difference between good1 and bad1 at the gimple level is the order of > operands of the bit_ior: > good1: > > ov_8 = _13 != 0; > _9 = x_2(D) != 0; > _10 = ov_8 | _9; > if (_10 != 0) > > bad1: > ov_7 = _13 != 0; > _1 = x_8(D) != 0; > _2 = _1 | ov_7; > if (_2 != 0) Couldn't optimizers rewrite boolean OR to bitwise OR in the above code?
