diff options
author | Richard Henderson <rth@redhat.com> | 2002-01-23 17:16:23 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-01-23 17:16:23 -0800 |
commit | 3d709fd3c5a45585b6dc138e625fcaeac576df8b (patch) | |
tree | ecbc8081d9def84ff9bc42f32a46dcad4d5b82d6 /gcc/expr.c | |
parent | 152d4916efac917dd1fc64cc4950e299b54476f0 (diff) | |
download | gcc-3d709fd3c5a45585b6dc138e625fcaeac576df8b.zip gcc-3d709fd3c5a45585b6dc138e625fcaeac576df8b.tar.gz gcc-3d709fd3c5a45585b6dc138e625fcaeac576df8b.tar.bz2 |
* expr.c (move_by_pieces_1): Extend size before negation.
From-SVN: r49158
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1575,9 +1575,11 @@ move_by_pieces_1 (genfun, mode, data) from1 = adjust_address (data->from, mode, data->offset); if (HAVE_PRE_DECREMENT && data->explicit_inc_to < 0) - emit_insn (gen_add2_insn (data->to_addr, GEN_INT (-size))); + emit_insn (gen_add2_insn (data->to_addr, + GEN_INT (-(HOST_WIDE_INT)size))); if (HAVE_PRE_DECREMENT && data->explicit_inc_from < 0) - emit_insn (gen_add2_insn (data->from_addr, GEN_INT (-size))); + emit_insn (gen_add2_insn (data->from_addr, + GEN_INT (-(HOST_WIDE_INT)size))); if (data->to) emit_insn ((*genfun) (to1, from1)); |