From 4e2c1c4484d3407251679a1eb271c9163ee3edfc Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Sat, 8 Sep 2001 02:40:36 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/rs6000/rs6000.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) 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