OSDN Git Service

Better RTX_COSTS for ia64.
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 28 Oct 2000 19:39:58 +0000 (19:39 +0000)
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 28 Oct 2000 19:39:58 +0000 (19:39 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37104 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/ia64/ia64.h

index 755ad30..656551c 100644 (file)
@@ -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.
index 7802e39..d94491f 100644 (file)
@@ -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:                                                           \