+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.
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);
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;
})