diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1999-12-18 19:59:24 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 1999-12-18 19:59:24 +0000 |
commit | 3f0aabf20a84ccd50d38dca8f252f887558d31ff (patch) | |
tree | cf1c49fbae545416d26b53bc7e7c616a3972a9f8 /gcc | |
parent | 0cc6d0ac184a59d90913c33743ff2ce5745df169 (diff) | |
download | gcc-3f0aabf20a84ccd50d38dca8f252f887558d31ff.zip gcc-3f0aabf20a84ccd50d38dca8f252f887558d31ff.tar.gz gcc-3f0aabf20a84ccd50d38dca8f252f887558d31ff.tar.bz2 |
* unroll.c (copy_loop_body): Don't treat a REG like a PLUS.
From-SVN: r31016
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/unroll.c | 13 |
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8946a18..613c2bf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Sat Dec 18 18:30:20 1999 J"orn Rennecke <amylaar@cygnus.co.uk> + + * unroll.c (copy_loop_body): Don't treat a REG like a PLUS. + 1999-12-18 10:42 -0800 Zack Weinberg <zack@wolery.cumb.org> * objc/objc-parse.c: Regenerate. This file must be rebuilt diff --git a/gcc/unroll.c b/gcc/unroll.c index 94451e1..6135b85 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -1812,11 +1812,14 @@ copy_loop_body (copy_start, copy_end, map, exit_label, last_iteration, value = plus_constant (tv->dest_reg, tv->const_adjust); - /* The constant could be too large for an add - immediate, so can't directly emit an insn - here. */ - emit_unrolled_add (dest_reg, XEXP (value, 0), - XEXP (value, 1)); + if (GET_CODE (value) == PLUS) + { + /* The constant could be too large for an add + immediate, so can't directly emit an insn + here. */ + emit_unrolled_add (dest_reg, XEXP (value, 0), + XEXP (value, 1)); + } } /* Reset the giv to be just the register again, in case |