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

-mfma #3010

Merged
merged 1 commit into from
May 30, 2021
Merged

-mfma #3010

merged 1 commit into from
May 30, 2021

Conversation

eggrobin
Copy link
Member

No description provided.

@eggrobin eggrobin added the TBR label May 30, 2021
@eggrobin eggrobin merged commit b6c4b19 into mockingbirdnest:master May 30, 2021
@pleroy pleroy added LGTM and removed TBR labels May 30, 2021
@eggrobin
Copy link
Member Author

eggrobin commented May 30, 2021

We need to revert this.
Setting -mfma causes clang to emit VEX-encoded instructions (vaddsd rather than addsd, &c) for every floating-point operation everywhere, which means that this change drops pre-Sandy Bridge support on Linux and Mac.

MSVC is happy emitting VEX-encoded FMA intrinsics while keeping SSE2 everywhere else, so we can move forward with FMA on Windows if we want, but doing so on the other platforms would mean producing a binary that requires AVX (at which point we can also fit R3Element in a single register, which is nice; we probably want that on Windows too; but if we want to retain support for users on Westmere and earlier that means two DLLs, and some code to load the correct one).

This was referenced May 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants