rs6000.c (altivec_expand_vec_perm_const): Reverse meaning of merge-high and merge...
authorBill Schmidt <wschmidt@vnet.ibm.com>
Tue, 22 Oct 2013 17:31:17 +0000 (17:31 +0000)
committerWilliam Schmidt <wschmidt@gcc.gnu.org>
Tue, 22 Oct 2013 17:31:17 +0000 (17:31 +0000)
commit843d68c67cba2d553d2b5b188dddeac7477fb6fb
tree1566eb4998c969ca8ca97a920755ae0458b871c8
parent7faffbc4be05ee2e161f78d830b143236e99f2ca
rs6000.c (altivec_expand_vec_perm_const): Reverse meaning of merge-high and merge-low masks for little endian...

gcc:

2013-10-22  Bill Schmidt  <wschmidt@vnet.ibm.com>

* config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Reverse
meaning of merge-high and merge-low masks for little endian; avoid
use of vector-pack masks for little endian for mismatched modes.

gcc/testsuite:

2013-10-22  Bill Schmidt  <wschmidt@vnet.ibm.com>

* gcc.target/powerpc/altivec-perm-1.c: Move the two vector pack
tests into...
* gcc.target/powerpc/altivec-perm-3.c: ...this new test, which is
restricted to big-endian targets.

From-SVN: r203930
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/altivec-perm-1.c
gcc/testsuite/gcc.target/powerpc/altivec-perm-3.c [new file with mode: 0644]