From: Paul F. Werkowski
Subject: CMUCL/x86/FreeBSD
Date: 
Message-ID: <PW.95Dec25131352@snoopy.mv.com>
Greetings and Merry Christmas folks,

I am pleased to announce that an updated version of CMU Common Lisp
vesion 17f for the Intel x86 instruction set and FreeBSD operating
system (version 2.0.5 and higher) is now available for http access.

http://www.mv.com/users/pw/lisp/dl/CMUCL-FreeBSD.tar.gz

is a set of binaries in FreeBSD "package" format that provide the Lisp
kernel, Python 1.0 compiler, and CLOS based on PCL version: September
16 92 PCL (f). Source code is also available from my lisp page.

This release includes some bug fixes and enhancements to the 
Floating Point code generators and lacks only a functional GC
to be considered at par with the RISC kits available from CMU.

These bits can be used to compile the CLX and Motif interface
codes available in the 17f source kit and have successfully
compiled both CLUE and GARNET windowing systems.

Testing of the FP support was done using a set of functions that
implement the Radix-2 Fast Fourier Transform on a vector of single
or double floats representing complex data with real and imaginary
parts packed into alternate locations. Through the use of inlined
simply defined functions such as

    (defun cadd(xr xi yr yi) (values (+ xr yr) (+ xi yi)))

to describe the complex math and butterfly operations, called from a
function with only a very few type declarations around a three level
control loop, Python 1.0 was able to generate pretty darn good machine
instructions for the Intel FPU. The inner loop of the FFT has enough
operations to utilize all 8 FP registers with some spillover to the
stack. This provided opportunities to fine tune the code generators
and flush out latent bugs.

The result of the above is compiled code that executes the FFT
algorithm without consing and 25 times faster than the same bits
compiled with GCL 2.1. Times to execute a 512 point complex FFT
(on a simple-array of 1024 double-float data elements) were:

	Intel 486/50		40 ms  (1000 ms GCL 2.1)
	Intel Pentium/90	 8 ms
	DEC Alpha/175		 4 ms

	TI TMS320C30/33 DSP chip running very tight hand
	coded assembly		 3 ms

Not too shabby I think. Lisp need not be considered slow.

I hope some of you FreeBSD users will give these bits a try,
and please let me know if you find any bugs. I am running out
of codes to test it on.

-- 
Paul Werkowski				ANSI Common Lisp on Intel?
ยทยท@snoopy.mv.com			http://www.mv.com/users/pw/lisp