https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #26 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Segher Boessenkool from comment #7) > That's not canonical form on RTL, and it's not a useful form either. As I mentioned it is NOT documented which one is canonical form so both are valid. At the gimple level the canoncal form is `a ^ ((a ^ b) & m)` as defined by PR 63568. (gimple canonical forms are not documented yet and I have been working towards that, see http://gcc.gnu.org/wiki/GimpleCanonical .
