summaryrefslogtreecommitdiff
path: root/contrib/gcc
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1996-10-26 17:00:50 +0000
committerPeter Wemm <peter@FreeBSD.org>1996-10-26 17:00:50 +0000
commit2c80f2dbdb92d89bf1168c1d4de9c838884170b2 (patch)
treef6ec62981131e52785e29ece7821735fdd41550b /contrib/gcc
parent0adcbd83f1b7232cf3cd37de813e4181508dc990 (diff)
Notes
Diffstat (limited to 'contrib/gcc')
-rw-r--r--contrib/gcc/config/i386/i386.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/contrib/gcc/config/i386/i386.md b/contrib/gcc/config/i386/i386.md
index ff0119631cb4..090baa13ef26 100644
--- a/contrib/gcc/config/i386/i386.md
+++ b/contrib/gcc/config/i386/i386.md
@@ -5312,10 +5312,17 @@
coprocessor registers as containing a possible return value,
simply pretend the untyped call returns a complex long double
value. */
+#if 1
+ /* this may be part of (set (reg: ..) (call_insn ...)), and we can't
+ directly set a fp register from the call. so we revert to the
+ old behavior - jlemon@netcom.com (Jonathan Lemon) */
+ emit_call_insn (gen_call (operands[0], const0_rtx, NULL, const0_rtx));
+#else
emit_call_insn (TARGET_80387
? gen_call_value (gen_rtx (REG, XCmode, FIRST_FLOAT_REG),
operands[0], const0_rtx)
: gen_call (operands[0], const0_rtx));
+#endif
for (i = 0; i < XVECLEN (operands[2], 0); i++)
{