summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwschmidt <wschmidt@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-05 14:27:17 +0000
committerwschmidt <wschmidt@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-05 14:27:17 +0000
commit97ad64282fdf2c111c83e18038ca0c56b3918df3 (patch)
tree64dbad0ae763433ed801d87a8a7b9e9772fd0bee
parent300c6ceec3d8a1a5f898c399e63381e3203c24bc (diff)
downloadppe42-gcc-97ad64282fdf2c111c83e18038ca0c56b3918df3.tar.gz
ppe42-gcc-97ad64282fdf2c111c83e18038ca0c56b3918df3.zip
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204395 138bc75d-0d04-0410-961f-82ee72b054a4
-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 9b21a3a5445..938d62b7dd5 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 0a1130f7bff..68214d91316 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;
})
OpenPOWER on IntegriCloud