Commit 7958f3c7 by Jakub Jelinek Committed by Jakub Jelinek

combine.c (nonzero_bits): If using reg_nonzero_bits, we don't know anything…

combine.c (nonzero_bits): If using reg_nonzero_bits, we don't know anything about bits outside of X mode.

	* combine.c (nonzero_bits): If using reg_nonzero_bits,
	we don't know anything about bits outside of X mode.
	(num_sign_bit_copies): Likewise.

From-SVN: r48239
parent b7fb9feb
2001-12-21 Jakub Jelinek <jakub@redhat.com>
* combine.c (nonzero_bits): If using reg_nonzero_bits,
we don't know anything about bits outside of X mode.
(num_sign_bit_copies): Likewise.
2001-12-21 Nick Clifton <nickc@cambridge.redhat.com> 2001-12-21 Nick Clifton <nickc@cambridge.redhat.com>
* config/arm/arm.md (prefetch): Use 'a' operand code. * config/arm/arm.md (prefetch): Use 'a' operand code.
......
...@@ -7990,7 +7990,14 @@ nonzero_bits (x, mode) ...@@ -7990,7 +7990,14 @@ nonzero_bits (x, mode)
return nonzero_bits (tem, mode); return nonzero_bits (tem, mode);
} }
else if (nonzero_sign_valid && reg_nonzero_bits[REGNO (x)]) else if (nonzero_sign_valid && reg_nonzero_bits[REGNO (x)])
return reg_nonzero_bits[REGNO (x)] & nonzero; {
unsigned HOST_WIDE_INT mask = reg_nonzero_bits[REGNO (x)];
if (GET_MODE_BITSIZE (GET_MODE (x)) < mode_width)
/* We don't know anything about the upper bits. */
mask |= GET_MODE_MASK (mode) ^ GET_MODE_MASK (GET_MODE (x));
return nonzero & mask;
}
else else
return nonzero; return nonzero;
...@@ -8385,7 +8392,8 @@ num_sign_bit_copies (x, mode) ...@@ -8385,7 +8392,8 @@ num_sign_bit_copies (x, mode)
if (tem != 0) if (tem != 0)
return num_sign_bit_copies (tem, mode); return num_sign_bit_copies (tem, mode);
if (nonzero_sign_valid && reg_sign_bit_copies[REGNO (x)] != 0) if (nonzero_sign_valid && reg_sign_bit_copies[REGNO (x)] != 0
&& GET_MODE_BITSIZE (GET_MODE (x)) == bitwidth)
return reg_sign_bit_copies[REGNO (x)]; return reg_sign_bit_copies[REGNO (x)];
break; break;
......
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