simonmar    2004/02/19 03:28:23 PST

  Modified files:        (Branch: backend-hacking-branch)
    ghc/compiler/nativeGen MachCodeGen.hs MachInstrs.hs PprMach.hs 
                           RegAllocInfo.hs 
  Log:
  - x86: spill floating point values as 64 bits rather than 80 bits.  There
    is a huge wad of arguments surrounding Intel's 80 bit extended precision
    registers and how to manage precision in floating-point ops on x86:
    I'll try to summarise what I've found in a comment later.
  
    Upshot: this is what gcc does, and while it might mean that the
    choices made by the register allocator can affect the result of the
    program(!), it's not really our fault.  Also, it only happens on
    some OSs (Linux, but not FreeBSD becuase there they set the FPU to
    64-bit precision mode).
  
  - Use MachRep instead of Size type on x86 (powerpc had already done this).
    This removes a load of conversions between MachRep and Size.
  
  Revision  Changes    Path
  1.1.2.46  +81 -95    fptools/ghc/compiler/nativeGen/Attic/MachCodeGen.hs
  1.1.2.20  +54 -62    fptools/ghc/compiler/nativeGen/Attic/MachInstrs.hs
  1.1.2.26  +47 -48    fptools/ghc/compiler/nativeGen/Attic/PprMach.hs
  1.1.2.17  +6 -6      fptools/ghc/compiler/nativeGen/Attic/RegAllocInfo.hs
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to