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

[mono][jit] Transition the x86 backend to use SSE for fp arithmetic. #65723

Merged
merged 10 commits into from
Aug 8, 2022

Conversation

vargaz
Copy link
Contributor

@vargaz vargaz commented Feb 22, 2022

  • Add SSE2 and FCMOV to the cpu requirements for mono on x86.
  • Also force the usage of r4fp on x86, the same as on arm.
  • Most of the code is copied from amd64-codegen.h and
    mini-amd64.c.

Fixes #65557

@vargaz
Copy link
Contributor Author

vargaz commented Feb 22, 2022

Todo:

  • Compile the runtime itself with -msse2 -mfpmath=sse on x86
  • Remove unused fp stack code
  • Remove the old non-r4fp code

@vargaz
Copy link
Contributor Author

vargaz commented Feb 22, 2022

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@vargaz
Copy link
Contributor Author

vargaz commented Feb 22, 2022

Fixes #65557

@vargaz vargaz force-pushed the x86-sse branch 4 times, most recently from e31abe9 to 51abe71 Compare February 22, 2022 19:08
@vargaz
Copy link
Contributor Author

vargaz commented Feb 22, 2022

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@akoeplinger
Copy link
Member

Please also reenable the tests that were disabled with ActiveIssue in src/libraries/System.Runtime.InteropServices/tests/System.Runtime.InteropServices.UnitTests/System/Runtime/InteropServices/NFloatTests.cs

@vargaz
Copy link
Contributor Author

vargaz commented Feb 23, 2022

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@vargaz
Copy link
Contributor Author

vargaz commented Feb 23, 2022

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@vargaz
Copy link
Contributor Author

vargaz commented Feb 23, 2022

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@vargaz
Copy link
Contributor Author

vargaz commented Feb 23, 2022

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@vargaz
Copy link
Contributor Author

vargaz commented Feb 23, 2022

CI failures are unrelated, this PR only affects 32 bit x86.

@vargaz vargaz requested a review from BrzVlad as a code owner February 23, 2022 18:20
@vargaz
Copy link
Contributor Author

vargaz commented Feb 23, 2022

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@vargaz
Copy link
Contributor Author

vargaz commented Aug 7, 2022

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@vargaz
Copy link
Contributor Author

vargaz commented Aug 8, 2022

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@vargaz
Copy link
Contributor Author

vargaz commented Aug 8, 2022

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@vargaz
Copy link
Contributor Author

vargaz commented Aug 8, 2022

The failures are fixed now. Should this be in 7.0 ?
@lambdageek

@lambdageek
Copy link
Member

The failures are fixed now. Should this be in 7.0 ? @lambdageek

Yea, I think we should take this in 7

@vargaz vargaz merged commit e71a958 into dotnet:main Aug 8, 2022
@vargaz vargaz deleted the x86-sse branch August 8, 2022 15:21
akoeplinger added a commit to akoeplinger/runtime that referenced this pull request Aug 12, 2022
Looks like this got inadvertently broken by dotnet#65723
akoeplinger added a commit that referenced this pull request Aug 12, 2022
Looks like this got inadvertently broken by #65723
akoeplinger pushed a commit that referenced this pull request Aug 18, 2022
Issue was fixed by #65723, enabling all related tests.

Fixes #72862
Fixes #37093
Fixes #71252
Fixes #68906
@ghost ghost locked as resolved and limited conversation to collaborators Sep 7, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Android][x86] System.Runtime.InteropServices.Tests.NFloatTests failed
4 participants