+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.
{
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
{
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. */