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

Update constant prop to only consider certain hwintrinsics #97616

Merged
merged 7 commits into from
Feb 1, 2024

Conversation

tannergooding
Copy link
Member

@tannergooding tannergooding commented Jan 28, 2024

This resolves #97046 by updating constant prop of a LclVar into a HWIntrinsic node to only happen if the constant can actually be consumed directly.

HWIntrinsic nodes are special in many ways and the number of transforms/optimizations we do to them is incredibly limited. Outside of some minimal constant folding done in ValueNum and some minor transforms done in Morph, these nodes are effectively left alone until lowering. So by only propagating constants into them when we know that another phase might be able to take advantage of it, we can significantly improve the codegen in cases where a user has manually CSE'd such a constant themselves.

Before

; Method Program:Test():System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts)
G_M000_IG01:                ;; offset=0x0000
       vzeroupper 

G_M000_IG02:                ;; offset=0x0003
       vmovups  xmm0, xmmword ptr [reloc @RWD00]
       vpalignr xmm0, xmm0, xmmword ptr [reloc @RWD00], 12
       vpor     xmm0, xmm0, xmmword ptr [reloc @RWD00]
       vmovups  xmm1, xmmword ptr [reloc @RWD00]
       vpalignr xmm1, xmm1, xmmword ptr [reloc @RWD00], 8
       vpor     xmm0, xmm0, xmm1
       vmovups  xmm1, xmmword ptr [reloc @RWD00]
       vpalignr xmm1, xmm1, xmmword ptr [reloc @RWD00], 4
       vpor     xmm0, xmm0, xmm1
       vmovups  xmmword ptr [rcx], xmm0
       mov      rax, rcx

G_M000_IG03:                ;; offset=0x0050
       ret      
RWD00  	dq	FFFFFFFF0C080400h, FFFFFFFFFFFFFFFFh
; Total bytes of code: 81

After

; Method Program:Test():System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts)
G_M18664_IG01:  ;; offset=0x0000
       vzeroupper 
						;; size=3 bbWeight=1 PerfScore 1.00

G_M18664_IG02:  ;; offset=0x0003
       vmovups  xmm0, xmmword ptr [reloc @RWD00]
       vpalignr xmm1, xmm0, xmm0, 12
       vpalignr xmm2, xmm0, xmm0, 8
       vmovaps  xmm3, xmm0
       vpternlogd xmm3, xmm1, xmm2, -2
       vpalignr xmm0, xmm0, xmm0, 4
       vpor     xmm0, xmm3, xmm0
       vmovups  xmmword ptr [rcx], xmm0
       mov      rax, rcx
						;; size=48 bbWeight=1 PerfScore 9.33

G_M18664_IG03:  ;; offset=0x0033
       ret      
						;; size=1 bbWeight=1 PerfScore 1.00
RWD00  	dq	FFFFFFFF0C080400h, FFFFFFFFFFFFFFFFh
; Total bytes of code: 52

@ghost ghost assigned tannergooding Jan 28, 2024
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jan 28, 2024
@ghost
Copy link

ghost commented Jan 28, 2024

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

Issue Details

This updates constant prop of a LclVar into a HWIntrinsic node to only happen if the constant can actually be consumed directly.

HWIntrinsic nodes are special in many ways and the number of transforms/optimizations we do to them is incredibly limited. Outside of some minimal constant folding done in ValueNum and some minor transforms done in Morph, these nodes are effectively left alone until lowering. So by only propagating constants into them when we know that another phase might be able to take advantage of it, we can significantly improve the codegen in cases where a user has manually CSE'd such a constant themselves.

Before

; Method Program:Test():System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts)
G_M000_IG01:                ;; offset=0x0000
       vzeroupper 

G_M000_IG02:                ;; offset=0x0003
       vmovups  xmm0, xmmword ptr [reloc @RWD00]
       vpalignr xmm0, xmm0, xmmword ptr [reloc @RWD00], 12
       vpor     xmm0, xmm0, xmmword ptr [reloc @RWD00]
       vmovups  xmm1, xmmword ptr [reloc @RWD00]
       vpalignr xmm1, xmm1, xmmword ptr [reloc @RWD00], 8
       vpor     xmm0, xmm0, xmm1
       vmovups  xmm1, xmmword ptr [reloc @RWD00]
       vpalignr xmm1, xmm1, xmmword ptr [reloc @RWD00], 4
       vpor     xmm0, xmm0, xmm1
       vmovups  xmmword ptr [rcx], xmm0
       mov      rax, rcx

G_M000_IG03:                ;; offset=0x0050
       ret      
RWD00  	dq	FFFFFFFF0C080400h, FFFFFFFFFFFFFFFFh
; Total bytes of code: 81

After

; Method Program:Test():System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts)
G_M18664_IG01:  ;; offset=0x0000
       vzeroupper 
						;; size=3 bbWeight=1 PerfScore 1.00

G_M18664_IG02:  ;; offset=0x0003
       vmovups  xmm0, xmmword ptr [reloc @RWD00]
       vpalignr xmm1, xmm0, xmm0, 12
       vpalignr xmm2, xmm0, xmm0, 8
       vmovaps  xmm3, xmm0
       vpternlogd xmm3, xmm1, xmm2, -2
       vpalignr xmm0, xmm0, xmm0, 4
       vpor     xmm0, xmm3, xmm0
       vmovups  xmmword ptr [rcx], xmm0
       mov      rax, rcx
						;; size=48 bbWeight=1 PerfScore 9.33

G_M18664_IG03:  ;; offset=0x0033
       ret      
						;; size=1 bbWeight=1 PerfScore 1.00
RWD00  	dq	FFFFFFFF0C080400h, FFFFFFFFFFFFFFFFh
; Total bytes of code: 52
Author: tannergooding
Assignees: tannergooding
Labels:

area-CodeGen-coreclr

Milestone: -

@tannergooding
Copy link
Member Author

This also allows a workaround for cases like #76067, as the user can manually hoist zero into a local, such as:

var byteVector = Vector256.LoadUnsafe<byte>(ref spanRef);

var zero = Vector256<short>.Zero;

var low = Avx2.UnpackLow(byteVector, zero.AsByte());
var high = Avx2.UnpackHigh(byteVector, zero.AsByte());

var added = Avx2.Add(low.AsInt16(), high.AsInt16());

added = Avx2.HorizontalAdd(added, zero);
added = Avx2.HorizontalAdd(added, zero);
return Avx2.HorizontalAdd(added, zero);

which generates:

; Method Program:Test2(byref):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts)
G_M36983_IG01:  ;; offset=0x0000
       vzeroupper 
						;; size=3 bbWeight=1 PerfScore 1.00

G_M36983_IG02:  ;; offset=0x0003
       vxorps   ymm0, ymm0, ymm0
       vmovups  ymm1, ymmword ptr [rdx]
       vpunpcklbw ymm2, ymm1, ymm0
       vpunpckhbw ymm1, ymm1, ymm0
       vpaddw   ymm1, ymm2, ymm1
       vphaddw  ymm1, ymm1, ymm0
       vphaddw  ymm1, ymm1, ymm0
       vphaddw  ymm0, ymm1, ymm0
       vmovups  ymmword ptr [rcx], ymm0
       mov      rax, rcx
						;; size=42 bbWeight=1 PerfScore 15.92

G_M36983_IG03:  ;; offset=0x002D
       vzeroupper 
       ret      
						;; size=4 bbWeight=1 PerfScore 2.00
; Total bytes of code: 49

It may also open the opportunity to decide to CSE Vector<T>.Zero and then just simply let constant prop determine if the CSE is beneficial or not.

@ryujit-bot
Copy link

Diff results for #97616

Assembly diffs

Assembly diffs for linux/arm64 ran on windows/x64

