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 | |
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')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/expr.c | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 624aa13..ff15844 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-01-23 Richard Henderson <rth@redhat.com> + + * expr.c (move_by_pieces_1): Extend size before negation. + 2002-01-23 Bob Wilson <bob.wilson@acm.org> * config/xtensa/elf.h: New file. @@ -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)); |