From ec4c28e5b8be5fd7103121ae2181f83b0d7848c6 Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Fri, 21 May 1999 12:14:10 +0000 Subject: [PATCH] * sh.h (BRANCH_COST): Define. From-SVN: r27081 --- gcc/ChangeLog | 4 ++++ gcc/config/sh/sh.h | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c938cfc7707..73652792ccc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Fri May 21 20:09:52 1999 J"orn Rennecke + + * sh.h (BRANCH_COST): Define. + Thu May 20 10:00:42 1999 Stephen L Moshier * 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 2f2a000b89d..c4994afad1c 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. */ -- 2.30.2