Assembly Diffs

linux arm64

Diffs are based on 2,554,585 contexts (1,019,526 MinOpts, 1,535,059 FullOpts).

MISSED contexts: 172 (0.01%)

Overall (+0 bytes)

Collection Base size (bytes) Diff size (bytes) PerfScore in Diffs
libraries_tests.run.linux.arm64.Release.mch 381,315,748 +0 0.00%

FullOpts (+0 bytes)

Collection Base size (bytes) Diff size (bytes) PerfScore in Diffs
libraries_tests.run.linux.arm64.Release.mch 165,778,652 +0 0.00%

Example diffs

libraries_tests.run.linux.arm64.Release.mch

+0 (0.00%) : 531871.dasm - System.Runtime.Serialization.Formatters.Binary.BinaryParser:Run():this (Tier1)

@@ -244,17 +244,17 @@ ; V232 tmp225 [V232,T203] ( 2, 0 ) ref -> x1 "argument with side effect" ; V233 tmp226 [V233,T22] ( 3, 1501.82) ref -> x0 "argument with side effect" ; V234 tmp227 [V234,T204] ( 2, 0 ) ref -> x1 "argument with side effect"
-; V235 tmp228 [V235,T135] ( 3, 19.40) ref -> x0 "arr expr" -; V236 tmp229 [V236,T136] ( 3, 19.40) int -> x1 "index expr" -; V237 tmp230 [V237,T205] ( 2, 0 ) ref -> x1 "argument with side effect" -; V238 tmp231 [V238,T113] ( 3, 54.33) ref -> x0 "argument with side effect" -; V239 tmp232 [V239,T114] ( 3, 54.33) ref -> x0 "argument with side effect" -; V240 tmp233 [V240,T115] ( 3, 54.33) ref -> x0 "argument with side effect" -; V241 tmp234 [V241,T116] ( 3, 54.33) ref -> x0 "argument with side effect" -; V242 tmp235 [V242,T117] ( 3, 54.33) ref -> x14 "arr expr" -; V243 tmp236 [V243,T118] ( 3, 54.33) int -> x15 "index expr" -; V244 tmp237 [V244,T206] ( 2, 0 ) ref -> x1 "argument with side effect" -; V245 tmp238 [V245,T207] ( 2, 0 ) ref -> x1 "argument with side effect"
+; V235 tmp228 [V235,T113] ( 3, 54.33) ref -> x0 "argument with side effect" +; V236 tmp229 [V236,T114] ( 3, 54.33) ref -> x0 "argument with side effect" +; V237 tmp230 [V237,T115] ( 3, 54.33) ref -> x0 "argument with side effect" +; V238 tmp231 [V238,T116] ( 3, 54.33) ref -> x0 "argument with side effect" +; V239 tmp232 [V239,T117] ( 3, 54.33) ref -> x14 "arr expr" +; V240 tmp233 [V240,T118] ( 3, 54.33) int -> x15 "index expr" +; V241 tmp234 [V241,T205] ( 2, 0 ) ref -> x1 "argument with side effect" +; V242 tmp235 [V242,T206] ( 2, 0 ) ref -> x1 "argument with side effect" +; V243 tmp236 [V243,T207] ( 2, 0 ) ref -> x1 "argument with side effect" +; V244 tmp237 [V244,T135] ( 3, 19.40) ref -> x0 "arr expr" +; V245 tmp238 [V245,T136] ( 3, 19.40) int -> x1 "index expr"
; V246 tmp239 [V246,T37] ( 3, 844.30) ref -> x0 "argument with side effect" ; V247 tmp240 [V247,T43] ( 3, 609.77) ref -> x0 "arr expr" ; V248 tmp241 [V248,T44] ( 3, 609.77) int -> x1 "index expr" @@ -362,7 +362,7 @@ G_M51225_IG06: ; bbWeight=551.20, gcrefRegs=80000 {x19}, byrefRegs=0000 { G_M51225_IG07: ; bbWeight=250.30, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz sub w0, w0, #1 cmp w0, #6
- bhi G_M51225_IG165
+ bhi G_M51225_IG96
ldr x0, [x19, #0x48] ; gcrRegs +[x0] ldr x1, [x0] @@ -374,7 +374,7 @@ G_M51225_IG07: ; bbWeight=250.30, gcrefRegs=80000 {x19}, byrefRegs=0000 { ;; size=40 bbWeight=250.30 PerfScore 2753.34 G_M51225_IG08: ; bbWeight=250.30, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz ldrb w1, [x0, #0x2F]
- cbnz w1, G_M51225_IG160
+ cbnz w1, G_M51225_IG74
ldr x0, [x0, #0x08] ldr x1, [x0] ldr x1, [x1, #0x68] @@ -383,7 +383,7 @@ G_M51225_IG08: ; bbWeight=250.30, gcrefRegs=80001 {x0 x19}, byrefRegs=000 ; gcrRegs -[x0] ; gcr arg pop 0 cmn w0, #1
- beq G_M51225_IG161
+ beq G_M51225_IG92
;; size=36 bbWeight=250.30 PerfScore 4630.61 G_M51225_IG09: ; bbWeight=250.30, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref uxtb w28, w0 @@ -392,11 +392,11 @@ G_M51225_IG10: ; bbWeight=250.30, gcrefRegs=80000 {x19}, byrefRegs=0000 { sxtw w27, w28 sub w22, w28, #1 cmp w22, #8
- beq G_M51225_IG71
+ beq G_M51225_IG98
;; size=16 bbWeight=250.30 PerfScore 625.76 G_M51225_IG11: ; bbWeight=109.59, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz cmp w22, #19
- bhi G_M51225_IG164
+ bhi G_M51225_IG95
mov w0, w22 adr x1, [@RWD00] ldr w1, [x1, x0, LSL #2] @@ -446,7 +446,7 @@ G_M51225_IG17: ; bbWeight=457.81, gcrefRegs=84000 {x14 x19}, byrefRegs=00 ldr x14, [x14, #0x08] ldr w12, [x14, #0x08] cmp w15, w12
- bhs G_M51225_IG153
+ bhs G_M51225_IG70
add x14, x14, #16 ; gcrRegs -[x14] ; byrRegs +[x14] @@ -465,7 +465,7 @@ G_M51225_IG19: ; bbWeight=316.95, gcrefRegs=280002 {x1 x19 x21}, byrefReg movk x0, #0xD1FFAB1E LSL #32 ldr x14, [x21] cmp x14, x0
- bne G_M51225_IG155
+ bne G_M51225_IG87
;; size=24 bbWeight=316.95 PerfScore 1901.67 G_M51225_IG20: ; bbWeight=633.89, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x1] @@ -480,7 +480,7 @@ G_M51225_IG21: ; bbWeight=611.64, gcrefRegs=280000 {x19 x21}, byrefRegs=0 str xzr, [x14] ldr w15, [x21, #0x58] cmp w15, #2
- beq G_M51225_IG156
+ beq G_M51225_IG88
ldr w24, [x21, #0x50] ldr w15, [x21, #0x6C] cmp w24, w15 @@ -491,7 +491,7 @@ G_M51225_IG22: ; bbWeight=458.73, gcrefRegs=280000 {x19 x21}, byrefRegs=8 ; gcrRegs +[x15] ldr w12, [x15, #0x08] cmp w24, w12
- bhs G_M51225_IG153
+ bhs G_M51225_IG70
add x15, x15, #16 ; gcrRegs -[x15] ; byrRegs +[x15] @@ -503,7 +503,7 @@ G_M51225_IG22: ; bbWeight=458.73, gcrefRegs=280000 {x19 x21}, byrefRegs=8 ldr w12, [x21, #0x50] ldr wip0, [x15, #0x08] cmp w12, wip0
- bhs G_M51225_IG153
+ bhs G_M51225_IG70
add x15, x15, #16 ; gcrRegs -[x15] ; byrRegs +[x15] @@ -522,7 +522,7 @@ G_M51225_IG23: ; bbWeight=458.73, gcrefRegs=280000 {x19 x21}, byrefRegs=0 sxtw w15, w0 ldr w12, [x14, #0x08] cmp w15, w12
- bhs G_M51225_IG153
+ bhs G_M51225_IG70
add x14, x14, #16 ; gcrRegs -[x14] ; byrRegs +[x14] @@ -536,7 +536,7 @@ G_M51225_IG23: ; bbWeight=458.73, gcrefRegs=280000 {x19 x21}, byrefRegs=0 ; gcrRegs +[x14] ldr w15, [x14, #0x08] cmp w0, w15
- bhs G_M51225_IG153
+ bhs G_M51225_IG70
add x14, x14, #16 ; gcrRegs -[x14] ; byrRegs +[x14] @@ -700,7 +700,7 @@ G_M51225_IG38: ; bbWeight=89.85, gcrefRegs=280001 {x0 x19 x21}, byrefRegs ; gcr arg pop 0 ldr w0, [x21, #0x60] cmp w0, #2
- bne G_M51225_IG96
+ bne G_M51225_IG123
;; size=36 bbWeight=89.85 PerfScore 1168.06 G_M51225_IG39: ; bbWeight=68.60, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz ldr x1, [x19, #0x38] @@ -752,13 +752,13 @@ G_M51225_IG44: ; bbWeight=89.85, gcrefRegs=280000 {x19 x21}, byrefRegs=00 ldr w3, [x3, #0x08] ; gcrRegs -[x3] cmp w4, w3
- bhs G_M51225_IG153
+ bhs G_M51225_IG70
sub w3, w0, #1 str w3, [x1, #0x18] ldr w1, [x2, #0x08] ; gcrRegs -[x1] cmp w0, w1
- bhs G_M51225_IG153
+ bhs G_M51225_IG70
add x1, x2, #16 ; byrRegs +[x1] str xzr, [x1, w0, UXTW #3] @@ -768,11 +768,11 @@ G_M51225_IG45: ; bbWeight=89.85, gcrefRegs=280000 {x19 x21}, byrefRegs=00 ; byrRegs -[x1] ldr x1, [x19, #0x50] ; gcrRegs +[x1]
- cbnz x1, G_M51225_IG89
+ cbnz x1, G_M51225_IG116
;; size=8 bbWeight=89.85 PerfScore 359.40 G_M51225_IG46: ; bbWeight=44.93, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref ; gcrRegs -[x1]
- b G_M51225_IG88
+ b G_M51225_IG115
;; size=4 bbWeight=44.93 PerfScore 44.93 G_M51225_IG47: ; bbWeight=2.08, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=0000 {}, byref ; gcrRegs +[x23] @@ -934,7 +934,7 @@ G_M51225_IG54: ; bbWeight=23.16, gcrefRegs=80000 {x19}, byrefRegs=0000 {} mov w28, wzr ldr w0, [x26, #0x20] cmp w0, #0
- ble G_M51225_IG94
+ ble G_M51225_IG121
;; size=136 bbWeight=23.16 PerfScore 1424.60 G_M51225_IG55: ; bbWeight=185.31, gcrefRegs=4080000 {x19 x26}, byrefRegs=0000 {}, byref, isz ldr x21, [x26, #0x10] @@ -950,7 +950,7 @@ G_M51225_IG55: ; bbWeight=185.31, gcrefRegs=4080000 {x19 x26}, byrefRegs= ; gcrRegs +[x15] ldr w14, [x21, #0x08] cmp w28, w14
- bhs G_M51225_IG153
+ bhs G_M51225_IG70
add x14, x21, #16 ; byrRegs +[x14] add x14, x14, x28, LSL #3 @@ -963,7 +963,7 @@ G_M51225_IG55: ; bbWeight=185.31, gcrefRegs=4080000 {x19 x26}, byrefRegs= blt G_M51225_IG55 ;; size=68 bbWeight=185.31 PerfScore 5281.43 G_M51225_IG56: ; bbWeight=23.16, gcrefRegs=4080000 {x19 x26}, byrefRegs=0000 {}, byref
- b G_M51225_IG94
+ b G_M51225_IG121
;; size=4 bbWeight=23.16 PerfScore 23.16 G_M51225_IG57: ; bbWeight=2.72, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref ; gcrRegs -[x26] +[x21] @@ -996,7 +996,7 @@ G_M51225_IG59: ; bbWeight=152.91, gcrefRegs=280000 {x19 x21}, byrefRegs=0 G_M51225_IG60: ; bbWeight=152.91, gcrefRegs=280000 {x19 x21}, byrefRegs=804000 {x14 x23}, byref, isz ; byrRegs +[x14 x23] ldrb w15, [x21, #0x70]
- cbz w15, G_M51225_IG157
+ cbz w15, G_M51225_IG89
b G_M51225_IG22 ;; size=12 bbWeight=152.91 PerfScore 764.55 G_M51225_IG61: ; bbWeight=22.25, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref @@ -1051,7 +1051,7 @@ G_M51225_IG62: ; bbWeight=9.05, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, ldr x14, [x14, #0x58] ldr w12, [x14, #0x08] cmp w15, w12
- bhs G_M51225_IG153
+ bhs G_M51225_IG70
add x14, x14, #16 ; gcrRegs -[x14] ; byrRegs +[x14] @@ -1082,7 +1082,7 @@ G_M51225_IG65: ; bbWeight=9.05, gcrefRegs=3088000 {x15 x19 x24 x25}, byre ; byrRegs -[x14] ldr x0, [x25, #0x08] ; gcrRegs +[x0]
- cbz x0, G_M51225_IG162
+ cbz x0, G_M51225_IG93
;; size=16 bbWeight=9.05 PerfScore 49.80 G_M51225_IG66: ; bbWeight=2.26, gcrefRegs=2080000 {x19 x25}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0 x24] @@ -1152,14 +1152,14 @@ G_M51225_IG67: ; bbWeight=2.26, gcrefRegs=12080000 {x19 x25 x28}, byrefRe ; gcrRegs -[x0 x15 x25] ; byrRegs -[x14] ldrsb wzr, [x28]
- tbnz w26, #31, G_M51225_IG169
+ tbnz w26, #31, G_M51225_IG71
ldr x0, [x28, #0x08] ; gcrRegs +[x0] ldr w0, [x0, #0x08] ; gcrRegs -[x0] sub w0, w0, #1 cmp w0, w26
- blt G_M51225_IG171
+ blt G_M51225_IG73
;; size=64 bbWeight=2.26 PerfScore 50.93 G_M51225_IG68: ; bbWeight=2.26, gcrefRegs=10280000 {x19 x21 x28}, byrefRegs=0000 {}, byref ldr x0, [x28, #0x08] @@ -1199,8 +1199,466 @@ G_M51225_IG69: ; bbWeight=9.05, gcrefRegs=2080000 {x19 x25}, byrefRegs=00 ; byrRegs -[x14] b G_M51225_IG66 ;; size=60 bbWeight=9.05 PerfScore 271.64
-G_M51225_IG70: ; bbWeight=80.29, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref - ; gcrRegs -[x25]
+G_M51225_IG70: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
...

+0 (0.00%) : 665472.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitConversion(Microsoft.CodeAnalysis.CSharp.BoundConversion):Microsoft.CodeAnalysis.CSharp.BoundNode:this (Tier1)

@@ -102,9 +102,9 @@ ; V90 tmp67 [V90,T32] ( 3, 0 ) byref -> x1 single-def "Spilling address for field-by-field copy" ; V91 tmp68 [V91,T42] ( 2, 0 ) ref -> x3 single-def "argument with side effect" ; V92 tmp69 [V92,T33] ( 3, 0 ) struct (16) [fp+0x50] do-not-enreg[SFA] multireg-arg must-init "argument with side effect" <Microsoft.CodeAnalysis.CSharp.Conversion>
-; V93 tmp70 [V93,T43] ( 2, 0 ) ref -> x3 single-def "argument with side effect" -; V94 tmp71 [V94,T34] ( 3, 0 ) struct (16) [fp+0x40] do-not-enreg[SFA] multireg-arg must-init "argument with side effect" <Microsoft.CodeAnalysis.CSharp.Conversion> -; V95 tmp72 [V95 ] ( 2, 0 ) struct (48) [fp+0x10] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.CSharp.InterpolatedStringHandlerData>
+; V93 tmp70 [V93 ] ( 2, 0 ) struct (48) [fp+0x20] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.CSharp.InterpolatedStringHandlerData> +; V94 tmp71 [V94,T43] ( 2, 0 ) ref -> x3 single-def "argument with side effect" +; V95 tmp72 [V95,T34] ( 3, 0 ) struct (16) [fp+0x10] do-not-enreg[SFA] multireg-arg must-init "argument with side effect" <Microsoft.CodeAnalysis.CSharp.Conversion>
; V96 cse0 [V96,T22] ( 3, 0.38) long -> x1 "CSE - conservative" ; V97 cse1 [V97,T10] ( 3, 2.54) int -> x0 "CSE - moderate" ; V98 rat0 [V98,T02] ( 3, 6 ) int -> x0 "ReplaceWithLclVar is creating a new local variable" @@ -456,7 +456,7 @@ G_M49949_IG32: ; bbWeight=0, extend G_M49949_IG33: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, nogc ; gcrRegs -[x0 x21] +[x19-x20] ldp x0, x1, [x19, #0x40]
- stp x0, x1, [fp, #0x40]
+ stp x0, x1, [fp, #0x10]
;; size=8 bbWeight=0 PerfScore 0.00 G_M49949_IG34: ; bbWeight=0, extend ldr x1, [x19, #0x20] @@ -468,7 +468,7 @@ G_M49949_IG34: ; bbWeight=0, extend ; gcrRegs -[x1 x19] +[x0] mov x3, x0 ; gcrRegs +[x3]
- ldp x1, x2, [fp, #0x40] // [V94 tmp71], [V94 tmp71+0x08]
+ ldp x1, x2, [fp, #0x10] // [V95 tmp72], [V95 tmp72+0x08]
; gcrRegs +[x1] mov x0, x20 movz x4, #0xD1FFAB1E // code for <unknown method> @@ -720,13 +720,13 @@ G_M49949_IG56: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by G_M49949_IG57: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, nogc ; gcrRegs +[x19-x20] add x1, fp, #0xD1FFAB1E
- ldp q16, q17, [x1, #0x10] - stp q16, q17, [fp, #0x10] - ldr q16, [x1, #0x30] - str q16, [fp, #0x30]
+ ldp q16, q17, [x1, #0x20] + stp q16, q17, [fp, #0x20] + ldr q16, [x1, #0x40] + str q16, [fp, #0x40]
;; size=20 bbWeight=0 PerfScore 0.00 G_M49949_IG58: ; bbWeight=0, extend
- add x1, fp, #16 // [V95 tmp72]
+ add x1, fp, #32 // [V93 tmp70]
ldr x3, [x19, #0x20] ; gcrRegs +[x3] ldr x3, [x3, #0x08]

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes) PerfScore Overall (FullOpts)
benchmarks.run.linux.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
benchmarks.run_pgo.linux.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
benchmarks.run_tiered.linux.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
coreclr_tests.run.linux.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
libraries.crossgen2.linux.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
libraries.pmi.linux.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
libraries_tests.run.linux.arm64.Release.mch 2 0 0 2 -0 +0 0.0000%
librariestestsnotieredcompilation.run.linux.arm64.Release.mch 0 0 0 0 -0 +0 0.0000%
realworld.run.linux.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
smoke_tests.nativeaot.linux.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
2 0 0 2 -0 +0

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.linux.arm64.checked.mch 39,255 4,505 34,750 6 (0.02%) 6 (0.02%)
benchmarks.run_pgo.linux.arm64.checked.mch 149,238 58,069 91,169 4 (0.00%) 4 (0.00%)
benchmarks.run_tiered.linux.arm64.checked.mch 60,754 45,746 15,008 4 (0.01%) 4 (0.01%)
coreclr_tests.run.linux.arm64.checked.mch 650,141 400,791 249,350 7 (0.00%) 7 (0.00%)
libraries.crossgen2.linux.arm64.checked.mch 266,541 15 266,526 1 (0.00%) 1 (0.00%)
libraries.pmi.linux.arm64.checked.mch 301,087 6 301,081 14 (0.00%) 14 (0.00%)
libraries_tests.run.linux.arm64.Release.mch 730,259 488,690 241,569 21 (0.00%) 21 (0.00%)
librariestestsnotieredcompilation.run.linux.arm64.Release.mch 305,156 21,622 283,534 112 (0.04%) 112 (0.04%)
realworld.run.linux.arm64.checked.mch 33,134 75 33,059 2 (0.01%) 2 (0.01%)
smoke_tests.nativeaot.linux.arm64.checked.mch 19,020 7 19,013 1 (0.01%) 1 (0.01%)
2,554,585 1,019,526 1,535,059 172 (0.01%) 172 (0.01%)

jit-analyze output

libraries_tests.run.linux.arm64.Release.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 381315748 (overridden on cmd)
Total bytes of diff: 381315748 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)

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).



linux x64

Diffs are based on 2,543,224 contexts (988,245 MinOpts, 1,554,979 FullOpts).

MISSED contexts: 177 (0.01%)

Overall (-3 bytes)

Collection Base size (bytes) Diff size (bytes) PerfScore in Diffs
libraries_tests.run.linux.x64.Release.mch 329,922,608 -3 +0.16%

FullOpts (-3 bytes)

Collection Base size (bytes) Diff size (bytes) PerfScore in Diffs
libraries_tests.run.linux.x64.Release.mch 147,120,622 -3 +0.16%

Example diffs

libraries_tests.run.linux.x64.Release.mch

-3 (-0.06%) : 530245.dasm - System.Runtime.Serialization.Formatters.Binary.BinaryParser:Run():this (Tier1)

@@ -242,17 +242,17 @@ ; V230 tmp223 [V230,T200] ( 2, 0 ) ref -> rsi "argument with side effect" ; V231 tmp224 [V231,T22] ( 3, 2842.29) ref -> rdi "argument with side effect" ; V232 tmp225 [V232,T201] ( 2, 0 ) ref -> rsi "argument with side effect"
-; V233 tmp226 [V233,T112] ( 3, 35.78) ref -> rdi "arr expr" -; V234 tmp227 [V234,T113] ( 3, 35.78) int -> rax "index expr" -; V235 tmp228 [V235,T202] ( 2, 0 ) ref -> rsi "argument with side effect" -; V236 tmp229 [V236,T99] ( 3, 73.14) ref -> rdi "argument with side effect" -; V237 tmp230 [V237,T100] ( 3, 73.14) ref -> rdi "argument with side effect" -; V238 tmp231 [V238,T101] ( 3, 73.14) ref -> rdi "argument with side effect" -; V239 tmp232 [V239,T102] ( 3, 73.14) ref -> rdi "argument with side effect" -; V240 tmp233 [V240,T103] ( 3, 73.14) ref -> rdi "arr expr" -; V241 tmp234 [V241,T104] ( 3, 73.14) int -> rsi "index expr" -; V242 tmp235 [V242,T203] ( 2, 0 ) ref -> rsi "argument with side effect" -; V243 tmp236 [V243,T204] ( 2, 0 ) ref -> rsi "argument with side effect"
+; V233 tmp226 [V233,T99] ( 3, 73.14) ref -> rdi "argument with side effect" +; V234 tmp227 [V234,T100] ( 3, 73.14) ref -> rdi "argument with side effect" +; V235 tmp228 [V235,T101] ( 3, 73.14) ref -> rdi "argument with side effect" +; V236 tmp229 [V236,T102] ( 3, 73.14) ref -> rdi "argument with side effect" +; V237 tmp230 [V237,T103] ( 3, 73.14) ref -> rdi "arr expr" +; V238 tmp231 [V238,T104] ( 3, 73.14) int -> rsi "index expr" +; V239 tmp232 [V239,T202] ( 2, 0 ) ref -> rsi "argument with side effect" +; V240 tmp233 [V240,T203] ( 2, 0 ) ref -> rsi "argument with side effect" +; V241 tmp234 [V241,T204] ( 2, 0 ) ref -> rsi "argument with side effect" +; V242 tmp235 [V242,T112] ( 3, 35.78) ref -> rdi "arr expr" +; V243 tmp236 [V243,T113] ( 3, 35.78) int -> rax "index expr"
; V244 tmp237 [V244,T33] ( 3, 1589.71) ref -> rdi "argument with side effect" ; V245 tmp238 [V245,T34] ( 3, 1555.16) ref -> rdi "arr expr" ; V246 tmp239 [V246,T35] ( 3, 1555.16) int -> rax "index expr" @@ -324,22 +324,22 @@ G_M51225_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr ; gcr arg pop 0 mov r13d, dword ptr [r14+0x0C] test r13d, r13d
- jle G_M51225_IG88
+ jle G_M51225_IG81
mov r12, gword ptr [rbx+0x08] ; gcrRegs +[r12] movsxd r13, r13d cmp byte ptr [r12+0x91], 0
- je G_M51225_IG33
+ je G_M51225_IG27
;; size=71 bbWeight=1 PerfScore 14.75 G_M51225_IG03: ; bbWeight=1, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref test r13, r13
- jg G_M51225_IG30
+ jg G_M51225_IG24
;; size=9 bbWeight=1 PerfScore 1.25 G_M51225_IG04: ; bbWeight=0.66, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref cmp byte ptr [r12+0x92], 0
- jne G_M51225_IG193
+ jne G_M51225_IG136
cmp r13, -1
- je G_M51225_IG193
+ je G_M51225_IG136
neg r13 ;; size=28 bbWeight=0.66 PerfScore 3.62 G_M51225_IG05: ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref @@ -347,7 +347,7 @@ G_M51225_IG05: ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, mov qword ptr [rbx+0xA8], r13 mov eax, dword ptr [r14+0x10] test eax, eax
- jg G_M51225_IG89
+ jg G_M51225_IG82
movsxd rcx, eax ;; size=22 bbWeight=1 PerfScore 4.50 G_M51225_IG06: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref @@ -363,14 +363,14 @@ G_M51225_IG07: ; bbWeight=1100.38, gcrefRegs=0008 {rbx}, byrefRegs=0000 { G_M51225_IG08: ; bbWeight=473.71, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref dec edi cmp edi, 6
- ja G_M51225_IG192
+ ja G_M51225_IG135
mov rdi, gword ptr [rbx+0x48] ; gcrRegs +[rdi] mov rax, 0xD1FFAB1E ; System.IO.BinaryReader cmp qword ptr [rdi], rax
- jne G_M51225_IG90
+ jne G_M51225_IG83
cmp byte ptr [rdi+0x2F], 0
- jne G_M51225_IG187
+ jne G_M51225_IG130
mov rdi, gword ptr [rdi+0x08] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x68] @@ -378,18 +378,18 @@ G_M51225_IG08: ; bbWeight=473.71, gcrefRegs=0008 {rbx}, byrefRegs=0000 {} ; gcrRegs -[rdi] ; gcr arg pop 0 cmp eax, -1
- je G_M51225_IG188
+ je G_M51225_IG131
movzx r12, al ;; size=71 bbWeight=473.71 PerfScore 10540.14 G_M51225_IG09: ; bbWeight=473.71, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref mov r14d, r12d lea r13d, [r12-0x01] cmp r13d, 8
- je G_M51225_IG66
+ je G_M51225_IG60
;; size=18 bbWeight=473.71 PerfScore 947.43 G_M51225_IG10: ; bbWeight=208.76, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref cmp r13d, 19
- ja G_M51225_IG191
+ ja G_M51225_IG134
mov edi, r13d lea rax, [reloc @RWD00] mov eax, dword ptr [rax+4*rdi] @@ -404,21 +404,21 @@ G_M51225_IG11: ; bbWeight=626.67, gcrefRegs=0008 {rbx}, byrefRegs=0000 {} ; gcrRegs -[rdi] ; gcr arg pop 0 ;; size=9 bbWeight=626.67 PerfScore 2036.67
-G_M51225_IG12: ; bbWeight=1100.38, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M51225_IG12: ; bbWeight=1100.38, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp r14d, 12
- je G_M51225_IG28 - ;; size=10 bbWeight=1100.38 PerfScore 1375.48
+ je SHORT G_M51225_IG22 + ;; size=6 bbWeight=1100.38 PerfScore 1375.48
G_M51225_IG13: ; bbWeight=1278.38, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref mov rdi, gword ptr [rbx+0x28] ; gcrRegs +[rdi] mov esi, dword ptr [rdi+0x18] test esi, esi
- jl G_M51225_IG134
+ jl G_M51225_IG149
;; size=15 bbWeight=1278.38 PerfScore 6711.50 G_M51225_IG14: ; bbWeight=1250.59, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref mov rdi, gword ptr [rdi+0x08] cmp esi, dword ptr [rdi+0x08]
- jae G_M51225_IG185
+ jae G_M51225_IG121
mov esi, esi mov rsi, gword ptr [rdi+8*rsi+0x10] ; gcrRegs +[rsi] @@ -433,13 +433,13 @@ G_M51225_IG15: ; bbWeight=1278.38, gcrefRegs=0048 {rbx rsi}, byrefRegs=00 G_M51225_IG16: ; bbWeight=639.19, gcrefRegs=2048 {rbx rsi r13}, byrefRegs=0000 {}, byref mov rdi, 0xD1FFAB1E ; System.Runtime.Serialization.Formatters.Binary.ObjectProgress cmp qword ptr [r13], rdi
- jne G_M51225_IG186
+ jne G_M51225_IG129
;; size=20 bbWeight=639.19 PerfScore 2716.56
-G_M51225_IG17: ; bbWeight=1278.38, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref
+G_M51225_IG17: ; bbWeight=1278.38, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rsi] test r13, r13
- je G_M51225_IG27 - ;; size=9 bbWeight=1278.38 PerfScore 1597.98
+ je SHORT G_M51225_IG21 + ;; size=5 bbWeight=1278.38 PerfScore 1597.98
G_M51225_IG18: ; bbWeight=1235.76, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref lea r14, bword ptr [r13+0x54] ; byrRegs +[r14] @@ -451,129 +451,44 @@ G_M51225_IG18: ; bbWeight=1235.76, gcrefRegs=2008 {rbx r13}, byrefRegs=00 G_M51225_IG19: ; bbWeight=1235.76, gcrefRegs=2008 {rbx r13}, byrefRegs=4080 {rdi r14}, byref mov gword ptr [rdi], rsi cmp dword ptr [r13+0x58], 2
- jne G_M51225_IG46
+ jne G_M51225_IG40
;; size=14 bbWeight=1235.76 PerfScore 6178.81 G_M51225_IG20: ; bbWeight=203.78, gcrefRegs=2008 {rbx r13}, byrefRegs=4080 {rdi r14}, byref
- jmp G_M51225_IG122
+ jmp G_M51225_IG115
;; size=5 bbWeight=203.78 PerfScore 407.55
-G_M51225_IG21: ; bbWeight=0, gcVars=0000000000000000000000000000000000000000000000000000008000000000 {V76}, gcrefRegs=3009 {rax rbx r12 r13}, byrefRegs=0000 {}, gcvars, byref, isz - ; gcrRegs +[rax r12]
+G_M51225_IG21: ; bbWeight=42.62, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref + ; gcrRegs -[r13]
; byrRegs -[rdi r14]
- ; GC ptr vars +{V76} - mov byte ptr [rax+0x92], 1 - cmp gword ptr [rax+0x60], 0 - jne SHORT G_M51225_IG22 - mov rdi, 0xD1FFAB1E ; System.Runtime.Serialization.Formatters.Binary.IntSizedArray - call CORINFO_HELP_NEWSFAST - ; gcr arg pop 0 - mov gword ptr [rbp-0x70], rax - ; GC ptr vars +{V80} - mov rdi, rax - ; gcrRegs +[rdi] - call [System.Runtime.Serialization.Formatters.Binary.IntSizedArray:.ctor():this] - ; gcrRegs -[rax rdi] - ; gcr arg pop 0 - mov rax, gword ptr [rbp-0x68] - ; gcrRegs +[rax] - lea rdi, bword ptr [rax+0x60] - ; byrRegs +[rdi] - mov rsi, gword ptr [rbp-0x70] - ; gcrRegs +[rsi] - ; GC ptr vars -{V80} - call CORINFO_HELP_ASSIGN_REF - ; gcrRegs -[rax rsi] - ; byrRegs -[rdi] - mov rcx, qword ptr [rbp-0x40] - ;; size=63 bbWeight=0 PerfScore 0.00 -G_M51225_IG22: ; bbWeight=0, gcrefRegs=3008 {rbx r12 r13}, byrefRegs=0000 {}, byref, isz - mov rax, gword ptr [rbp-0x68] - ; gcrRegs +[rax] - mov rdi, gword ptr [rax+0x60] - ; gcrRegs +[rdi] - mov esi, ecx - cmp dword ptr [rdi], edi - call [System.Runtime.Serialization.Formatters.Binary.IntSizedArray:get_Item(int):int:this] - ; gcrRegs -[rax rdi] - ; gcr arg pop 0 - cdqe - mov rcx, rax - test rcx, rcx - jne SHORT G_M51225_IG23 - mov rcx, qword ptr [rbp-0x40] - lea rdi, [rcx+D1FFAB1EH] - mov rax, rdi - mov rdi, gword ptr [rbp-0x68] - ; gcrRegs +[rdi] - mov rdi, gword ptr [rdi+0x60] - mov esi, ecx - mov qword ptr [rbp-0x48], rax - mov edx, eax - cmp dword ptr [rdi], edi - ; GC ptr vars -{V76} - call [System.Runtime.Serialization.Formatters.Binary.IntSizedArray:set_Item(int,int):this] - ; gcrRegs -[rdi] - ; gcr arg pop 0 - mov rcx, qword ptr [rbp-0x48] - ;; size=70 bbWeight=0 PerfScore 0.00 -G_M51225_IG23: ; bbWeight=0, gcrefRegs=3008 {rbx r12 r13}, byrefRegs=0000 {}, byref - jmp G_M51225_IG100 - ;; size=5 bbWeight=0 PerfScore 0.00 -G_M51225_IG24: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref - ; gcrRegs -[r12-r13] - mov rdi, rbx - ; gcrRegs +[rdi] - call [System.Runtime.Serialization.Formatters.Binary.BinaryParser:ReadMemberPrimitiveTyped():this] - ; gcrRegs -[rdi] - ; gcr arg pop 0 - jmp G_M51225_IG12 - ;; size=14 bbWeight=0 PerfScore 0.00 -G_M51225_IG25: ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref - ; gcrRegs -[rbx] +[rsi] - call CORINFO_HELP_CHKCASTCLASS - ; gcrRegs -[rsi] +[rax] - ; gcr arg pop 0 - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -G_M51225_IG26: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref - ; gcrRegs -[rax] +[rbx] - mov rdi, rbx - ; gcrRegs +[rdi] - call [System.Runtime.Serialization.Formatters.Binary.BinaryParser:ReadCrossAppDomainMap():this] - ; gcrRegs -[rdi] - ; gcr arg pop 0 - jmp G_M51225_IG12
...

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes) PerfScore Overall (FullOpts)
benchmarks.run.linux.x64.checked.mch 0 0 0 0 -0 +0 0.0000%
benchmarks.run_pgo.linux.x64.checked.mch 0 0 0 0 -0 +0 0.0000%
benchmarks.run_tiered.linux.x64.checked.mch 0 0 0 0 -0 +0 0.0000%
coreclr_tests.run.linux.x64.checked.mch 0 0 0 0 -0 +0 0.0000%
libraries.crossgen2.linux.x64.checked.mch 0 0 0 0 -0 +0 0.0000%
libraries.pmi.linux.x64.checked.mch 0 0 0 0 -0 +0 0.0000%
libraries_tests.run.linux.x64.Release.mch 1 1 0 0 -3 +0 +0.0000%
librariestestsnotieredcompilation.run.linux.x64.Release.mch 0 0 0 0 -0 +0 0.0000%
realworld.run.linux.x64.checked.mch 0 0 0 0 -0 +0 0.0000%
smoke_tests.nativeaot.linux.x64.checked.mch 0 0 0 0 -0 +0 0.0000%
1 1 0 0 -3 +0

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.linux.x64.checked.mch 31,794 2,071 29,723 6 (0.02%) 6 (0.02%)
benchmarks.run_pgo.linux.x64.checked.mch 156,239 58,375 97,864 4 (0.00%) 4 (0.00%)
benchmarks.run_tiered.linux.x64.checked.mch 64,164 49,119 15,045 4 (0.01%) 4 (0.01%)
coreclr_tests.run.linux.x64.checked.mch 609,175 362,858 246,317 7 (0.00%) 7 (0.00%)
libraries.crossgen2.linux.x64.checked.mch 266,398 15 266,383 1 (0.00%) 1 (0.00%)
libraries.pmi.linux.x64.checked.mch 302,021 6 302,015 14 (0.00%) 14 (0.00%)
libraries_tests.run.linux.x64.Release.mch 747,051 493,849 253,202 23 (0.00%) 23 (0.00%)
librariestestsnotieredcompilation.run.linux.x64.Release.mch 305,764 21,933 283,831 115 (0.04%) 115 (0.04%)
realworld.run.linux.x64.checked.mch 33,138 9 33,129 2 (0.01%) 2 (0.01%)
smoke_tests.nativeaot.linux.x64.checked.mch 27,480 10 27,470 1 (0.00%) 1 (0.00%)
2,543,224 988,245 1,554,979 177 (0.01%) 177 (0.01%)

jit-analyze output

libraries_tests.run.linux.x64.Release.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 329922608 (overridden on cmd)
Total bytes of diff: 329922605 (overridden on cmd)
Total bytes of delta: -3 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file improvements (bytes):
          -3 : 530245.dasm (-0.06 % of base)

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

Top method improvements (bytes):
          -3 (-0.06 % of base) : 530245.dasm - System.Runtime.Serialization.Formatters.Binary.BinaryParser:Run():this (Tier1)

Top method improvements (percentages):
          -3 (-0.06 % of base) : 530245.dasm - System.Runtime.Serialization.Formatters.Binary.BinaryParser:Run():this (Tier1)

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



windows arm64

Diffs are based on 2,402,908 contexts (955,693 MinOpts, 1,447,215 FullOpts).

MISSED contexts: 174 (0.01%)

Overall (+0 bytes)

Collection Base size (bytes) Diff size (bytes) PerfScore in Diffs
libraries_tests.run.windows.arm64.Release.mch 328,693,680 +0 0.00%

FullOpts (+0 bytes)

Collection Base size (bytes) Diff size (bytes) PerfScore in Diffs
libraries_tests.run.windows.arm64.Release.mch 123,601,008 +0 0.00%

Example diffs

libraries_tests.run.windows.arm64.Release.mch

+0 (0.00%) : 595095.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitConversion(Microsoft.CodeAnalysis.CSharp.BoundConversion):Microsoft.CodeAnalysis.CSharp.BoundNode:this (Tier1)

@@ -102,9 +102,9 @@ ; V90 tmp67 [V90,T37] ( 3, 0 ) byref -> x1 single-def "Spilling address for field-by-field copy" ; V91 tmp68 [V91,T46] ( 2, 0 ) ref -> x3 single-def "argument with side effect" ; V92 tmp69 [V92,T38] ( 3, 0 ) struct (16) [fp+0x50] do-not-enreg[SFA] multireg-arg must-init "argument with side effect" <Microsoft.CodeAnalysis.CSharp.Conversion>
-; V93 tmp70 [V93,T28] ( 2, 0.06) ref -> x3 single-def "argument with side effect" -; V94 tmp71 [V94,T26] ( 3, 0.08) struct (16) [fp+0x40] do-not-enreg[SFA] multireg-arg must-init "argument with side effect" <Microsoft.CodeAnalysis.CSharp.Conversion> -; V95 tmp72 [V95 ] ( 2, 0 ) struct (48) [fp+0x10] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.CSharp.InterpolatedStringHandlerData>
+; V93 tmp70 [V93 ] ( 2, 0 ) struct (48) [fp+0x20] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.CodeAnalysis.CSharp.InterpolatedStringHandlerData> +; V94 tmp71 [V94,T28] ( 2, 0.06) ref -> x3 single-def "argument with side effect" +; V95 tmp72 [V95,T26] ( 3, 0.08) struct (16) [fp+0x10] do-not-enreg[SFA] multireg-arg must-init "argument with side effect" <Microsoft.CodeAnalysis.CSharp.Conversion>
; V96 cse0 [V96,T22] ( 3, 0.18) long -> x1 "CSE - conservative" ; V97 cse1 [V97,T10] ( 3, 2.75) int -> x0 "CSE - moderate" ; V98 rat0 [V98,T27] ( 3, 0.06) ref -> x1 "Spilling to split statement for tree" @@ -358,7 +358,7 @@ G_M49949_IG23: ; bbWeight=0.02, gcrefRegs=380001 {x0 x19 x20 x21}, byrefR G_M49949_IG24: ; bbWeight=0.01, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, nogc ; gcrRegs -[x21] ldp x1, x2, [x19, #0x40]
- stp x1, x2, [fp, #0x40]
+ stp x1, x2, [fp, #0x10]
;; size=8 bbWeight=0.01 PerfScore 0.07 G_M49949_IG25: ; bbWeight=0.01, isz, extend ldr x1, [x19, #0x20] @@ -378,7 +378,7 @@ G_M49949_IG26: ; bbWeight=0.01, gcrefRegs=10000A {x1 x3 x20}, byrefRegs=0 ;; size=24 bbWeight=0.01 PerfScore 0.04 G_M49949_IG27: ; bbWeight=0.01, gcrefRegs=100008 {x3 x20}, byrefRegs=0000 {}, byref ; gcrRegs -[x1]
- ldp x1, x2, [fp, #0x40] // [V94 tmp71], [V94 tmp71+0x08]
+ ldp x1, x2, [fp, #0x10] // [V95 tmp72], [V95 tmp72+0x08]
; gcrRegs +[x1] mov x0, x20 ; gcrRegs +[x0] @@ -631,13 +631,13 @@ G_M49949_IG49: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by G_M49949_IG50: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, nogc ; gcrRegs +[x19-x20] add x1, fp, #0xD1FFAB1E
- ldp q16, q17, [x1, #0x10] - stp q16, q17, [fp, #0x10] - ldr q16, [x1, #0x30] - str q16, [fp, #0x30]
+ ldp q16, q17, [x1, #0x20] + stp q16, q17, [fp, #0x20] + ldr q16, [x1, #0x40] + str q16, [fp, #0x40]
;; size=20 bbWeight=0 PerfScore 0.00 G_M49949_IG51: ; bbWeight=0, extend
- add x1, fp, #16 // [V95 tmp72]
+ add x1, fp, #32 // [V93 tmp70]
ldr x3, [x19, #0x20] ; gcrRegs +[x3] ldr x3, [x3, #0x08]

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes) PerfScore Overall (FullOpts)
benchmarks.run.windows.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
benchmarks.run_pgo.windows.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
benchmarks.run_tiered.windows.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
coreclr_tests.run.windows.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
libraries.crossgen2.windows.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
libraries.pmi.windows.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
libraries_tests.run.windows.arm64.Release.mch 1 0 0 1 -0 +0 0.0000%
librariestestsnotieredcompilation.run.windows.arm64.Release.mch 0 0 0 0 -0 +0 0.0000%
realworld.run.windows.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
smoke_tests.nativeaot.windows.arm64.checked.mch 0 0 0 0 -0 +0 0.0000%
1 0 0 1 -0 +0

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.windows.arm64.checked.mch 24,651 4 24,647 5 (0.02%) 5 (0.02%)
benchmarks.run_pgo.windows.arm64.checked.mch 98,100 48,818 49,282 4 (0.00%) 4 (0.00%)
benchmarks.run_tiered.windows.arm64.checked.mch 48,889 37,115 11,774 4 (0.01%) 4 (0.01%)
coreclr_tests.run.windows.arm64.checked.mch 618,707 379,773 238,934 8 (0.00%) 8 (0.00%)
libraries.crossgen2.windows.arm64.checked.mch 276,178 15 276,163 0 (0.00%) 0 (0.00%)
libraries.pmi.windows.arm64.checked.mch 310,881 6 310,875 19 (0.01%) 19 (0.01%)
libraries_tests.run.windows.arm64.Release.mch 650,760 468,332 182,428 18 (0.00%) 18 (0.00%)
librariestestsnotieredcompilation.run.windows.arm64.Release.mch 317,258 21,619 295,639 115 (0.04%) 115 (0.04%)
realworld.run.windows.arm64.checked.mch 33,309 3 33,306 1 (0.00%) 1 (0.00%)
smoke_tests.nativeaot.windows.arm64.checked.mch 24,175 8 24,167 0 (0.00%) 0 (0.00%)
2,402,908 955,693 1,447,215 174 (0.01%) 174 (0.01%)

jit-analyze output

libraries_tests.run.windows.arm64.Release.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 328693680 (overridden on cmd)
Total bytes of diff: 328693680 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)

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).



windows x64

Diffs are based on 2,572,855 contexts (1,010,991 MinOpts, 1,561,864 FullOpts).

MISSED contexts: 176 (0.01%)

No diffs found.

Details

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
aspnet.run.windows.x64.checked.mch 142,220 69,176 73,044 0 (0.00%) 0 (0.00%)
benchmarks.run.windows.x64.checked.mch 28,176 4 28,172 5 (0.02%) 5 (0.02%)
benchmarks.run_pgo.windows.x64.checked.mch 101,966 50,185 51,781 4 (0.00%) 4 (0.00%)
benchmarks.run_tiered.windows.x64.checked.mch 53,057 37,302 15,755 4 (0.01%) 4 (0.01%)
coreclr_tests.run.windows.x64.checked.mch 584,454 348,263 236,191 7 (0.00%) 7 (0.00%)
libraries.crossgen2.windows.x64.checked.mch 275,771 15 275,756 0 (0.00%) 0 (0.00%)
libraries.pmi.windows.x64.checked.mch 314,324 6 314,318 19 (0.01%) 19 (0.01%)
libraries_tests.run.windows.x64.Release.mch 682,663 484,080 198,583 18 (0.00%) 18 (0.00%)
librariestestsnotieredcompilation.run.windows.x64.Release.mch 320,777 21,946 298,831 118 (0.04%) 118 (0.04%)
realworld.run.windows.x64.checked.mch 36,922 3 36,919 1 (0.00%) 1 (0.00%)
smoke_tests.nativeaot.windows.x64.checked.mch 32,525 11 32,514 0 (0.00%) 0 (0.00%)
2,572,855 1,010,991 1,561,864 176 (0.01%) 176 (0.01%)