This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: current egcs miscompiles glibc-2.1's inline math
- To: Richard Henderson <rth at cygnus dot com>
- Subject: Re: current egcs miscompiles glibc-2.1's inline math
- From: Jeffrey A Law <law at upchuck dot cygnus dot com>
- Date: Tue, 13 Apr 1999 21:28:57 -0600
- cc: Zack Weinberg <zack at rabi dot columbia dot edu>, egcs-bugs at egcs dot cygnus dot com, Jan Hubicka <hubicka at freesoft dot cz>, John Wehle <john at feith dot com>
- Reply-To: law at cygnus dot com
In message <19990413192324.A13501@cygnus.com>you write:
> Referencing Zach's note of
>
> http://egcs.cygnus.com/ml/egcs-bugs/1999-04/msg00366.html
>
> Sat Apr 10 20:09:55 EDT 1999 John Wehle (john@feith.com)
>
> * i386.md (extendsfdf2, extenddfxf2,
> extendsfxf2): Rewrite using a splitter.
> * i386.c (output_op_from_reg): Remove.
> * i386.h: Likewise.
>
> (define_insn ""
> [(set (match_operand:DF 0 "nonimmediate_operand" "=f,m,!f,!*r")
> (float_extend:DF
> (match_operand:SF 1 "nonimmediate_operand" "fm,f,*r,f")))
> (clobber (match_operand:SF 2 "memory_operand" "m,m,m,m"))
> (clobber (match_operand:DF 3 "memory_operand" "m,m,m,o"))]
> "TARGET_80387 && (GET_CODE (operands[0]) != MEM
> || GET_CODE (operands[1]) != MEM)"
> "#")
>
> This is incorrect. You cannot use "#" with any FP operation,
> as you'll lose the REG_DEAD note.
Hmmm. Ouch. I didn't know that. I approved a few patches of this nature
from John recently.
This applies to any FP operation? What about conditional moves? What
about loads & stores?
jeff