OSDN Git Service

*** empty log message ***
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 18 Apr 1992 19:40:49 +0000 (19:40 +0000)
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 18 Apr 1992 19:40:49 +0000 (19:40 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@779 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/expmed.c
gcc/optabs.c

index 78a0e5f..4b0f77d 100644 (file)
@@ -66,26 +66,26 @@ init_expmed ()
   rtx lea;
   int i, dummy;
 
-  add_cost = rtx_cost (gen_rtx (PLUS, word_mode, reg, reg));
+  add_cost = rtx_cost (gen_rtx (PLUS, word_mode, reg, reg), SET);
   shift_cost = rtx_cost (gen_rtx (LSHIFT, word_mode, reg,
                                  /* Using a constant gives better
                                     estimate of typical costs.
                                     1 or 2 might have quirks.  */
-                                 gen_rtx (CONST_INT, VOIDmode, 3)));
-  mult_cost = rtx_cost (gen_rtx (MULT, word_mode, reg, reg));
-  negate_cost = rtx_cost (gen_rtx (NEG, word_mode, reg));
+                                 gen_rtx (CONST_INT, VOIDmode, 3)), SET);
+  mult_cost = rtx_cost (gen_rtx (MULT, word_mode, reg, reg), SET);
+  negate_cost = rtx_cost (gen_rtx (NEG, word_mode, reg), SET);
 
   /* 999999 is chosen to avoid any plausible faster special case.  */
   mult_is_very_cheap
     = (rtx_cost (gen_rtx (MULT, word_mode, reg,
-                         gen_rtx (CONST_INT, VOIDmode, 999999)))
+                         gen_rtx (CONST_INT, VOIDmode, 999999)), SET)
        < rtx_cost (gen_rtx (LSHIFT, word_mode, reg,
-                           gen_rtx (CONST_INT, VOIDmode, 7))));
+                           gen_rtx (CONST_INT, VOIDmode, 7)), SET));
 
   sdiv_pow2_cheap
-    = rtx_cost (gen_rtx (DIV, word_mode, reg, pow2)) <= 2 * add_cost;
+    = rtx_cost (gen_rtx (DIV, word_mode, reg, pow2), SET) <= 2 * add_cost;
   smod_pow2_cheap
-    = rtx_cost (gen_rtx (MOD, word_mode, reg, pow2)) <= 2 * add_cost;
+    = rtx_cost (gen_rtx (MOD, word_mode, reg, pow2), SET) <= 2 * add_cost;
 
   init_recog ();
   for (i = 2;; i <<= 1)
@@ -100,7 +100,7 @@ init_expmed ()
       if (recog (lea, 0, &dummy) < 0)
        break;
       lea_max_mul = i;
-      lea_cost = rtx_cost (SET_SRC (lea));
+      lea_cost = rtx_cost (SET_SRC (lea), SET);
     }
 
   /* Free the objects we just allocated.  */
index 52e13eb..7640c4f 100644 (file)
@@ -229,10 +229,12 @@ expand_binop (mode, binoptab, op0, op1, target, unsignedp, methods)
 
   /* If we are inside an appropriately-short loop and one operand is an
      expensive constant, force it into a register.  */
-  if (CONSTANT_P (op0) && preserve_subexpressions_p () && rtx_cost (op0) > 2)
+  if (CONSTANT_P (op0) && preserve_subexpressions_p ()
+      && rtx_cost (op0, binoptab->code) > 2)
     op0 = force_reg (mode, op0);
 
-  if (CONSTANT_P (op1) && preserve_subexpressions_p () && rtx_cost (op1) > 2)
+  if (CONSTANT_P (op1) && preserve_subexpressions_p ()
+      && rtx_cost (op1, binoptab->code) > 2)
     op1 = force_reg (shift_op ? word_mode : mode, op1);
 
 #if 0  /* Turned off because it seems to be a kludgy method.  */
@@ -871,10 +873,12 @@ expand_twoval_binop (binoptab, op0, op1, targ0, targ1, unsignedp)
 
   /* If we are inside an appropriately-short loop and one operand is an
      expensive constant, force it into a register.  */
-  if (CONSTANT_P (op0) && preserve_subexpressions_p () && rtx_cost (op0) > 2)
+  if (CONSTANT_P (op0) && preserve_subexpressions_p ()
+      && rtx_cost (op0, binoptab->code) > 2)
     op0 = force_reg (mode, op0);
 
-  if (CONSTANT_P (op1) && preserve_subexpressions_p () && rtx_cost (op1) > 2)
+  if (CONSTANT_P (op1) && preserve_subexpressions_p ()
+      && rtx_cost (op1, binoptab->code) > 2)
     op1 = force_reg (mode, op1);
 
   if (targ0)
@@ -1450,10 +1454,10 @@ emit_cmp_insn (x, y, comparison, size, mode, unsignedp, align)
 
   /* If we are inside an appropriately-short loop and one operand is an
      expensive constant, force it into a register.  */
-  if (CONSTANT_P (x) && preserve_subexpressions_p () && rtx_cost (x) > 2)
+  if (CONSTANT_P (x) && preserve_subexpressions_p () && rtx_cost (x, COMPARE) > 2)
     x = force_reg (mode, x);
 
-  if (CONSTANT_P (y) && preserve_subexpressions_p () && rtx_cost (y) > 2)
+  if (CONSTANT_P (y) && preserve_subexpressions_p () && rtx_cost (y, COMPARE) > 2)
     y = force_reg (mode, y);
 
   /* Don't let both operands fail to indicate the mode.  */