diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-10-21 18:20:06 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-10-21 18:20:06 -0400 |
commit | 00e94d6531c49dd28c277add21bc80831563f540 (patch) | |
tree | f0d04bda36f876c83b13e0fe142fe6a0f0d7fb38 | |
parent | 2ad79487e408912111b97d99e23b4a43905c7ab4 (diff) | |
download | gcc-00e94d6531c49dd28c277add21bc80831563f540.zip gcc-00e94d6531c49dd28c277add21bc80831563f540.tar.gz gcc-00e94d6531c49dd28c277add21bc80831563f540.tar.bz2 |
(find_barrier): When hi_const returns true, increment count_si by two
if found_si is true.
From-SVN: r10495
-rw-r--r-- | gcc/config/sh/sh.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index f52ba43..8d29515 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -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; |