]> gcc.gnu.org Git - gcc.git/commitdiff
h8300-protos.h: Update the prototype for const_costs.
authorKazu Hirata <kazu@hxi.com>
Thu, 14 Feb 2002 13:25:30 +0000 (13:25 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Thu, 14 Feb 2002 13:25:30 +0000 (13:25 +0000)
* config/h8300/h8300-protos.h: Update the prototype for
const_costs.
* config/h8300/h8300.c (const_costs): Treat SET as a little
more expensive operation.
* config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
reference to const_costs.

From-SVN: r49765

gcc/ChangeLog
gcc/config/h8300/h8300-protos.h
gcc/config/h8300/h8300.c
gcc/config/h8300/h8300.h

index f773d5b617f576809b3768bd6dd3c9db361e03f2..0da3da22e3bb8d66a16fb29cd9dc6dd4b1996943 100644 (file)
@@ -1,3 +1,12 @@
+2002-02-14  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300-protos.h: Update the prototype for
+       const_costs.
+       * config/h8300/h8300.c (const_costs): Treat SET as a little
+       more expensive operation.
+       * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
+       reference to const_costs.
+
 2002-02-14  Hans-Peter Nilsson  <hp@axis.com>
 
        * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
index 9c9444ded12bddf4a4d31846b064edda5a5b6bad..876b3cba2a440c8054c1383c4962214c9c13ad97 100644 (file)
@@ -30,7 +30,7 @@ extern const char *output_a_shift PARAMS ((rtx *));
 extern const char *emit_a_rotate PARAMS ((enum rtx_code, rtx *));
 extern const char *output_simode_bld PARAMS ((int, rtx[]));
 extern void print_operand_address PARAMS ((FILE *, rtx));
-extern int const_costs PARAMS ((rtx, enum rtx_code));
+extern int const_costs PARAMS ((rtx, enum rtx_code, enum rtx_code));
 extern void print_operand PARAMS ((FILE *, rtx, int));
 extern void final_prescan_insn PARAMS ((rtx, rtx *, int));
 extern int do_movsi PARAMS ((rtx[]));
index 85a87b006859ba93390b07cc0526a58ffaed4f4e..b0bd3df642ba2fce2e697e66af248c6119d99ff8 100644 (file)
@@ -872,9 +872,10 @@ function_arg (cum, mode, type, named)
 /* Return the cost of the rtx R with code CODE.  */
 
 int
-const_costs (r, c)
+const_costs (r, c, outer_code)
      rtx r;
      enum rtx_code c;
+     enum rtx_code outer_code;
 {
   switch (c)
     {
@@ -882,15 +883,16 @@ const_costs (r, c)
       switch (INTVAL (r))
        {
        case 0:
+         return 0;
        case 1:
        case 2:
        case -1:
        case -2:
-         return 0;
+         return 0 + (outer_code == SET);
        case 4:
        case -4:
          if (TARGET_H8300H || TARGET_H8300S)
-           return 0;
+           return 0 + (outer_code == SET);
          else
            return 1;
        default:
index cfa413af37b15170ee1860084de525b73d5de758..21ef1bf50251070700b5674452a6e90c7751f1e6 100644 (file)
@@ -1005,7 +1005,7 @@ struct cum_arg
    return it with a return statement.  Otherwise, break from the switch.  */
 
 #define DEFAULT_RTX_COSTS(RTX, CODE, OUTER_CODE) \
-  return (const_costs (RTX, CODE));
+  return (const_costs (RTX, CODE, OUTER_CODE));
 
 #define BRANCH_COST 0
 
This page took 0.087564 seconds and 5 git commands to generate.