aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-03-24 13:37:40 -0800
committerRichard Henderson <rth@gcc.gnu.org>2002-03-24 13:37:40 -0800
commit05ed12966cc89118856a193a6dbb4bd90590bbf4 (patch)
tree08ce9f99b2ba2614075a19e6ccef970c29a18727
parentc9be3825b3fbc09299fc0367c15cbe8c7e785a30 (diff)
downloadgcc-05ed12966cc89118856a193a6dbb4bd90590bbf4.zip
gcc-05ed12966cc89118856a193a6dbb4bd90590bbf4.tar.gz
gcc-05ed12966cc89118856a193a6dbb4bd90590bbf4.tar.bz2
* mips.c (mips_function_value): Only promote_mode for non-libcalls.
From-SVN: r51276
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/mips/mips.c8
2 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f8c4710..d8103b4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 51cd562..213090c 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -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;