https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65935
--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> --- Testing a fix. The issue is latent with at least constant operands - but it's probably impossible(?) to get bogus operand order on those. In theory if the loads from phase were just in a different BB the issue would reproduce as well. OTOH then GCC 5 swaps in vect_get_and_check_slp_defs which already does swap operands in the IL...