diff options
author | Bernd Schmidt <bernds@redhat.co.uk> | 2000-10-28 19:39:58 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2000-10-28 19:39:58 +0000 |
commit | 005f39ceb2814eceb4528a133abfbf4e5fa6ff98 (patch) | |
tree | db89e3bb5c7b160f66520adebbd859cc31bd3b79 /gcc | |
parent | 4c3a264944d60bdffe02fee2e955d8c62f5c18bf (diff) | |
download | gcc-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/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.h | 11 |
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: \ |