0.8.9.5:
authorChristophe Rhodes <csr21@cam.ac.uk>
Thu, 25 Mar 2004 21:51:53 +0000 (21:51 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Thu, 25 Mar 2004 21:51:53 +0000 (21:51 +0000)
commit0e5a40455a1a3cc16cc71ad0f0b063eb4f1f2c3f
tree732297585b513e1c006bfe2954b1daa229474b0a
parentb282ecc0240c6dc67aaeea2d64046d411738385a
0.8.9.5:
Pointless microoptimizations 'R' us:
... in (defun foo (x)
         (declare (optimize speed) (type (signed-byte 32) x))
         (logand x #xffffffff))
on the x86, there is no need to perform the hardware AND, as
we are not interested in the flags.  Make it so.  (The system
already automatically handles the representation such that X
and the result can live in the same register -- to see this,
wrap the LOGAND above as (ASH (LOGAND ...) -3) and disassemble.
src/compiler/x86/arith.lisp
version.lisp-expr