aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/expr.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 998be31a421..d6591a22e32 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-10-25 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expr.c (emit_block_move_via_loop): Use simplify_gen_binary
+ rather than gen_rtx_PLUS.
+
2012-10-24 Vladimir Makarov <vmakarov@redhat.com>
PR bootstrap/55068
diff --git a/gcc/expr.c b/gcc/expr.c
index 448596c3396..0de2f97b4a9 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1464,11 +1464,11 @@ emit_block_move_via_loop (rtx x, rtx y, rtx size,
emit_label (top_label);
tmp = convert_modes (x_addr_mode, iter_mode, iter, true);
- x_addr = gen_rtx_PLUS (x_addr_mode, x_addr, tmp);
+ x_addr = simplify_gen_binary (PLUS, x_addr_mode, x_addr, tmp);
if (x_addr_mode != y_addr_mode)
tmp = convert_modes (y_addr_mode, iter_mode, iter, true);
- y_addr = gen_rtx_PLUS (y_addr_mode, y_addr, tmp);
+ y_addr = simplify_gen_binary (PLUS, y_addr_mode, y_addr, tmp);
x = change_address (x, QImode, x_addr);
y = change_address (y, QImode, y_addr);