Skip to content
  • rtoy's avatar
    The floating point precision was always getting reset to :53-bit, even · d88bcbc7
    rtoy authored
    if the user set a different value.  Fix this so the correct precision
    is restored.
    
    compiler/x86/parms.lisp:
    o Add new static-symbol *FPU-PRECISION* to hold the precision bits
      that are given in (setf floating-point-modes).
    
    compiler/x86/float.lisp:
    o Whenever (setf floating-point-modes) is called, save the precision
      bits to *FPU-PRECISION* so that get restored correctly in
      DEALLOC-NUMBER-STACK-SPACE.
    
    compiler/x86/c-call.lisp:
    o Update DEALLOC-NUMBER-STACK-SPACE VOP so that when float-accuracy
      policy says so, we restore the precision from *fpu-precision*,
      instead of always making it :53-bit.
    
    code/lispinit.lisp:
    o Initialize the default precision to :53-bit on startup.
    d88bcbc7