|
Issue 5725/2: Remove x87 FPU precision setting
This commit removes x87 FPU precision setting that is no longer needed
because the x87 FPU is not used by the previous commit.
Issue 5725/1: Use x86 SSE2 for avoiding x86 FPU precision issues
In x86 (32 bit) environments,
floating point calculation caused some issues due to precision conversion.
The x87 FPU registers have 80 bit precision,
while floating point variables in the memory have 64 bit precision.
On Linux x86 environment,
we avoided the issues by manipulating the x87 FPU control word
to limit the precision.
However, in other x86 environment,
the issues such as Issue 4943 and Issue 4975 were raised.
This commit makes LilyPond for x86 platforms uses SSE2 instead of x87 FPU.
The SSE2 registers have the same 64 bit precision
as the variables in the memory.
It can be expected that the issues will not raise
since there is no precision conversion.
However, external libraries may use the x87 FPU.
So issues may remain with floating point calculation
inside such libraries.
On the other hand, in x86_64 (64 bit) environments,
the issues are not raised because the x87 FPU is not used originally.
This commit does not make any changes for x86_64 environments.
|