From: Camm Maguire <[EMAIL PROTECTED]> > -ffloat-store > Do not store floating point variables in registers. This pre- > vents undesirable excess precision on machines such as the 68000 > where the floating registers (of the 68881) keep more precision > than a double is supposed to have. > > For most programs, the excess precision does only good, but a > few programs rely on the precise definition of IEEE floating > point. Use `-ffloat-store' for such programs. That did it -- thanks! As Richard Fateman observed, its quite surprising the magnitude of the difference was so large. Apparently m68k has the more accurate answer, right? In any case, I'm adding -ffloat-store to gcl's compile flags on m68k to avoid testing problems.
But don't be misled -- the effect is not only precision. The 68881/2 were admirably fast and capable chips for their day, but had a serious bottleneck loading and storing floats. You may find that performance is greatly reduced in some circumstances. Of course, anyone still using decade-old processor chips probably doesn't consider speed the most important issue.

