Commit 9f29ca78 by J"orn Rennecke Committed by Joern Rennecke

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

From-SVN: r16473
parent 41c9120b
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> 1997-11-13 Paul Eggert <eggert@twinsun.com>
Fix some confusion with IEEE minus zero. Fix some confusion with IEEE minus zero.
......
...@@ -3425,7 +3425,7 @@ fold_truthop (code, truth_type, lhs, rhs) ...@@ -3425,7 +3425,7 @@ fold_truthop (code, truth_type, lhs, rhs)
{ {
if (l_const && integer_zerop (l_const) && integer_pow2p (ll_mask)) 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; l_const = ll_mask;
else else
/* Since ll_arg is a single bit bit mask, we can sign extend /* Since ll_arg is a single bit bit mask, we can sign extend
...@@ -3443,7 +3443,7 @@ fold_truthop (code, truth_type, lhs, rhs) ...@@ -3443,7 +3443,7 @@ fold_truthop (code, truth_type, lhs, rhs)
{ {
if (r_const && integer_zerop (r_const) && integer_pow2p (rl_mask)) 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; r_const = rl_mask;
else else
/* This is analogous to the code for l_const above. */ /* This is analogous to the code for l_const above. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment