Assembly Diffs

linux arm

Diffs are based on 2,053,507 contexts (830,101 MinOpts, 1,223,406 FullOpts).

MISSED contexts: 71,368 (3.36%)

Overall (+0 bytes)

Collection Base size (bytes) Diff size (bytes)
libraries_tests.run.linux.arm.Release.mch 244,097,424 +0

FullOpts (+0 bytes)

Collection Base size (bytes) Diff size (bytes)
libraries_tests.run.linux.arm.Release.mch 122,244,916 +0

Example diffs

libraries_tests.run.linux.arm.Release.mch

+0 (0.00%) : 455766.dasm - System.__DTString:SkipWhiteSpaces():this (Tier1)

@@ -60,7 +60,7 @@ G_M9890_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0030 {r4 r5}, by ; byrRegs +[r3] ldr r2, [r3+0x04] cmp r0, r2
- bhs SHORT G_M9890_IG11
+ bhs SHORT G_M9890_IG10
ldr r3, [r3] lsls r0, r0, 1 ldrh r6, [r3+r0] @@ -114,20 +114,18 @@ G_M9890_IG09: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefR adds r3, r3, 1 ldr r2, [r4+0x10] cmp r3, r2
- blt SHORT G_M9890_IG03 - ;; size=16 bbWeight=1 PerfScore 8.00 -G_M9890_IG10: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ bge SHORT G_M9890_IG08 + b SHORT G_M9890_IG03 + ;; size=18 bbWeight=1 PerfScore 9.00 +G_M9890_IG10: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; byrRegs -[r4-r5]
- b SHORT G_M9890_IG08 - ;; size=2 bbWeight=0.50 PerfScore 0.50 -G_M9890_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movw r3, 0xd1ff movt r3, 0xd1ff blx r3 // CORINFO_HELP_RNGCHKFAIL bkpt ;; size=12 bbWeight=0 PerfScore 0.00
-Total bytes of code 144, prolog size 8, PerfScore 52.00, instruction count 57, allocated bytes for code 144 (MethodHash=4fd7d95d) for method System.__DTString:SkipWhiteSpaces():this (Tier1)
+Total bytes of code 144, prolog size 8, PerfScore 52.50, instruction count 57, allocated bytes for code 144 (MethodHash=4fd7d95d) for method System.__DTString:SkipWhiteSpaces():this (Tier1)
; ============================================================ Unwind Info:

+0 (0.00%) : 306631.dasm - System.Globalization.CompareInfo:StartsWithOrdinalHelper(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],int,uint):ubyte:this (Tier1)

@@ -95,7 +95,7 @@ G_M3596_IG04: ; bbWeight=1, gcrefRegs=0010 {r4}, byrefRegs=0000 {}, byref ; gcr arg pop 0 ldrb r0, [r4+0x18] cmp r0, 0
- beq G_M3596_IG33
+ beq G_M3596_IG32
ands r0, r5, 4 cmp r0, 0 beq SHORT G_M3596_IG05 @@ -274,14 +274,10 @@ G_M3596_IG31: ; bbWeight=0.01, gcrefRegs=0010 {r4}, byrefRegs=0000 {}, by movt r2, 0xd1ff ldrb r2, [r2+r8] cmp r2, 0
- bne SHORT G_M3596_IG20 - ;; size=16 bbWeight=0.01 PerfScore 0.04 -G_M3596_IG32: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz - ; gcrRegs -[r4] - b SHORT G_M3596_IG25 - ;; size=2 bbWeight=0.00 PerfScore 0.00 -G_M3596_IG33: ; bbWeight=0, gcrefRegs=0010 {r4}, byrefRegs=0000 {}, byref, isz - ; gcrRegs +[r4]
+ beq SHORT G_M3596_IG25 + b SHORT G_M3596_IG20 + ;; size=18 bbWeight=0.01 PerfScore 0.04 +G_M3596_IG32: ; bbWeight=0, gcrefRegs=0010 {r4}, byrefRegs=0000 {}, byref, isz
movs r0, 0 b SHORT G_M3596_IG06 ;; size=4 bbWeight=0 PerfScore 0.00

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
benchmarks.run.linux.arm.checked.mch 0 0 0 0 -0 +0
benchmarks.run_pgo.linux.arm.checked.mch 0 0 0 0 -0 +0
benchmarks.run_tiered.linux.arm.checked.mch 0 0 0 0 -0 +0
coreclr_tests.run.linux.arm.checked.mch 0 0 0 0 -0 +0
libraries.crossgen2.linux.arm.checked.mch 0 0 0 0 -0 +0
libraries.pmi.linux.arm.checked.mch 0 0 0 0 -0 +0
libraries_tests.run.linux.arm.Release.mch 2 0 0 2 -0 +0
librariestestsnotieredcompilation.run.linux.arm.Release.mch 0 0 0 0 -0 +0
realworld.run.linux.arm.checked.mch 0 0 0 0 -0 +0
2 0 0 2 -0 +0

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.linux.arm.checked.mch 44,927 4,966 39,961 1,181 (2.56%) 1,181 (2.56%)
benchmarks.run_pgo.linux.arm.checked.mch 167,320 62,159 105,161 3,336 (1.95%) 3,336 (1.95%)
benchmarks.run_tiered.linux.arm.checked.mch 73,073 38,812 34,261 951 (1.28%) 951 (1.28%)
coreclr_tests.run.linux.arm.checked.mch 472,401 259,200 213,201 7,170 (1.50%) 7,170 (1.50%)
libraries.crossgen2.linux.arm.checked.mch 1,774 0 1,774 0 (0.00%) 0 (0.00%)
libraries.pmi.linux.arm.checked.mch 272,309 6 272,303 7,786 (2.78%) 7,786 (2.78%)
libraries_tests.run.linux.arm.Release.mch 710,650 443,197 267,453 16,293 (2.24%) 16,293 (2.24%)
librariestestsnotieredcompilation.run.linux.arm.Release.mch 274,642 21,604 253,038 33,244 (10.80%) 33,244 (10.80%)
realworld.run.linux.arm.checked.mch 36,411 157 36,254 1,407 (3.72%) 1,407 (3.72%)
2,053,507 830,101 1,223,406 71,368 (3.36%) 71,368 (3.36%)

