Skip to content

Add mulx support to Math.BigMul#128787

Open
Daniel-Svensson wants to merge 14 commits into
dotnet:mainfrom
Daniel-Svensson:x86_multiply
Open

Add mulx support to Math.BigMul#128787
Daniel-Svensson wants to merge 14 commits into
dotnet:mainfrom
Daniel-Svensson:x86_multiply

Conversation

@Daniel-Svensson

@Daniel-Svensson Daniel-Svensson commented May 29, 2026

Copy link
Copy Markdown
Contributor

Follow up to #117261, with added support for mulx to hopefully adress performance regression #128594.

@EgorBo I've not yet run the benchmarks, is it easy for you to use your bot against a PR ?
Otherwise you will have to wait for a couple of days for benchmarks results

Corrently both lokal spmi run and
devops build shows an expected improvement to generated code.

Devops spmi results shows nice improvements especially for Linux x64 with >5000 bytes improvement with memory accesses in several locations.

local SPMI results (latest)

FullOpts (-1,488 bytes)
Collection Base size (bytes) Diff size (bytes) PerfScore in Diffs
aspnet2.run.windows.x64.checked.mch 1,958,162 -37 -2.39%
benchmarks.run.windows.x64.checked.mch 17,296,800 -186 -4.61%
benchmarks.run_pgo.windows.x64.checked.mch 17,724,325 -997 -1.59%
benchmarks.run_pgo_optrepeat.windows.x64.checked.mch 16,067,339 -186 -4.61%
libraries.crossgen2.windows.x64.checked.mch 41,522,433 -121 -3.59%
libraries.pmi.windows.x64.checked.mch 64,543,375 +194 -2.43%
libraries_tests.run.windows.x64.Release.mch 126,045,916 -103 -1.64%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 151,916,143 +62 -1.87%
realworld.run.windows.x64.checked.mch 10,544,362 -54 -7.47%
smoke_tests.nativeaot.windows.x64.checked.mch 5,541,852 -60 -8.64%

local SPMI where op1 was fixed

FullOpts (-707 bytes)
Collection Base size (bytes) Diff size (bytes) PerfScore in Diffs
aspnet2.run.windows.x64.checked.mch 1,958,162 -44 -2.55%
benchmarks.run.windows.x64.checked.mch 17,296,800 -161 -2.05%
benchmarks.run_pgo.windows.x64.checked.mch 17,724,325 -928 -0.44%
benchmarks.run_pgo_optrepeat.windows.x64.checked.mch 16,067,339 -161 -2.05%
libraries.crossgen2.windows.x64.checked.mch 41,522,433 -99 +1.35%
libraries.pmi.windows.x64.checked.mch 64,543,375 +676 +7.50%
libraries_tests.run.windows.x64.Release.mch 126,045,916 -306 +0.39%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 151,916,143 +420 -0.78%
realworld.run.windows.x64.checked.mch 10,544,362 -44 -6.64%
smoke_tests.nativeaot.windows.x64.checked.mch 5,541,852 -60 -8.64%

Copilot AI review requested due to automatic review settings May 29, 2026 22:12
@github-actions github-actions Bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label May 29, 2026
@dotnet-policy-service dotnet-policy-service Bot added the community-contribution Indicates that the PR has been added by a community member label May 29, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI community-contribution Indicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants