diff options
author | Bill Schmidt <wschmidt@linux.vnet.ibm.com> | 2013-11-05 14:27:17 +0000 |
---|---|---|
committer | William Schmidt <wschmidt@gcc.gnu.org> | 2013-11-05 14:27:17 +0000 |
commit | 6e8fd64f5a392278b2fc94f2174316a1dd3bc068 (patch) | |
tree | 64dbad0ae763433ed801d87a8a7b9e9772fd0bee /gcc | |
parent | 5689294cd95ee6209a55359b710ca9bce81d98d8 (diff) | |
download | gcc-6e8fd64f5a392278b2fc94f2174316a1dd3bc068.zip gcc-6e8fd64f5a392278b2fc94f2174316a1dd3bc068.tar.gz gcc-6e8fd64f5a392278b2fc94f2174316a1dd3bc068.tar.bz2 |
vector.md (vec_pack_sfix_trunc_v2df): Adjust for little endian.
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.
From-SVN: r204395
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/vector.md | 14 |
2 files changed, 18 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9b21a3a..938d62b 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 0a1130f..68214d9 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; }) |