aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>2013-11-05 14:27:17 +0000
committerWilliam Schmidt <wschmidt@gcc.gnu.org>2013-11-05 14:27:17 +0000
commit6e8fd64f5a392278b2fc94f2174316a1dd3bc068 (patch)
tree64dbad0ae763433ed801d87a8a7b9e9772fd0bee /gcc
parent5689294cd95ee6209a55359b710ca9bce81d98d8 (diff)
downloadgcc-6e8fd64f5a392278b2fc94f2174316a1dd3bc068.zip
gcc-6e8fd64f5a392278b2fc94f2174316a1dd3bc068.tar.gz
gcc-6e8fd64f5a392278b2fc94f2174316a1dd3bc068.tar.bz2
vector.md (vec_pack_sfix_trunc_v2df): Adjust for little endian.
2013-11-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/vector.md (vec_pack_sfix_trunc_v2df): Adjust for little endian. (vec_pack_ufix_trunc_v2df): Likewise. From-SVN: r204395
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/vector.md14
2 files changed, 18 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9b21a3a..938d62b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2013-11-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/vector.md (vec_pack_sfix_trunc_v2df): Adjust for
+ little endian.
+ (vec_pack_ufix_trunc_v2df): Likewise.
+
2013-11-05 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/58981
diff --git a/gcc/config/rs6000/vector.md b/gcc/config/rs6000/vector.md
index 0a1130f..68214d9 100644
--- a/gcc/config/rs6000/vector.md
+++ b/gcc/config/rs6000/vector.md
@@ -850,7 +850,12 @@
emit_insn (gen_vsx_xvcvdpsxws (r1, operands[1]));
emit_insn (gen_vsx_xvcvdpsxws (r2, operands[2]));
- rs6000_expand_extract_even (operands[0], r1, r2);
+
+ if (BYTES_BIG_ENDIAN)
+ rs6000_expand_extract_even (operands[0], r1, r2);
+ else
+ rs6000_expand_extract_even (operands[0], r2, r1);
+
DONE;
})
@@ -865,7 +870,12 @@
emit_insn (gen_vsx_xvcvdpuxws (r1, operands[1]));
emit_insn (gen_vsx_xvcvdpuxws (r2, operands[2]));
- rs6000_expand_extract_even (operands[0], r1, r2);
+
+ if (BYTES_BIG_ENDIAN)
+ rs6000_expand_extract_even (operands[0], r1, r2);
+ else
+ rs6000_expand_extract_even (operands[0], r2, r1);
+
DONE;
})