diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1999-05-21 12:14:10 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 1999-05-21 13:14:10 +0100 |
commit | ec4c28e5b8be5fd7103121ae2181f83b0d7848c6 (patch) | |
tree | 6f5803f31e918155222c6ddc790ab392614b2fd2 /gcc | |
parent | ef6372557ac1b51cd3564304eff5b1cad351f339 (diff) | |
download | gcc-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/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/sh/sh.h | 9 |
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. */ |