From: David LaFrance-Linden
Subject: Re: Rational for ANSI CL precision?
Date: 
Message-ID: <32EE7FEA.3F54@hpc.pko.dec.com>
Raymond Toy wrote:
> Were doubles really catastrophically slower on Symbolics?  Or is it
> more an issue that the compiler was not smart enough to unbox it?  I
> might be way off base here because I know nothing about Symbolics
> architecture.

Both.  

The microcode would trap when it saw a double precision (boxed) number,
but could do single floats within the microcode.  The trapping went to
macrocode that unboxed it, called into special unboxed double precision
microcode, and then reboxed the result.  So instead of a half-dozen
cycles to do single float, you're talking several dozen
macro-instructions for double-float.

As for the compiler, we never had time to implement enough analysis to
notice doubles, keep them unboxed, and use the DP-microcode.  We were
thinking about it (gosh, that must have been '84 or '85).  In general,
it's not easy because if you don't know the type of another operand, you
have to box it up, or if it is the argument to a function, you have to
box it up.