removing x87 register support from native code gen

Authored by carter on Apr 10 2019, 7:28 PM.


removing x87 register support from native code gen

  • simplifies registers to have GPR, Float and Double, by removing the SSE2 and X87 Constructors
  • makes -msse2 assumed/default for x86 platforms, fixing a long standing nondeterminism in rounding

behavior in 32bit haskell code

  • removes the 80bit floating point representation from the supported float sizes
  • theres still 1 tiny bit of x87 support needed,

for handling float and double return values in FFI calls wrt the C ABI on x86_32,
but this one piece does not leak into the rest of NCG.

  • Lots of code thats not been touched in a long time got deleted as a

consequence of all of this

all in all, this change paves the way towards a lot of future further
improvements in how GHC handles floating point computations, along with
making the native code gen more accessible to a larger pool of contributors.


carterApr 10 2019, 7:28 PM
rGHCbe0dde8e3c27: Use ghc-prim < 0.7, not <= 0.6.1, as upper version bounds