From: Donn Terry Date: Thu, 25 Mar 1999 00:48:16 +0000 (+0000) Subject: combine.c (force_to_mode, case PLUS): Use sign extended mask when masking the low... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=835c8e044b0f98ee7497281389a60e661588c796;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 879e7a52ca3..deba212192b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Mar 25 01:15:33 1999 Donn Terry + + * 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) Jeff Law diff --git a/gcc/combine.c b/gcc/combine.c index 549e0bf4ed2..e0a162ac2b7 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -6415,20 +6415,21 @@ force_to_mode (x, mode, mask, reg, just_select) unsigned HOST_WIDE_INT sp_mask = GET_MODE_MASK (mode); sp_mask &= ~ (sp_alignment - 1); - if ((sp_mask & ~ mask) == 0 - && ((INTVAL (XEXP (x, 1)) - STACK_BIAS) & ~ mask) != 0) + if ((sp_mask & ~ smask) == 0 + && ((INTVAL (XEXP (x, 1)) - STACK_BIAS) & ~ smask) != 0) return force_to_mode (plus_constant (XEXP (x, 0), ((INTVAL (XEXP (x, 1)) - - STACK_BIAS) & mask) + STACK_BIAS) & smask) + STACK_BIAS), - mode, mask, reg, next_select); + mode, smask, reg, next_select); } #endif - if ((nonzero_bits (XEXP (x, 0), mode) & ~ mask) == 0 - && (INTVAL (XEXP (x, 1)) & ~ mask) != 0) + if ((nonzero_bits (XEXP (x, 0), mode) & ~ smask) == 0 + && (INTVAL (XEXP (x, 1)) & ~ smask) != 0) return force_to_mode (plus_constant (XEXP (x, 0), - INTVAL (XEXP (x, 1)) & mask), - mode, mask, reg, next_select); + (INTVAL (XEXP (x, 1)) + & smask)), + mode, smask, reg, next_select); } }