re PR target/61431 (Powerpc tests pack01.c and p8vector-int128-2.c fail on little...
commitb528fc5cd9d2c9fa13b69e144f630b1ef1bc6862
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Fri, 6 Jun 2014 23:15:36 +0000 (6 23:15 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Fri, 6 Jun 2014 23:15:36 +0000 (6 23:15 +0000)
tree0482bbe909fbf29d0c45635383b6d6a5752a8203
parent6736ef96eab222e58e6294f42be981a5afb59811
re PR target/61431 (Powerpc tests pack01.c and p8vector-int128-2.c fail on little endian power8 systems)

2014-06-06  Michael Meissner  <meissner@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.

From-SVN: r211329
gcc/ChangeLog
gcc/config/rs6000/vsx.md