This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Tweak Alpha int_div costs
- From: Falk Hueffner <hueffner at informatik dot uni-tuebingen dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sun, 25 Jul 2004 15:09:18 +0200
- Subject: [PATCH] Tweak Alpha int_div costs
Hi,
the costs for Alpha integer division/modulo seem way too low. In the
past, this didn't matter much since the costs for s4addq et al. were
also estimated too low; however now for example x % 139968 produces a
__remq call. This patches adjusts the costs to roughly correspond to
the timings of the current glibc routines
(cf. http://marc.theaimsgroup.com/?l=glibc-alpha&m=108062772319905&w=2).
--
Falk
2004-07-25 Falk Hueffner <falk@debian.org>
* config/alpha/alpha.c (alpha_rtx_cost_data): Tweak int_div
costs.
Index: alpha.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/alpha.c,v
retrieving revision 1.263.2.31.2.7
diff -u -p -r1.263.2.31.2.7 alpha.c
--- alpha.c 18 Jul 2004 23:14:38 -0000 1.263.2.31.2.7
+++ alpha.c 25 Jul 2004 12:55:01 -0000
@@ -151,7 +151,7 @@ static struct alpha_rtx_cost_data const
COSTS_N_INSNS (23), /* int_mult_di */
COSTS_N_INSNS (2), /* int_shift */
COSTS_N_INSNS (2), /* int_cmov */
- COSTS_N_INSNS (70), /* int_div */
+ COSTS_N_INSNS (97), /* int_div */
},
{ /* EV5 */
COSTS_N_INSNS (4), /* fp_add */
@@ -162,7 +162,7 @@ static struct alpha_rtx_cost_data const
COSTS_N_INSNS (12), /* int_mult_di */
COSTS_N_INSNS (1) + 1, /* int_shift */
COSTS_N_INSNS (1), /* int_cmov */
- COSTS_N_INSNS (45), /* int_div */
+ COSTS_N_INSNS (83), /* int_div */
},
{ /* EV6 */
COSTS_N_INSNS (4), /* fp_add */
@@ -173,7 +173,7 @@ static struct alpha_rtx_cost_data const
COSTS_N_INSNS (7), /* int_mult_di */
COSTS_N_INSNS (1), /* int_shift */
COSTS_N_INSNS (2), /* int_cmov */
- COSTS_N_INSNS (25), /* int_div */
+ COSTS_N_INSNS (86), /* int_div */
},
};