]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
cse.c (find_best_addr): Consider binary operators even if second argument is not...
authorRichard Henderson <rth@redhat.com>
Wed, 4 Jun 2003 21:05:20 +0000 (14:05 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 4 Jun 2003 21:05:20 +0000 (14:05 -0700)
        * cse.c (find_best_addr): Consider binary operators even if second
        argument is not CONST_INT.

From-SVN: r67463

gcc/ChangeLog
gcc/cse.c

index 7e21d4d525d772ce1ccfd403cd2df5a903799800..0ff9fe88c6a997820cf9899bf69e9129dfc779b6 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-04  Richard Henderson  <rth@redhat.com>
+
+        * cse.c (find_best_addr): Consider binary operators even if second
+        argument is not CONST_INT.
+
 2003-06-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
 
        * doc/invoke.texi (max-cse-path-length): Document.
index 65b068427848bfcba2e80660135d1c42bd337bc8..a061817a3f1f9377e56f80b000a671c14b46331f 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -3009,10 +3009,9 @@ find_best_addr (insn, loc, mode)
   if (flag_expensive_optimizations
       && (GET_RTX_CLASS (GET_CODE (*loc)) == '2'
          || GET_RTX_CLASS (GET_CODE (*loc)) == 'c')
-      && GET_CODE (XEXP (*loc, 0)) == REG
-      && GET_CODE (XEXP (*loc, 1)) == CONST_INT)
+      && GET_CODE (XEXP (*loc, 0)) == REG)
     {
-      rtx c = XEXP (*loc, 1);
+      rtx op1 = XEXP (*loc, 1);
 
       do_not_record = 0;
       hash = HASH (XEXP (*loc, 0), Pmode);
@@ -3054,7 +3053,7 @@ find_best_addr (insn, loc, mode)
                    || exp_equiv_p (p->exp, p->exp, 1, 0)))
              {
                rtx new = simplify_gen_binary (GET_CODE (*loc), Pmode,
-                                              p->exp, c);
+                                              p->exp, op1);
                int new_cost;
                new_cost = address_cost (new, mode);