Commit 13713781 by Torbjorn Granlund

(RTX_COSTS): Rewrite.

From-SVN: r8878
parent a343d371
...@@ -1390,16 +1390,25 @@ while (0) ...@@ -1390,16 +1390,25 @@ while (0)
#define RTX_COSTS(X,CODE,OUTER_CODE) \ #define RTX_COSTS(X,CODE,OUTER_CODE) \
case MULT: \ case MULT: \
return COSTS_N_INSNS (10); \ return COSTS_N_INSNS (20); \
case DIV: \ case DIV: \
case UDIV: \ case UDIV: \
case MOD: \ case MOD: \
case UMOD: \ case UMOD: \
return COSTS_N_INSNS (40); \ 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: \ case PLUS: \
if (GET_CODE (XEXP (X, 0)) == REG \ if (GET_CODE (XEXP (X, 0)) == MULT \
&& GET_CODE (XEXP (X, 1)) == CONST_INT) \ && GET_CODE (XEXP (XEXP (X, 0), 1)) == CONST_INT \
return 1; \ && (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; 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