combine.c (combine_simplify_rtx): Also recompute 'mode' if the call to simplify_binar...
authorDiego Novillo <dnovillo@redhat.com>
Fri, 6 Jul 2001 22:39:17 +0000 (22:39 +0000)
committerDiego Novillo <dnovillo@gcc.gnu.org>
Fri, 6 Jul 2001 22:39:17 +0000 (18:39 -0400)
2001-07-06  Diego Novillo  <dnovillo@redhat.com>

* combine.c (combine_simplify_rtx): Also recompute 'mode' if the
call to simplify_binary_operation returns a new pattern.

From-SVN: r43826

gcc/ChangeLog
gcc/combine.c

index f361306ce0381094b7ba540421f3fa0c8a15bc01..c92144ed48db8f69144721cb15be1ccc0b91d340 100644 (file)
@@ -1,3 +1,8 @@
+2001-07-06  Diego Novillo  <dnovillo@redhat.com>
+
+       * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
+       call to simplify_binary_operation returns a new pattern.
+
 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
 
        * glimits.h (__SHRT_MAX__): New.
index f64feca083268af238ae5ea09f1a08878d7cc004..2e41a2343deb35f156775c9ef79aaf4c42eb15d2 100644 (file)
@@ -3702,7 +3702,12 @@ combine_simplify_rtx (x, op0_mode, last, in_dest)
     }
 
   if (temp)
-    x = temp, code = GET_CODE (temp), op0_mode = VOIDmode;
+    {
+      x = temp;
+      code = GET_CODE (temp);
+      op0_mode = VOIDmode;
+      mode = GET_MODE (temp);
+    }
 
   /* First see if we can apply the inverse distributive law.  */
   if (code == PLUS || code == MINUS