aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1999-12-18 19:59:24 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>1999-12-18 19:59:24 +0000
commit3f0aabf20a84ccd50d38dca8f252f887558d31ff (patch)
treecf1c49fbae545416d26b53bc7e7c616a3972a9f8 /gcc
parent0cc6d0ac184a59d90913c33743ff2ce5745df169 (diff)
downloadgcc-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/ChangeLog4
-rw-r--r--gcc/unroll.c13
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