https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79218 --- Comment #1 from Peter Bergner <bergner at gcc dot gnu.org> --- Actually, gcc6 produces the same result (unnecessary swaps) if we use the -mvsx-timode option, which is not on by default in gcc6.