https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114087
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- >From https://gcc.gnu.org/wiki/GimpleCanonical: (a | CST0) == CST1 or (a & CST2) == CST3 (where CST2 == ~CST0 and CST3 == CST1&~CST0 (PR 86975, related to PR 111108) (LLVM chooses the &)