cvs commit: fptools/ghc/compiler/nativeGen MachCode.lhs MachMisc.lhs PprMach.lhs

Julian Seward sewardj@glass.cse.ogi.edu
Thu, 20 Dec 2001 07:20:38 -0800


sewardj     2001/12/20 07:20:38 PST

  Modified files:
    ghc/compiler/nativeGen MachCode.lhs MachMisc.lhs PprMach.lhs 
  Log:
  Generate floating-point comparisons on x86 which deal with NaNs in what
  I assume is an IEEE854 compliant fashion.  For
     == >= > <= <
  if either arg is a NaN, produce False, and for
     /=
  if either arg is a NaN, produce True.
  
  This is the behaviour that gcc has, by default.
  
  Requires some ultramagical x86 code frags to be emitted.  A big comment
  in PprMach explains how it works.
  
  Revision  Changes    Path
  1.88      +9 -18     fptools/ghc/compiler/nativeGen/MachCode.lhs
  1.56      +5 -1      fptools/ghc/compiler/nativeGen/MachMisc.lhs
  1.59      +81 -6     fptools/ghc/compiler/nativeGen/PprMach.lhs