Am 25.08.2017 01:33 schrieb "Ralf Quint" <freedos...@gmail.com>: > > On 8/24/2017 2:45 PM, Ched wrote: > > And under "modern" Windows, the extended type, which is fully > > supported by the FPU, is *degraded* to double. So, I can't do high > > precision computation with fpc even if the native hardware permits > > such computations. I'm glued to XP as the full capabilities of the FPU > > were on the hands of programmers, years ago. > It's not a problem of "modern" Windows, but a problem of any 64bit x86 > OS that in that "long" mode the FPU does NOT support the extended data > type (80 bits, 10 bytes). In 32bit mode, the FPU is using the "old" x87 > FP unit on the chip, in 64bit mode, it is using the SSE FP unit, which > doesn't have those 80 bit registers, it's 64 bit only (and several times > faster). > So that you can use that with your Windows XP version is likely due to > the fact that this is a 32bit version, not XP Professional 64 (or > Windows Server 2003 64 for that matter). > > There are apparently some ways to enable the FP calculation to use the > x87 FPU and therefor the possibility of those 80 bit registers on Inter > chips (so far), but for one, this runs significantly slower that the SSE > FPU, and then this is apparently not supported by (all) AMD CPUs, so you > are limiting yourself also on which systems your code can run...
Plase note that all non-Windows 64-bit systems have no problems with enabling the FPU and even Windows needs to handle it due to 32-bit software requiring it. The only x86_64 OS we support that doesn't have Extended enabled (by default) *is* Win64. Regards, Sven
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal