aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>2013-11-20 03:03:51 +0000
committerWilliam Schmidt <wschmidt@gcc.gnu.org>2013-11-20 03:03:51 +0000
commit7900247f6eae25f5c199900ef937142680988900 (patch)
tree478fe497e9c31eefba8571952368771a9119d624
parent5f51d006610d5d74bda8f3f35eaba7ce8c0e90f1 (diff)
downloadgcc-7900247f6eae25f5c199900ef937142680988900.zip
gcc-7900247f6eae25f5c199900ef937142680988900.tar.gz
gcc-7900247f6eae25f5c199900ef937142680988900.tar.bz2
rs6000.c (altivec_expand_vec_perm_const): Adjust V16QI vector splat case for little endian.
2013-11-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Adjust V16QI vector splat case for little endian. From-SVN: r205080
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7688983..59c0a8c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-11-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Adjust
+ V16QI vector splat case for little endian.
+
2013-11-19 Jeff Law <law@redhat.com>
* tree-ssa-threadedge.c (thread_across_edge): After threading
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 3735f49..4c6a529 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -29812,6 +29812,8 @@ altivec_expand_vec_perm_const (rtx operands[4])
break;
if (i == 16)
{
+ if (!BYTES_BIG_ENDIAN)
+ elt = 15 - elt;
emit_insn (gen_altivec_vspltb (target, op0, GEN_INT (elt)));
return true;
}