https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78200
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- So the non-canonical GIMPLE is actually created by loop versioning and update-ssa replacing uses with new defs but not re-canonicalizing operand order. Not gimplification as I speculated.