Commit 13713781 by Torbjorn Granlund

(RTX_COSTS): Rewrite.

From-SVN: r8878
parent a343d371
......@@ -1388,18 +1388,27 @@ while (0)
/* Provide the costs of a rtl expression. This is in the body of a
switch on CODE. */
#define RTX_COSTS(X,CODE,OUTER_CODE) \
case MULT: \
return COSTS_N_INSNS (10); \
case DIV: \
case UDIV: \
case MOD: \
case UMOD: \
return COSTS_N_INSNS (40); \
case PLUS: \
if (GET_CODE (XEXP (X, 0)) == REG \
&& GET_CODE (XEXP (X, 1)) == CONST_INT) \
return 1; \
#define RTX_COSTS(X,CODE,OUTER_CODE) \
case MULT: \
return COSTS_N_INSNS (20); \
case DIV: \
case UDIV: \
case MOD: \
case UMOD: \
return COSTS_N_INSNS (20); \
case ASHIFTRT: \
case LSHIFTRT: \
case ASHIFT: \
return (4 + rtx_cost (XEXP (X, 0), OUTER_CODE) \
+ rtx_cost (XEXP (X, 1), OUTER_CODE)); \
case PLUS: \
if (GET_CODE (XEXP (X, 0)) == MULT \
&& GET_CODE (XEXP (XEXP (X, 0), 1)) == CONST_INT \
&& (INTVAL (XEXP (XEXP (X, 0), 1)) == 2 \
|| INTVAL (XEXP (XEXP (X, 0), 1)) == 4 \
|| INTVAL (XEXP (XEXP (X, 0), 1)) == 8)) \
return (2 + rtx_cost (XEXP (XEXP (X, 0), 0), OUTER_CODE) \
+ rtx_cost (XEXP (X, 1), OUTER_CODE)); \
break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment