Steve Harris wrote:
On Sun, Aug 03, 2003 at 07:47:31 +0100, Simon Jenkins
wrote:
Here's where I've got to so far. Comments
are welcome.
Looks fine in theory, but it forces an extra branch per MUL, which is not
really practical.
Its only an extra branch on the MULs where you actually use it. I'm not
suggesting
replacing every multiplication everywhere with this, but to pinpoint
*exactly*
the MUL that might first produce a denormal (*if* that is actually a
potential
problem in an app) and replacing just one crucial multiplication with a
flushing
function, which hopefully will propogate the zero through the rest of the
calculation.
I haven't had a chance to try your fixes to
FLUSH_TO_ZERO, but I'l try
this week.
They definitely fix actual problems, but I'm not at all convinced that they
fix all problems. I suspect that its still broken. If so then my
flushing multiply
functions are possibly (but not definitely) broken in the same way.
Simon Jenkins
(Bristol, UK)