aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2015-09-16 17:46:21 +0000
committerDavid S. Miller <davem@gcc.gnu.org>2015-09-16 10:46:21 -0700
commitea09f50d91fc79d3d494c352b71556c605e89159 (patch)
treed903bd4b434acdddf4c3ab1869f5daaa683629ed
parent35187a744c2221673cb0ce2b6672eeed71d3fa99 (diff)
downloadgcc-ea09f50d91fc79d3d494c352b71556c605e89159.zip
gcc-ea09f50d91fc79d3d494c352b71556c605e89159.tar.gz
gcc-ea09f50d91fc79d3d494c352b71556c605e89159.tar.bz2
Fix endianness assumption in LRA.
gcc/ * lra-constraints.c (simplify_operand_subreg): Do not assume that lowpart of a SUBREG has offset zero. From-SVN: r227833
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/lra-constraints.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 49b8438..1fad636 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-09-16 David S. Miller <davem@davemloft.net>
+
+ * lra-constraints.c (simplify_operand_subreg): Do not assume that
+ lowpart of a SUBREG has offset zero.
+
2015-09-16 Jeff Law <law@redhat.com>
PR tree-optimization/47679
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index cdb2695..fc8e43d 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -1545,7 +1545,7 @@ simplify_operand_subreg (int nop, machine_mode reg_mode)
bool insert_before, insert_after;
PUT_MODE (new_reg, mode);
- subreg = simplify_gen_subreg (innermode, new_reg, mode, 0);
+ subreg = gen_lowpart_SUBREG (innermode, new_reg);
bitmap_set_bit (&lra_subreg_reload_pseudos, REGNO (new_reg));
insert_before = (type != OP_OUT);