Re-enable open-coding of FLONUM-ASIN and FLONUM-ACOS on i386, and
authorTaylor R. Campbell <net/mumble/campbell>
Tue, 24 Feb 2009 23:09:56 +0000 (23:09 +0000)
committerTaylor R. Campbell <net/mumble/campbell>
Tue, 24 Feb 2009 23:09:56 +0000 (23:09 +0000)
commit0b24188b754826e6a8202efcdf2d877f1b833a10
tree55ebcae4130486eb44d95f271b89c7ecd7247f3c
parent8837d8f77d1cc04c9e719bdcf75da077281a398d
Re-enable open-coding of FLONUM-ASIN and FLONUM-ACOS on i386, and
implement FLONUM-EXP using F2XM1 for the fractional part and FSCALE for
the integral part of the argument.  This about trebles the speed of
these primitives in compiled code, without giving answers substantially
different from what the microcode computes.

When open-coding of FLONUM-EXP was disabled in 1992, a comment was
added to the effect that some i387 implementations had bugs in their
F2XM1 instructions.  I imagine that these bugs have been fixed in more
recent hardware, and that few users care about seventeen-year-old i387
units.  If this is a problem we can always disable it again.
v7/src/compiler/machines/i386/machin.scm
v7/src/compiler/machines/i386/rulflo.scm