Skip to content
Snippets Groups Projects
  1. Jul 14, 2004
  2. May 24, 2004
  3. Jul 03, 2003
    • toy's avatar
      (defun foo (x) · 44691848
      toy authored
        (declare (double-float x))
        (let ((y (* pi x)))
          (atan y y)))
      
      causes both args to the fatan2 vop to be allocated in fr0, which
      wasn't handled before.  Fix this.
      44691848
  4. Apr 27, 2003
    • toy's avatar
      Remove all stuff relating to :negative-zero-is-not-zero which enabled · a26fba41
      toy authored
      the non-ANSI feature of making -0 and +0 different in
      type-specifiers.  Internal code still assumes this in various places,
      however.  Since our type system is much smarter now than when this was
      written (and handles type unions and member types much better),
      perhaps we should clean this up?
      a26fba41
  5. Mar 04, 2001
  6. Jun 26, 2000
  7. Apr 23, 2000
    • dtc's avatar
      o Where possible schedule FNSTSW directly after FCOM, FUCOM, and FTST · fe72ccd4
      dtc authored
        instructions as this it reportedly faster on the Athlon.
      
      o Flush the PPro float equality comparison code as it is not possible to
        correctly handle unordered arguments with a FUCOMI based sequence,
        except using multiple JMP instructions which appears to be slower.
      fe72ccd4
  8. Apr 22, 2000
    • dtc's avatar
      o Fix a bug in the long-float comparison VOPs when both arguments are · 381b1e7b
      dtc authored
        in the same register and not in FR0.
      
      o Cleanup the single-float and double-float comparision VOPS.
      
      o Add enhanced support for the Pentium Pro and later processors, using
        the FCOMI and FUCOMI instructions to speed float comparisons; conditional
        upon the :ppro feature. Support for =/float is not enabled yet as it is
        does not handle NaNs as required.
      381b1e7b
  9. Feb 03, 2000
  10. Dec 05, 1999
  11. Nov 11, 1999
  12. Jul 24, 1998
  13. Mar 31, 1998
  14. Mar 30, 1998
  15. Mar 21, 1998
  16. Mar 11, 1998
  17. Mar 10, 1998
  18. Feb 24, 1998
    • dtc's avatar
      Cleanup the float bit accessors single-float-bits, · 5d371315
      dtc authored
      double-float-high-bits, and double-float-low-bits; allowing the
      argument to be on stack in which case the bits can be accessed
      directly.
      
      Add a %log1p version that checks the argument range necessary for the
      386/486, the faster Pentium specific version is used if :pentium is in
      backend features.
      5d371315
  19. Feb 21, 1998
  20. Feb 19, 1998
  21. Jan 17, 1998
  22. Jan 12, 1998
  23. Jan 05, 1998
    • dtc's avatar
      Change to the handling of floating point zeros within numeric type · 3fe8030e
      dtc authored
      specifiers by Raymond Toy. With these changes -0.0 and 0.0 and
      considered separate on the float type intervals which is more natural
      for many arithmetic function derive type optimizers.  These changes
      are dependent upon the :negative-zero-is-not-zero feature.
      3fe8030e
  24. Nov 30, 1997
  25. Nov 19, 1997
  26. Nov 16, 1997
  27. Nov 08, 1997
  28. Nov 07, 1997
  29. Nov 05, 1997
    • dtc's avatar
      Replace the allocation macros with a function, and pass the VOP · 7b60cd6a
      dtc authored
      node-var as an optional argument so the allocation function can make
      policy decisions (to inline with GENCGC).
      
      Remove the make-complex-{single,double}-float functions, and just
      define the VOPs as translations of the complex function.
      
      Fix a few bugs in the complex-float move VOPs.
      7b60cd6a
  30. Nov 04, 1997
    • dtc's avatar
      Merge in changes to the x86 backend from the gencgc branch, allowing · 725ab9ee
      dtc authored
      common binaries to be run on both:
      
      * The immediate-stack storage class has been removed, this is
      unnecessary as the descriptor-stack SC can be used. It may have once
      been part of some GC stragety to reduce the number of stack slots that
      needed to be noted for a GC.
      
      * The object allocation has been abstracted and cleaned up. This
      should produce slightly faster smaller code with CGC, and can be
      compiled to support inline allocation with GENCGC.  CGC compiled code
      will run under GENCGC, and GENCGC binaries that don't use inline
      allocation will run under CGC.
      
      * A random hash is now placed in the unused symbol object slot (the
      symbol-hash slot). This saves flushing the info cache at each GC, and
      may have other uses for symbol based hash tables. Should help MP
      safety.
      
      * Common set of static symbols used by both CGC and GENCGC.
      
      * Corrections to the stack-ref VOP; now returns lisp objects not
      unsigned numbers. Required some patches to debug-int.
      
      * Inline unsigned/signed byte 32 to bignum allocation enabled.
      
      * Support for the x86 xadd instruction applied to instance slot and
      symbol values - may be handy for some MP code.
      
      * Bump up the FASL file version from 1 to 2.
      725ab9ee
  31. Nov 01, 1997
    • dtc's avatar
      Improved support for (complex single-float) and (complex double-float) · 4c3b1bb6
      dtc authored
      types. Adds storage classes to the backend for these so they can be
      stored in registers or on the stack without consing; new primitive
      types etc. Also adds (simple-array (complex {single,double}-float))
      array types to avoid consing and speed vectors operations.  All
      these changes are conditional on the :complex-float feature. More work
      is needed to exploit these changes: improving the type dispatch in the
      various function; maybe compiler transforms or more VOPs to handle
      common functions inline.
      4c3b1bb6
  32. Aug 30, 1997
  33. Jul 26, 1997
  34. Jul 22, 1997
  35. May 11, 1997
  36. Apr 24, 1997
  37. Apr 23, 1997
Loading