diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-25 19:10:10 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-25 19:10:10 -0400 |
commit | d8b679b944c7fbffdcb8df1ff8d68d5909b9678b (patch) | |
tree | ab7029db879b4c16f29bdf2e057b24b3045de871 /gcc | |
parent | 3e4a14ef2edd79e6d00aecb83871f01d5c5a61e3 (diff) | |
download | gcc-d8b679b944c7fbffdcb8df1ff8d68d5909b9678b.zip gcc-d8b679b944c7fbffdcb8df1ff8d68d5909b9678b.tar.gz gcc-d8b679b944c7fbffdcb8df1ff8d68d5909b9678b.tar.bz2 |
(untyped_call): Make it return a complex double.
From-SVN: r9464
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/i386/i386.md | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index e815346..2d91e76 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -5236,7 +5236,14 @@ { int i; - emit_call_insn (gen_call (operands[0], const0_rtx, NULL, const0_rtx)); + /* In order to give reg-stack an easier job in validating two + coprocessor registers as containing a possible return value, + simply pretend the untyped call returns a complex long double + value. */ + 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)); for (i = 0; i < XVECLEN (operands[2], 0); i++) { |