* mips.c (mips_function_value): Only promote_mode for non-libcalls.
authorRichard Henderson <rth@redhat.com>
Sun, 24 Mar 2002 21:37:40 +0000 (13:37 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Sun, 24 Mar 2002 21:37:40 +0000 (13:37 -0800)
From-SVN: r51276

gcc/ChangeLog
gcc/config/mips/mips.c

index f8c4710d636ff584b0944e3e08dc18c15eadb7cd..d8103b4162b25d2a20f0071e4eb0734da347f5c6 100644 (file)
@@ -1,3 +1,7 @@
+2002-03-24  Richard Henderson  <rth@redhat.com>
+
+       * mips.c (mips_function_value): Only promote_mode for non-libcalls.
+
 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
 
        preprocessor/3951
index 51cd562edf89d7f9df669ae229f454bb359577b9..213090c7143500ecc911ba4deff3d3d3ee756c0c 100644 (file)
@@ -7929,13 +7929,13 @@ mips_function_value (valtype, func, mode)
     {
       mode = TYPE_MODE (valtype);
       unsignedp = TREE_UNSIGNED (valtype);
+
+      /* Since we define PROMOTE_FUNCTION_RETURN, we must promote
+        the mode just as PROMOTE_MODE does.  */
+      mode = promote_mode (valtype, mode, &unsignedp, 1);
     }
   mclass = GET_MODE_CLASS (mode);
 
-  /* Since we define PROMOTE_FUNCTION_RETURN, we must promote the mode
-     just as PROMOTE_MODE does.  */
-  mode = promote_mode (valtype, mode, &unsignedp, 1);
-
   if (mclass == MODE_FLOAT && GET_MODE_SIZE (mode) <= UNITS_PER_FPVALUE)
     reg = FP_RETURN;