Skip to content
Snippets Groups Projects
  1. Jul 25, 2007
  2. Jul 06, 2007
  3. Jun 27, 2007
  4. Jun 21, 2007
  5. Jun 20, 2007
  6. Jun 11, 2007
    • rtoy's avatar
      compiler/float-tran.lisp: · 599a4a72
      rtoy authored
      o Handle signed-zeroes for addition, subtraction, and multiplication
        of double-double floats.  That is, return the correct signed zero
        for the result.
      o Try to handle overflow in addition, multiplication, and division by
        returning infinity, if the overflow or divide-by-zero trap is
        disabled.  This is done by looking to see what the corresponding
        double-float operation would return.  This probably needs more work.
      
      code/irrat-dd.lisp:
      o Remove the careful-mul stuff from dd-complex-atanh since we handle
        signed zeroes better now during double-double multiplication.
      599a4a72
  7. May 29, 2007
  8. May 26, 2007
  9. May 09, 2007
  10. Apr 20, 2007
  11. Apr 19, 2007
  12. Apr 14, 2007
  13. Apr 12, 2007
  14. Mar 31, 2007
    • rtoy's avatar
      In MAKE-COMPLEX-DOUBLE-DOUBLE-FLOAT · 1fc790b2
      rtoy authored
      o Turn off :load-if for the real arg because the generator doesn't
        handle the case if the real arg is on the stack.
      o Enable :load-if for the result because the code (already) handled
        it.
      o The wrong TN was being used for the imaginary part of the real part.
      o The wrong TNs were being used for the arg registers.  Use the right
        TN values.
      1fc790b2
  15. Mar 30, 2007
  16. Mar 28, 2007
  17. Mar 27, 2007
  18. Mar 26, 2007
  19. Mar 20, 2007
    • rtoy's avatar
      Was not getting the right instruction for the faulting floating-point · 9fde59c0
      rtoy authored
      exception.
      
      This was happening when the faulting FP instruction was in the delay
      slot of a branch.  The PC was incremented to the branch target, and
      hence had the wrong information.  The FPQ structure has the right
      information.
      
      code/sparc-svr4-vm.lisp:
      o Add FPQ structure so we can access the information about the
        faulting FP instruction.
      
      compiler/sparc/float.lisp:
      o Extract the correct information about the faulting FP instruction
        instead of from the PC.
      9fde59c0
  20. Mar 05, 2007
    • rtoy's avatar
      Add support for dynamic-extent for ppc. · c17bd546
      rtoy authored
      Simple tests with rest args and some dynamic-extent closures indicates
      that this work.  Compiling CMUCL with dynamic-extent enabled appears
      to work as well.  I conclude that the implementation here is probably
      correct.
      
      (Yes, I know dynamic-extent is currently disabled, but let's make ppc
      complete.)
      
      compiler/ppc/alloc.lisp:
      o Implement the vops %DYNAMIC-EXTENT-START and %DYNAMIC-EXTENT-END.
      o Update the LIST-OR-LIST*, MAKE-CLOSURE, and FIXED-ALLOC vops to
        support dynamic-extent, by passing ALLOCATION and
        WITH-FIXED-ALLOCATION macros the extra :STACK-P arg.
      
      compiler/ppc/call.lisp:
      o Update LISTIFY-REST-ARGS vop to support dynamic-extent, by passing
        the ALLOCATION macro the extra :STACK-P arg.
      
      compiler/ppc/macros.lisp:
      o Update the ALLOCATION macro to support the :STACK-P arg.
      c17bd546
  21. Mar 03, 2007
    • rtoy's avatar
      compiler/ir2tran.lisp: · af09965a
      rtoy authored
      o Implement stack clearing stuff for ppc.
      
      compiler/ppc/call.lisp:
      o Implement stack clearing for xep-allocate-frame and allocate-frame,
        mostly cargo-culting the sparc version.
      af09965a
  22. Feb 03, 2007
    • rtoy's avatar
      Fix bug in expt type derivation. · 99d4c4c8
      rtoy authored
      (defun f (x y)
         (declare (fixnum x y))
         (expt x y))
      
      caused an error because we weren't handling member types correctly.
      99d4c4c8
  23. Jan 23, 2007
    • rtoy's avatar
      Fix expt derive-type optimizer. The compiler was deriving the result · 4ece2b2c
      rtoy authored
      type of:
      
          (defun foo3 (x y)
            (declare (type (double-float (0d0) 1d0) x)
      	       (type (double-float (0d0)) y))
            (expt x y))
      
      to be (double-float 0d0 1d0), i.e, including -0.0, but that's not
      possible.  With this fix, the result type is (or (member 0d0)
      (double-float (0d0) 1d0)), which is better.
      4ece2b2c
  24. Dec 24, 2006
  25. Dec 02, 2006
    • rtoy's avatar
      code/float-trap.lisp: · 896812b8
      rtoy authored
      o Need to clear out the individual invalid operation bits when
        clearing the invalid exception bit.
      
      code/exports.lisp:
      compiler/ppc/parms.lisp:
      o Export FLOAT-INVALID-OP-1-BYTE.  (Needs a better name.)
      896812b8
  26. Nov 30, 2006
  27. Nov 16, 2006
    • rtoy's avatar
      Match ppc changes. · 02ce9dfa
      rtoy authored
      02ce9dfa
    • rtoy's avatar
      code/float-trap.lisp: · 6f968a58
      rtoy authored
      o Pass the modes to GET-FP-OPERANDS
      
      compiler/ppc/float.lisp:
      o If the destination register is the same as one of the source
        registers, an overflow or underflow exception will have replaced the
        source register with the result.  In that case, replace the source
        value with NIL to indicate we don't know.  (We could recompute the
        source from the result, but there would be a round-off error.)
      6f968a58
  28. Nov 14, 2006
Loading