Fred Gilham wrote on Fri, Oct 18, 2002 at 10:56:24AM -0700: 
> 
> > I think there is support for 64-bit ints in the FFI, but there are
> > no native 64-bit ints[1].  The 64-bit int will be a bignum.  Perhaps
> > that's acceptable for those people who need to this.
> 
> 
> Has anyone thought about taking the hint Erik Naggum gave in
> comp.lang.lisp and using the MMX registers to implement 64 - <tagbits>
> bit fixnums?  Of course it has the problem of smashing the floating
> point state, but maybe it's worth looking into?  Virtually every CPU
> that anyone would want to run CMU Lisp on these days will have MMX.

Looking over the spec I also find that there is no way to detect
overflow.  Not that big a deal, but still breaking some of the Lisp
spirit.

I am also not quite sure it is that much faster than using the x86
instructions to do gcc-like 64 bit integer arthmetic on two 32 bits
registers.  Granted, this way trashes registers like hell, but
depending on your code and the processor in use the trashing of
floating point state may be as bad or worse.

What I would *really* like to do is doing this double-fixnum package
which has two implementations: a portable CL one and the CMUCL
implementing the data type nativly.

Martin

Reply via email to