Diffs are based on 2,259,628 contexts (1,008,044 MinOpts, 1,251,584 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (+46,644 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 14,972,852 -56
benchmarks.run_pgo.linux.arm64.checked.mch 79,928,956 +11,816
benchmarks.run_tiered.linux.arm64.checked.mch 22,277,428 +28
coreclr_tests.run.linux.arm64.checked.mch 509,755,756 +15,712
libraries.pmi.linux.arm64.checked.mch 76,286,724 -824
libraries_tests.run.linux.arm64.Release.mch 400,455,948 +19,700
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 165,114,004 -408
realworld.run.linux.arm64.checked.mch 15,918,404 +676
FullOpts (+46,644 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 14,713,100 -56
benchmarks.run_pgo.linux.arm64.checked.mch 54,380,584 +11,816
benchmarks.run_tiered.linux.arm64.checked.mch 4,938,464 +28
coreclr_tests.run.linux.arm64.checked.mch 160,847,900 +15,712
libraries.pmi.linux.arm64.checked.mch 76,166,740 -824
libraries_tests.run.linux.arm64.Release.mch 183,717,044 +19,700
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 151,616,728 -408
realworld.run.linux.arm64.checked.mch 15,336,864 +676

Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 2,249,837 contexts (981,298 MinOpts, 1,268,539 FullOpts).

Overall (+12,283 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 13,724,246 -49
benchmarks.run_pgo.linux.x64.checked.mch 69,179,263 +1,106
benchmarks.run_tiered.linux.x64.checked.mch 15,898,771 -20
coreclr_tests.run.linux.x64.checked.mch 403,326,777 +4,399
libraries.pmi.linux.x64.checked.mch 60,406,292 +159
libraries_tests.run.linux.x64.Release.mch 348,614,608 +10,060
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 132,684,821 -2,250
realworld.run.linux.x64.checked.mch 13,212,488 -1,122
FullOpts (+12,283 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 13,460,313 -49
benchmarks.run_pgo.linux.x64.checked.mch 47,837,218 +1,106
benchmarks.run_tiered.linux.x64.checked.mch 3,640,387 -20
coreclr_tests.run.linux.x64.checked.mch 123,835,616 +4,399
libraries.pmi.linux.x64.checked.mch 60,293,435 +159
libraries_tests.run.linux.x64.Release.mch 164,859,444 +10,060
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 122,067,035 -2,250
realworld.run.linux.x64.checked.mch 12,823,606 -1,122

Assembly diffs for osx/arm64 ran on windows/x64

Diffs are based on 2,029,495 contexts (927,368 MinOpts, 1,102,127 FullOpts).

Overall (+39,960 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 11,185,204 -36
benchmarks.run_pgo.osx.arm64.checked.mch 34,557,412 +7,740
benchmarks.run_tiered.osx.arm64.checked.mch 15,509,064 +4
coreclr_tests.run.osx.arm64.checked.mch 483,595,956 +9,096
libraries.pmi.osx.arm64.checked.mch 80,212,804 -712
libraries_tests.run.osx.arm64.Release.mch 314,052,980 +23,532
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 163,157,008 -356
realworld.run.osx.arm64.checked.mch 15,077,580 +692
FullOpts (+39,960 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 11,184,576 -36
benchmarks.run_pgo.osx.arm64.checked.mch 18,184,064 +7,740
benchmarks.run_tiered.osx.arm64.checked.mch 4,004,792 +4
coreclr_tests.run.osx.arm64.checked.mch 153,423,188 +9,096
libraries.pmi.osx.arm64.checked.mch 80,091,676 -712
libraries_tests.run.osx.arm64.Release.mch 112,315,392 +23,532
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 150,003,316 -356
realworld.run.osx.arm64.checked.mch 14,513,628 +692

Assembly diffs for windows/arm64 ran on windows/x64

Diffs are based on 2,070,988 contexts (937,853 MinOpts, 1,133,135 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (+37,060 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 10,966,516 -56
benchmarks.run_pgo.windows.arm64.checked.mch 46,635,420 +10,884
benchmarks.run_tiered.windows.arm64.checked.mch 15,506,668 +20
coreclr_tests.run.windows.arm64.checked.mch 496,311,696 +5,676
libraries.pmi.windows.arm64.checked.mch 79,840,268 -852
libraries_tests.run.windows.arm64.Release.mch 327,035,492 +21,132
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 171,570,108 -424
realworld.run.windows.arm64.checked.mch 15,892,956 +680
FullOpts (+37,060 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 10,965,980 -56
benchmarks.run_pgo.windows.arm64.checked.mch 30,377,228 +10,884
benchmarks.run_tiered.windows.arm64.checked.mch 4,328,920 +20
coreclr_tests.run.windows.arm64.checked.mch 156,637,292 +5,676
libraries.pmi.windows.arm64.checked.mch 79,720,284 -852
libraries_tests.run.windows.arm64.Release.mch 123,561,644 +21,132
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 158,416,396 -424
realworld.run.windows.arm64.checked.mch 15,328,976 +680

Assembly diffs for windows/x64 ran on windows/x64

Diffs are based on 2,098,663 contexts (926,221 MinOpts, 1,172,442 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (+28,074 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x64.checked.mch 8,738,045 +107
benchmarks.run_pgo.windows.x64.checked.mch 35,808,303 +5,042
benchmarks.run_tiered.windows.x64.checked.mch 12,549,902 -105
coreclr_tests.run.windows.x64.checked.mch 392,970,662 +7,594
libraries.pmi.windows.x64.checked.mch 61,646,096 +376
libraries_tests.run.windows.x64.Release.mch 279,151,239 +12,598
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 137,561,629 -841
realworld.run.windows.x64.checked.mch 14,185,074 +3,303
FullOpts (+28,074 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x64.checked.mch 8,737,682 +107
benchmarks.run_pgo.windows.x64.checked.mch 21,776,222 +5,042
benchmarks.run_tiered.windows.x64.checked.mch 3,454,165 -105
coreclr_tests.run.windows.x64.checked.mch 120,248,684 +7,594
libraries.pmi.windows.x64.checked.mch 61,532,575 +376
libraries_tests.run.windows.x64.Release.mch 106,976,623 +12,598
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 126,635,563 -841
realworld.run.windows.x64.checked.mch 13,798,465 +3,303

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

Overall (+0.01% to +0.02%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.02%
benchmarks.run_pgo.linux.arm64.checked.mch +0.02%
benchmarks.run_tiered.linux.arm64.checked.mch +0.01%
coreclr_tests.run.linux.arm64.checked.mch +0.01%
libraries.crossgen2.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.02%
libraries_tests.run.linux.arm64.Release.mch +0.01%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.02%
realworld.run.linux.arm64.checked.mch +0.02%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.02%
MinOpts (-0.01% to +0.00%)
Collection PDIFF
libraries.pmi.linux.arm64.checked.mch -0.01%
FullOpts (+0.02%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.02%
benchmarks.run_pgo.linux.arm64.checked.mch +0.02%
benchmarks.run_tiered.linux.arm64.checked.mch +0.02%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.crossgen2.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.02%
libraries_tests.run.linux.arm64.Release.mch +0.02%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.02%
realworld.run.linux.arm64.checked.mch +0.02%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.02%

Throughput diffs for linux/x64 ran on windows/x64

Overall (+0.01% to +0.02%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.02%
benchmarks.run_pgo.linux.x64.checked.mch +0.02%
benchmarks.run_tiered.linux.x64.checked.mch +0.01%
coreclr_tests.run.linux.x64.checked.mch +0.01%
libraries.crossgen2.linux.x64.checked.mch +0.02%
libraries.pmi.linux.x64.checked.mch +0.02%
libraries_tests.run.linux.x64.Release.mch +0.02%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.02%
realworld.run.linux.x64.checked.mch +0.02%
smoke_tests.nativeaot.linux.x64.checked.mch +0.02%
FullOpts (+0.02%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.02%
benchmarks.run_pgo.linux.x64.checked.mch +0.02%
benchmarks.run_tiered.linux.x64.checked.mch +0.02%
coreclr_tests.run.linux.x64.checked.mch +0.02%
libraries.crossgen2.linux.x64.checked.mch +0.02%
libraries.pmi.linux.x64.checked.mch +0.02%
libraries_tests.run.linux.x64.Release.mch +0.02%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.02%
realworld.run.linux.x64.checked.mch +0.02%
smoke_tests.nativeaot.linux.x64.checked.mch +0.02%

Throughput diffs for osx/arm64 ran on windows/x64

Overall (+0.01% to +0.03%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.02%
benchmarks.run_pgo.osx.arm64.checked.mch +0.03%
benchmarks.run_tiered.osx.arm64.checked.mch +0.01%
coreclr_tests.run.osx.arm64.checked.mch +0.01%
libraries.crossgen2.osx.arm64.checked.mch +0.02%
libraries.pmi.osx.arm64.checked.mch +0.02%
libraries_tests.run.osx.arm64.Release.mch +0.01%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.02%
realworld.run.osx.arm64.checked.mch +0.02%
FullOpts (+0.02% to +0.03%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.02%
benchmarks.run_pgo.osx.arm64.checked.mch +0.03%
benchmarks.run_tiered.osx.arm64.checked.mch +0.02%
coreclr_tests.run.osx.arm64.checked.mch +0.02%
libraries.crossgen2.osx.arm64.checked.mch +0.02%
libraries.pmi.osx.arm64.checked.mch +0.02%
libraries_tests.run.osx.arm64.Release.mch +0.02%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.02%
realworld.run.osx.arm64.checked.mch +0.02%

Throughput diffs for windows/arm64 ran on windows/x64

Overall (+0.01% to +0.02%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.02%
benchmarks.run_pgo.windows.arm64.checked.mch +0.02%
benchmarks.run_tiered.windows.arm64.checked.mch +0.01%
coreclr_tests.run.windows.arm64.checked.mch +0.01%
libraries.crossgen2.windows.arm64.checked.mch +0.02%
libraries.pmi.windows.arm64.checked.mch +0.02%
libraries_tests.run.windows.arm64.Release.mch +0.01%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.02%
realworld.run.windows.arm64.checked.mch +0.02%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.02%
FullOpts (+0.02%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.02%
benchmarks.run_pgo.windows.arm64.checked.mch +0.02%
benchmarks.run_tiered.windows.arm64.checked.mch +0.02%
coreclr_tests.run.windows.arm64.checked.mch +0.02%
libraries.crossgen2.windows.arm64.checked.mch +0.02%
libraries.pmi.windows.arm64.checked.mch +0.02%
libraries_tests.run.windows.arm64.Release.mch +0.02%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.02%
realworld.run.windows.arm64.checked.mch +0.02%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.02%

Throughput diffs for windows/x64 ran on windows/x64

Overall (+0.01% to +0.03%)
Collection PDIFF
benchmarks.run.windows.x64.checked.mch +0.02%
benchmarks.run_pgo.windows.x64.checked.mch +0.03%
benchmarks.run_tiered.windows.x64.checked.mch +0.01%
coreclr_tests.run.windows.x64.checked.mch +0.01%
libraries.crossgen2.windows.x64.checked.mch +0.02%
libraries.pmi.windows.x64.checked.mch +0.02%
libraries_tests.run.windows.x64.Release.mch +0.01%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.02%
realworld.run.windows.x64.checked.mch +0.02%
smoke_tests.nativeaot.windows.x64.checked.mch +0.02%
FullOpts (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run.windows.x64.checked.mch +0.02%
benchmarks.run_pgo.windows.x64.checked.mch +0.04%
benchmarks.run_tiered.windows.x64.checked.mch +0.02%
coreclr_tests.run.windows.x64.checked.mch +0.02%
libraries.crossgen2.windows.x64.checked.mch +0.02%
libraries.pmi.windows.x64.checked.mch +0.02%
libraries_tests.run.windows.x64.Release.mch +0.02%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.02%
realworld.run.windows.x64.checked.mch +0.02%
smoke_tests.nativeaot.windows.x64.checked.mch +0.02%

Details here


Throughput diffs for linux/arm64 ran on linux/x64

Overall (+0.00% to +0.01%)
Collection PDIFF
libraries.crossgen2.linux.arm64.checked.mch +0.01%
libraries_tests.run.linux.arm64.Release.mch +0.01%
realworld.run.linux.arm64.checked.mch +0.01%
libraries.pmi.linux.arm64.checked.mch +0.01%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.01%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.01%
benchmarks.run.linux.arm64.checked.mch +0.01%
benchmarks.run_pgo.linux.arm64.checked.mch +0.01%
FullOpts (+0.01%)
Collection PDIFF
libraries.crossgen2.linux.arm64.checked.mch +0.01%
libraries_tests.run.linux.arm64.Release.mch +0.01%
realworld.run.linux.arm64.checked.mch +0.01%
libraries.pmi.linux.arm64.checked.mch +0.01%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.01%
coreclr_tests.run.linux.arm64.checked.mch +0.01%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.01%
benchmarks.run.linux.arm64.checked.mch +0.01%
benchmarks.run_tiered.linux.arm64.checked.mch +0.01%
benchmarks.run_pgo.linux.arm64.checked.mch +0.01%

Throughput diffs for linux/x64 ran on linux/x64

Overall (+0.00% to +0.01%)
Collection PDIFF
benchmarks.run_pgo.linux.x64.checked.mch +0.01%
smoke_tests.nativeaot.linux.x64.checked.mch +0.01%
realworld.run.linux.x64.checked.mch +0.01%
benchmarks.run.linux.x64.checked.mch +0.01%
libraries.pmi.linux.x64.checked.mch +0.01%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.01%
libraries_tests.run.linux.x64.Release.mch +0.01%
libraries.crossgen2.linux.x64.checked.mch +0.01%
FullOpts (+0.01%)
Collection PDIFF
benchmarks.run_pgo.linux.x64.checked.mch +0.01%
smoke_tests.nativeaot.linux.x64.checked.mch +0.01%
realworld.run.linux.x64.checked.mch +0.01%
benchmarks.run_tiered.linux.x64.checked.mch +0.01%
benchmarks.run.linux.x64.checked.mch +0.01%
libraries.pmi.linux.x64.checked.mch +0.01%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.01%
libraries_tests.run.linux.x64.Release.mch +0.01%
libraries.crossgen2.linux.x64.checked.mch +0.01%

Details here


Throughput diffs for windows/x86 ran on windows/x86

Overall (+0.01%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.01%
benchmarks.run_pgo.windows.x86.checked.mch +0.01%
benchmarks.run_tiered.windows.x86.checked.mch +0.01%
coreclr_tests.run.windows.x86.checked.mch +0.01%
libraries.crossgen2.windows.x86.checked.mch +0.01%
libraries.pmi.windows.x86.checked.mch +0.01%
libraries_tests.run.windows.x86.Release.mch +0.01%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.01%
realworld.run.windows.x86.checked.mch +0.01%
FullOpts (+0.01%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.01%
benchmarks.run_pgo.windows.x86.checked.mch +0.01%
benchmarks.run_tiered.windows.x86.checked.mch +0.01%
coreclr_tests.run.windows.x86.checked.mch +0.01%
libraries.crossgen2.windows.x86.checked.mch +0.01%
libraries.pmi.windows.x86.checked.mch +0.01%
libraries_tests.run.windows.x86.Release.mch +0.01%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.01%
realworld.run.windows.x86.checked.mch +0.01%

Details here


@ryujit-bot
Copy link

Diff results for #97616

Assembly diffs

Assembly diffs for windows/x86 ran on windows/x86

Diffs are based on 2,291,563 contexts (838,165 MinOpts, 1,453,398 FullOpts).

Overall (+5,650 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,125,319 +47
benchmarks.run_pgo.windows.x86.checked.mch 45,177,532 -12
benchmarks.run_tiered.windows.x86.checked.mch 9,477,525 -9
coreclr_tests.run.windows.x86.checked.mch 309,448,393 +2,630
libraries.crossgen2.windows.x86.checked.mch 31,718,267 -62
libraries.pmi.windows.x86.checked.mch 49,273,768 +203
libraries_tests.run.windows.x86.Release.mch 185,799,057 +4,185
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 103,837,385 -1,835
realworld.run.windows.x86.checked.mch 11,342,063 +503
FullOpts (+5,650 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,125,038 +47
benchmarks.run_pgo.windows.x86.checked.mch 38,565,166 -12
benchmarks.run_tiered.windows.x86.checked.mch 5,207,933 -9
coreclr_tests.run.windows.x86.checked.mch 107,652,816 +2,630
libraries.crossgen2.windows.x86.checked.mch 31,717,207 -62
libraries.pmi.windows.x86.checked.mch 49,178,535 +203
libraries_tests.run.windows.x86.Release.mch 88,499,017 +4,185
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 95,157,324 -1,835
realworld.run.windows.x86.checked.mch 11,046,349 +503

Details here


@ryujit-bot
Copy link

Diff results for #97616

Assembly diffs

Assembly diffs for linux/arm64 ran on windows/x64

Diffs are based on 2,259,628 contexts (1,008,044 MinOpts, 1,251,584 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (+46,644 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 14,972,852 -56
benchmarks.run_pgo.linux.arm64.checked.mch 79,928,956 +11,816
benchmarks.run_tiered.linux.arm64.checked.mch 22,277,428 +28
coreclr_tests.run.linux.arm64.checked.mch 509,755,756 +15,712
libraries.pmi.linux.arm64.checked.mch 76,286,724 -824
libraries_tests.run.linux.arm64.Release.mch 400,455,948 +19,700
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 165,114,004 -408
realworld.run.linux.arm64.checked.mch 15,918,404 +676
FullOpts (+46,644 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 14,713,100 -56
benchmarks.run_pgo.linux.arm64.checked.mch 54,380,584 +11,816
benchmarks.run_tiered.linux.arm64.checked.mch 4,938,464 +28
coreclr_tests.run.linux.arm64.checked.mch 160,847,900 +15,712
libraries.pmi.linux.arm64.checked.mch 76,166,740 -824
libraries_tests.run.linux.arm64.Release.mch 183,717,044 +19,700
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 151,616,728 -408
realworld.run.linux.arm64.checked.mch 15,336,864 +676

Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 2,249,837 contexts (981,298 MinOpts, 1,268,539 FullOpts).

Overall (+12,283 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 13,724,246 -49
benchmarks.run_pgo.linux.x64.checked.mch 69,179,263 +1,106
benchmarks.run_tiered.linux.x64.checked.mch 15,898,771 -20
coreclr_tests.run.linux.x64.checked.mch 403,326,777 +4,399
libraries.pmi.linux.x64.checked.mch 60,406,292 +159
libraries_tests.run.linux.x64.Release.mch 348,614,608 +10,060
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 132,684,821 -2,250
realworld.run.linux.x64.checked.mch 13,212,488 -1,122
FullOpts (+12,283 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 13,460,313 -49
benchmarks.run_pgo.linux.x64.checked.mch 47,837,218 +1,106
benchmarks.run_tiered.linux.x64.checked.mch 3,640,387 -20
coreclr_tests.run.linux.x64.checked.mch 123,835,616 +4,399
libraries.pmi.linux.x64.checked.mch 60,293,435 +159
libraries_tests.run.linux.x64.Release.mch 164,859,444 +10,060
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 122,067,035 -2,250
realworld.run.linux.x64.checked.mch 12,823,606 -1,122

Assembly diffs for osx/arm64 ran on windows/x64

Diffs are based on 2,029,495 contexts (927,368 MinOpts, 1,102,127 FullOpts).

Overall (+39,960 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 11,185,204 -36
benchmarks.run_pgo.osx.arm64.checked.mch 34,557,412 +7,740
benchmarks.run_tiered.osx.arm64.checked.mch 15,509,064 +4
coreclr_tests.run.osx.arm64.checked.mch 483,595,956 +9,096
libraries.pmi.osx.arm64.checked.mch 80,212,804 -712
libraries_tests.run.osx.arm64.Release.mch 314,052,980 +23,532
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 163,157,008 -356
realworld.run.osx.arm64.checked.mch 15,077,580 +692
FullOpts (+39,960 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 11,184,576 -36
benchmarks.run_pgo.osx.arm64.checked.mch 18,184,064 +7,740
benchmarks.run_tiered.osx.arm64.checked.mch 4,004,792 +4
coreclr_tests.run.osx.arm64.checked.mch 153,423,188 +9,096
libraries.pmi.osx.arm64.checked.mch 80,091,676 -712
libraries_tests.run.osx.arm64.Release.mch 112,315,392 +23,532
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 150,003,316 -356
realworld.run.osx.arm64.checked.mch 14,513,628 +692

Assembly diffs for windows/arm64 ran on windows/x64

Diffs are based on 2,070,988 contexts (937,853 MinOpts, 1,133,135 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (+37,060 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 10,966,516 -56
benchmarks.run_pgo.windows.arm64.checked.mch 46,635,420 +10,884
benchmarks.run_tiered.windows.arm64.checked.mch 15,506,668 +20
coreclr_tests.run.windows.arm64.checked.mch 496,311,696 +5,676
libraries.pmi.windows.arm64.checked.mch 79,840,268 -852
libraries_tests.run.windows.arm64.Release.mch 327,035,492 +21,132
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 171,570,108 -424
realworld.run.windows.arm64.checked.mch 15,892,956 +680
FullOpts (+37,060 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 10,965,980 -56
benchmarks.run_pgo.windows.arm64.checked.mch 30,377,228 +10,884
benchmarks.run_tiered.windows.arm64.checked.mch 4,328,920 +20
coreclr_tests.run.windows.arm64.checked.mch 156,637,292 +5,676
libraries.pmi.windows.arm64.checked.mch 79,720,284 -852
libraries_tests.run.windows.arm64.Release.mch 123,561,644 +21,132
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 158,416,396 -424
realworld.run.windows.arm64.checked.mch 15,328,976 +680

Assembly diffs for windows/x64 ran on windows/x64

Diffs are based on 2,098,663 contexts (926,221 MinOpts, 1,172,442 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (+28,074 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x64.checked.mch 8,738,045 +107
benchmarks.run_pgo.windows.x64.checked.mch 35,808,303 +5,042
benchmarks.run_tiered.windows.x64.checked.mch 12,549,902 -105
coreclr_tests.run.windows.x64.checked.mch 392,970,662 +7,594
libraries.pmi.windows.x64.checked.mch 61,646,096 +376
libraries_tests.run.windows.x64.Release.mch 279,151,239 +12,598
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 137,561,629 -841
realworld.run.windows.x64.checked.mch 14,185,074 +3,303
FullOpts (+28,074 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x64.checked.mch 8,737,682 +107
benchmarks.run_pgo.windows.x64.checked.mch 21,776,222 +5,042
benchmarks.run_tiered.windows.x64.checked.mch 3,454,165 -105
coreclr_tests.run.windows.x64.checked.mch 120,248,684 +7,594
libraries.pmi.windows.x64.checked.mch 61,532,575 +376
libraries_tests.run.windows.x64.Release.mch 106,976,623 +12,598
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 126,635,563 -841
realworld.run.windows.x64.checked.mch 13,798,465 +3,303

Details here


Assembly diffs for windows/x86 ran on windows/x86

Diffs are based on 2,291,563 contexts (838,165 MinOpts, 1,453,398 FullOpts).

Overall (+5,650 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,125,319 +47
benchmarks.run_pgo.windows.x86.checked.mch 45,177,532 -12
benchmarks.run_tiered.windows.x86.checked.mch 9,477,525 -9
coreclr_tests.run.windows.x86.checked.mch 309,448,393 +2,630
libraries.crossgen2.windows.x86.checked.mch 31,718,267 -62
libraries.pmi.windows.x86.checked.mch 49,273,768 +203
libraries_tests.run.windows.x86.Release.mch 185,799,057 +4,185
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 103,837,385 -1,835
realworld.run.windows.x86.checked.mch 11,342,063 +503
FullOpts (+5,650 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,125,038 +47
benchmarks.run_pgo.windows.x86.checked.mch 38,565,166 -12
benchmarks.run_tiered.windows.x86.checked.mch 5,207,933 -9
coreclr_tests.run.windows.x86.checked.mch 107,652,816 +2,630
libraries.crossgen2.windows.x86.checked.mch 31,717,207 -62
libraries.pmi.windows.x86.checked.mch 49,178,535 +203
libraries_tests.run.windows.x86.Release.mch 88,499,017 +4,185
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 95,157,324 -1,835
realworld.run.windows.x86.checked.mch 11,046,349 +503

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.06%
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.06%
libraries.pmi.linux.arm64.checked.mch +0.05%
libraries_tests.run.linux.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.05%
realworld.run.linux.arm64.checked.mch +0.05%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.06%
MinOpts (-0.01% to +0.00%)
Collection PDIFF
libraries.pmi.linux.arm64.checked.mch -0.01%
FullOpts (+0.05% to +0.06%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.06%
benchmarks.run_pgo.linux.arm64.checked.mch +0.06%
benchmarks.run_tiered.linux.arm64.checked.mch +0.06%
coreclr_tests.run.linux.arm64.checked.mch +0.06%
libraries.crossgen2.linux.arm64.checked.mch +0.06%
libraries.pmi.linux.arm64.checked.mch +0.05%
libraries_tests.run.linux.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.05%
realworld.run.linux.arm64.checked.mch +0.05%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.06%

Throughput diffs for linux/x64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.06%
benchmarks.run_pgo.linux.x64.checked.mch +0.05%
benchmarks.run_tiered.linux.x64.checked.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.04%
libraries.crossgen2.linux.x64.checked.mch +0.06%
libraries.pmi.linux.x64.checked.mch +0.06%
libraries_tests.run.linux.x64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.05%
realworld.run.linux.x64.checked.mch +0.05%
smoke_tests.nativeaot.linux.x64.checked.mch +0.06%
FullOpts (+0.06%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.06%
benchmarks.run_pgo.linux.x64.checked.mch +0.06%
benchmarks.run_tiered.linux.x64.checked.mch +0.06%
coreclr_tests.run.linux.x64.checked.mch +0.06%
libraries.crossgen2.linux.x64.checked.mch +0.06%
libraries.pmi.linux.x64.checked.mch +0.06%
libraries_tests.run.linux.x64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.06%
realworld.run.linux.x64.checked.mch +0.06%
smoke_tests.nativeaot.linux.x64.checked.mch +0.06%

Throughput diffs for osx/arm64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.06%
benchmarks.run_pgo.osx.arm64.checked.mch +0.06%
benchmarks.run_tiered.osx.arm64.checked.mch +0.03%
coreclr_tests.run.osx.arm64.checked.mch +0.03%
libraries.crossgen2.osx.arm64.checked.mch +0.06%
libraries.pmi.osx.arm64.checked.mch +0.05%
libraries_tests.run.osx.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.05%
realworld.run.osx.arm64.checked.mch +0.05%
FullOpts (+0.05% to +0.07%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.06%
benchmarks.run_pgo.osx.arm64.checked.mch +0.07%
benchmarks.run_tiered.osx.arm64.checked.mch +0.06%
coreclr_tests.run.osx.arm64.checked.mch +0.06%
libraries.crossgen2.osx.arm64.checked.mch +0.06%
libraries.pmi.osx.arm64.checked.mch +0.05%
libraries_tests.run.osx.arm64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.05%
realworld.run.osx.arm64.checked.mch +0.05%

Throughput diffs for windows/arm64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
benchmarks.run_tiered.windows.arm64.checked.mch +0.04%
coreclr_tests.run.windows.arm64.checked.mch +0.03%
libraries.crossgen2.windows.arm64.checked.mch +0.06%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.05%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.06%
MinOpts (-0.01% to +0.00%)
Collection PDIFF
libraries.pmi.windows.arm64.checked.mch -0.01%
FullOpts (+0.05% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.06%
benchmarks.run_tiered.windows.arm64.checked.mch +0.06%
coreclr_tests.run.windows.arm64.checked.mch +0.06%
libraries.crossgen2.windows.arm64.checked.mch +0.06%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.05%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.06%

Throughput diffs for windows/x64 ran on windows/x64

Overall (+0.04% to +0.07%)
Collection PDIFF
benchmarks.run.windows.x64.checked.mch +0.06%
benchmarks.run_pgo.windows.x64.checked.mch +0.07%
benchmarks.run_tiered.windows.x64.checked.mch +0.04%
coreclr_tests.run.windows.x64.checked.mch +0.04%
libraries.crossgen2.windows.x64.checked.mch +0.06%
libraries.pmi.windows.x64.checked.mch +0.06%
libraries_tests.run.windows.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.06%
realworld.run.windows.x64.checked.mch +0.06%
smoke_tests.nativeaot.windows.x64.checked.mch +0.06%
FullOpts (+0.06% to +0.08%)
Collection PDIFF
benchmarks.run.windows.x64.checked.mch +0.06%
benchmarks.run_pgo.windows.x64.checked.mch +0.08%
benchmarks.run_tiered.windows.x64.checked.mch +0.06%
coreclr_tests.run.windows.x64.checked.mch +0.06%
libraries.crossgen2.windows.x64.checked.mch +0.06%
libraries.pmi.windows.x64.checked.mch +0.06%
libraries_tests.run.windows.x64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.06%
realworld.run.windows.x64.checked.mch +0.06%
smoke_tests.nativeaot.windows.x64.checked.mch +0.06%

Details here


Throughput diffs for linux/arm64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.04%
benchmarks.run_tiered.linux.arm64.checked.mch +0.02%
libraries_tests.run.linux.arm64.Release.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.03%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.03%
libraries.pmi.linux.arm64.checked.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.04%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.04%

Throughput diffs for linux/x64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
libraries_tests.run.linux.x64.Release.mch +0.03%
realworld.run.linux.x64.checked.mch +0.03%
benchmarks.run.linux.x64.checked.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.02%
libraries.pmi.linux.x64.checked.mch +0.04%
coreclr_tests.run.linux.x64.checked.mch +0.02%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
libraries_tests.run.linux.x64.Release.mch +0.03%
realworld.run.linux.x64.checked.mch +0.03%
benchmarks.run.linux.x64.checked.mch +0.04%
libraries.crossgen2.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
libraries.pmi.linux.x64.checked.mch +0.04%
coreclr_tests.run.linux.x64.checked.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%

Details here


Throughput diffs for linux/arm ran on windows/x86

Overall (+0.00% to +0.01%)
Collection PDIFF
libraries.crossgen2.linux.arm.checked.mch +0.01%
FullOpts (+0.00% to +0.01%)
Collection PDIFF
libraries.crossgen2.linux.arm.checked.mch +0.01%

Throughput diffs for windows/x86 ran on windows/x86

Overall (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.03%
benchmarks.run_tiered.windows.x86.checked.mch +0.03%
coreclr_tests.run.windows.x86.checked.mch +0.03%
libraries.crossgen2.windows.x86.checked.mch +0.04%
libraries.pmi.windows.x86.checked.mch +0.04%
libraries_tests.run.windows.x86.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.04%
realworld.run.windows.x86.checked.mch +0.04%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.03%
benchmarks.run_tiered.windows.x86.checked.mch +0.04%
coreclr_tests.run.windows.x86.checked.mch +0.04%
libraries.crossgen2.windows.x86.checked.mch +0.04%
libraries.pmi.windows.x86.checked.mch +0.04%
libraries_tests.run.windows.x86.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.04%
realworld.run.windows.x86.checked.mch +0.04%

Details here


@ryujit-bot
Copy link

Diff results for #97616

Assembly diffs

Assembly diffs for osx/arm64 ran on linux/x64

Diffs are based on 2,029,495 contexts (927,368 MinOpts, 1,102,127 FullOpts).

Overall (+5,328 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 11,185,204 -96
benchmarks.run_pgo.osx.arm64.checked.mch 34,557,412 +512
benchmarks.run_tiered.osx.arm64.checked.mch 15,509,064 -24
coreclr_tests.run.osx.arm64.checked.mch 483,595,956 +1,780
libraries.pmi.osx.arm64.checked.mch 80,212,804 -716
libraries_tests.run.osx.arm64.Release.mch 314,052,980 +5,072
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 163,157,008 -1,452
realworld.run.osx.arm64.checked.mch 15,077,580 +252
FullOpts (+5,328 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 11,184,576 -96
benchmarks.run_pgo.osx.arm64.checked.mch 18,184,064 +512
benchmarks.run_tiered.osx.arm64.checked.mch 4,004,792 -24
coreclr_tests.run.osx.arm64.checked.mch 153,423,188 +1,780
libraries.pmi.osx.arm64.checked.mch 80,091,676 -716
libraries_tests.run.osx.arm64.Release.mch 112,315,392 +5,072
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 150,003,316 -1,452
realworld.run.osx.arm64.checked.mch 14,513,628 +252

Assembly diffs for windows/arm64 ran on linux/x64

Diffs are based on 2,070,988 contexts (937,853 MinOpts, 1,133,135 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (+5,088 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 10,966,516 -116
benchmarks.run_pgo.windows.arm64.checked.mch 46,635,420 +3,936
benchmarks.run_tiered.windows.arm64.checked.mch 15,506,668 -8
coreclr_tests.run.windows.arm64.checked.mch 496,311,696 +1,632
libraries.pmi.windows.arm64.checked.mch 79,840,268 -856
libraries_tests.run.windows.arm64.Release.mch 327,035,492 +1,772
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 171,570,108 -1,512
realworld.run.windows.arm64.checked.mch 15,892,956 +240
FullOpts (+5,088 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 10,965,980 -116
benchmarks.run_pgo.windows.arm64.checked.mch 30,377,228 +3,936
benchmarks.run_tiered.windows.arm64.checked.mch 4,328,920 -8
coreclr_tests.run.windows.arm64.checked.mch 156,637,292 +1,632
libraries.pmi.windows.arm64.checked.mch 79,720,284 -856
libraries_tests.run.windows.arm64.Release.mch 123,561,644 +1,772
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 158,416,396 -1,512
realworld.run.windows.arm64.checked.mch 15,328,976 +240

Assembly diffs for windows/x64 ran on linux/x64

Diffs are based on 2,098,663 contexts (926,221 MinOpts, 1,172,442 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (+1,740 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x64.checked.mch 8,738,045 -156
benchmarks.run_pgo.windows.x64.checked.mch 35,808,303 +391
benchmarks.run_tiered.windows.x64.checked.mch 12,549,902 -106
coreclr_tests.run.windows.x64.checked.mch 392,970,662 +643
libraries.pmi.windows.x64.checked.mch 61,646,096 -102
libraries_tests.run.windows.x64.Release.mch 279,151,239 +5,760
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 137,561,629 -4,427
realworld.run.windows.x64.checked.mch 14,185,074 -263
FullOpts (+1,740 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x64.checked.mch 8,737,682 -156
benchmarks.run_pgo.windows.x64.checked.mch 21,776,222 +391
benchmarks.run_tiered.windows.x64.checked.mch 3,454,165 -106
coreclr_tests.run.windows.x64.checked.mch 120,248,684 +643
libraries.pmi.windows.x64.checked.mch 61,532,575 -102
libraries_tests.run.windows.x64.Release.mch 106,976,623 +5,760
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 126,635,563 -4,427
realworld.run.windows.x64.checked.mch 13,798,465 -263

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.06%
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.06%
libraries.pmi.linux.arm64.checked.mch +0.05%
libraries_tests.run.linux.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.05%
realworld.run.linux.arm64.checked.mch +0.05%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.06%
MinOpts (-0.01% to +0.00%)
Collection PDIFF
libraries.pmi.linux.arm64.checked.mch -0.01%
FullOpts (+0.05% to +0.06%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.06%
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
benchmarks.run_tiered.linux.arm64.checked.mch +0.06%
coreclr_tests.run.linux.arm64.checked.mch +0.05%
libraries.crossgen2.linux.arm64.checked.mch +0.06%
libraries.pmi.linux.arm64.checked.mch +0.05%
libraries_tests.run.linux.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.05%
realworld.run.linux.arm64.checked.mch +0.05%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.06%

Throughput diffs for linux/x64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.06%
benchmarks.run_pgo.linux.x64.checked.mch +0.05%
benchmarks.run_tiered.linux.x64.checked.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.06%
libraries.pmi.linux.x64.checked.mch +0.06%
libraries_tests.run.linux.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.05%
realworld.run.linux.x64.checked.mch +0.06%
smoke_tests.nativeaot.linux.x64.checked.mch +0.06%
FullOpts (+0.06%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.06%
benchmarks.run_pgo.linux.x64.checked.mch +0.06%
benchmarks.run_tiered.linux.x64.checked.mch +0.06%
coreclr_tests.run.linux.x64.checked.mch +0.06%
libraries.crossgen2.linux.x64.checked.mch +0.06%
libraries.pmi.linux.x64.checked.mch +0.06%
libraries_tests.run.linux.x64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.06%
realworld.run.linux.x64.checked.mch +0.06%
smoke_tests.nativeaot.linux.x64.checked.mch +0.06%

Throughput diffs for osx/arm64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.06%
benchmarks.run_pgo.osx.arm64.checked.mch +0.04%
benchmarks.run_tiered.osx.arm64.checked.mch +0.03%
coreclr_tests.run.osx.arm64.checked.mch +0.03%
libraries.crossgen2.osx.arm64.checked.mch +0.06%
libraries.pmi.osx.arm64.checked.mch +0.05%
libraries_tests.run.osx.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.05%
realworld.run.osx.arm64.checked.mch +0.05%
MinOpts (-0.01% to +0.00%)
Collection PDIFF
libraries.pmi.osx.arm64.checked.mch -0.01%
FullOpts (+0.05% to +0.06%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.06%
benchmarks.run_pgo.osx.arm64.checked.mch +0.05%
benchmarks.run_tiered.osx.arm64.checked.mch +0.06%
coreclr_tests.run.osx.arm64.checked.mch +0.05%
libraries.crossgen2.osx.arm64.checked.mch +0.06%
libraries.pmi.osx.arm64.checked.mch +0.05%
libraries_tests.run.osx.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.05%
realworld.run.osx.arm64.checked.mch +0.05%

Throughput diffs for windows/arm64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
benchmarks.run_tiered.windows.arm64.checked.mch +0.03%
coreclr_tests.run.windows.arm64.checked.mch +0.03%
libraries.crossgen2.windows.arm64.checked.mch +0.06%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.05%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.06%
MinOpts (-0.01% to +0.00%)
Collection PDIFF
libraries.pmi.windows.arm64.checked.mch -0.01%
FullOpts (+0.05% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
benchmarks.run_tiered.windows.arm64.checked.mch +0.06%
coreclr_tests.run.windows.arm64.checked.mch +0.05%
libraries.crossgen2.windows.arm64.checked.mch +0.06%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.05%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.06%

Throughput diffs for windows/x64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.x64.checked.mch +0.06%
benchmarks.run_pgo.windows.x64.checked.mch +0.05%
benchmarks.run_tiered.windows.x64.checked.mch +0.04%
coreclr_tests.run.windows.x64.checked.mch +0.03%
libraries.crossgen2.windows.x64.checked.mch +0.06%
libraries.pmi.windows.x64.checked.mch +0.06%
libraries_tests.run.windows.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.06%
realworld.run.windows.x64.checked.mch +0.06%
smoke_tests.nativeaot.windows.x64.checked.mch +0.06%
FullOpts (+0.06%)
Collection PDIFF
benchmarks.run.windows.x64.checked.mch +0.06%
benchmarks.run_pgo.windows.x64.checked.mch +0.06%
benchmarks.run_tiered.windows.x64.checked.mch +0.06%
coreclr_tests.run.windows.x64.checked.mch +0.06%
libraries.crossgen2.windows.x64.checked.mch +0.06%
libraries.pmi.windows.x64.checked.mch +0.06%
libraries_tests.run.windows.x64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.06%
realworld.run.windows.x64.checked.mch +0.06%
smoke_tests.nativeaot.windows.x64.checked.mch +0.06%

Details here


Throughput diffs for linux/arm ran on linux/x86

Overall (+0.00% to +0.01%)
Collection PDIFF
libraries.crossgen2.linux.arm.checked.mch +0.01%
FullOpts (+0.00% to +0.01%)
Collection PDIFF
libraries.crossgen2.linux.arm.checked.mch +0.01%

Throughput diffs for windows/x86 ran on linux/x86

Overall (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.03%
benchmarks.run_tiered.windows.x86.checked.mch +0.03%
coreclr_tests.run.windows.x86.checked.mch +0.03%
libraries.crossgen2.windows.x86.checked.mch +0.04%
libraries.pmi.windows.x86.checked.mch +0.04%
libraries_tests.run.windows.x86.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.04%
realworld.run.windows.x86.checked.mch +0.04%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.03%
benchmarks.run_tiered.windows.x86.checked.mch +0.04%
coreclr_tests.run.windows.x86.checked.mch +0.04%
libraries.crossgen2.windows.x86.checked.mch +0.04%
libraries.pmi.windows.x86.checked.mch +0.04%
libraries_tests.run.windows.x86.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.04%
realworld.run.windows.x86.checked.mch +0.04%

Details here


@tannergooding
Copy link
Member Author

CC. @dotnet/jit-contrib

Diffs show a good number of wins, especially in the hot parts of code due to the reused constants being hoisted. There are, however, notably some regressions. This appears to be mostly just caused due to different register selection causing small (but execution wise cheaper) regressions.

I think overall this is a net win for users in typical SIMD code (excepting when a call exists) and the remaining issues are known general cases that exist for all SIMD code.

Improvements

For example on Arm64:

-            sub     v20.16b, v16.16b, v20.16b
-            ldr     q21, [@RWD00]
-            sub     v21.16b, v17.16b, v21.16b
-            ldr     q22, [@RWD00]
-            sub     v22.16b, v18.16b, v22.16b
-            ldr     q23, [@RWD00]
-            sub     v23.16b, v19.16b, v23.16b
-            ldr     q24, [@RWD16]
-            cmgt    v20.16b, v24.16b, v20.16b
-            ldr     q24, [@RWD16]
-            cmgt    v21.16b, v24.16b, v21.16b
-            ldr     q24, [@RWD16]
-            cmgt    v22.16b, v24.16b, v22.16b
-            ldr     q24, [@RWD16]
-            cmgt    v23.16b, v24.16b, v23.16b
-            ldr     q24, [@RWD32]
-            and     v20.16b, v20.16b, v24.16b
-            ldr     q24, [@RWD32]
-            and     v21.16b, v21.16b, v24.16b
-            ldr     q24, [@RWD32]
-            and     v22.16b, v22.16b, v24.16b
-            ldr     q24, [@RWD32]
-            and     v23.16b, v23.16b, v24.16b
-            eor     v16.16b, v16.16b, v20.16b
-            eor     v17.16b, v17.16b, v21.16b
-            eor     v18.16b, v18.16b, v22.16b
-            eor     v19.16b, v19.16b, v23.16b
+            ldr     q21, [@RWD16]
+            ldr     q22, [@RWD32]
+            sub     v23.16b, v16.16b, v20.16b
+            sub     v24.16b, v17.16b, v20.16b
+            sub     v25.16b, v18.16b, v20.16b
+            sub     v20.16b, v19.16b, v20.16b
+            cmgt    v23.16b, v21.16b, v23.16b
+            cmgt    v24.16b, v21.16b, v24.16b
+            cmgt    v25.16b, v21.16b, v25.16b
+            cmgt    v20.16b, v21.16b, v20.16b
+            and     v21.16b, v23.16b, v22.16b
+            and     v23.16b, v24.16b, v22.16b
+            and     v24.16b, v25.16b, v22.16b
+            and     v20.16b, v20.16b, v22.16b
+            eor     v16.16b, v16.16b, v21.16b
+            eor     v17.16b, v17.16b, v23.16b
+            eor     v18.16b, v18.16b, v24.16b
+            eor     v19.16b, v19.16b, v20.16b

or on x64:

       vpclmulqdq xmm4, xmm0, xmmword ptr [reloc @RWD16], 17
-       vpclmulqdq xmm0, xmm0, xmmword ptr [reloc @RWD16], 0
-       vpternlogq xmm1, xmm4, xmm0, -106
+       vmovups  xmm4, xmmword ptr [reloc @RWD16]
+       vpclmulqdq xmm5, xmm0, xmm4, 17
+       vpclmulqdq xmm0, xmm0, xmm4, 0
+       vpternlogq xmm1, xmm5, xmm0, -106
        vmovaps  xmm0, xmm1
-       vpclmulqdq xmm1, xmm0, xmmword ptr [reloc @RWD16], 17
-       vpclmulqdq xmm0, xmm0, xmmword ptr [reloc @RWD16], 0
+       vpclmulqdq xmm1, xmm0, xmm4, 17
+       vpclmulqdq xmm0, xmm0, xmm4, 0
        vpternlogq xmm2, xmm1, xmm0, -106
        vmovaps  xmm0, xmm2
-       vpclmulqdq xmm1, xmm0, xmmword ptr [reloc @RWD16], 17
-       vpclmulqdq xmm0, xmm0, xmmword ptr [reloc @RWD16], 0
+       vpclmulqdq xmm1, xmm0, xmm4, 17
+       vpclmulqdq xmm0, xmm0, xmm4, 0

Regressions

For example on Arm64 the register selection causes us to shuffle data around more (note the move sequence at the bottom where its moving v1 into v0; v2 into v1, v3 into v2, and v0 into v3):

-            umin    v0.8h, v1.8h, v0.8h
-            ldr     q1, [@RWD00]
+            umin    v1.8h, v1.8h, v0.8h
             ldr     q2, [fp, #0x30]   // [V27 tmp25]
-            umin    v1.8h, v2.8h, v1.8h
-            ldr     q2, [@RWD00]
+            umin    v0.8h, v2.8h, v0.8h
+            mov     v2.16b, v0.16b
+            ldr     q0, [@RWD00]
             ldr     q3, [fp, #0x20]    // [V28 tmp26]
-            umin    v2.8h, v3.8h, v2.8h
-            ldr     q3, [@RWD00]
+            umin    v3.8h, v3.8h, v0.8h
             ldr     q16, [fp, #0x10]  // [V29 tmp27]
-            umin    v3.8h, v16.8h, v3.8h
+            umin    v0.8h, v16.8h, v0.8h
+            mov     v16.16b, v0.16b
+            mov     v0.16b, v1.16b
+            mov     v1.16b, v2.16b
+            mov     v2.16b, v3.16b
+            mov     v3.16b, v16.16b

Similarly on x64 we have cases where we'll avoid propagating because we don't take into account float/simd values living across a call and the potential for an increased spill cost in some cases (this is a known and pre-existing issue): https://github.com/dotnet/runtime/blob/main/src/coreclr/jit/assertionprop.cpp#L3066-L3068

+       vextractf128 xmm7, ymm6, 1
        call     [<unknown method>]
        ; gcr arg pop 0
-       vmovups  ymm0, ymmword ptr [rsp+0x40]
-       vaddpd   ymm0, ymm0, qword ptr [reloc @RWD08] {1to4}
-       vmovups  ymm1, ymmword ptr [reloc @RWD32]
-       vdivpd   ymm0, ymm1, ymm0
+       vinsertf128 ymm6, ymm6, xmm7, 1
+       vaddpd   ymm0, ymm6, ymmword ptr [rsp+0x40]
+       vdivpd   ymm0, ymm6, ymm0

@ryujit-bot
Copy link

Diff results for #97616

Assembly diffs

Assembly diffs for linux/arm64 ran on windows/x64

Diffs are based on 2,259,628 contexts (1,008,044 MinOpts, 1,251,584 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (+12,248 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 14,972,852 -116
benchmarks.run_pgo.linux.arm64.checked.mch 79,928,956 +4,528
benchmarks.run_tiered.linux.arm64.checked.mch 22,277,428 +0
coreclr_tests.run.linux.arm64.checked.mch 509,755,756 +3,388
libraries.pmi.linux.arm64.checked.mch 76,286,724 -828
libraries_tests.run.linux.arm64.Release.mch 400,455,948 +6,556
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 165,114,004 -1,516
realworld.run.linux.arm64.checked.mch 15,918,404 +236
FullOpts (+12,248 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 14,713,100 -116
benchmarks.run_pgo.linux.arm64.checked.mch 54,380,584 +4,528
benchmarks.run_tiered.linux.arm64.checked.mch 4,938,464 +0
coreclr_tests.run.linux.arm64.checked.mch 160,847,900 +3,388
libraries.pmi.linux.arm64.checked.mch 76,166,740 -828
libraries_tests.run.linux.arm64.Release.mch 183,717,044 +6,556
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 151,616,728 -1,516
realworld.run.linux.arm64.checked.mch 15,336,864 +236

Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 2,249,837 contexts (981,298 MinOpts, 1,268,539 FullOpts).

Overall (-6,269 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 13,724,246 -222
benchmarks.run_pgo.linux.x64.checked.mch 69,179,263 +384
benchmarks.run_tiered.linux.x64.checked.mch 15,898,771 -36
coreclr_tests.run.linux.x64.checked.mch 403,326,777 +202
libraries.pmi.linux.x64.checked.mch 60,406,292 -131
libraries_tests.run.linux.x64.Release.mch 348,614,608 -294
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 132,684,821 -5,395
realworld.run.linux.x64.checked.mch 13,212,488 -777
FullOpts (-6,269 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 13,460,313 -222
benchmarks.run_pgo.linux.x64.checked.mch 47,837,218 +384
benchmarks.run_tiered.linux.x64.checked.mch 3,640,387 -36
coreclr_tests.run.linux.x64.checked.mch 123,835,616 +202
libraries.pmi.linux.x64.checked.mch 60,293,435 -131
libraries_tests.run.linux.x64.Release.mch 164,859,444 -294
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 122,067,035 -5,395
realworld.run.linux.x64.checked.mch 12,823,606 -777

Details here


Assembly diffs for windows/x86 ran on windows/x86

Diffs are based on 2,291,563 contexts (838,165 MinOpts, 1,453,398 FullOpts).

Overall (-5,513 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,125,319 -120
benchmarks.run_pgo.windows.x86.checked.mch 45,177,532 -58
benchmarks.run_tiered.windows.x86.checked.mch 9,477,525 -71
coreclr_tests.run.windows.x86.checked.mch 309,448,393 -139
libraries.crossgen2.windows.x86.checked.mch 31,718,267 -62
libraries.pmi.windows.x86.checked.mch 49,273,768 -135
libraries_tests.run.windows.x86.Release.mch 185,799,057 -906
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 103,837,385 -4,238
realworld.run.windows.x86.checked.mch 11,342,063 +216
FullOpts (-5,513 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,125,038 -120
benchmarks.run_pgo.windows.x86.checked.mch 38,565,166 -58
benchmarks.run_tiered.windows.x86.checked.mch 5,207,933 -71
coreclr_tests.run.windows.x86.checked.mch 107,652,816 -139
libraries.crossgen2.windows.x86.checked.mch 31,717,207 -62
libraries.pmi.windows.x86.checked.mch 49,178,535 -135
libraries_tests.run.windows.x86.Release.mch 88,499,017 -906
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 95,157,324 -4,238
realworld.run.windows.x86.checked.mch 11,046,349 +216

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run_pgo.linux.arm64.checked.mch +0.03%
benchmarks.run_tiered.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries_tests.run.linux.arm64.Release.mch +0.02%
libraries.crossgen2.linux.arm64.checked.mch +0.04%
benchmarks.run.linux.arm64.checked.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run_pgo.linux.arm64.checked.mch +0.03%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
libraries.pmi.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.04%
benchmarks.run.linux.arm64.checked.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%

Throughput diffs for linux/x64 ran on linux/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.06%
benchmarks.run_pgo.linux.x64.checked.mch +0.05%
benchmarks.run_tiered.linux.x64.checked.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.06%
libraries.pmi.linux.x64.checked.mch +0.06%
libraries_tests.run.linux.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.05%
realworld.run.linux.x64.checked.mch +0.06%
smoke_tests.nativeaot.linux.x64.checked.mch +0.06%
FullOpts (+0.06%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.06%
benchmarks.run_pgo.linux.x64.checked.mch +0.06%
benchmarks.run_tiered.linux.x64.checked.mch +0.06%
coreclr_tests.run.linux.x64.checked.mch +0.06%
libraries.crossgen2.linux.x64.checked.mch +0.06%
libraries.pmi.linux.x64.checked.mch +0.06%
libraries_tests.run.linux.x64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.06%
realworld.run.linux.x64.checked.mch +0.06%
smoke_tests.nativeaot.linux.x64.checked.mch +0.06%

Throughput diffs for osx/arm64 ran on linux/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.06%
benchmarks.run_pgo.osx.arm64.checked.mch +0.04%
benchmarks.run_tiered.osx.arm64.checked.mch +0.03%
coreclr_tests.run.osx.arm64.checked.mch +0.03%
libraries.crossgen2.osx.arm64.checked.mch +0.06%
libraries.pmi.osx.arm64.checked.mch +0.05%
libraries_tests.run.osx.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.05%
realworld.run.osx.arm64.checked.mch +0.05%
FullOpts (+0.05% to +0.06%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.06%
benchmarks.run_pgo.osx.arm64.checked.mch +0.05%
benchmarks.run_tiered.osx.arm64.checked.mch +0.06%
coreclr_tests.run.osx.arm64.checked.mch +0.05%
libraries.crossgen2.osx.arm64.checked.mch +0.06%
libraries.pmi.osx.arm64.checked.mch +0.05%
libraries_tests.run.osx.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.05%
realworld.run.osx.arm64.checked.mch +0.05%

Throughput diffs for windows/arm64 ran on linux/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
benchmarks.run_tiered.windows.arm64.checked.mch +0.03%
coreclr_tests.run.windows.arm64.checked.mch +0.03%
libraries.crossgen2.windows.arm64.checked.mch +0.06%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.05%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.06%
FullOpts (+0.05% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
benchmarks.run_tiered.windows.arm64.checked.mch +0.06%
coreclr_tests.run.windows.arm64.checked.mch +0.05%
libraries.crossgen2.windows.arm64.checked.mch +0.06%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.05%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.06%

Throughput diffs for windows/x64 ran on linux/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.x64.checked.mch +0.06%
benchmarks.run_pgo.windows.x64.checked.mch +0.05%
benchmarks.run_tiered.windows.x64.checked.mch +0.04%
coreclr_tests.run.windows.x64.checked.mch +0.03%
libraries.crossgen2.windows.x64.checked.mch +0.06%
libraries.pmi.windows.x64.checked.mch +0.06%
libraries_tests.run.windows.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.06%
realworld.run.windows.x64.checked.mch +0.06%
smoke_tests.nativeaot.windows.x64.checked.mch +0.06%
FullOpts (+0.06%)
Collection PDIFF
benchmarks.run.windows.x64.checked.mch +0.06%
benchmarks.run_pgo.windows.x64.checked.mch +0.06%
benchmarks.run_tiered.windows.x64.checked.mch +0.06%
coreclr_tests.run.windows.x64.checked.mch +0.06%
libraries.crossgen2.windows.x64.checked.mch +0.06%
libraries.pmi.windows.x64.checked.mch +0.06%
libraries_tests.run.windows.x64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.06%
realworld.run.windows.x64.checked.mch +0.06%
smoke_tests.nativeaot.windows.x64.checked.mch +0.06%

Details here


@ryujit-bot
Copy link

Diff results for #97616

Assembly diffs

Assembly diffs for linux/arm64 ran on windows/x64

Diffs are based on 2,259,628 contexts (1,008,044 MinOpts, 1,251,584 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (+12,248 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 14,972,852 -116
benchmarks.run_pgo.linux.arm64.checked.mch 79,928,956 +4,528
benchmarks.run_tiered.linux.arm64.checked.mch 22,277,428 +0
coreclr_tests.run.linux.arm64.checked.mch 509,755,756 +3,388
libraries.pmi.linux.arm64.checked.mch 76,286,724 -828
libraries_tests.run.linux.arm64.Release.mch 400,455,948 +6,556
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 165,114,004 -1,516
realworld.run.linux.arm64.checked.mch 15,918,404 +236
FullOpts (+12,248 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 14,713,100 -116
benchmarks.run_pgo.linux.arm64.checked.mch 54,380,584 +4,528
benchmarks.run_tiered.linux.arm64.checked.mch 4,938,464 +0
coreclr_tests.run.linux.arm64.checked.mch 160,847,900 +3,388
libraries.pmi.linux.arm64.checked.mch 76,166,740 -828
libraries_tests.run.linux.arm64.Release.mch 183,717,044 +6,556
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 151,616,728 -1,516
realworld.run.linux.arm64.checked.mch 15,336,864 +236

Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 2,249,837 contexts (981,298 MinOpts, 1,268,539 FullOpts).

Overall (-6,269 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 13,724,246 -222
benchmarks.run_pgo.linux.x64.checked.mch 69,179,263 +384
benchmarks.run_tiered.linux.x64.checked.mch 15,898,771 -36
coreclr_tests.run.linux.x64.checked.mch 403,326,777 +202
libraries.pmi.linux.x64.checked.mch 60,406,292 -131
libraries_tests.run.linux.x64.Release.mch 348,614,608 -294
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 132,684,821 -5,395
realworld.run.linux.x64.checked.mch 13,212,488 -777
FullOpts (-6,269 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 13,460,313 -222
benchmarks.run_pgo.linux.x64.checked.mch 47,837,218 +384
benchmarks.run_tiered.linux.x64.checked.mch 3,640,387 -36
coreclr_tests.run.linux.x64.checked.mch 123,835,616 +202
libraries.pmi.linux.x64.checked.mch 60,293,435 -131
libraries_tests.run.linux.x64.Release.mch 164,859,444 -294
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 122,067,035 -5,395
realworld.run.linux.x64.checked.mch 12,823,606 -777

Assembly diffs for osx/arm64 ran on windows/x64

Diffs are based on 2,029,495 contexts (927,368 MinOpts, 1,102,127 FullOpts).

Overall (+5,328 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 11,185,204 -96
benchmarks.run_pgo.osx.arm64.checked.mch 34,557,412 +512
benchmarks.run_tiered.osx.arm64.checked.mch 15,509,064 -24
coreclr_tests.run.osx.arm64.checked.mch 483,595,956 +1,780
libraries.pmi.osx.arm64.checked.mch 80,212,804 -716
libraries_tests.run.osx.arm64.Release.mch 314,052,980 +5,072
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 163,157,008 -1,452
realworld.run.osx.arm64.checked.mch 15,077,580 +252
FullOpts (+5,328 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 11,184,576 -96
benchmarks.run_pgo.osx.arm64.checked.mch 18,184,064 +512
benchmarks.run_tiered.osx.arm64.checked.mch 4,004,792 -24
coreclr_tests.run.osx.arm64.checked.mch 153,423,188 +1,780
libraries.pmi.osx.arm64.checked.mch 80,091,676 -716
libraries_tests.run.osx.arm64.Release.mch 112,315,392 +5,072
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 150,003,316 -1,452
realworld.run.osx.arm64.checked.mch 14,513,628 +252

Assembly diffs for windows/arm64 ran on windows/x64

Diffs are based on 2,070,988 contexts (937,853 MinOpts, 1,133,135 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (+5,088 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 10,966,516 -116
benchmarks.run_pgo.windows.arm64.checked.mch 46,635,420 +3,936
benchmarks.run_tiered.windows.arm64.checked.mch 15,506,668 -8
coreclr_tests.run.windows.arm64.checked.mch 496,311,696 +1,632
libraries.pmi.windows.arm64.checked.mch 79,840,268 -856
libraries_tests.run.windows.arm64.Release.mch 327,035,492 +1,772
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 171,570,108 -1,512
realworld.run.windows.arm64.checked.mch 15,892,956 +240
FullOpts (+5,088 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 10,965,980 -116
benchmarks.run_pgo.windows.arm64.checked.mch 30,377,228 +3,936
benchmarks.run_tiered.windows.arm64.checked.mch 4,328,920 -8
coreclr_tests.run.windows.arm64.checked.mch 156,637,292 +1,632
libraries.pmi.windows.arm64.checked.mch 79,720,284 -856
libraries_tests.run.windows.arm64.Release.mch 123,561,644 +1,772
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 158,416,396 -1,512
realworld.run.windows.arm64.checked.mch 15,328,976 +240

Assembly diffs for windows/x64 ran on windows/x64

Diffs are based on 2,098,663 contexts (926,221 MinOpts, 1,172,442 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (+1,740 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x64.checked.mch 8,738,045 -156
benchmarks.run_pgo.windows.x64.checked.mch 35,808,303 +391
benchmarks.run_tiered.windows.x64.checked.mch 12,549,902 -106
coreclr_tests.run.windows.x64.checked.mch 392,970,662 +643
libraries.pmi.windows.x64.checked.mch 61,646,096 -102
libraries_tests.run.windows.x64.Release.mch 279,151,239 +5,760
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 137,561,629 -4,427
realworld.run.windows.x64.checked.mch 14,185,074 -263
FullOpts (+1,740 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x64.checked.mch 8,737,682 -156
benchmarks.run_pgo.windows.x64.checked.mch 21,776,222 +391
benchmarks.run_tiered.windows.x64.checked.mch 3,454,165 -106
coreclr_tests.run.windows.x64.checked.mch 120,248,684 +643
libraries.pmi.windows.x64.checked.mch 61,532,575 -102
libraries_tests.run.windows.x64.Release.mch 106,976,623 +5,760
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 126,635,563 -4,427
realworld.run.windows.x64.checked.mch 13,798,465 -263

Details here


Assembly diffs for windows/x86 ran on windows/x86

Diffs are based on 2,291,563 contexts (838,165 MinOpts, 1,453,398 FullOpts).

Overall (-5,513 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,125,319 -120
benchmarks.run_pgo.windows.x86.checked.mch 45,177,532 -58
benchmarks.run_tiered.windows.x86.checked.mch 9,477,525 -71
coreclr_tests.run.windows.x86.checked.mch 309,448,393 -139
libraries.crossgen2.windows.x86.checked.mch 31,718,267 -62
libraries.pmi.windows.x86.checked.mch 49,273,768 -135
libraries_tests.run.windows.x86.Release.mch 185,799,057 -906
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 103,837,385 -4,238
realworld.run.windows.x86.checked.mch 11,342,063 +216
FullOpts (-5,513 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,125,038 -120
benchmarks.run_pgo.windows.x86.checked.mch 38,565,166 -58
benchmarks.run_tiered.windows.x86.checked.mch 5,207,933 -71
coreclr_tests.run.windows.x86.checked.mch 107,652,816 -139
libraries.crossgen2.windows.x86.checked.mch 31,717,207 -62
libraries.pmi.windows.x86.checked.mch 49,178,535 -135
libraries_tests.run.windows.x86.Release.mch 88,499,017 -906
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 95,157,324 -4,238
realworld.run.windows.x86.checked.mch 11,046,349 +216

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.06%
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.06%
libraries.pmi.linux.arm64.checked.mch +0.05%
libraries_tests.run.linux.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.05%
realworld.run.linux.arm64.checked.mch +0.05%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.06%
FullOpts (+0.05% to +0.06%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.06%
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
benchmarks.run_tiered.linux.arm64.checked.mch +0.06%
coreclr_tests.run.linux.arm64.checked.mch +0.05%
libraries.crossgen2.linux.arm64.checked.mch +0.06%
libraries.pmi.linux.arm64.checked.mch +0.05%
libraries_tests.run.linux.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.05%
realworld.run.linux.arm64.checked.mch +0.05%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.06%

Details here


Throughput diffs for linux/arm ran on windows/x86

Overall (+0.00% to +0.01%)
Collection PDIFF
libraries.crossgen2.linux.arm.checked.mch +0.01%
FullOpts (+0.00% to +0.01%)
Collection PDIFF
libraries.crossgen2.linux.arm.checked.mch +0.01%

Throughput diffs for windows/x86 ran on windows/x86

Overall (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.03%
benchmarks.run_tiered.windows.x86.checked.mch +0.03%
coreclr_tests.run.windows.x86.checked.mch +0.03%
libraries.crossgen2.windows.x86.checked.mch +0.04%
libraries.pmi.windows.x86.checked.mch +0.04%
libraries_tests.run.windows.x86.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.04%
realworld.run.windows.x86.checked.mch +0.04%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.03%
benchmarks.run_tiered.windows.x86.checked.mch +0.04%
coreclr_tests.run.windows.x86.checked.mch +0.04%
libraries.crossgen2.windows.x86.checked.mch +0.04%
libraries.pmi.windows.x86.checked.mch +0.04%
libraries_tests.run.windows.x86.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.04%
realworld.run.windows.x86.checked.mch +0.04%

Details here


Throughput diffs for linux/arm64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
coreclr_tests.run.linux.arm64.checked.mch +0.02%
realworld.run.linux.arm64.checked.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
benchmarks.run_tiered.linux.arm64.checked.mch +0.02%
benchmarks.run.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.04%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
coreclr_tests.run.linux.arm64.checked.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
benchmarks.run.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.03%
libraries.pmi.linux.arm64.checked.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.04%

Throughput diffs for linux/x64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.03%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.02%
libraries.crossgen2.linux.x64.checked.mch +0.04%
libraries.pmi.linux.x64.checked.mch +0.04%
realworld.run.linux.x64.checked.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.02%
libraries_tests.run.linux.x64.Release.mch +0.03%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.03%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
libraries.crossgen2.linux.x64.checked.mch +0.04%
libraries.pmi.linux.x64.checked.mch +0.04%
realworld.run.linux.x64.checked.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.03%
libraries_tests.run.linux.x64.Release.mch +0.03%

Details here


@ryujit-bot
Copy link

Diff results for #97616

Assembly diffs

Assembly diffs for linux/arm64 ran on windows/x64

Diffs are based on 2,259,470 contexts (1,008,044 MinOpts, 1,251,426 FullOpts).

MISSED contexts: 159 (0.01%)

Overall (+12,248 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 14,972,964 -116
benchmarks.run_pgo.linux.arm64.checked.mch 79,903,244 +4,528
benchmarks.run_tiered.linux.arm64.checked.mch 22,276,872 +0
coreclr_tests.run.linux.arm64.checked.mch 509,740,232 +3,388
libraries.pmi.linux.arm64.checked.mch 76,281,012 -828
libraries_tests.run.linux.arm64.Release.mch 400,018,960 +6,556
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 165,110,104 -1,516
realworld.run.linux.arm64.checked.mch 15,918,288 +236
FullOpts (+12,248 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 14,713,212 -116
benchmarks.run_pgo.linux.arm64.checked.mch 54,354,872 +4,528
benchmarks.run_tiered.linux.arm64.checked.mch 4,937,908 +0
coreclr_tests.run.linux.arm64.checked.mch 160,832,376 +3,388
libraries.pmi.linux.arm64.checked.mch 76,161,028 -828
libraries_tests.run.linux.arm64.Release.mch 183,280,056 +6,556
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 151,612,828 -1,516
realworld.run.linux.arm64.checked.mch 15,336,748 +236

Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 2,249,703 contexts (981,298 MinOpts, 1,268,405 FullOpts).

MISSED contexts: 134 (0.01%)

Overall (-6,226 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 13,723,744 -222
benchmarks.run_pgo.linux.x64.checked.mch 69,144,788 +384
benchmarks.run_tiered.linux.x64.checked.mch 15,897,809 -36
coreclr_tests.run.linux.x64.checked.mch 403,316,719 +202
libraries.pmi.linux.x64.checked.mch 60,405,907 -131
libraries_tests.run.linux.x64.Release.mch 348,249,945 -303
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 132,684,063 -5,395
realworld.run.linux.x64.checked.mch 13,212,110 -725
FullOpts (-6,226 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 13,459,811 -222
benchmarks.run_pgo.linux.x64.checked.mch 47,802,743 +384
benchmarks.run_tiered.linux.x64.checked.mch 3,639,425 -36
coreclr_tests.run.linux.x64.checked.mch 123,825,558 +202
libraries.pmi.linux.x64.checked.mch 60,293,050 -131
libraries_tests.run.linux.x64.Release.mch 164,494,781 -303
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 122,066,277 -5,395
realworld.run.linux.x64.checked.mch 12,823,228 -725

Assembly diffs for osx/arm64 ran on windows/x64

Diffs are based on 2,029,386 contexts (927,368 MinOpts, 1,102,018 FullOpts).

MISSED contexts: 109 (0.01%)

Overall (+5,328 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 11,185,284 -96
benchmarks.run_pgo.osx.arm64.checked.mch 34,533,064 +512
benchmarks.run_tiered.osx.arm64.checked.mch 15,508,464 -24
coreclr_tests.run.osx.arm64.checked.mch 483,586,020 +1,780
libraries.pmi.osx.arm64.checked.mch 80,207,064 -716
libraries_tests.run.osx.arm64.Release.mch 313,700,576 +5,072
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 163,153,084 -1,452
realworld.run.osx.arm64.checked.mch 15,075,948 +252
FullOpts (+5,328 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 11,184,656 -96
benchmarks.run_pgo.osx.arm64.checked.mch 18,159,716 +512
benchmarks.run_tiered.osx.arm64.checked.mch 4,004,192 -24
coreclr_tests.run.osx.arm64.checked.mch 153,413,252 +1,780
libraries.pmi.osx.arm64.checked.mch 80,085,936 -716
libraries_tests.run.osx.arm64.Release.mch 111,962,988 +5,072
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 149,999,392 -1,452
realworld.run.osx.arm64.checked.mch 14,511,996 +252

Assembly diffs for windows/arm64 ran on windows/x64

Diffs are based on 2,070,850 contexts (937,853 MinOpts, 1,132,997 FullOpts).

MISSED contexts: 139 (0.01%)

Overall (+5,088 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 10,966,596 -116
benchmarks.run_pgo.windows.arm64.checked.mch 46,609,220 +3,936
benchmarks.run_tiered.windows.arm64.checked.mch 15,506,140 -8
coreclr_tests.run.windows.arm64.checked.mch 496,298,628 +1,632
libraries.pmi.windows.arm64.checked.mch 79,834,280 -856
libraries_tests.run.windows.arm64.Release.mch 326,696,628 +1,772
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 171,564,828 -1,512
realworld.run.windows.arm64.checked.mch 15,891,320 +240
FullOpts (+5,088 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 10,966,060 -116
benchmarks.run_pgo.windows.arm64.checked.mch 30,351,028 +3,936
benchmarks.run_tiered.windows.arm64.checked.mch 4,328,392 -8
coreclr_tests.run.windows.arm64.checked.mch 156,624,224 +1,632
libraries.pmi.windows.arm64.checked.mch 79,714,296 -856
libraries_tests.run.windows.arm64.Release.mch 123,222,780 +1,772
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 158,411,116 -1,512
realworld.run.windows.arm64.checked.mch 15,327,340 +240

Assembly diffs for windows/x64 ran on windows/x64

Diffs are based on 2,098,526 contexts (926,221 MinOpts, 1,172,305 FullOpts).

MISSED contexts: 138 (0.01%)

Overall (+1,740 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x64.checked.mch 8,737,750 -156
benchmarks.run_pgo.windows.x64.checked.mch 35,778,033 +391
benchmarks.run_tiered.windows.x64.checked.mch 12,549,088 -106
coreclr_tests.run.windows.x64.checked.mch 392,964,649 +643
libraries.pmi.windows.x64.checked.mch 61,646,281 -102
libraries_tests.run.windows.x64.Release.mch 278,843,071 +5,760
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 137,561,184 -4,427
realworld.run.windows.x64.checked.mch 14,184,922 -263
FullOpts (+1,740 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x64.checked.mch 8,737,387 -156
benchmarks.run_pgo.windows.x64.checked.mch 21,745,952 +391
benchmarks.run_tiered.windows.x64.checked.mch 3,453,351 -106
coreclr_tests.run.windows.x64.checked.mch 120,242,671 +643
libraries.pmi.windows.x64.checked.mch 61,532,760 -102
libraries_tests.run.windows.x64.Release.mch 106,668,455 +5,760
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 126,635,118 -4,427
realworld.run.windows.x64.checked.mch 13,798,313 -263

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.06%
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.06%
libraries.pmi.linux.arm64.checked.mch +0.05%
libraries_tests.run.linux.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.05%
realworld.run.linux.arm64.checked.mch +0.05%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.06%
MinOpts (-0.01% to +0.00%)
Collection PDIFF
libraries.pmi.linux.arm64.checked.mch -0.01%
FullOpts (+0.05% to +0.06%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.06%
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
benchmarks.run_tiered.linux.arm64.checked.mch +0.06%
coreclr_tests.run.linux.arm64.checked.mch +0.05%
libraries.crossgen2.linux.arm64.checked.mch +0.06%
libraries.pmi.linux.arm64.checked.mch +0.05%
libraries_tests.run.linux.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.05%
realworld.run.linux.arm64.checked.mch +0.05%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.06%

Throughput diffs for linux/x64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.06%
benchmarks.run_pgo.linux.x64.checked.mch +0.05%
benchmarks.run_tiered.linux.x64.checked.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.06%
libraries.pmi.linux.x64.checked.mch +0.06%
libraries_tests.run.linux.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.05%
realworld.run.linux.x64.checked.mch +0.05%
smoke_tests.nativeaot.linux.x64.checked.mch +0.06%
FullOpts (+0.06%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.06%
benchmarks.run_pgo.linux.x64.checked.mch +0.06%
benchmarks.run_tiered.linux.x64.checked.mch +0.06%
coreclr_tests.run.linux.x64.checked.mch +0.06%
libraries.crossgen2.linux.x64.checked.mch +0.06%
libraries.pmi.linux.x64.checked.mch +0.06%
libraries_tests.run.linux.x64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.06%
realworld.run.linux.x64.checked.mch +0.06%
smoke_tests.nativeaot.linux.x64.checked.mch +0.06%

Throughput diffs for osx/arm64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.06%
benchmarks.run_pgo.osx.arm64.checked.mch +0.04%
benchmarks.run_tiered.osx.arm64.checked.mch +0.03%
coreclr_tests.run.osx.arm64.checked.mch +0.03%
libraries.crossgen2.osx.arm64.checked.mch +0.06%
libraries.pmi.osx.arm64.checked.mch +0.05%
libraries_tests.run.osx.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.05%
realworld.run.osx.arm64.checked.mch +0.05%
FullOpts (+0.05% to +0.06%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.06%
benchmarks.run_pgo.osx.arm64.checked.mch +0.05%
benchmarks.run_tiered.osx.arm64.checked.mch +0.06%
coreclr_tests.run.osx.arm64.checked.mch +0.05%
libraries.crossgen2.osx.arm64.checked.mch +0.06%
libraries.pmi.osx.arm64.checked.mch +0.05%
libraries_tests.run.osx.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.05%
realworld.run.osx.arm64.checked.mch +0.05%

Throughput diffs for windows/arm64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
benchmarks.run_tiered.windows.arm64.checked.mch +0.03%
coreclr_tests.run.windows.arm64.checked.mch +0.03%
libraries.crossgen2.windows.arm64.checked.mch +0.06%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.05%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.06%
FullOpts (+0.05% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
benchmarks.run_tiered.windows.arm64.checked.mch +0.06%
coreclr_tests.run.windows.arm64.checked.mch +0.05%
libraries.crossgen2.windows.arm64.checked.mch +0.06%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.05%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.06%

Throughput diffs for windows/x64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.x64.checked.mch +0.06%
benchmarks.run_pgo.windows.x64.checked.mch +0.05%
benchmarks.run_tiered.windows.x64.checked.mch +0.04%
coreclr_tests.run.windows.x64.checked.mch +0.03%
libraries.crossgen2.windows.x64.checked.mch +0.06%
libraries.pmi.windows.x64.checked.mch +0.06%
libraries_tests.run.windows.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.06%
realworld.run.windows.x64.checked.mch +0.06%
smoke_tests.nativeaot.windows.x64.checked.mch +0.06%
FullOpts (+0.06%)
Collection PDIFF
benchmarks.run.windows.x64.checked.mch +0.06%
benchmarks.run_pgo.windows.x64.checked.mch +0.06%
benchmarks.run_tiered.windows.x64.checked.mch +0.06%
coreclr_tests.run.windows.x64.checked.mch +0.06%
libraries.crossgen2.windows.x64.checked.mch +0.06%
libraries.pmi.windows.x64.checked.mch +0.06%
libraries_tests.run.windows.x64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.06%
realworld.run.windows.x64.checked.mch +0.06%
smoke_tests.nativeaot.windows.x64.checked.mch +0.06%

Details here


Throughput diffs for linux/arm ran on windows/x86

Overall (+0.00% to +0.01%)
Collection PDIFF
libraries.crossgen2.linux.arm.checked.mch +0.01%
FullOpts (+0.00% to +0.01%)
Collection PDIFF
libraries.crossgen2.linux.arm.checked.mch +0.01%

Throughput diffs for windows/x86 ran on windows/x86

Overall (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.03%
benchmarks.run_tiered.windows.x86.checked.mch +0.03%
coreclr_tests.run.windows.x86.checked.mch +0.03%
libraries.crossgen2.windows.x86.checked.mch +0.04%
libraries.pmi.windows.x86.checked.mch +0.04%
libraries_tests.run.windows.x86.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.04%
realworld.run.windows.x86.checked.mch +0.04%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.03%
benchmarks.run_tiered.windows.x86.checked.mch +0.04%
coreclr_tests.run.windows.x86.checked.mch +0.04%
libraries.crossgen2.windows.x86.checked.mch +0.04%
libraries.pmi.windows.x86.checked.mch +0.04%
libraries_tests.run.windows.x86.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.04%
realworld.run.windows.x86.checked.mch +0.04%

Details here


@ryujit-bot
Copy link

Diff results for #97616

Assembly diffs

Assembly diffs for windows/x86 ran on windows/x86

Diffs are based on 2,290,755 contexts (838,165 MinOpts, 1,452,590 FullOpts).

MISSED contexts: 808 (0.04%)

Overall (-5,499 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,121,149 -120
benchmarks.run_pgo.windows.x86.checked.mch 45,138,363 -58
benchmarks.run_tiered.windows.x86.checked.mch 9,473,362 -71
coreclr_tests.run.windows.x86.checked.mch 309,368,254 -139
libraries.crossgen2.windows.x86.checked.mch 31,674,641 -62
libraries.pmi.windows.x86.checked.mch 49,153,518 -135
libraries_tests.run.windows.x86.Release.mch 184,751,928 -916
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 103,727,865 -4,238
realworld.run.windows.x86.checked.mch 11,283,258 +240
FullOpts (-5,499 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,120,868 -120
benchmarks.run_pgo.windows.x86.checked.mch 38,525,997 -58
benchmarks.run_tiered.windows.x86.checked.mch 5,203,770 -71
coreclr_tests.run.windows.x86.checked.mch 107,572,677 -139
libraries.crossgen2.windows.x86.checked.mch 31,673,581 -62
libraries.pmi.windows.x86.checked.mch 49,058,285 -135
libraries_tests.run.windows.x86.Release.mch 87,451,888 -916
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 95,047,804 -4,238
realworld.run.windows.x86.checked.mch 10,987,544 +240

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.02%
benchmarks.run_tiered.linux.arm64.checked.mch +0.02%
libraries.crossgen2.linux.arm64.checked.mch +0.04%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
benchmarks.run_pgo.linux.arm64.checked.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
libraries.pmi.linux.arm64.checked.mch +0.03%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.03%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.04%
coreclr_tests.run.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
libraries.pmi.linux.arm64.checked.mch +0.03%

Throughput diffs for linux/x64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
libraries.pmi.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.02%
libraries.crossgen2.linux.x64.checked.mch +0.04%
realworld.run.linux.x64.checked.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.02%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
libraries_tests.run.linux.x64.Release.mch +0.03%
benchmarks.run.linux.x64.checked.mch +0.03%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
libraries.pmi.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
libraries.crossgen2.linux.x64.checked.mch +0.04%
realworld.run.linux.x64.checked.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
libraries_tests.run.linux.x64.Release.mch +0.03%
benchmarks.run.linux.x64.checked.mch +0.04%

Details here


@ryujit-bot
Copy link

Diff results for #97616

Throughput diffs

Throughput diffs for linux/x64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
libraries.pmi.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.02%
libraries.crossgen2.linux.x64.checked.mch +0.04%
realworld.run.linux.x64.checked.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.02%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
libraries_tests.run.linux.x64.Release.mch +0.03%
benchmarks.run.linux.x64.checked.mch +0.03%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
libraries.pmi.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
libraries.crossgen2.linux.x64.checked.mch +0.04%
realworld.run.linux.x64.checked.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
libraries_tests.run.linux.x64.Release.mch +0.03%
benchmarks.run.linux.x64.checked.mch +0.04%

Details here


@tannergooding
Copy link
Member Author

Resolved merge conflict. This should still be ready-for-review.

@ryujit-bot
Copy link

Diff results for #97616

Throughput diffs

Throughput diffs for windows/x86 ran on linux/x86

Overall (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.03%
benchmarks.run_tiered.windows.x86.checked.mch +0.03%
coreclr_tests.run.windows.x86.checked.mch +0.03%
libraries.crossgen2.windows.x86.checked.mch +0.04%
libraries.pmi.windows.x86.checked.mch +0.04%
libraries_tests.run.windows.x86.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.04%
realworld.run.windows.x86.checked.mch +0.04%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.03%
benchmarks.run_tiered.windows.x86.checked.mch +0.04%
coreclr_tests.run.windows.x86.checked.mch +0.04%
libraries.crossgen2.windows.x86.checked.mch +0.04%
libraries.pmi.windows.x86.checked.mch +0.04%
libraries_tests.run.windows.x86.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.04%
realworld.run.windows.x86.checked.mch +0.04%

Details here


Throughput diffs for osx/arm64 ran on linux/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.06%
benchmarks.run_pgo.osx.arm64.checked.mch +0.04%
benchmarks.run_tiered.osx.arm64.checked.mch +0.03%
coreclr_tests.run.osx.arm64.checked.mch +0.03%
libraries.crossgen2.osx.arm64.checked.mch +0.06%
libraries.pmi.osx.arm64.checked.mch +0.05%
libraries_tests.run.osx.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.05%
realworld.run.osx.arm64.checked.mch +0.05%
FullOpts (+0.05% to +0.06%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.06%
benchmarks.run_pgo.osx.arm64.checked.mch +0.05%
benchmarks.run_tiered.osx.arm64.checked.mch +0.06%
coreclr_tests.run.osx.arm64.checked.mch +0.05%
libraries.crossgen2.osx.arm64.checked.mch +0.06%
libraries.pmi.osx.arm64.checked.mch +0.05%
libraries_tests.run.osx.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.05%
realworld.run.osx.arm64.checked.mch +0.05%

Details here


@ryujit-bot
Copy link

Diff results for #97616

Assembly diffs

Assembly diffs for linux/arm64 ran on windows/x64

Diffs are based on 2,507,317 contexts (1,007,092 MinOpts, 1,500,225 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (+12,788 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 15,557,972 -116
benchmarks.run_pgo.linux.arm64.checked.mch 80,093,036 +4,416
benchmarks.run_tiered.linux.arm64.checked.mch 24,601,832 +16
coreclr_tests.run.linux.arm64.checked.mch 508,749,628 +3,604
libraries.crossgen2.linux.arm64.checked.mch 55,844,412 +24
libraries.pmi.linux.arm64.checked.mch 76,295,208 -828
libraries_tests.run.linux.arm64.Release.mch 395,709,692 +6,924
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 165,003,552 -1,532
realworld.run.linux.arm64.checked.mch 15,903,916 +248
smoke_tests.nativeaot.linux.arm64.checked.mch 2,946,796 +32
FullOpts (+12,788 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 15,253,044 -116
benchmarks.run_pgo.linux.arm64.checked.mch 54,158,252 +4,416
benchmarks.run_tiered.linux.arm64.checked.mch 4,863,396 +16
coreclr_tests.run.linux.arm64.checked.mch 160,601,476 +3,604
libraries.crossgen2.linux.arm64.checked.mch 55,842,776 +24
libraries.pmi.linux.arm64.checked.mch 76,175,224 -828
libraries_tests.run.linux.arm64.Release.mch 180,577,740 +6,924
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 151,506,088 -1,532
realworld.run.linux.arm64.checked.mch 15,322,992 +248
smoke_tests.nativeaot.linux.arm64.checked.mch 2,945,808 +32

Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 2,517,908 contexts (991,070 MinOpts, 1,526,838 FullOpts).

MISSED contexts: 1 (0.00%)

Overall (-6,152 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 14,336,969 -222
benchmarks.run_pgo.linux.x64.checked.mch 71,579,613 +459
benchmarks.run_tiered.linux.x64.checked.mch 21,436,603 -8
coreclr_tests.run.linux.x64.checked.mch 403,725,336 +211
libraries.crossgen2.linux.x64.checked.mch 38,727,524 -44
libraries.pmi.linux.x64.checked.mch 60,420,209 -131
libraries_tests.run.linux.x64.Release.mch 337,125,087 -433
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 132,558,714 -5,395
realworld.run.linux.x64.checked.mch 13,175,232 -702
smoke_tests.nativeaot.linux.x64.checked.mch 4,234,571 +113
FullOpts (-6,152 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 14,037,666 -222
benchmarks.run_pgo.linux.x64.checked.mch 47,779,624 +459
benchmarks.run_tiered.linux.x64.checked.mch 3,695,823 -8
coreclr_tests.run.linux.x64.checked.mch 123,970,876 +211
libraries.crossgen2.linux.x64.checked.mch 38,726,326 -44
libraries.pmi.linux.x64.checked.mch 60,307,352 -131
libraries_tests.run.linux.x64.Release.mch 153,365,478 -433
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 121,940,946 -5,395
realworld.run.linux.x64.checked.mch 12,789,348 -702
smoke_tests.nativeaot.linux.x64.checked.mch 4,233,622 +113

Assembly diffs for osx/arm64 ran on windows/x64

Diffs are based on 2,270,868 contexts (932,669 MinOpts, 1,338,199 FullOpts).

MISSED contexts: 2 (0.00%)

Overall (+5,536 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 11,186,732 -96
benchmarks.run_pgo.osx.arm64.checked.mch 34,442,120 +536
benchmarks.run_tiered.osx.arm64.checked.mch 15,517,024 -24
coreclr_tests.run.osx.arm64.checked.mch 486,433,300 +1,724
libraries.crossgen2.osx.arm64.checked.mch 55,725,876 +24
libraries.pmi.osx.arm64.checked.mch 80,219,504 -716
libraries_tests.run.osx.arm64.Release.mch 324,596,696 +5,308
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 162,574,100 -1,460
realworld.run.osx.arm64.checked.mch 15,061,316 +240
FullOpts (+5,536 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 11,186,196 -96
benchmarks.run_pgo.osx.arm64.checked.mch 18,140,820 +536
benchmarks.run_tiered.osx.arm64.checked.mch 4,012,540 -24
coreclr_tests.run.osx.arm64.checked.mch 153,820,376 +1,724
libraries.crossgen2.osx.arm64.checked.mch 55,724,248 +24
libraries.pmi.osx.arm64.checked.mch 80,098,376 -716
libraries_tests.run.osx.arm64.Release.mch 120,880,848 +5,308
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch 149,420,372 -1,460
realworld.run.osx.arm64.checked.mch 14,497,360 +240

Assembly diffs for windows/arm64 ran on windows/x64

Diffs are based on 2,341,108 contexts (938,449 MinOpts, 1,402,659 FullOpts).

MISSED contexts: 9 (0.00%)

Overall (+4,848 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 10,966,268 -124
benchmarks.run_pgo.windows.arm64.checked.mch 45,573,032 +3,632
benchmarks.run_tiered.windows.arm64.checked.mch 15,587,908 -8
coreclr_tests.run.windows.arm64.checked.mch 495,287,164 +1,532
libraries.crossgen2.windows.arm64.checked.mch 59,069,616 +24
libraries.pmi.windows.arm64.checked.mch 79,846,904 -856
libraries_tests.run.windows.arm64.Release.mch 330,811,128 +1,768
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 171,581,052 -1,452
realworld.run.windows.arm64.checked.mch 15,905,000 +252
smoke_tests.nativeaot.windows.arm64.checked.mch 3,970,192 +80
FullOpts (+4,848 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 10,965,732 -124
benchmarks.run_pgo.windows.arm64.checked.mch 29,561,636 +3,632
benchmarks.run_tiered.windows.arm64.checked.mch 4,410,720 -8
coreclr_tests.run.windows.arm64.checked.mch 156,598,060 +1,532
libraries.crossgen2.windows.arm64.checked.mch 59,067,980 +24
libraries.pmi.windows.arm64.checked.mch 79,726,920 -856
libraries_tests.run.windows.arm64.Release.mch 127,377,532 +1,768
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch 158,427,304 -1,452
realworld.run.windows.arm64.checked.mch 15,341,020 +252
smoke_tests.nativeaot.windows.arm64.checked.mch 3,969,180 +80

Assembly diffs for windows/x64 ran on windows/x64

Diffs are based on 2,512,209 contexts (997,391 MinOpts, 1,514,818 FullOpts).

MISSED contexts: 3 (0.00%)

Overall (+1,801 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 47,040,747 -304
benchmarks.run.windows.x64.checked.mch 8,742,632 -156
benchmarks.run_pgo.windows.x64.checked.mch 36,232,814 +502
benchmarks.run_tiered.windows.x64.checked.mch 12,416,998 -66
coreclr_tests.run.windows.x64.checked.mch 393,206,720 +624
libraries.crossgen2.windows.x64.checked.mch 39,486,563 -22
libraries.pmi.windows.x64.checked.mch 61,663,463 -102
libraries_tests.run.windows.x64.Release.mch 282,128,846 +6,135
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 137,066,301 -4,427
realworld.run.windows.x64.checked.mch 14,131,038 -212
smoke_tests.nativeaot.windows.x64.checked.mch 5,083,350 -171
FullOpts (+1,801 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 28,549,698 -304
benchmarks.run.windows.x64.checked.mch 8,742,269 -156
benchmarks.run_pgo.windows.x64.checked.mch 22,062,158 +502
benchmarks.run_tiered.windows.x64.checked.mch 3,317,759 -66
coreclr_tests.run.windows.x64.checked.mch 120,418,140 +624
libraries.crossgen2.windows.x64.checked.mch 39,485,376 -22
libraries.pmi.windows.x64.checked.mch 61,549,942 -102
libraries_tests.run.windows.x64.Release.mch 106,270,612 +6,135
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 126,447,195 -4,427
realworld.run.windows.x64.checked.mch 13,744,429 -212
smoke_tests.nativeaot.windows.x64.checked.mch 5,082,403 -171

Details here


Assembly diffs for windows/x86 ran on windows/x86

Diffs are based on 2,293,451 contexts (839,658 MinOpts, 1,453,793 FullOpts).

MISSED contexts: 45 (0.00%)

Overall (-5,793 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,122,838 -120
benchmarks.run_pgo.windows.x86.checked.mch 44,974,365 -58
benchmarks.run_tiered.windows.x86.checked.mch 9,470,353 -71
coreclr_tests.run.windows.x86.checked.mch 309,385,124 -139
libraries.crossgen2.windows.x86.checked.mch 31,716,017 -62
libraries.pmi.windows.x86.checked.mch 49,269,862 -135
libraries_tests.run.windows.x86.Release.mch 186,683,483 -1,214
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 103,820,999 -4,238
realworld.run.windows.x86.checked.mch 11,353,780 +244
FullOpts (-5,793 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,122,557 -120
benchmarks.run_pgo.windows.x86.checked.mch 38,385,734 -58
benchmarks.run_tiered.windows.x86.checked.mch 5,200,532 -71
coreclr_tests.run.windows.x86.checked.mch 107,597,226 -139
libraries.crossgen2.windows.x86.checked.mch 31,714,957 -62
libraries.pmi.windows.x86.checked.mch 49,174,629 -135
libraries_tests.run.windows.x86.Release.mch 88,409,851 -1,214
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 95,140,935 -4,238
realworld.run.windows.x86.checked.mch 11,058,066 +244

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.06%
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.06%
libraries.pmi.linux.arm64.checked.mch +0.05%
libraries_tests.run.linux.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.05%
realworld.run.linux.arm64.checked.mch +0.05%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.06%
FullOpts (+0.05% to +0.06%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.06%
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
benchmarks.run_tiered.linux.arm64.checked.mch +0.06%
coreclr_tests.run.linux.arm64.checked.mch +0.05%
libraries.crossgen2.linux.arm64.checked.mch +0.06%
libraries.pmi.linux.arm64.checked.mch +0.05%
libraries_tests.run.linux.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.05%
realworld.run.linux.arm64.checked.mch +0.05%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.06%

Throughput diffs for linux/x64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.06%
benchmarks.run_pgo.linux.x64.checked.mch +0.05%
benchmarks.run_tiered.linux.x64.checked.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.06%
libraries.pmi.linux.x64.checked.mch +0.06%
libraries_tests.run.linux.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.05%
realworld.run.linux.x64.checked.mch +0.05%
smoke_tests.nativeaot.linux.x64.checked.mch +0.06%
FullOpts (+0.06%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.06%
benchmarks.run_pgo.linux.x64.checked.mch +0.06%
benchmarks.run_tiered.linux.x64.checked.mch +0.06%
coreclr_tests.run.linux.x64.checked.mch +0.06%
libraries.crossgen2.linux.x64.checked.mch +0.06%
libraries.pmi.linux.x64.checked.mch +0.06%
libraries_tests.run.linux.x64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.06%
realworld.run.linux.x64.checked.mch +0.06%
smoke_tests.nativeaot.linux.x64.checked.mch +0.06%

Throughput diffs for windows/arm64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
benchmarks.run_tiered.windows.arm64.checked.mch +0.04%
coreclr_tests.run.windows.arm64.checked.mch +0.03%
libraries.crossgen2.windows.arm64.checked.mch +0.06%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.05%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.06%
MinOpts (-0.01% to +0.00%)
Collection PDIFF
libraries.pmi.windows.arm64.checked.mch -0.01%
FullOpts (+0.05% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
benchmarks.run_tiered.windows.arm64.checked.mch +0.06%
coreclr_tests.run.windows.arm64.checked.mch +0.05%
libraries.crossgen2.windows.arm64.checked.mch +0.06%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.05%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.06%

Throughput diffs for windows/x64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.05%
benchmarks.run.windows.x64.checked.mch +0.06%
benchmarks.run_pgo.windows.x64.checked.mch +0.05%
benchmarks.run_tiered.windows.x64.checked.mch +0.04%
coreclr_tests.run.windows.x64.checked.mch +0.03%
libraries.crossgen2.windows.x64.checked.mch +0.06%
libraries.pmi.windows.x64.checked.mch +0.06%
libraries_tests.run.windows.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.06%
realworld.run.windows.x64.checked.mch +0.06%
smoke_tests.nativeaot.windows.x64.checked.mch +0.06%
FullOpts (+0.06%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.06%
benchmarks.run.windows.x64.checked.mch +0.06%
benchmarks.run_pgo.windows.x64.checked.mch +0.06%
benchmarks.run_tiered.windows.x64.checked.mch +0.06%
coreclr_tests.run.windows.x64.checked.mch +0.06%
libraries.crossgen2.windows.x64.checked.mch +0.06%
libraries.pmi.windows.x64.checked.mch +0.06%
libraries_tests.run.windows.x64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.06%
realworld.run.windows.x64.checked.mch +0.06%
smoke_tests.nativeaot.windows.x64.checked.mch +0.06%

Details here


Throughput diffs for linux/arm ran on windows/x86

FullOpts (+0.00% to +0.01%)
Collection PDIFF
realworld.run.linux.arm.checked.mch +0.01%

Details here


Throughput diffs for linux/arm64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run_pgo.linux.arm64.checked.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
benchmarks.run.linux.arm64.checked.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
benchmarks.run_tiered.linux.arm64.checked.mch +0.02%
libraries.crossgen2.linux.arm64.checked.mch +0.04%
libraries_tests.run.linux.arm64.Release.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run_pgo.linux.arm64.checked.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
benchmarks.run.linux.arm64.checked.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.03%
libraries.pmi.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.04%
libraries_tests.run.linux.arm64.Release.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%

Throughput diffs for linux/x64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.02%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.02%
realworld.run.linux.x64.checked.mch +0.03%
libraries.pmi.linux.x64.checked.mch +0.04%
benchmarks.run.linux.x64.checked.mch +0.03%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
libraries_tests.run.linux.x64.Release.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.04%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.03%
realworld.run.linux.x64.checked.mch +0.03%
libraries.pmi.linux.x64.checked.mch +0.04%
benchmarks.run.linux.x64.checked.mch +0.03%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
libraries_tests.run.linux.x64.Release.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.04%

Details here


Copy link
Member

@AndyAyersMS AndyAyersMS left a comment

Choose a reason for hiding this comment

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

LGTM.

SSA use count can be an over-estimate, but that should only lead to missed opportunities to propagate, which seems fine.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

(Performance) Simd vector loaded from memory instead of register multiple times
3 participants