]> gcc.gnu.org Git - gcc.git/commitdiff
* unroll.c (copy_loop_body): Don't treat a REG like a PLUS.
authorJ"orn Rennecke <amylaar@cygnus.co.uk>
Sat, 18 Dec 1999 19:59:24 +0000 (19:59 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Sat, 18 Dec 1999 19:59:24 +0000 (19:59 +0000)
From-SVN: r31016

gcc/ChangeLog
gcc/unroll.c

index 8946a18500b162b622dd20477a96ea960637b58d..613c2bf4dd0e82f09eb7d87d1c906b2dc436e2c0 100644 (file)
@@ -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
index 94451e1717bae3c5c74c2ce11e06059645bf3bcf..6135b858ca755a4203f4c9a12adcc784eec026da 100644 (file)
@@ -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
This page took 0.084868 seconds and 5 git commands to generate.