diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/altivec.md | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 26b02e8..31580a4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2013-10-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> + + * config/rs6000/altivec.md (mulv8hi3): Adjust for little endian. + 2013-10-23 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/58775 diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md index 93aaa12..37c5998 100644 --- a/gcc/config/rs6000/altivec.md +++ b/gcc/config/rs6000/altivec.md @@ -681,7 +681,10 @@ emit_insn (gen_altivec_vmrghw (high, even, odd)); emit_insn (gen_altivec_vmrglw (low, even, odd)); - emit_insn (gen_altivec_vpkuwum (operands[0], high, low)); + if (BYTES_BIG_ENDIAN) + emit_insn (gen_altivec_vpkuwum (operands[0], high, low)); + else + emit_insn (gen_altivec_vpkuwum (operands[0], low, high)); DONE; }") |