1. 08 Aug, 2013 1 commit
  2. 20 Feb, 2013 1 commit
  3. 19 Feb, 2013 2 commits
  4. 23 Dec, 2012 1 commit
  5. 10 May, 2012 1 commit
  6. 29 Mar, 2012 1 commit
  7. 04 Nov, 2011 1 commit
  8. 25 Sep, 2011 1 commit
  9. 19 Mar, 2010 1 commit
  10. 18 Aug, 2008 1 commit
    • rtoy's avatar
      compiler/sparc/arith.lisp: · dddd1625
      rtoy authored
      compiler/x86/arith.lisp:
      o Define some new vops to handle modular arithmetic stuff when both
        args are signed but the result is unsigned (because of modular
        arithmetic).
      dddd1625
  11. 16 Aug, 2008 1 commit
  12. 12 Aug, 2008 2 commits
    • rtoy's avatar
      compiler/x86/arith.lisp: · 51daa734
      rtoy authored
      o Remove definition of vm::ash-left-mod32.  (It's already in
        numbers.lisp.)
      
      code/numbers.lisp:
      o Declaim vm::ash-left-mod32 as inline to work around x86 issue where
        vm::ash-left-mod32 never gets translated to a vop.
      51daa734
    • rtoy's avatar
      For some reason the vm::ash-left-mod32 is never translated using the · c9373b04
      rtoy authored
      vop fast-ash-left-mod32-c/unsigned=>unsigned.  (Need to look into
      that!)  Instead, we call out to vm::ash-left-mod32.  An example:
      
      (defun mat3neg (tt v)
        (declare (type (unsigned-byte 32) v)
      	   (type (integer -31 -1) tt)
      	   (optimize (speed 3) (safety 0)))
        (logand #xffffffff (ash v (- tt))))
      
      
      As a workaround, declare vm:ash-left-mod32 as an inline function.  Then
      vm::ash-left-mod32 is inlined, bignum::%ashl has a vop that does get
      called, so mat3neg has no calls.
      c9373b04
  13. 16 Jul, 2004 1 commit
  14. 07 Apr, 2004 1 commit
  15. 11 Sep, 2003 1 commit
  16. 03 Aug, 2003 1 commit
    • gerd's avatar
      Remove the function definition of FIXNUM, which it must not · 52858943
      gerd authored
      	have according to CLtS.  Found by Paul Dietz.
      
      	Use boot14.lisp to bootstrap.
      
      	* src/compiler/generic/utils.lisp (fixnumize): Renamed from
      	fixnum.
      
      	* src/bootfiles/18e/boot14.lisp: New file.
      
      	* src/code/exports.lisp ("VM"): Export fixnumize.
      
      	* src/assembly/alpha/arith.lisp, src/assembly/alpha/array.lisp:
      	* src/assembly/alpha/assem-rtns.lisp, src/assembly/hppa/arith.lisp
      	* src/assembly/hppa/array.lisp, src/assembly/hppa/assem-rtns.lisp
      	* src/assembly/mips/alloc.lisp, src/assembly/mips/arith.lisp
      	* src/assembly/mips/array.lisp, src/assembly/mips/assem-rtns.lisp
      	* src/assembly/mips/bit-bash.lisp, src/assembly/ppc/arith.lisp
      	* src/assembly/ppc/array.lisp, src/assembly/ppc/assem-rtns.lisp
      	* src/assembly/rt/alloc.lisp, src/assembly/rt/arith.lisp
      	* src/assembly/rt/array.lisp, src/assembly/rt/assem-rtns.lisp
      	* src/assembly/sparc/arith.lisp, src/assembly/sparc/array.lisp
      	* src/assembly/sparc/assem-rtns.lisp, src/assembly/x86/arith.lisp
      	* src/assembly/x86/array.lisp, src/assembly/x86/assem-rtns.lisp
      	* src/compiler/alpha/alloc.lisp, src/compiler/alpha/arith.lisp
      	* src/compiler/alpha/array.lisp, src/compiler/alpha/call.lisp
      	* src/compiler/alpha/move.lisp, src/compiler/alpha/nlx.lisp
      	* src/compiler/alpha/static-fn.lisp, src/compiler/alpha/subprim.lisp
      	* src/compiler/alpha/values.lisp, src/compiler/generic/utils.lisp
      	* src/compiler/hppa/alloc.lisp, src/compiler/hppa/arith.lisp
      	* src/compiler/hppa/array.lisp, src/compiler/hppa/call.lisp
      	* src/compiler/hppa/move.lisp, src/compiler/hppa/nlx.lisp
      	* src/compiler/hppa/static-fn.lisp, src/compiler/hppa/subprim.lisp
      	* src/compiler/hppa/values.lisp, src/compiler/mips/alloc.lisp
      	* src/compiler/mips/arith.lisp, src/compiler/mips/array.lisp
      	* src/compiler/mips/call.lisp, src/compiler/mips/move.lisp
      	* src/compiler/mips/nlx.lisp, src/compiler/mips/static-fn.lisp
      	* src/compiler/mips/subprim.lisp, src/compiler/mips/values.lisp
      	* src/compiler/ppc/alloc.lisp, src/compiler/ppc/arith.lisp
      	* src/compiler/ppc/array.lisp, src/compiler/ppc/call.lisp
      	* src/compiler/ppc/move.lisp, src/compiler/ppc/nlx.lisp
      	* src/compiler/ppc/static-fn.lisp, src/compiler/ppc/subprim.lisp
      	* src/compiler/ppc/values.lisp, src/compiler/rt/alloc.lisp
      	* src/compiler/rt/arith.lisp, src/compiler/rt/array.lisp
      	* src/compiler/rt/call.lisp, src/compiler/rt/move.lisp
      	* src/compiler/rt/nlx.lisp, src/compiler/rt/static-fn.lisp
      	* src/compiler/rt/subprim.lisp, src/compiler/rt/values.lisp
      	* src/compiler/sparc/alloc.lisp, src/compiler/sparc/arith.lisp
      	* src/compiler/sparc/array.lisp, src/compiler/sparc/call.lisp
      	* src/compiler/sparc/move.lisp, src/compiler/sparc/nlx.lisp
      	* src/compiler/sparc/static-fn.lisp, src/compiler/sparc/subprim.lisp
      	* src/compiler/sparc/values.lisp, src/compiler/x86/alloc.lisp
      	* src/compiler/x86/arith.lisp, src/compiler/x86/array.lisp
      	* src/compiler/x86/call.lisp, src/compiler/x86/cell.lisp
      	* src/compiler/x86/macros.lisp, src/compiler/x86/memory.lisp
      	* src/compiler/x86/move.lisp, src/compiler/x86/nlx.lisp
      	* src/compiler/x86/pred.lisp, src/compiler/x86/static-fn.lisp
      	* src/compiler/x86/subprim.lisp, src/compiler/x86/values.lisp:
      	Use fixnumize instead of fixnum.
      52858943
  17. 03 Nov, 2001 1 commit
  18. 12 Sep, 2000 1 commit
  19. 16 Jan, 2000 1 commit
  20. 11 Nov, 1999 1 commit
  21. 19 Feb, 1998 1 commit
  22. 11 Dec, 1997 1 commit
  23. 18 Nov, 1997 1 commit
  24. 04 Nov, 1997 1 commit
    • 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
  25. 29 Sep, 1997 1 commit
    • dtc's avatar
      Add an unsigned multiplication VOP: fast-*/unsigned=>unsigned. · e50ee3e7
      dtc authored
      Add fixnum and unsigned truncate VOPs, and constant cases to a avoid
      unnecessary checking for division by zero:
      fast-truncate/fixnum=>fixnum
      fast-truncate-c/fixnum=>fixnum
      fast-truncate/unsigned=>unsigned
      fast-truncate-c/unsigned=>unsigned
      fast-truncate-c/signed=>signed
      
      Add fixnum ASH VOPs:
      fast-ash-c/fixnum=>fixnum
      fast-ash-left/fixnum=>fixnum
      e50ee3e7
  26. 11 May, 1997 1 commit
  27. 08 May, 1997 1 commit
  28. 10 Feb, 1997 1 commit
    • dtc's avatar
      - Use the "inc" instruction for addition of constant 1. · d2f0c163
      dtc authored
      - Use "test x x" for comparison with constant 0.
      
      - With the improvement of targeting by the packer some time ago it was
      possible to remove some VOPS SC hacks. In many cases it is better to
      not list a stack SC in the list of operand preferred SCs so the
      compiler can account for the extra cost making it more likely to use
      registers. Some hacks are still necessary here though.
      
      - Some style cleanups
      d2f0c163
  29. 05 Feb, 1997 1 commit
  30. 18 Jan, 1997 1 commit