[Embench] Issues with cubic benchmark
anton at ozlabs.org
Mon Oct 21 23:32:25 CEST 2019
Cubic uses long double which is not standardized. On x86-64 it provides
only 80 bits of precision, but on other architectures it provides either
64 bits or 128 bits of precision.
This not only means that we aren't computing the same results, but we
are also unfairly penalising architectures that use a 128 bit long
double. Those architectures often have a software emulation library for
128 bit floating point arithmetic. It was also pointed out to me that
the benchmark isn't consistently using long double - it's using double
versions of the transcendental functions.
I would suggest using double everywhere so that all architectures are
doing identical computations.
More information about the Embench