Commit 6d09ef27 by Richard Sandiford Committed by Richard Sandiford

* combine.c (nonzero_bits): Fix check for negative divide operands.

From-SVN: r62029
parent 1e1bd14e
2003-01-28 Richard Sandiford <rsandifo@redhat.com>
* combine.c (nonzero_bits): Fix check for negative divide operands.
2003-01-28 Richard Henderson <rth@redhat.com>
* config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
......
......@@ -8369,14 +8369,15 @@ nonzero_bits (x, mode)
{
unsigned HOST_WIDE_INT nz0 = nonzero_bits (XEXP (x, 0), mode);
unsigned HOST_WIDE_INT nz1 = nonzero_bits (XEXP (x, 1), mode);
int sign_index = GET_MODE_BITSIZE (GET_MODE (x)) - 1;
int width0 = floor_log2 (nz0) + 1;
int width1 = floor_log2 (nz1) + 1;
int low0 = floor_log2 (nz0 & -nz0);
int low1 = floor_log2 (nz1 & -nz1);
HOST_WIDE_INT op0_maybe_minusp
= (nz0 & ((HOST_WIDE_INT) 1 << (mode_width - 1)));
= (nz0 & ((HOST_WIDE_INT) 1 << sign_index));
HOST_WIDE_INT op1_maybe_minusp
= (nz1 & ((HOST_WIDE_INT) 1 << (mode_width - 1)));
= (nz1 & ((HOST_WIDE_INT) 1 << sign_index));
unsigned int result_width = mode_width;
int result_low = 0;
......
2003-01-28 Richard Sandiford <rsandifo@redhat.com>
* gcc.c-torture/execute/20030128-1.c: New test.
2003-01-28 Jeffrey D. Oldham <oldham@codesourcery.com>
* g++.dg/lookup/nested1.C: Test moved from ...
......
unsigned char x = 50;
volatile short y = -5;
int main ()
{
x /= y;
if (x != (unsigned char) -10)
abort ();
exit (0);
}
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