https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #18 from Segher Boessenkool <segher at gcc dot gnu.org> --- (In reply to luoxhu from comment #16) > > +2016-11-09 Segher Boessenkool <seg...@kernel.crashing.org> > > + > > + * simplify-rtx.c (simplify_binary_operation_1): Simplify > > + (xor (and (xor A B) C) B) to (ior (and A C) (and B ~C)) and > > + (xor (and (xor A B) C) A) to (ior (and A ~C) (and B C)) if C > > + is a const_int. > > > Is it a MUST that C be const here? It could be extended to C a reg as well, I think.