https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #25 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Kishan Parmar from comment #24) > That’s because on i386 and AArch64, I see existing .md patterns still > written as > (xor (and (xor A B) C) B) instead of the canonicalized (ior (and A C) (and B > ~C)). > Should we consider updating those patterns to match the new form, or is > there a specific reason why the current (xor (and (xor A B) C) B) form is > preferred for those targets? Why do you think there is a canonial form here. https://gcc.gnu.org/onlinedocs/gccint/Insn-Canonicalizations.html Does not document one form for this one.
