aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-04-16 11:33:00 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1996-04-16 11:33:00 -0400
commit7a13fe96ddc17b92d91fa534cb8e3b1716cb56f9 (patch)
tree667ec94961ca9d3ebe65efa54d376984c03d2be9 /gcc
parent3cabb540d5ad6effe3d9eea9212b9d6b9ad0c5d0 (diff)
downloadgcc-7a13fe96ddc17b92d91fa534cb8e3b1716cb56f9.zip
gcc-7a13fe96ddc17b92d91fa534cb8e3b1716cb56f9.tar.gz
gcc-7a13fe96ddc17b92d91fa534cb8e3b1716cb56f9.tar.bz2
(MULL_COST, MULW_COST, RTX_COSTS): Add costs for TARGET_68060.
From-SVN: r11817
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/m68k/m68k.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index 8c020be..262c0da 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -1437,8 +1437,8 @@ __transfer_from_trampoline () \
relative to an average of the time for add and the time for shift,
taking away a little more because sometimes move insns are needed. */
/* div?.w is relatively cheaper on 68000 counted in COSTS_N_INSNS terms. */
-#define MULL_COST (TARGET_68040 ? 5 : 13)
-#define MULW_COST (TARGET_68040 ? 3 : TARGET_68020 ? 8 : 5)
+#define MULL_COST (TARGET_68060 ? 2 : TARGET_68040 ? 5 : 13)
+#define MULW_COST (TARGET_68060 ? 2 : TARGET_68040 ? 3 : TARGET_68020 ? 8 : 5)
#define DIVW_COST (TARGET_68020 ? 27 : 12)
#define RTX_COSTS(X,CODE,OUTER_CODE) \
@@ -1456,7 +1456,9 @@ __transfer_from_trampoline () \
break; \
case ASHIFT: \
case ASHIFTRT: \
- case LSHIFTRT: \
+ case LSHIFTRT: \
+ if (TARGET_68060) \
+ return COSTS_N_INSNS(1); \
if (! TARGET_68020) \
{ \
if (GET_CODE (XEXP (X, 1)) == CONST_INT) \