Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(7102)

Issue 565600045: Issue 5725: Use x86 SSE2 for avoiding x86 FPU precision issues

Can't Edit
Can't Publish+Mail
Start Review
Created:
4 years, 2 months ago by trueroad
Modified:
4 years, 2 months ago
Reviewers:
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

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.

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+6 lines, -30 lines) Patch
M config.hh.in View 1 chunk +0 lines, -3 lines 0 comments Download
M configure.ac View 2 chunks +6 lines, -1 line 0 comments Download
M lily/main.cc View 2 chunks +0 lines, -26 lines 0 comments Download

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b