aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTom Wood <wood@gnu.org>1992-08-28 13:11:06 +0000
committerTom Wood <wood@gnu.org>1992-08-28 13:11:06 +0000
commit5b17704609605f4b0f208e9385074bb970c8aa0d (patch)
tree8e3cf33ce12c4e29b40372f2acd03d4ade4947fa /gcc
parent664921b428a4b0410d06003734d93520fa93fe5b (diff)
downloadgcc-5b17704609605f4b0f208e9385074bb970c8aa0d.zip
gcc-5b17704609605f4b0f208e9385074bb970c8aa0d.tar.gz
gcc-5b17704609605f4b0f208e9385074bb970c8aa0d.tar.bz2
(ADJUST_COST): Add definition.
From-SVN: r1985
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/m88k/m88k.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/gcc/config/m88k/m88k.h b/gcc/config/m88k/m88k.h
index a1dce5e..c4c3d82 100644
--- a/gcc/config/m88k/m88k.h
+++ b/gcc/config/m88k/m88k.h
@@ -206,9 +206,9 @@ extern char * reg_names[];
/* Print subsidiary information on the compiler version in use.
Redefined in m88kv4.h, and m88kluna.h. */
#define VERSION_INFO1 "88open OCS/BCS, "
-#define VERSION_INFO2 "08/05/92"
+#define VERSION_INFO2 "08/28/92"
#define VERSION_STRING version_string
-#define TM_SCCS_ID "@(#)m88k.h 2.2.7.5 08/05/92 13:10:08"
+#define TM_SCCS_ID "@(#)m88k.h 2.2.7.6 08/28/92 07:51:00"
/* Run-time compilation parameters selecting different hardware subsets. */
@@ -1552,6 +1552,23 @@ enum reg_class { NO_REGS, AP_REG, XRF_REGS, GENERAL_REGS, AGRF_REGS,
/* Provide the cost of a branch. Exact meaning under development. */
#define BRANCH_COST (TARGET_88100 ? 1 : 2)
+/* A C statement (sans semicolon) to update the integer variable COST
+ based on the relationship between INSN that is dependent on
+ DEP_INSN through the dependence LINK. The default is to make no
+ adjustment to COST. On the m88k, ignore the cost of anti- and
+ output-dependencies. On the m88100, a store can issue two cycles
+ before the value (not the address) has finished computing. */
+#define ADJUST_COST(INSN,LINK,DEP_INSN,COST) \
+ do { \
+ if (REG_NOTE_KIND (LINK) != 0) \
+ (COST) = 0; /* Anti or output dependence. */ \
+ else if (! TARGET_88100 \
+ && recog_memoized (INSN) >= 0 \
+ && get_attr_type (INSN) == TYPE_STORE \
+ && SET_SRC (PATTERN (INSN)) == SET_DEST (PATTERN (DEP_INSN))) \
+ (COST) -= 4; /* 88110 store reservation station. */ \
+ } while (0)
+
/* Define this to be nonzero if the character `$' should be allowed
by default in identifier names. */
#define DOLLARS_IN_IDENTIFIERS 1