(find_barrier): When hi_const returns true, increment count_si by two
authorRichard Kenner <kenner@gcc.gnu.org>
Sat, 21 Oct 1995 22:20:06 +0000 (18:20 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Sat, 21 Oct 1995 22:20:06 +0000 (18:20 -0400)
if found_si is true.

From-SVN: r10495

gcc/config/sh/sh.c

index f52ba43d66f85c045f4ce26269083e9a4aefa6fd..8d295156c5c4eaeaa0035cbccb12064d3456db69 100644 (file)
@@ -1226,7 +1226,15 @@ find_barrier (from)
          rtx src = SET_SRC (PATTERN (from));
 
          if (hi_const (src))
-           found_hi = 1;
+           {
+             found_hi = 1;
+             /* We put the short constants before the long constants, so
+                we must count the length of short constants in the range
+                for the long constants.  */
+             /* ??? This isn't optimal, but is easy to do.  */
+             if (found_si)
+               count_si += 2;
+           }
          else
            found_si = 1;
          inc = (GET_MODE_SIZE (GET_MODE (src)) > 4) ? 4 : 2;