]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
optabs.c (expand_binop, [...]): Upse optimize_insn_for_speed predicate.
authorJan Hubicka <jh@suse.cz>
Sun, 3 Aug 2008 12:04:49 +0000 (14:04 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Sun, 3 Aug 2008 12:04:49 +0000 (12:04 +0000)
* optabs.c (expand_binop, expand_builtin_pow, expand_builtin_powi,
expand_builtin_strcat): Upse optimize_insn_for_speed predicate.
* expmed.c (expand_smod_pow2): Likewise.

From-SVN: r138565

gcc/ChangeLog
gcc/builtins.c
gcc/expmed.c
gcc/optabs.c

index 7ff6c0c6e04e7cf824257d1a2d8bd6c6567a44f3..efb5505be103fe792b3054d5f82efce89e10e4df 100644 (file)
@@ -1,3 +1,9 @@
+2008-08-03  Jan Hubicka  <jh@suse.cz>
+
+       * optabs.c (expand_binop, expand_builtin_pow, expand_builtin_powi,
+       expand_builtin_strcat): Upse optimize_insn_for_speed predicate.
+       * expmed.c (expand_smod_pow2): Likewise.
+
 2008-08-03  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/36992
index 2dffd53e604b18f00645ca7e20dad95eae5dde8b..953fb7bddc63e1688006e6d3d8121482076c2b96 100644 (file)
@@ -2911,7 +2911,7 @@ expand_builtin_pow (tree exp, rtx target, rtx subtarget)
   if (real_identical (&c, &cint)
       && ((n >= -1 && n <= 2)
          || (flag_unsafe_math_optimizations
-             && !optimize_size
+             && optimize_insn_for_speed_p ()
              && powi_cost (n) <= POWI_MAX_MULTS)))
     {
       op = expand_expr (arg0, subtarget, VOIDmode, EXPAND_NORMAL);
@@ -2935,7 +2935,7 @@ expand_builtin_pow (tree exp, rtx target, rtx subtarget)
       real_from_integer (&cint, VOIDmode, n, n < 0 ? -1 : 0, 0);
       if (real_identical (&c2, &cint)
          && ((flag_unsafe_math_optimizations
-              && !optimize_size
+              && optimize_insn_for_speed_p ()
               && powi_cost (n/2) <= POWI_MAX_MULTS)
              || n == 1))
        {
@@ -2980,7 +2980,7 @@ expand_builtin_pow (tree exp, rtx target, rtx subtarget)
       real_arithmetic (&c2, RDIV_EXPR, &cint, &dconst3);
       real_convert (&c2, mode, &c2);
       if (real_identical (&c2, &c)
-         && ((!optimize_size
+         && ((optimize_insn_for_speed_p ()
               && powi_cost (n/3) <= POWI_MAX_MULTS)
              || n == 1))
        {
@@ -3042,7 +3042,7 @@ expand_builtin_powi (tree exp, rtx target, rtx subtarget)
       if ((TREE_INT_CST_HIGH (arg1) == 0
           || TREE_INT_CST_HIGH (arg1) == -1)
          && ((n >= -1 && n <= 2)
-             || (! optimize_size
+             || (optimize_insn_for_speed_p ()
                  && powi_cost (n) <= POWI_MAX_MULTS)))
        {
          op0 = expand_expr (arg0, subtarget, VOIDmode, EXPAND_NORMAL);
@@ -4464,7 +4464,7 @@ expand_builtin_strcat (tree fndecl, tree exp, rtx target, enum machine_mode mode
       if (p && *p == '\0')
        return expand_expr (dst, target, mode, EXPAND_NORMAL);
 
-      if (!optimize_size)
+      if (optimize_insn_for_speed_p ())
        {
          /* See if we can store by pieces into (dst + strlen(dst)).  */
          tree newsrc, newdst,
index d5127b3c344a48b79359becdd06e01dd4c951f8a..b102241dbb15e92f6c8418abd79614ef3981c213 100644 (file)
@@ -3487,7 +3487,7 @@ expand_smod_pow2 (enum machine_mode mode, rtx op0, HOST_WIDE_INT d)
 
   /* Avoid conditional branches when they're expensive.  */
   if (BRANCH_COST >= 2
-      && !optimize_size)
+      && optimize_insn_for_speed_p ())
     {
       rtx signmask = emit_store_flag (result, LT, op0, const0_rtx,
                                      mode, 0, -1);
index ee5bec11a41633d0569e478ecc3ec6ae2cf5debf..158e75999d88c6408aa69aec2e6a9a5626a65f52 100644 (file)
@@ -1786,7 +1786,7 @@ expand_binop (enum machine_mode mode, optab binoptab, rtx op0, rtx op1,
   if ((binoptab == lshr_optab || binoptab == ashl_optab
        || binoptab == ashr_optab)
       && mclass == MODE_INT
-      && (GET_CODE (op1) == CONST_INT || !optimize_size)
+      && (GET_CODE (op1) == CONST_INT || optimize_insn_for_speed_p ())
       && GET_MODE_SIZE (mode) == 2 * UNITS_PER_WORD
       && optab_handler (binoptab, word_mode)->insn_code != CODE_FOR_nothing
       && optab_handler (ashl_optab, word_mode)->insn_code != CODE_FOR_nothing