+Thu Sep 23 15:54:12 1999 Nick Clifton <nickc@cygnus.com>
+
+ * combine.c (simplify_comparison): Use an unsigned shift to adjust
+ the constant.
+
Thu Sep 23 08:46:21 1999 Guy Harris <guy@netapp.com>
* gcc.1: Fix a formatting error.
& ~ (mask >> (INTVAL (XEXP (op0, 1))
+ ! equality_comparison_p))) == 0)
{
- const_op >>= INTVAL (XEXP (op0, 1));
- op1 = GEN_INT (const_op);
+ /* We must perform a logical shift, not an arithmetic one,
+ as we want the top N bits of C to be zero. */
+ unsigned HOST_WIDE_INT temp = const_op;
+
+ temp >>= INTVAL (XEXP (op0, 1));
+ op1 = GEN_INT (temp);
op0 = XEXP (op0, 0);
continue;
}