vector.md (vec_pack_trunc_v2df): Adjust for little endian.
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Mon, 4 Nov 2013 14:34:50 +0000 (14:34 +0000)
committerWilliam Schmidt <wschmidt@gcc.gnu.org>
Mon, 4 Nov 2013 14:34:50 +0000 (14:34 +0000)
2013-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/vector.md (vec_pack_trunc_v2df):  Adjust for
little endian.

From-SVN: r204349

gcc/ChangeLog
gcc/config/rs6000/vector.md

index 7306064..c9b1ace 100644 (file)
@@ -1,3 +1,8 @@
+2013-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       * config/rs6000/vector.md (vec_pack_trunc_v2df):  Adjust for
+       little endian.
+
 2013-11-04  Jakub Jelinek  <jakub@redhat.com>
 
        PR tree-optimization/58946
index 8b067b1..0a1130f 100644 (file)
 
   emit_insn (gen_vsx_xvcvdpsp (r1, operands[1]));
   emit_insn (gen_vsx_xvcvdpsp (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;
 })