]> gcc.gnu.org Git - gcc.git/commitdiff
combine.c (force_to_mode, case PLUS): Use sign extended mask when masking the low...
authorDonn Terry <donn@interix.com>
Thu, 25 Mar 1999 00:48:16 +0000 (00:48 +0000)
committerJeff Law <law@gcc.gnu.org>
Thu, 25 Mar 1999 00:48:16 +0000 (17:48 -0700)
        * combine.c (force_to_mode, case PLUS): Use sign extended mask
        when masking the low bits out of a constant.

From-SVN: r25964

gcc/ChangeLog
gcc/combine.c

index 879e7a52ca33b6e8e504639c2f554324a44c253c..deba212192b0e8008544359277cf725cc9d3f1bb 100644 (file)
@@ -1,3 +1,8 @@
+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)
                          Jeff Law <law@cygnus.com>
 
index 549e0bf4ed213e421b1b3ed0804052179803cd81..e0a162ac2b7283138a07ee47994f320a7832ecda 100644 (file)
@@ -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);
          }
       }
 
This page took 0.093926 seconds and 5 git commands to generate.