[project @ 2000-07-11 15:26:33 by sewardj]
authorsewardj <unknown>
Tue, 11 Jul 2000 15:26:33 +0000 (15:26 +0000)
committersewardj <unknown>
Tue, 11 Jul 2000 15:26:33 +0000 (15:26 +0000)
commit6254fd4ab7c5798599e58b48896c9e284222f26f
treefd91625b8ce835f95fd6ce8bf5a459b044e35e0d
parentee7aa7a67308ea2e8f3cca59ef7a7193291059a8
[project @ 2000-07-11 15:26:33 by sewardj]
Fix up the sparc native code generator.  Mostly dull stuff.  Notable
changes:

* Cleaned up ccall mechanism for sparc somewhat.

* Rearranged assignment of sparc floating point registers (includes/MachRegs.h)
  so the NCG's register allocator can handle the double-single pairing
  issue without modification.  Split VirtualRegF into VirtualRegF and
  VirtualRegD, and split RcFloating into RcFloat and RcDouble.  Net effect
  is that there are now three register classes -- int, float and double,
  and we pretend that sparc has some float and some double real regs.

* (A fix for all platforms): propagate MachFloats through as StFloats,
  not StDoubles.  Amazingly, until now literal floats had been converted
  to and treated as doubles, including in ccalls.
ghc/compiler/nativeGen/AbsCStixGen.lhs
ghc/compiler/nativeGen/AsmCodeGen.lhs
ghc/compiler/nativeGen/AsmRegAlloc.lhs
ghc/compiler/nativeGen/MachCode.lhs
ghc/compiler/nativeGen/MachMisc.lhs
ghc/compiler/nativeGen/MachRegs.lhs
ghc/compiler/nativeGen/PprMach.lhs
ghc/compiler/nativeGen/RegAllocInfo.lhs
ghc/compiler/nativeGen/Stix.lhs
ghc/compiler/nativeGen/StixPrim.lhs
ghc/includes/MachRegs.h