Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Force SSE2 floats for i686 targets #566

Merged
merged 1 commit into from
Mar 24, 2020

Conversation

nabijaczleweli
Copy link
Contributor

@nabijaczleweli nabijaczleweli commented Mar 24, 2020

Just GCC and Clang, I don't have a way to test MSVC behaviour.

Ref: #565

@ruevs
Copy link
Member

ruevs commented Mar 24, 2020

The use of x87 fp does not cause loss of precision. On the countrary!
https://gcc.gnu.org/wiki/x87note
Therefore we should treat the crash as a bug and figure out why it is happening with x87 floating point instead of hiding it with SSE.

@nabijaczleweli
Copy link
Contributor Author

Right

Copy link
Contributor

@whitequark whitequark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest a few minor changes, looks good otherwise.

Regarding MSVC, I believe it does the reasonable thing by default so no further action is required.

@ruevs
Copy link
Member

ruevs commented Mar 24, 2020

OK makes sense. The "compares savefiles directly" explains it.

Verified

This commit was signed with the committer’s verified signature.
Both GCC and Clang use x87 instructions by default on 32-bit x86
targets, but the loss of precision resulting from that has yielded
crashing tests (see referenced issue), and it can be safely assumed
there are very few CPUs that both don't support SSE2 and are expected to
run SolveSpace

This commit also removes a now-redundant check for 32-bit Windows
against TARGET, which doesn't seem to be actually set by CMake at all

Ref: solvespace#565
@nabijaczleweli
Copy link
Contributor Author

Review addressed

Sorry, something went wrong.

@whitequark whitequark merged commit 645353c into solvespace:master Mar 24, 2020
@whitequark
Copy link
Contributor

Thanks!

Sorry, something went wrong.

@nabijaczleweli nabijaczleweli deleted the fix-i686-tests branch March 24, 2020 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants