aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@redhat.co.uk>2000-10-28 19:39:58 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2000-10-28 19:39:58 +0000
commit005f39ceb2814eceb4528a133abfbf4e5fa6ff98 (patch)
treedb89e3bb5c7b160f66520adebbd859cc31bd3b79 /gcc
parent4c3a264944d60bdffe02fee2e955d8c62f5c18bf (diff)
downloadgcc-005f39ceb2814eceb4528a133abfbf4e5fa6ff98.zip
gcc-005f39ceb2814eceb4528a133abfbf4e5fa6ff98.tar.gz
gcc-005f39ceb2814eceb4528a133abfbf4e5fa6ff98.tar.bz2
Better RTX_COSTS for ia64.
From-SVN: r37104
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/ia64/ia64.h11
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 755ad30..656551c 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 <neilb@earthling.net>
New macro expander.
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 7802e39..d94491f 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: \