Question

Following my previous question (I assume that 64-bit compiler uses only SSE instructions for floating point calculations):

  • How transcendental math functions (sin, atan, exp, log, etc.) are implemented in 64-bit Delphi compiler? AFAIK there are no SSE hardware implementations. What software library is used, what about the performance and accuracy compared with the current FPU hardware implementation?

See also

Was it helpful?

Solution

Obviously, nobody except for Embarcadero can answer this for sure before the product is released.

It is very likely that any decent x64 compiler will use the SSE2 instruction set as a baseline and therefore attempt to do as much floating point computation using SSE features as possible, minimising the use of the x87 FPU. However, it should also be said that there is no technical reason that would prevent the use of the x87 FPU in x64 application code (despite rumours to the contrary which have been around for some time; if you want more info on that point, please have a look at Agner Fog's Calling Convention Manual, specifically chapter 6.1 "Can floating point registers be used in 64-bit Windows?").

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top