https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61431
--- Comment #3 from Michael Meissner <meissner at gcc dot gnu.org> --- Author: meissner Date: Fri Jun 6 23:46:23 2014 New Revision: 211331 URL: http://gcc.gnu.org/viewcvs?rev=211331&root=gcc&view=rev Log: 2014-06-06 Michael Meissner <meiss...@linux.vnet.ibm.com> Back port from trunk 2014-06-06 Michael Meissner <meiss...@linux.vnet.ibm.com> PR target/61431 * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate iterators, VSX_D that handles 64-bit types, and VSX_LE that handles swapping the two 64-bit double words on little endian systems. Include V1TImode and optionally TImode in VSX_LE so that these types are properly swapped. Change all of the insns and splits that do the 64-bit swaps to use VSX_LE. (vsx_le_perm_load_<mode>): Likewise. (vsx_le_perm_store_<mode>): Likewise. (splitters for little endian memory operations): Likewise. (vsx_xxpermdi2_le_<mode>): Likewise. (vsx_lxvd2x2_le_<mode>): Likewise. (vsx_stxvd2x2_le_<mode>): Likewise. Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/config/rs6000/vsx.md