jit-analyze output

libraries_tests.run.linux.arm.Release.mch

To reproduce these diffs on Windows x86: superpmi.py asmdiffs -target_os linux -target_arch arm -arch x86


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 244097424 (overridden on cmd)
Total bytes of diff: 244097424 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
    relative diff is a regression.

Detail diffs



0 total files with Code Size differences (0 improved, 0 regressed), 2 unchanged.

0 total methods with Code Size differences (0 improved, 0 regressed).



windows x86

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

MISSED contexts: 808 (0.04%)

Overall (+0 bytes)

Collection Base size (bytes) Diff size (bytes)
libraries_tests.run.windows.x86.Release.mch 184,751,928 +0

FullOpts (+0 bytes)

Collection Base size (bytes) Diff size (bytes)
libraries_tests.run.windows.x86.Release.mch 87,451,888 +0

Example diffs

libraries_tests.run.windows.x86.Release.mch

+0 (0.00%) : 395581.dasm - System.__DTString:SkipWhiteSpaces():this (Tier1)

@@ -56,7 +56,7 @@ G_M9890_IG03: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000040 {es lea eax, bword ptr [esi+0x0C] ; byrRegs +[eax] cmp ecx, dword ptr [eax+0x04]
- jae SHORT G_M9890_IG09
+ jae SHORT G_M9890_IG08
mov eax, bword ptr [eax] movzx edi, word ptr [eax+2*ecx] cmp edi, 256 @@ -93,17 +93,15 @@ G_M9890_IG07: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=00000000 {}, by mov eax, dword ptr [esi+0x04] inc eax cmp eax, dword ptr [esi+0x10]
- jl SHORT G_M9890_IG03 - ;; size=12 bbWeight=1 PerfScore 9.25 -G_M9890_IG08: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
+ jge SHORT G_M9890_IG06 + jmp SHORT G_M9890_IG03 + ;; size=14 bbWeight=1 PerfScore 11.25 +G_M9890_IG08: ; bbWeight=0, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
; byrRegs -[esi]
- jmp SHORT G_M9890_IG06 - ;; size=2 bbWeight=0.50 PerfScore 1.00 -G_M9890_IG09: ; bbWeight=0, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00
-Total bytes of code 106, prolog size 5, PerfScore 48.50, instruction count 41, allocated bytes for code 106 (MethodHash=4fd7d95d) for method System.__DTString:SkipWhiteSpaces():this (Tier1)
+Total bytes of code 106, prolog size 5, PerfScore 49.50, instruction count 41, allocated bytes for code 106 (MethodHash=4fd7d95d) for method System.__DTString:SkipWhiteSpaces():this (Tier1)
; ============================================================

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
benchmarks.run.windows.x86.checked.mch 0 0 0 0 -0 +0
benchmarks.run_pgo.windows.x86.checked.mch 0 0 0 0 -0 +0
benchmarks.run_tiered.windows.x86.checked.mch 0 0 0 0 -0 +0
coreclr_tests.run.windows.x86.checked.mch 0 0 0 0 -0 +0
libraries.crossgen2.windows.x86.checked.mch 0 0 0 0 -0 +0
libraries.pmi.windows.x86.checked.mch 0 0 0 0 -0 +0
libraries_tests.run.windows.x86.Release.mch 1 0 0 1 -0 +0
librariestestsnotieredcompilation.run.windows.x86.Release.mch 0 0 0 0 -0 +0
realworld.run.windows.x86.checked.mch 0 0 0 0 -0 +0
1 0 0 1 -0 +0

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.windows.x86.checked.mch 24,487 4 24,483 3 (0.01%) 3 (0.01%)
benchmarks.run_pgo.windows.x86.checked.mch 118,208 42,036 76,172 35 (0.03%) 35 (0.03%)
benchmarks.run_tiered.windows.x86.checked.mch 48,026 28,739 19,287 3 (0.01%) 3 (0.01%)
coreclr_tests.run.windows.x86.checked.mch 574,599 319,944 254,655 76 (0.01%) 76 (0.01%)
libraries.crossgen2.windows.x86.checked.mch 242,541 15 242,526 47 (0.02%) 47 (0.02%)
libraries.pmi.windows.x86.checked.mch 305,646 6 305,640 72 (0.02%) 72 (0.02%)
libraries_tests.run.windows.x86.Release.mch 624,877 425,508 199,369 481 (0.08%) 481 (0.08%)
librariestestsnotieredcompilation.run.windows.x86.Release.mch 316,408 21,910 294,498 64 (0.02%) 64 (0.02%)
realworld.run.windows.x86.checked.mch 35,963 3 35,960 27 (0.08%) 27 (0.08%)
2,290,755 838,165 1,452,590 808 (0.04%) 808 (0.04%)

jit-analyze output

libraries_tests.run.windows.x86.Release.mch

To reproduce these diffs on Windows x86: superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 184751928 (overridden on cmd)
Total bytes of diff: 184751928 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
    relative diff is a regression.

Detail diffs



0 total files with Code Size differences (0 improved, 0 regressed), 1 unchanged.

0 total methods with Code Size differences (0 improved, 0 regressed).