stmt.c (tail_recursion_args): Call promote_mode to set unsignedp flag correctly befor...
authorSteve Ellcey <sje@cup.hp.com>
Mon, 17 Mar 2003 20:34:04 +0000 (20:34 +0000)
committerSteve Ellcey <sje@gcc.gnu.org>
Mon, 17 Mar 2003 20:34:04 +0000 (20:34 +0000)
* stmt.c (tail_recursion_args): Call promote_mode to set
unsignedp flag correctly before calling convert_move.

From-SVN: r64501

gcc/ChangeLog
gcc/stmt.c

index c1daf1af4cac0bb156c185e3b10df4eca8e7cd72..7859221582de657a7acf127c33d00ccc97b3c288 100644 (file)
@@ -1,3 +1,8 @@
+2003-03-17  Steve Ellcey  <sje@cup.hp.com>
+
+       * stmt.c (tail_recursion_args): Call promote_mode to set
+       unsignedp flag correctly before calling convert_move.
+
 2003-03-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
 
        * loop-unroll.c (decide_peel_completely,
index 7e5ff1abb3b39c1980c1962e458e8ac29a53e33e..823afbff7fa2c99684923bcaacc8ea84e38faa15 100644 (file)
@@ -3350,15 +3350,15 @@ tail_recursion_args (actuals, formals)
       else
        {
          rtx tmp = argvec[i];
-
+         int unsignedp = TREE_UNSIGNED (TREE_TYPE (TREE_VALUE (a)));
+         promote_mode(TREE_TYPE (TREE_VALUE (a)), GET_MODE (tmp),
+                      &unsignedp, 0);
          if (DECL_MODE (f) != GET_MODE (DECL_RTL (f)))
            {
              tmp = gen_reg_rtx (DECL_MODE (f));
-             convert_move (tmp, argvec[i],
-                           TREE_UNSIGNED (TREE_TYPE (TREE_VALUE (a))));
+             convert_move (tmp, argvec[i], unsignedp);
            }
-         convert_move (DECL_RTL (f), tmp,
-                       TREE_UNSIGNED (TREE_TYPE (TREE_VALUE (a))));
+         convert_move (DECL_RTL (f), tmp, unsignedp);
        }
     }