]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
2013-11-21 Bill Schmidt <wschmidt@vnet.ibm.com>
authorwschmidt <wschmidt@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Nov 2013 03:27:23 +0000 (03:27 +0000)
committerwschmidt <wschmidt@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Nov 2013 03:27:23 +0000 (03:27 +0000)
* config/rs6000/vector.md (vec_pack_trunc_v2df): Revert previous
little endian change.
(vec_pack_sfix_trunc_v2df): Likewise.
(vec_pack_ufix_trunc_v2df): Likewise.
* config/rs6000/rs6000.c (rs6000_expand_interleave): Correct
double checking of endianness.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205241 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 33f32b3b890a53cd9239b3a82574336ebc523168..cf4dee19d4dd4a64b05e522b8c2252860a21179c 100644 (file)
@@ -1,3 +1,12 @@
+2013-11-21  Bill Schmidt  <wschmidt@vnet.ibm.com>
+
+       * config/rs6000/vector.md (vec_pack_trunc_v2df): Revert previous
+       little endian change.
+       (vec_pack_sfix_trunc_v2df): Likewise.
+       (vec_pack_ufix_trunc_v2df): Likewise.
+       * config/rs6000/rs6000.c (rs6000_expand_interleave): Correct
+       double checking of endianness.
+
 2013-11-22  Jakub Jelinek  <jakub@redhat.com>
 
        * tree-vect-generic.c (optimize_vector_constructor): New function.
index bd4e8943413dd95fdb5a29a1d64700550334d3e8..add91c9f055e07859d77a1194c737f5e53f2a53b 100644 (file)
@@ -30116,7 +30116,7 @@ rs6000_expand_interleave (rtx target, rtx op0, rtx op1, bool highp)
   unsigned i, high, nelt = GET_MODE_NUNITS (vmode);
   rtx perm[16];
 
-  high = (highp == BYTES_BIG_ENDIAN ? 0 : nelt / 2);
+  high = (highp ? 0 : nelt / 2);
   for (i = 0; i < nelt / 2; i++)
     {
       perm[i * 2] = GEN_INT (i + high);
index 650fbddc2bbba5d133201456ca31fd0786510377..9d2bcc1ba487fd5841f01bb39790c796b1c7f17c 100644 (file)
 
   emit_insn (gen_vsx_xvcvdpsp (r1, operands[1]));
   emit_insn (gen_vsx_xvcvdpsp (r2, operands[2]));
-
-  if (BYTES_BIG_ENDIAN)
-    rs6000_expand_extract_even (operands[0], r1, r2);
-  else
-    rs6000_expand_extract_even (operands[0], r2, r1);
-
+  rs6000_expand_extract_even (operands[0], r1, r2);
   DONE;
 })
 
 
   emit_insn (gen_vsx_xvcvdpsxws (r1, operands[1]));
   emit_insn (gen_vsx_xvcvdpsxws (r2, operands[2]));
-
-  if (BYTES_BIG_ENDIAN)
-    rs6000_expand_extract_even (operands[0], r1, r2);
-  else
-    rs6000_expand_extract_even (operands[0], r2, r1);
-
+  rs6000_expand_extract_even (operands[0], r1, r2);
   DONE;
 })
 
 
   emit_insn (gen_vsx_xvcvdpuxws (r1, operands[1]));
   emit_insn (gen_vsx_xvcvdpuxws (r2, operands[2]));
-
-  if (BYTES_BIG_ENDIAN)
-    rs6000_expand_extract_even (operands[0], r1, r2);
-  else
-    rs6000_expand_extract_even (operands[0], r2, r1);
-
+  rs6000_expand_extract_even (operands[0], r1, r2);
   DONE;
 })