aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTorbjorn Granlund <tege@gnu.org>1993-11-05 08:10:05 +0000
committerTorbjorn Granlund <tege@gnu.org>1993-11-05 08:10:05 +0000
commit5d1954414ac0a11774cb866da630f79e28bdd132 (patch)
treea1c38241c9de1820c1a1d40a8478512d0b24b373 /gcc
parent12a3cb7a2e2ba95aa90b951ce2b69a1088f36808 (diff)
downloadgcc-5d1954414ac0a11774cb866da630f79e28bdd132.zip
gcc-5d1954414ac0a11774cb866da630f79e28bdd132.tar.gz
gcc-5d1954414ac0a11774cb866da630f79e28bdd132.tar.bz2
(RTX_COST): Return actual costs for multiplication...
(RTX_COST): Return actual costs for multiplication, not costs for theoretical special cases that are not handled in the md. From-SVN: r6008
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/m68k/m68k.h16
1 files changed, 1 insertions, 15 deletions
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index 4d2adef..b5e3375 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -1402,24 +1402,10 @@ __transfer_from_trampoline () \
return COSTS_N_INSNS (3); /* lsr #i,dn */ \
break; \
case MULT: \
- if (GET_CODE (XEXP (x, 1)) == CONST_INT \
- && exact_log2 (INTVAL (XEXP (x, 1))) >= 0) \
- { \
- /* A shift by a big integer takes an extra instruction. */ \
- if (GET_CODE (XEXP (X, 1)) == CONST_INT \
- && (INTVAL (XEXP (X, 1)) == (1 << 16))) \
- return COSTS_N_INSNS (2); /* clrw;swap */ \
- if (GET_CODE (XEXP (X, 1)) == CONST_INT \
- && !(INTVAL (XEXP (X, 1)) > 1 \
- && INTVAL (XEXP (X, 1)) <= 256)) \
- return COSTS_N_INSNS (3); /* lsr #i,dn */ \
- break; \
- } \
- else if (GET_MODE (X) == QImode || GET_MODE (X) == HImode) \
+ if (GET_MODE (X) == QImode || GET_MODE (X) == HImode) \
return COSTS_N_INSNS (MULW_COST); \
else \
return COSTS_N_INSNS (MULL_COST); \
- break; \
case DIV: \
case UDIV: \
case MOD: \