runtime icon indicating copy to clipboard operation
runtime copied to clipboard

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

Open vargaz opened this issue 3 years ago • 41 comments

  • 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 https://github.com/dotnet/runtime/issues/65557

vargaz avatar Feb 22 '22 17:02 vargaz

Todo:

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

vargaz avatar Feb 22 '22 17:02 vargaz

/azp run runtime-extra-platforms

vargaz avatar Feb 22 '22 17:02 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Feb 22 '22 17:02 azure-pipelines[bot]

Fixes https://github.com/dotnet/runtime/issues/65557

vargaz avatar Feb 22 '22 17:02 vargaz

/azp run runtime-extra-platforms

vargaz avatar Feb 22 '22 19:02 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Feb 22 '22 19:02 azure-pipelines[bot]

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

akoeplinger avatar Feb 22 '22 19:02 akoeplinger

/azp run runtime-extra-platforms

vargaz avatar Feb 23 '22 00:02 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Feb 23 '22 00:02 azure-pipelines[bot]

/azp run runtime-extra-platforms

vargaz avatar Feb 23 '22 01:02 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Feb 23 '22 01:02 azure-pipelines[bot]

/azp run runtime-extra-platforms

vargaz avatar Feb 23 '22 12:02 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Feb 23 '22 12:02 azure-pipelines[bot]

/azp run runtime-extra-platforms

vargaz avatar Feb 23 '22 15:02 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Feb 23 '22 15:02 azure-pipelines[bot]

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

vargaz avatar Feb 23 '22 18:02 vargaz

/azp run runtime-extra-platforms

vargaz avatar Feb 23 '22 18:02 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Feb 23 '22 18:02 azure-pipelines[bot]

/azp run runtime-extra-platforms

vargaz avatar Mar 01 '22 21:03 vargaz

/azp run runtime

vargaz avatar Mar 01 '22 21:03 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Mar 01 '22 21:03 azure-pipelines[bot]

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Mar 01 '22 21:03 azure-pipelines[bot]

/azp run runtime-extra-platforms

vargaz avatar Apr 11 '22 17:04 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Apr 11 '22 17:04 azure-pipelines[bot]

/azp run runtime-extra-platforms

vargaz avatar Apr 13 '22 13:04 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Apr 13 '22 13:04 azure-pipelines[bot]

/azp run runtime-extra-platforms

vargaz avatar Apr 14 '22 05:04 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Apr 14 '22 05:04 azure-pipelines[bot]

The android-x86 lane failures are relevant.

vargaz avatar Apr 14 '22 09:04 vargaz

/azp run runtime-extra-platforms

vargaz avatar Apr 18 '22 21:04 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Apr 18 '22 21:04 azure-pipelines[bot]

/azp run runtime-extra-platforms

vargaz avatar May 04 '22 15:05 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar May 04 '22 15:05 azure-pipelines[bot]

/azp run runtime-extra-platforms

vargaz avatar Jul 10 '22 04:07 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Jul 10 '22 04:07 azure-pipelines[bot]

/azp run runtime-extra-platforms

vargaz avatar Aug 07 '22 21:08 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Aug 07 '22 21:08 azure-pipelines[bot]

/azp run runtime-extra-platforms

vargaz avatar Aug 08 '22 01:08 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Aug 08 '22 01:08 azure-pipelines[bot]

/azp run runtime-extra-platforms

vargaz avatar Aug 08 '22 03:08 vargaz

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Aug 08 '22 03:08 azure-pipelines[bot]

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

vargaz avatar Aug 08 '22 12:08 vargaz

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

Yea, I think we should take this in 7

lambdageek avatar Aug 08 '22 15:08 lambdageek