Skip to content
Snippets Groups Projects
  1. Oct 16, 2008
  2. Oct 15, 2008
  3. Oct 12, 2008
    • rtoy's avatar
      Add complex floating-point vops to speed up complex arithmetic. · db7cad86
      rtoy authored
      bootfiles/19e/boot-2008-09-sse2.lisp:
      o Add :complex-fp-vops feature
      
      code/sparc-svr4-vm.lisp:
      code/x86-vm.lisp:
      o Register :complex-fp-vops feature
      
      compiler/float-tran.lisp:
      o Clean up deftransforms for complex arithmetic to support
        complex-fp-vops.
      o Add special vop for complex division that takes advantage of the
        fast complex multiply.
      
      compiler/x86/float-sse2.lisp:
      o Add vops for complex arithmetic.
      o Add guard for sse3 for some vops that need sse3 instructions.
      
      compiler/x86/insts.lisp:
      o Always define instructions available with sse3.  Leave a comment so
        we know they're for sse3.
      db7cad86
  4. Oct 11, 2008
  5. Oct 10, 2008
  6. Oct 09, 2008
  7. Oct 07, 2008
  8. Oct 06, 2008
  9. Oct 05, 2008
  10. Oct 04, 2008
    • rtoy's avatar
      Remove uses of x87 stuff when using sse2. Update core file format to · 331b55d4
      rtoy authored
      tell us if the core is for x87 or sse2.
      
      compiler/x86/sse2-c-call.lisp:
      o Remove all of the fp-pop, fldz stuff from the inline foreign call.
      o If there's a floating-point result, save the result and pop the FPU
        stack.
      
      lisp/x86-assem.S:
      o Add global variable use_sse2.  Non-zero means we are using SSE2 and
        should not do any x87 stuff in call_into_c and call_into_lisp.  We
        just branch around that code.  (Should we do this in a different way
        and have separate versions for x87 and sse2?)
      
      lisp/save.c:
      o After the core version, output a word indicating the type of FPU.
        Default is 0.  A value of 1 indicates we have SSE2.
      
      lisp/coreparse.c:
      o Read the fpu type word and return it.
      o load_core_file has extra parameter to return the fpu type.
      
      lisp/core.h:
      o Update declaration of load_core_file
      
      lisp/lisp.c:
      o Update calls to new load_core_file.
      o Add check to print a message before exiting in the case that the
        core uses SSE2 and but the chip doesn't support SSE2.
      o Set use_sse2 flag appropriately.
      331b55d4
    • rtoy's avatar
      Oops. Found one case where we were using x87 instructions where we · 24a3673d
      rtoy authored
      shouldn't have been.
      24a3673d
  11. Oct 03, 2008
  12. Oct 02, 2008
    • rtoy's avatar
      code/float-trap.lisp: · 52334cc1
      rtoy authored
      o Oops.  Was setting the wrong bits in the x87 modes for rounding
        control.
      o Also always set precision to 64-bits.  (Not sure if we should do
        this.  And something else is setting the mode back to 53-bits
        anyway.)
      
      compiler/x86/float-sse2.lisp:
      o Document the format of the mxcsr register and the x87 status and
        control words, just so we don't have to go look up the Intel docs
        all the time.
      52334cc1
    • rtoy's avatar
      Declare arg type for (setf floating-point-modes) so the code can run · 2d0985ef
      rtoy authored
      without consing.
      2d0985ef
    • rtoy's avatar
      Oops. Remove debugging print. · 18c8c601
      rtoy authored
      18c8c601
Loading