Skip to content
Snippets Groups Projects
  1. Oct 09, 2008
    • rtoy's avatar
      o Make EA-FOR-CDF-{REAL,IMAG}-STACK work with packed complex doubles. · be0d1334
      rtoy authored
        (This should be done in a better way.)
      o LOAD-COMPLEX-DOUBLE and MOVE-TO-COMPLEX-DOUBLE were storing instead
        of loading value.
      o Don't target the result register in MAKE-COMPLEX-DOUBLE-FLOAT.
      o Add some vops to do complex double float addition, subtraction, and
        multiplication.  This requires changes to float-tran to be
        effective.  The multiplication vop uses an sse3 instruction so it
        needs to be rewritten.
      be0d1334
    • rtoy's avatar
      o Fix up definition of ext-xmm-xmm/mem-imm instruction format. · 5355d226
      rtoy authored
      o Make sure unpckhpd never uses a memory operand (128-bit alignment
        not guaranteed).
      o Add some comments to describe what the instructions do.
      o Make sure shufpd never uses a memory operand (128-bit alignment
        not guaranteed) and make sure the immediate value is valid.
      5355d226
  2. Oct 07, 2008
  3. Oct 06, 2008
  4. Oct 05, 2008
  5. 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
  6. Oct 03, 2008
  7. 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
  8. Oct 01, 2008
  9. Sep 30, 2008
  10. Sep 29, 2008
  11. Sep 28, 2008
    • rtoy's avatar
      Move the x87-specific version of array.lisp to x87-array.lisp. · bd92b8de
      rtoy authored
      compiler/loadbackend.lisp:
      o Load up x87-array if we're not compiling for sse2.
      
      compiler/x86/array.lisp
      o Move out x87 stuff.
      
      compiler/x86/sse2-array.lisp:
      o Minor cleanup of comments.
      
      tools/comcom.lisp:
      o Compile either sse2-array or x87-array.
      
      compiler/x86/x87-array.lisp:
      o New file of x87-specific stuff.
      bd92b8de
    • rtoy's avatar
      Move the x87-specific version of sap.lisp to x87-sap.lisp. · 60f80f2f
      rtoy authored
      compiler/loadbackend.lisp:
      o Load up x87-sap if we're not compiling for sse2.
      
      compiler/x86/sap.lisp
      o Move out x87 stuff.
      
      compiler/x86/sse2-sap.lisp:
      o Minor cleanup of comments.
      
      tools/comcom.lisp:
      o Fix mistake in compiling float/float-sse2.  We only need to compile
        one or the other.
      o Compile either sse2-sap or x87-sap.
      o Compile either sse2-c-call or x87-c-call.
      
      compiler/x86/x87-sap.lisp:
      o New file of x87-specific stuff.
      60f80f2f
    • rtoy's avatar
      Move the x87-specific version of c-call.lisp to x87-c-call.lisp. · 67782d39
      rtoy authored
      compiler/loadbackend.lisp:
      o Clean up some code
      o Load up x87-c-call if we're not compiling for sse2.
      
      compiler/x86/c-call.lisp:
      o Move x87 stuff to x87-c-call.lisp.
      
      compiler/x86/sse2-c-call.lisp:
      o Add alloc-number-stack-space and dealloc-number-stack-space, in case
        we decide to turn off the x87 precision stuff.
      
      compiler/x86/x87-c-call.lisp:
      o New file of x87-specific stuff.
      67782d39
    • rtoy's avatar
      Preliminary support for dealing with x87 and sse2 in the same tree. · 61ec724b
      rtoy authored
      clean-target.sh:
      o Don't remove any Lisp core files.  (Need to rethink this and decide
        what should be deleted or not.)
      o Don't remove any module library fasls.
      
      make-main-dist.sh:
      o Install any lisp core files with the name lisp*.core.
      o Also install any module library fasls for both sse2 and x86f.
      61ec724b
    • rtoy's avatar
      Use a different file extension when compiling for sse2. This allows · 43d36596
      rtoy authored
      us to compile both sse2 and x87 versions in the same directory.  This
      somewhat simplifies building and creating binaries.
      43d36596
Loading