On Wed, Sep 27, 2017 at 08:40:26AM +0200, Alexandre Ratchov wrote:
> Even on modern amd64s integer arithmetics and bitwise operations are
> faster (and more precise in many cases) than floating point
> equivalents.

Can you actually substanciate this claim? The basic x87 instructions
(FLD, FST, FCOM etc) all run in one cycle with a latency of 2 according
to Agner. That's generally not worth the cost of moving from x87 to GP
registers. Precision might have been a problem two decades ago when many
compilers were too bad at correct parsing of float literals, but that
has been fixed in the mean time even without using C99 hex float
literals. The short answer is that the original msun code has been
optimized for a hardware environment that is substantially different
from modern CPUs. Many of the small details are no longer optimal.

Joerg

Reply via email to