]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/config/cris/cris.c
tm.texi.in (TARGET_RTX_COSTS): Add an opno paramter.
[thirdparty/gcc.git] / gcc / config / cris / cris.c
index 0c318268440ac038396378f1425ca8cf090d8768..24cfa5a2d53a28b59c6fb6751f38e06624d3c3f7 100644 (file)
@@ -123,7 +123,7 @@ static void cris_init_libfuncs (void);
 
 static int cris_register_move_cost (enum machine_mode, reg_class_t, reg_class_t);
 static int cris_memory_move_cost (enum machine_mode, reg_class_t, bool);
-static bool cris_rtx_costs (rtx, int, int, int *, bool);
+static bool cris_rtx_costs (rtx, int, int, int, int *, bool);
 static int cris_address_cost (rtx, bool);
 static bool cris_pass_by_reference (cumulative_args_t, enum machine_mode,
                                    const_tree, bool);
@@ -1777,7 +1777,7 @@ cris_expand_return (bool on_stack)
    scanned.  In either case, *TOTAL contains the cost result.  */
 
 static bool
-cris_rtx_costs (rtx x, int code, int outer_code, int *total,
+cris_rtx_costs (rtx x, int code, int outer_code, int opno, int *total,
                bool speed)
 {
   switch (code)
@@ -1871,7 +1871,8 @@ cris_rtx_costs (rtx x, int code, int outer_code, int *total,
           && !CRIS_CONST_OK_FOR_LETTER_P (INTVAL (XEXP (x, 1)), 'I'))
        {
          *total
-           = (rtx_cost (XEXP (x, 0), (enum rtx_code) outer_code, speed) + 2
+           = (rtx_cost (XEXP (x, 0), (enum rtx_code) outer_code,
+                        opno, speed) + 2
               + 2 * GET_MODE_NUNITS (GET_MODE (XEXP (x, 0))));
          return true;
        }
@@ -1883,7 +1884,7 @@ cris_rtx_costs (rtx x, int code, int outer_code, int *total,
       /* fall through */
 
     case ZERO_EXTEND: case SIGN_EXTEND:
-      *total = rtx_cost (XEXP (x, 0), (enum rtx_code) outer_code, speed);
+      *total = rtx_cost (XEXP (x, 0), (enum rtx_code) outer_code, opno, speed);
       return true;
 
     default: