[fpc-devel] Another thread about the fact that official FPC releases are *unnecessarily* non-representative of the platforms it actually runs on

Florian Klämpfl mail at florianklaempfl.de
Mon Sep 28 08:16:34 CEST 2020



> Am 28.09.2020 um 00:32 schrieb Nikolay Nikolov via fpc-devel <fpc-devel at lists.freepascal.org>:
> 
> I don't have an exact answer, but I think higher precision is better, compared to lower. You can not expect bitwise identical result, when using floating point calculations anyway. For example AMD and Intel FPUs perform calculations with some very slight variations, so the same calculation doesn't always result in the same bitwise identical floating point number, even though, they're practically really close, so it doesn't matter. I don't know of any program that breaks e.g. on AMD FPUs, because it was designed for Intel or vice versa.
> 
> In theory this matters, if we implement 128-bit soft float support in the compiler, or if we encounter an FPU that supports 128-bit floating point. The question is whether it's safe to implement 80-bit x87 FPU floating point support on host targets with 128-bit FPU support. I think it's safe, but I'm not an expert on floating point.

This is way we should implement it completely in software: we get the same results on all platforms though they may deviate slightly from runtime results.

> 
> But compile time calculations having a lower precision, compared to the runtime precision is definitely bad.
> 
> Nikolay
> 
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


More information about the fpc-devel mailing list