aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a9d4312..2986541 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-01-18 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ PR target/19379
+ * config/i386/i386.c (override_options): If the 80387 is disabled,
+ then do not return FP values using FP registers.
+
2005-01-18 Kazu Hirata <kazu@cs.umass.edu>
* basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index b6cfde3..cc3cf4b 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -1557,6 +1557,10 @@ override_options (void)
error ("bad value (%s) for -mfpmath= switch", ix86_fpmath_string);
}
+ /* If the i387 is disabled, then do not return values in it. */
+ if (!TARGET_80387)
+ target_flags &= ~MASK_FLOAT_RETURNS;
+
if ((x86_accumulate_outgoing_args & TUNEMASK)
&& !(target_flags_explicit & MASK_ACCUMULATE_OUTGOING_ARGS)
&& !optimize_size)