From: David Edelsohn Date: Sat, 8 Sep 2001 02:40:36 +0000 (+0000) Subject: rs6000.c (num_insns_constant): Compute number of instructions more accurately. X-Git-Tag: prereleases/libstdc++-3.0.95~2196 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e2c1c4484d3407251679a1eb271c9163ee3edfc;p=thirdparty%2Fgcc.git rs6000.c (num_insns_constant): Compute number of instructions more accurately. * rs6000.c (num_insns_constant): Compute number of instructions more accurately. From-SVN: r45484 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c3dc8f418d2a..6feb13bfb738 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-09-07 David Edelsohn + + * rs6000.c (num_insns_constant): Compute number of instructions + more accurately. + 2001-09-07 Jim Wilson * alias.c (clear_reg_alias_info): New. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index a598f18a3485..8448682721db 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -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