]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000.c (num_insns_constant): Compute number of instructions more accurately.
authorDavid Edelsohn <edelsohn@gnu.org>
Sat, 8 Sep 2001 02:40:36 +0000 (02:40 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Sat, 8 Sep 2001 02:40:36 +0000 (22:40 -0400)
        * rs6000.c (num_insns_constant): Compute number of instructions
        more accurately.

From-SVN: r45484

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index c3dc8f418d2a00f55d387e465b1075fd6c89c201..6feb13bfb7382bddcacd70cfb0ee5c82a39d5f89 100644 (file)
@@ -1,3 +1,8 @@
+2001-09-07  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.c (num_insns_constant): Compute number of instructions
+       more accurately.
+
 2001-09-07  Jim Wilson  <wilson@redhat.com>
 
        * alias.c (clear_reg_alias_info): New.
index a598f18a348521123d39ee6569ab9bf18ea49547..8448682721dbd797a24f4caadc9990cc06ae297c 100644 (file)
@@ -880,7 +880,8 @@ num_insns_constant (op, mode)
   if (GET_CODE (op) == CONST_INT)
     {
 #if HOST_BITS_PER_WIDE_INT == 64
-      if (mask64_operand (op, mode))
+      if ((INTVAL (op) >> 31) != 0 && (INTVAL (op) >> 31) != -1
+         && mask64_operand (op, mode))
            return 2;
       else
 #endif