aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-11-26 17:06:44 +0000
committerRichard Stallman <rms@gnu.org>1992-11-26 17:06:44 +0000
commitd038420ea8bfbe2c4b7253d718ef00791cb5e78b (patch)
treed0fc56eb794334d1e96e9553a4b84df6d8a16715 /gcc
parent3b2f07926a2c2a98bd0e6d281a8d75dcc2087c17 (diff)
downloadgcc-d038420ea8bfbe2c4b7253d718ef00791cb5e78b.zip
gcc-d038420ea8bfbe2c4b7253d718ef00791cb5e78b.tar.gz
gcc-d038420ea8bfbe2c4b7253d718ef00791cb5e78b.tar.bz2
(num_sign_bit_copies): Fix 1-off error in PLUS case.
From-SVN: r2807
Diffstat (limited to 'gcc')
-rw-r--r--gcc/combine.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 1021391..fc856b5 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -6355,7 +6355,7 @@ num_sign_bit_copies (x, mode)
sig = significant_bits (XEXP (x, 0), mode);
if ((((HOST_WIDE_INT) 1 << (bitwidth - 1)) & sig) == 0)
return (sig == 1 || sig == 0 ? bitwidth
- : bitwidth - floor_log2 (sig));
+ : bitwidth - floor_log2 (sig) - 1);
}
num0 = num_sign_bit_copies (XEXP (x, 0), mode);