* fold-const.c (fold_truthop): Fix bug in last change.

From-SVN: r16473
This commit is contained in:
J"orn Rennecke 1997-11-14 00:38:08 +00:00 committed by Joern Rennecke
parent 41c9120baf
commit 9f29ca789b
2 changed files with 6 additions and 2 deletions

View file

@ -1,3 +1,7 @@
Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
* fold-const.c (fold_truthop): Fix bug in last change.
1997-11-13 Paul Eggert <eggert@twinsun.com>
Fix some confusion with IEEE minus zero.

View file

@ -3425,7 +3425,7 @@ fold_truthop (code, truth_type, lhs, rhs)
{
if (l_const && integer_zerop (l_const) && integer_pow2p (ll_mask))
{
if (ll_unsignedp)
if (ll_unsignedp || tree_log2 (ll_mask) + 1 < ll_bitsize)
l_const = ll_mask;
else
/* Since ll_arg is a single bit bit mask, we can sign extend
@ -3443,7 +3443,7 @@ fold_truthop (code, truth_type, lhs, rhs)
{
if (r_const && integer_zerop (r_const) && integer_pow2p (rl_mask))
{
if (rl_unsignedp)
if (rl_unsignedp || tree_log2 (rl_mask) + 1 < rl_bitsize)
r_const = rl_mask;
else
/* This is analogous to the code for l_const above. */