This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: current egcs miscompiles glibc-2.1's inline math



  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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]