aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Suchanek <robert.suchanek@imgtec.com>2015-01-16 12:31:11 +0000
committerMatthew Fortune <mpf@gcc.gnu.org>2015-01-16 12:31:11 +0000
commit8b8e23de943203a28cb667648cb7d7f9e39f64a7 (patch)
treeea3151c106e00403c4d1a078c05753b6b237cea2
parentece4d1aca6232a26f44e8fa5435f429f9bcde6db (diff)
downloadgcc-8b8e23de943203a28cb667648cb7d7f9e39f64a7.zip
gcc-8b8e23de943203a28cb667648cb7d7f9e39f64a7.tar.gz
gcc-8b8e23de943203a28cb667648cb7d7f9e39f64a7.tar.bz2
Adjust handling of word sized subregs for OP_OUT
gcc/ * lra-constraints.c (curr_insn_transform): Change a reload pseudo of type OP_OUT to OP_INOUT. From-SVN: r219730
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/lra-constraints.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b9f45a0..b4a1ed7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
+ * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
+ type OP_OUT to OP_INOUT.
+
+2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
+
* simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
(high x) y) to y if x and y have the same base.
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index f102fe5..6e4be72 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -3802,6 +3802,8 @@ curr_insn_transform (bool check_only_p)
(ira_class_hard_regs[goal_alt[i]][0],
GET_MODE (reg), byte, mode) >= 0)))))
{
+ if (type == OP_OUT)
+ type = OP_INOUT;
loc = &SUBREG_REG (*loc);
mode = GET_MODE (*loc);
}