Commit 835c8e04 by Donn Terry Committed by Jeff Law

combine.c (force_to_mode, case PLUS): Use sign extended mask when masking the…

combine.c (force_to_mode, case PLUS): Use sign extended mask when masking the low bits out of a constant.

        * combine.c (force_to_mode, case PLUS): Use sign extended mask
        when masking the low bits out of a constant.

From-SVN: r25964
parent 5e7d21e9
Thu Mar 25 01:15:33 1999 Donn Terry <donn@interix.com>
* combine.c (force_to_mode, case PLUS): Use sign extended mask
when masking the low bits out of a constant.
Tue Mar 23 15:45:25 1999 Richard Earnshaw (rearnsha@arm.com) Tue Mar 23 15:45:25 1999 Richard Earnshaw (rearnsha@arm.com)
Jeff Law <law@cygnus.com> Jeff Law <law@cygnus.com>
......
...@@ -6415,20 +6415,21 @@ force_to_mode (x, mode, mask, reg, just_select) ...@@ -6415,20 +6415,21 @@ force_to_mode (x, mode, mask, reg, just_select)
unsigned HOST_WIDE_INT sp_mask = GET_MODE_MASK (mode); unsigned HOST_WIDE_INT sp_mask = GET_MODE_MASK (mode);
sp_mask &= ~ (sp_alignment - 1); sp_mask &= ~ (sp_alignment - 1);
if ((sp_mask & ~ mask) == 0 if ((sp_mask & ~ smask) == 0
&& ((INTVAL (XEXP (x, 1)) - STACK_BIAS) & ~ mask) != 0) && ((INTVAL (XEXP (x, 1)) - STACK_BIAS) & ~ smask) != 0)
return force_to_mode (plus_constant (XEXP (x, 0), return force_to_mode (plus_constant (XEXP (x, 0),
((INTVAL (XEXP (x, 1)) - ((INTVAL (XEXP (x, 1)) -
STACK_BIAS) & mask) STACK_BIAS) & smask)
+ STACK_BIAS), + STACK_BIAS),
mode, mask, reg, next_select); mode, smask, reg, next_select);
} }
#endif #endif
if ((nonzero_bits (XEXP (x, 0), mode) & ~ mask) == 0 if ((nonzero_bits (XEXP (x, 0), mode) & ~ smask) == 0
&& (INTVAL (XEXP (x, 1)) & ~ mask) != 0) && (INTVAL (XEXP (x, 1)) & ~ smask) != 0)
return force_to_mode (plus_constant (XEXP (x, 0), return force_to_mode (plus_constant (XEXP (x, 0),
INTVAL (XEXP (x, 1)) & mask), (INTVAL (XEXP (x, 1))
mode, mask, reg, next_select); & smask)),
mode, smask, reg, next_select);
} }
} }
......
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