Commit 90d3bd51 by Bill Schmidt Committed by William Schmidt

vector.md (vec_unpacks_hi_v4sf): Correct for endianness.

2013-10-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc/config/rs6000/vector.md (vec_unpacks_hi_v4sf): Correct for
	endianness.
	(vec_unpacks_lo_v4sf): Likewise.
	(vec_unpacks_float_hi_v4si): Likewise.
	(vec_unpacks_float_lo_v4si): Likewise.
	(vec_unpacku_float_hi_v4si): Likewise.
	(vec_unpacku_float_lo_v4si): Likewise.

From-SVN: r203714
parent de75c876
2013-10-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 2013-10-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc/config/rs6000/vector.md (vec_unpacks_hi_v4sf): Correct for
endianness.
(vec_unpacks_lo_v4sf): Likewise.
(vec_unpacks_float_hi_v4si): Likewise.
(vec_unpacks_float_lo_v4si): Likewise.
(vec_unpacku_float_hi_v4si): Likewise.
(vec_unpacku_float_lo_v4si): Likewise.
2013-10-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/vsx.md (vsx_concat_<mode>): Adjust output for LE. * config/rs6000/vsx.md (vsx_concat_<mode>): Adjust output for LE.
(vsx_concat_v2sf): Likewise. (vsx_concat_v2sf): Likewise.
......
...@@ -872,7 +872,7 @@ ...@@ -872,7 +872,7 @@
{ {
rtx reg = gen_reg_rtx (V4SFmode); rtx reg = gen_reg_rtx (V4SFmode);
rs6000_expand_interleave (reg, operands[1], operands[1], true); rs6000_expand_interleave (reg, operands[1], operands[1], BYTES_BIG_ENDIAN);
emit_insn (gen_vsx_xvcvspdp (operands[0], reg)); emit_insn (gen_vsx_xvcvspdp (operands[0], reg));
DONE; DONE;
}) })
...@@ -884,7 +884,7 @@ ...@@ -884,7 +884,7 @@
{ {
rtx reg = gen_reg_rtx (V4SFmode); rtx reg = gen_reg_rtx (V4SFmode);
rs6000_expand_interleave (reg, operands[1], operands[1], false); rs6000_expand_interleave (reg, operands[1], operands[1], !BYTES_BIG_ENDIAN);
emit_insn (gen_vsx_xvcvspdp (operands[0], reg)); emit_insn (gen_vsx_xvcvspdp (operands[0], reg));
DONE; DONE;
}) })
...@@ -896,7 +896,7 @@ ...@@ -896,7 +896,7 @@
{ {
rtx reg = gen_reg_rtx (V4SImode); rtx reg = gen_reg_rtx (V4SImode);
rs6000_expand_interleave (reg, operands[1], operands[1], true); rs6000_expand_interleave (reg, operands[1], operands[1], BYTES_BIG_ENDIAN);
emit_insn (gen_vsx_xvcvsxwdp (operands[0], reg)); emit_insn (gen_vsx_xvcvsxwdp (operands[0], reg));
DONE; DONE;
}) })
...@@ -908,7 +908,7 @@ ...@@ -908,7 +908,7 @@
{ {
rtx reg = gen_reg_rtx (V4SImode); rtx reg = gen_reg_rtx (V4SImode);
rs6000_expand_interleave (reg, operands[1], operands[1], false); rs6000_expand_interleave (reg, operands[1], operands[1], !BYTES_BIG_ENDIAN);
emit_insn (gen_vsx_xvcvsxwdp (operands[0], reg)); emit_insn (gen_vsx_xvcvsxwdp (operands[0], reg));
DONE; DONE;
}) })
...@@ -920,7 +920,7 @@ ...@@ -920,7 +920,7 @@
{ {
rtx reg = gen_reg_rtx (V4SImode); rtx reg = gen_reg_rtx (V4SImode);
rs6000_expand_interleave (reg, operands[1], operands[1], true); rs6000_expand_interleave (reg, operands[1], operands[1], BYTES_BIG_ENDIAN);
emit_insn (gen_vsx_xvcvuxwdp (operands[0], reg)); emit_insn (gen_vsx_xvcvuxwdp (operands[0], reg));
DONE; DONE;
}) })
...@@ -932,7 +932,7 @@ ...@@ -932,7 +932,7 @@
{ {
rtx reg = gen_reg_rtx (V4SImode); rtx reg = gen_reg_rtx (V4SImode);
rs6000_expand_interleave (reg, operands[1], operands[1], false); rs6000_expand_interleave (reg, operands[1], operands[1], !BYTES_BIG_ENDIAN);
emit_insn (gen_vsx_xvcvuxwdp (operands[0], reg)); emit_insn (gen_vsx_xvcvuxwdp (operands[0], reg));
DONE; DONE;
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment