Re: [hatari-devel] FPU update |
[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]
Am 08.02.2017 um 13:40 schrieb Douglas Little <doug694@xxxxxxxxxxxxxx>:
There are definitely bugs remaining with native floats. The most severe one is related to the way that x87 handles denormalized extended precision numbers. All denormalized numbers will be be wrong by factor 2. I think we might see some rounding errors, of which most will be not relevant for normal use. There will be some wrong inexact exceptions. I also expect to see wrong outputs (infinities, zeros) when underflow and overflow occurs. There might even occur underflows or overflows that should not occur, if the results are close to the thresholds. These things might lead to wrong condition codes being set. I don't know exactly how x87 handles NaNs, but i suspect some differences in NaN handling, especially for signaling NaNs. Maybe signaling NaNs can't even be detected. Some functions, like FMOD, can't be emulated correctly (e.g. impossible to return quotient bits). For exception handling it will be impossible to return intermediate results, that should go into the FSAVE stack frames. If extended precision floats are not supported by the system or compiler, emulation will fail for numbers that are out of double precision range .... Finally, and i think this is the worst thing at all, results will differ between different platforms (x86_64, ARM, POWER, etc). I think once things are finished it makes sense to do some performance measuring and then decide, if there is any reason to keep native float code. |
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |