aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1999-05-21 12:14:10 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>1999-05-21 13:14:10 +0100
commitec4c28e5b8be5fd7103121ae2181f83b0d7848c6 (patch)
tree6f5803f31e918155222c6ddc790ab392614b2fd2 /gcc
parentef6372557ac1b51cd3564304eff5b1cad351f339 (diff)
downloadgcc-ec4c28e5b8be5fd7103121ae2181f83b0d7848c6.zip
gcc-ec4c28e5b8be5fd7103121ae2181f83b0d7848c6.tar.gz
gcc-ec4c28e5b8be5fd7103121ae2181f83b0d7848c6.tar.bz2
* sh.h (BRANCH_COST): Define.
From-SVN: r27081
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/sh/sh.h9
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c938cfc..73652792 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Fri May 21 20:09:52 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * sh.h (BRANCH_COST): Define.
+
Thu May 20 10:00:42 1999 Stephen L Moshier <moshier@world.std.com>
* Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index 2f2a000..c4994af 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -1701,8 +1701,15 @@ extern struct rtx_def *sh_builtin_saveregs ();
: 2)
/* ??? Perhaps make MEMORY_MOVE_COST depend on compiler option? This
- would be so that people would slow memory systems could generate
+ would be so that people with slow memory systems could generate
different code that does fewer memory accesses. */
+
+/* A C expression for the cost of a branch instruction. A value of 1
+ is the default; other values are interpreted relative to that.
+ The SH1 does not have delay slots, hence we get a pipeline stall
+ at every branch. The SH4 is superscalar, so the single delay slot
+ in not sufficient to keep both pipelines filled. */
+#define BRANCH_COST (! TARGET_SH2 || TARGET_HARD_SH4 ? 2 : 1)
/* Assembler output control. */