Skip to content
Snippets Groups Projects
  1. Oct 17, 2008
  2. Oct 16, 2008
    • rtoy's avatar
      More complex contagion stuff. · 1e638baa
      rtoy authored
      o Move the deftransforms for = to a different place so they're enabled
        for complex single and double floats.
      o Remove deftransform for < and > for complexes since we can't
        actually compare complexes that way.
      o Add deftransforms for the case where the real argument has higher
        precision than the complex argument.
      1e638baa
    • rtoy's avatar
      More complex contagion stuff. · 199cd5fa
      rtoy authored
      code/exports.lisp:
      o Export %complex-{single,double,double-double}-float
      
      compiler/sparc/float.lisp:
      o Add deftransforms instead of vops to handle the %complex-foo
        conversions.
      
      compiler/x86/float-sse2.lisp:
      o Add vops to convert to complexes, taking advantage of packed
        operations when possible.
      o Add temporary reg that was accidentally deleted back in to the
        complex-op-float vops
      
      compiler/x86/insts.lisp:
      o Define cvtpd2ps and cvtps2pd instructions.
      199cd5fa
    • rtoy's avatar
      Micro-optimization: For complex op float vops, allow the float to be · e42c0aa0
      rtoy authored
      a stack or descriptor object so we can use memory operands directly
      instead of loading the float into a register first.
      e42c0aa0
    • rtoy's avatar
      Implement support for contagion for complex numbers. Needs more work, · d7296fcc
      rtoy authored
      but basic contagion between complexes of different types and complexes
      and reals (that don't increase the precision of the complex result).
      d7296fcc
  3. Oct 15, 2008
  4. 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
  5. Oct 11, 2008
  6. Oct 10, 2008
  7. Oct 09, 2008
  8. Oct 07, 2008
  9. Oct 06, 2008
  10. Oct 05, 2008
  11. 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
Loading