From 486f0073ceccee9cb7d4c9261bb972221bfc4a28 Mon Sep 17 00:00:00 2001 From: bernds Date: Sat, 28 Oct 2000 19:39:58 +0000 Subject: [PATCH] Better RTX_COSTS for ia64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37104 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 3 +++ gcc/config/ia64/ia64.h | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 755ad30eb114..656551cf9239 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -6,6 +6,9 @@ * reload1.c (choose_reload_regs): Never set reload_override_in for an optional reload. + * config/ia64/ia64.h (RTX_COSTS): A few more entries, and a more + accurate value for MULT. + 2000-10-28 Neil Booth New macro expander. diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h index 7802e3905507..d94491ff4fa7 100644 --- a/gcc/config/ia64/ia64.h +++ b/gcc/config/ia64/ia64.h @@ -1851,9 +1851,16 @@ do { \ case MULT: \ /* For multiplies wider than HImode, we have to go to the FPU, \ which normally involves copies. Plus there's the latency \ - of the multiply itself. */ \ + of the multiply itself, and the latency of the instructions to \ + transfer integer regs to FP regs. */ \ if (GET_MODE_SIZE (GET_MODE (X)) > 2) \ - return COSTS_N_INSNS (4); \ + return COSTS_N_INSNS (10); \ + return COSTS_N_INSNS (2); \ + case PLUS: \ + case MINUS: \ + case ASHIFT: \ + case ASHIFTRT: \ + case LSHIFTRT: \ return COSTS_N_INSNS (1); \ case DIV: \ case UDIV: \ -- 2.47.2