0.8.3.45.modular6:
commit6924dbbb3672cdea6cc391b737d743753e9fb624
authorChristophe Rhodes <csr21@cam.ac.uk>
Fri, 12 Sep 2003 16:53:39 +0000 (12 16:53 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Fri, 12 Sep 2003 16:53:39 +0000 (12 16:53 +0000)
treec598013279331c306bf18c23bc130a0ac61f377a
parent806d9ee2d5834c88c558f0ea422879895e9f2e5e
0.8.3.45.modular6:
Implement 64-bit modular arithmetic for alpha.
... can't simplify BIGNUM-LOGNOT or 32BIT-LOGICAL-FOO here,
because modular arithmetic is 64-bit, duh :-)
... it would be nice to compile (logand ... (1- (ash 1 32)))
more efficiently than we currently do; currently we
load up a 32-bit quantity into a register, followed
by an and instruction; however, we should be able
simply to do mskll reg, 4, reg.
I think this works.  Simple testing shows that it seems to work.
But see also CSR sbcl-devel 2003-09-12, because there are a number
of nasty surprises lurking in the depths of this backend.
NEWS
src/compiler/alpha/arith.lisp
src/compiler/alpha/parms.lisp
src/compiler/generic/vm-tran.lisp
version.lisp-expr