Assembly Diffs

linux arm

Diffs are based on 2,230,528 contexts (825,130 MinOpts, 1,405,398 FullOpts).

MISSED contexts: 77,529 (3.36%)

Overall (-868,478 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm.checked.mch 15,056,962 -54
benchmarks.run_pgo.linux.arm.checked.mch 63,327,810 -49,248
benchmarks.run_tiered.linux.arm.checked.mch 17,395,270 -32,052
coreclr_tests.run.linux.arm.checked.mch 321,199,404 -200,016
libraries.crossgen2.linux.arm.checked.mch 36,758,116 +0
libraries.pmi.linux.arm.checked.mch 48,738,124 -280
libraries_tests.run.linux.arm.Release.mch 244,888,660 -547,278
librariestestsnotieredcompilation.run.linux.arm.Release.mch 93,389,302 -24,904
realworld.run.linux.arm.checked.mch 13,304,600 -14,646

MinOpts (-868,478 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm.checked.mch 383,466 -54
benchmarks.run_pgo.linux.arm.checked.mch 11,641,744 -49,248
benchmarks.run_tiered.linux.arm.checked.mch 7,192,228 -32,052
coreclr_tests.run.linux.arm.checked.mch 212,641,656 -200,016
libraries.crossgen2.linux.arm.checked.mch 1,230 +0
libraries.pmi.linux.arm.checked.mch 106,504 -280
libraries_tests.run.linux.arm.Release.mch 122,290,786 -547,278
librariestestsnotieredcompilation.run.linux.arm.Release.mch 10,083,802 -24,904
realworld.run.linux.arm.checked.mch 449,686 -14,646

Example diffs

benchmarks.run.linux.arm.checked.mch

-8 (-9.30%) : 16780.dasm - Devirtualization.EqualityComparerFixture1[System.ValueTuple3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)

@@ -30,45 +30,37 @@ G_M54368_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref blx r3 // <unknown method> ; gcrRegs +[r0] str r0, [sp+0x10] // [V04 tmp1]
- ldr r0, [sp+0x14] // [V02 arg2] - ; gcrRegs -[r0] - ; byrRegs +[r0] - ldr r1, [r0] - str r1, [sp] // [V03 OutArgs] - ldr r1, [r0+0x04] - str r1, [sp+0x04] // [V03 OutArgs+0x04] - ldr r1, [r0+0x08] - str r1, [sp+0x08] // [V03 OutArgs+0x08] - ldr r0, [sp+0x10] // [V04 tmp1] - ; gcrRegs +[r0] - ; byrRegs -[r0] - ldr r1, [sp+0x18] // [V01 arg1] - ; byrRegs +[r1] - ldr r1, [r1] - ; byrRegs -[r1] - ldr r2, [sp+0x18] // [V01 arg1] - ; byrRegs +[r2] - ldr r2, [r2+0x04] - ; byrRegs -[r2] - ldr r3, [sp+0x18] // [V01 arg1]
+ ldr r3, [sp+0x14] // [V02 arg2]
; byrRegs +[r3]
+ ldr r2, [r3] + str r2, [sp] // [V03 OutArgs] + ldr r2, [r3+0x04] + str r2, [sp+0x04] // [V03 OutArgs+0x04] + ldr r2, [r3+0x08] + str r2, [sp+0x08] // [V03 OutArgs+0x08] + ldr r0, [sp+0x10] // [V04 tmp1] + ldr r3, [sp+0x18] // [V01 arg1] + ldr r1, [r3] + ldr r3, [sp+0x18] // [V01 arg1] + ldr r2, [r3+0x04] + ldr r3, [sp+0x18] // [V01 arg1]
ldr r3, [r3+0x08] ; byrRegs -[r3]
- ldr lr, [sp+0x10] // [V04 tmp1] - ; gcrRegs +[lr] - ldr lr, [lr] - ; gcrRegs -[lr] - ldr lr, [lr+0x2C] - ldr lr, [lr+0x10] - blx lr // <unknown method>
+ ldr r4, [sp+0x10] // [V04 tmp1] + ; gcrRegs +[r4] + ldr r4, [r4] + ; gcrRegs -[r4] + ldr r4, [r4+0x2C] + ldr r4, [r4+0x10] + blx r4 // <unknown method>
; gcrRegs -[r0]
- ;; size=60 bbWeight=1 PerfScore 24.00
+ ;; size=52 bbWeight=1 PerfScore 24.00
G_M54368_IG03: ; bbWeight=1, epilog, nogc, extend add sp, 32 pop {r4,r10,r11,pc} ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 86, prolog size 14, PerfScore 34.00, instruction count 34, allocated bytes for code 86 (MethodHash=58ee2b9f) for method Devirtualization.EqualityComparerFixture`1[System.ValueTuple`3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)
+; Total bytes of code 78, prolog size 14, PerfScore 34.00, instruction count 34, allocated bytes for code 78 (MethodHash=58ee2b9f) for method Devirtualization.EqualityComparerFixture`1[System.ValueTuple`3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)
; ============================================================ Unwind Info: @@ -80,7 +72,7 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 43 (0x0002b) Actual length = 86 (0x000056)
+ Function Length : 39 (0x00027) Actual length = 78 (0x00004e)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----

-2 (-2.44%) : 6217.dasm - BenchmarkDotNet.Autogenerated.Runnable188:ForDisassemblyDiagnoser_():ubyte:this (MinOpts)

@@ -24,38 +24,38 @@ G_M42457_IG01: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byref str r0, [sp+0x0C] // [V00 this] ;; size=20 bbWeight=1 PerfScore 8.00 G_M42457_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x0C] - ; gcrRegs +[r0] - ldr r0, [r0+0x34] - ; gcrRegs -[r0] - cmp r0, 11
+ ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + ldr r3, [r3+0x34] + ; gcrRegs -[r3] + cmp r3, 11
bne SHORT G_M42457_IG04
- ldr r0, [sp+0x0C] - ; gcrRegs +[r0] - ldr r0, [r0+0x28] - ; gcrRegs -[r0] - str r0, [sp+0x08] // [V01 loc0] - ldr r0, [sp+0x0C] // [V00 this] - ; gcrRegs +[r0] - ldr r0, [r0+0x2C] - ; gcrRegs -[r0] - str r0, [sp+0x04] // [V02 loc1] - ldr r0, [sp+0x0C] // [V00 this] - ; gcrRegs +[r0] - ldr r0, [r0+0x30] - ; gcrRegs -[r0] - str r0, [sp] // [V03 loc2]
+ ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + ldr r3, [r3+0x28] + ; gcrRegs -[r3] + str r3, [sp+0x08] // [V01 loc0] + ldr r3, [sp+0x0C] // [V00 this] + ; gcrRegs +[r3] + ldr r3, [r3+0x2C] + ; gcrRegs -[r3] + str r3, [sp+0x04] // [V02 loc1] + ldr r3, [sp+0x0C] // [V00 this] + ; gcrRegs +[r3] + ldr r3, [r3+0x30] + ; gcrRegs -[r3] + str r3, [sp] // [V03 loc2]
ldr r0, [sp+0x0C] // [V00 this] ; gcrRegs +[r0] ldr r1, [sp+0x08] // [V01 loc0] ldr r2, [sp+0x04] // [V02 loc1] ldr r3, [sp] // [V03 loc2]
- movw lr, 0xd1ff - movt lr, 0xd1ff - ldr lr, [lr] - blx lr // <unknown method>
+ movw r4, 0xd1ff + movt r4, 0xd1ff + ldr r4, [r4] + blx r4 // <unknown method>
; gcrRegs -[r0]
- ;; size=48 bbWeight=1 PerfScore 21.00
+ ;; size=46 bbWeight=1 PerfScore 21.00
G_M42457_IG03: ; bbWeight=1, epilog, nogc, extend add sp, 16 pop {r4,r10,r11,pc} @@ -68,7 +68,7 @@ G_M42457_IG05: ; bbWeight=1, epilog, nogc, extend pop {r4,r10,r11,pc} ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 82, prolog size 18, PerfScore 34.00, instruction count 34, allocated bytes for code 82 (MethodHash=7a705a26) for method BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
+; Total bytes of code 80, prolog size 18, PerfScore 34.00, instruction count 34, allocated bytes for code 80 (MethodHash=7a705a26) for method BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
; ============================================================ Unwind Info: @@ -80,7 +80,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 41 (0x00029) Actual length = 82 (0x000052)
+ Function Length : 40 (0x00028) Actual length = 80 (0x000050)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-2 (-2.44%) : 8713.dasm - BenchmarkDotNet.Autogenerated.Runnable161:ForDisassemblyDiagnoser_():System.String:this (MinOpts)

@@ -24,37 +24,37 @@ G_M20735_IG01: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byref str r0, [sp+0x0C] // [V00 this] ;; size=20 bbWeight=1 PerfScore 8.00 G_M20735_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x0C] - ; gcrRegs +[r0] - ldr r0, [r0+0x24] - ; gcrRegs -[r0] - cmp r0, 11
+ ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + ldr r3, [r3+0x24] + ; gcrRegs -[r3] + cmp r3, 11
bne SHORT G_M20735_IG04
- ldr r0, [sp+0x0C] - ; gcrRegs +[r0] - ldr r0, [r0+0x1C] - str r0, [sp+0x08] // [V01 loc0] - ldr r0, [sp+0x0C] // [V00 this] - ldrh r0, [r0+0x2C] - ; gcrRegs -[r0] - str r0, [sp+0x04] // [V02 loc1] - ldr r0, [sp+0x0C] // [V00 this] - ; gcrRegs +[r0] - ldrh r0, [r0+0x2E] - ; gcrRegs -[r0] - str r0, [sp] // [V03 loc2]
+ ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + ldr r3, [r3+0x1C] + str r3, [sp+0x08] // [V01 loc0] + ldr r3, [sp+0x0C] // [V00 this] + ldrh r3, [r3+0x2C] + ; gcrRegs -[r3] + str r3, [sp+0x04] // [V02 loc1] + ldr r3, [sp+0x0C] // [V00 this] + ; gcrRegs +[r3] + ldrh r3, [r3+0x2E] + ; gcrRegs -[r3] + str r3, [sp] // [V03 loc2]
ldr r0, [sp+0x0C] // [V00 this] ; gcrRegs +[r0] ldr r1, [sp+0x08] // [V01 loc0] ; gcrRegs +[r1] ldr r2, [sp+0x04] // [V02 loc1] ldr r3, [sp] // [V03 loc2]
- movw lr, 0xd1ff - movt lr, 0xd1ff - ldr lr, [lr] - blx lr // <unknown method>
+ movw r4, 0xd1ff + movt r4, 0xd1ff + ldr r4, [r4] + blx r4 // <unknown method>
; gcrRegs -[r1]
- ;; size=48 bbWeight=1 PerfScore 21.00
+ ;; size=46 bbWeight=1 PerfScore 21.00
G_M20735_IG03: ; bbWeight=1, epilog, nogc, extend add sp, 16 pop {r4,r10,r11,pc} @@ -68,7 +68,7 @@ G_M20735_IG05: ; bbWeight=1, epilog, nogc, extend pop {r4,r10,r11,pc} ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 82, prolog size 18, PerfScore 34.00, instruction count 34, allocated bytes for code 82 (MethodHash=e12caf00) for method BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
+; Total bytes of code 80, prolog size 18, PerfScore 34.00, instruction count 34, allocated bytes for code 80 (MethodHash=e12caf00) for method BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
; ============================================================ Unwind Info: @@ -80,7 +80,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 41 (0x00029) Actual length = 82 (0x000052)
+ Function Length : 40 (0x00028) Actual length = 80 (0x000050)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+0 (0.00%) : 43672.dasm - BenchmarkDotNet.Autogenerated.Runnable170:ForDisassemblyDiagnoser_():this (MinOpts)

@@ -16,11 +16,11 @@ G_M60795_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, str r0, [sp+0x04] ;; size=10 bbWeight=1 PerfScore 3.00 G_M60795_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] - ; gcrRegs +[r0] - ldr r0, [r0+0x2C] - ; gcrRegs -[r0] - cmp r0, 11
+ ldr r3, [sp+0x04] + ; gcrRegs +[r3] + ldr r3, [r3+0x2C] + ; gcrRegs -[r3] + cmp r3, 11
bne SHORT G_M60795_IG03 ldr r0, [sp+0x04] ; gcrRegs +[r0]

+0 (0.00%) : 43696.dasm - BenchmarkDotNet.Autogenerated.Runnable199:ForDisassemblyDiagnoser_():this (MinOpts)

@@ -19,11 +19,11 @@ G_M62812_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, str r0, [sp+0x04] // [V00 this] ;; size=14 bbWeight=1 PerfScore 5.00 G_M62812_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] - ; gcrRegs +[r0] - ldr r0, [r0+0x30] - ; gcrRegs -[r0] - cmp r0, 11
+ ldr r3, [sp+0x04] + ; gcrRegs +[r3] + ldr r3, [r3+0x30] + ; gcrRegs -[r3] + cmp r3, 11
bne SHORT G_M62812_IG03 ldr r0, [sp+0x04] ; gcrRegs +[r0]

+2 (+4.00%) : 20879.dasm - BenchmarkDotNet.Autogenerated.Runnable86:ForDisassemblyDiagnoser_():byref:this (MinOpts)

@@ -16,11 +16,11 @@ G_M18163_IG01: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byref str r0, [sp+0x04] ;; size=10 bbWeight=1 PerfScore 3.00 G_M18163_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] - ; gcrRegs +[r0] - ldr r0, [r0+0x2C] - ; gcrRegs -[r0] - cmp r0, 11
+ ldr r3, [sp+0x04] + ; gcrRegs +[r3] + ldr r3, [r3+0x2C] + ; gcrRegs -[r3] + cmp r3, 11
bne SHORT G_M18163_IG04 ldr r0, [sp+0x04] ; gcrRegs +[r0] @@ -36,21 +36,20 @@ G_M18163_IG03: ; bbWeight=1, epilog, nogc, extend ;; size=4 bbWeight=1 PerfScore 1.00 G_M18163_IG04: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref ; byrRegs -[r0]
- ldr r0, [sp+0x04] - ; gcrRegs +[r0] - ldrsb r0, [r0] - ; gcrRegs -[r0] - ldr r0, [sp+0x04] - ; gcrRegs +[r0] - adds r0, 52 - ; gcrRegs -[r0]
+ ldr r3, [sp+0x04] + ; gcrRegs +[r3] + ldrsb r3, [r3] + ; gcrRegs -[r3] + ldr r3, [sp+0x04] + ; gcrRegs +[r3] + add r0, r3, 52
; byrRegs +[r0]
- ;; size=10 bbWeight=1 PerfScore 4.00
+ ;; size=12 bbWeight=1 PerfScore 4.00
G_M18163_IG05: ; bbWeight=1, epilog, nogc, extend pop {r2,r3,r4,r10,r11,pc} ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 50, prolog size 8, PerfScore 18.00, instruction count 18, allocated bytes for code 50 (MethodHash=0e6cb90c) for method BenchmarkDotNet.Autogenerated.Runnable_86:__ForDisassemblyDiagnoser__():byref:this (MinOpts)
+; Total bytes of code 52, prolog size 8, PerfScore 18.00, instruction count 18, allocated bytes for code 52 (MethodHash=0e6cb90c) for method BenchmarkDotNet.Autogenerated.Runnable_86:__ForDisassemblyDiagnoser__():byref:this (MinOpts)
; ============================================================ Unwind Info: @@ -62,7 +61,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 25 (0x00019) Actual length = 50 (0x000032)
+ Function Length : 26 (0x0001a) Actual length = 52 (0x000034)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

benchmarks.run_pgo.linux.arm.checked.mch

-8 (-19.05%) : 755.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)

@@ -24,20 +24,20 @@ G_M64536_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[r1] movs r2, 0 movs r3, 0
- ldr lr, [sp+0x04] - ; gcrRegs +[lr] - ldr lr, [lr] - ; gcrRegs -[lr] - ldr lr, [lr+0x38] - ldr lr, [lr+0x04] - blx lr // <unknown method>
+ ldr r4, [sp+0x04] + ; gcrRegs +[r4] + ldr r4, [r4] + ; gcrRegs -[r4] + ldr r4, [r4+0x38] + ldr r4, [r4+0x04] + blx r4 // <unknown method>
; gcrRegs -[r1]
- ;; size=26 bbWeight=1 PerfScore 9.00
+ ;; size=18 bbWeight=1 PerfScore 9.00
G_M64536_IG03: ; bbWeight=1, epilog, nogc, extend pop {r2,r3,r4,r10,r11,pc} ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 42, prolog size 8, PerfScore 14.00, instruction count 14, allocated bytes for code 42 (MethodHash=edaf03e7) for method System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
+; Total bytes of code 34, prolog size 8, PerfScore 14.00, instruction count 14, allocated bytes for code 34 (MethodHash=edaf03e7) for method System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
; ============================================================ Unwind Info: @@ -49,7 +49,7 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 21 (0x00015) Actual length = 42 (0x00002a)
+ Function Length : 17 (0x00011) Actual length = 34 (0x000022)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----

-8 (-17.39%) : 6528.dasm - System.DateTime:get_InternalKind():ulong:this (Tier0)

@@ -5,43 +5,38 @@ ; partially interruptible ; Final local variable assignments ;
-; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x0C] do-not-enreg[] this
+; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x04] do-not-enreg[] this
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x08] must-init "ReplaceWithLclVar is creating a new local variable" -; TEMP_01 int -> [r11-0x14]
+; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x00] must-init "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 16
+; Lcl frame size = 8
G_M62324_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r4,r10,r11,lr} - sub sp, 16 - add r11, sp, 24
+ push {r2,r3,r4,r10,r11,lr} + add r11, sp, 16
movs r1, 0
- str r1, [sp+0x08] // [V02 tmp1] - str r0, [sp+0x0C] // [V00 this] - ;; size=16 bbWeight=1 PerfScore 6.00
+ str r1, [sp] // [V02 tmp1] + str r0, [sp+0x04] // [V00 this] + ;; size=14 bbWeight=1 PerfScore 5.00
G_M62324_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r1, [sp+0x0C] - ; byrRegs +[r1] - str r1, [sp+0x08] // [V02 tmp1] - ldr r1, [sp+0x08] // [V02 tmp1] - ldr r1, [r1] - ; byrRegs -[r1] - ldr r0, [sp+0x08] // [V02 tmp1] - ; byrRegs +[r0] - ldr r0, [r0+0x04] - ; byrRegs -[r0] - str r0, [sp+0x04] // [TEMP_01] - and r0, r1, 0 - ldr r1, [sp+0x04] // [TEMP_01] - and r1, r1, -0x40000000 - ;; size=24 bbWeight=1 PerfScore 10.00
+ ldr r3, [sp+0x04] + ; byrRegs +[r3] + str r3, [sp] // [V02 tmp1] + ldr r3, [sp] // [V02 tmp1] + ldr r3, [r3] + ; byrRegs -[r3] + ldr r2, [sp] // [V02 tmp1] + ; byrRegs +[r2] + ldr r2, [r2+0x04] + ; byrRegs -[r2] + and r0, r3, 0 + and r1, r2, -0x40000000 + ;; size=20 bbWeight=1 PerfScore 8.00
G_M62324_IG03: ; bbWeight=1, epilog, nogc, extend
- add sp, 16 - pop {r4,r10,r11,pc} - ;; size=6 bbWeight=1 PerfScore 2.00
+ pop {r2,r3,r4,r10,r11,pc} + ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 46, prolog size 14, PerfScore 18.00, instruction count 18, allocated bytes for code 46 (MethodHash=aac80c8b) for method System.DateTime:get_InternalKind():ulong:this (Tier0)
+; Total bytes of code 38, prolog size 12, PerfScore 14.00, instruction count 14, allocated bytes for code 38 (MethodHash=aac80c8b) for method System.DateTime:get_InternalKind():ulong:this (Tier0)
; ============================================================ Unwind Info: @@ -53,11 +48,11 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 23 (0x00017) Actual length = 46 (0x00002e)
+ Function Length : 19 (0x00013) Actual length = 38 (0x000026)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----
- 04 add sp, sp, #16 ; opsize 16 - AC 10 pop {r4,r10,r11,lr} ; opsize 32
+ AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32 + FF end
FF end

-8 (-17.39%) : 7064.dasm - System.DateTime:get_InternalKind():ulong:this (Instrumented Tier0)

@@ -5,43 +5,38 @@ ; partially interruptible ; Final local variable assignments ;
-; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x0C] do-not-enreg[] this
+; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x04] do-not-enreg[] this
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x08] must-init "ReplaceWithLclVar is creating a new local variable" -; TEMP_01 int -> [r11-0x14]
+; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x00] must-init "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 16
+; Lcl frame size = 8
G_M62324_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r4,r10,r11,lr} - sub sp, 16 - add r11, sp, 24
+ push {r2,r3,r4,r10,r11,lr} + add r11, sp, 16
movs r1, 0
- str r1, [sp+0x08] // [V02 tmp1] - str r0, [sp+0x0C] // [V00 this] - ;; size=16 bbWeight=1 PerfScore 6.00
+ str r1, [sp] // [V02 tmp1] + str r0, [sp+0x04] // [V00 this] + ;; size=14 bbWeight=1 PerfScore 5.00
G_M62324_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r1, [sp+0x0C] - ; byrRegs +[r1] - str r1, [sp+0x08] // [V02 tmp1] - ldr r1, [sp+0x08] // [V02 tmp1] - ldr r1, [r1] - ; byrRegs -[r1] - ldr r0, [sp+0x08] // [V02 tmp1] - ; byrRegs +[r0] - ldr r0, [r0+0x04] - ; byrRegs -[r0] - str r0, [sp+0x04] // [TEMP_01] - and r0, r1, 0 - ldr r1, [sp+0x04] // [TEMP_01] - and r1, r1, -0x40000000 - ;; size=24 bbWeight=1 PerfScore 10.00
+ ldr r3, [sp+0x04] + ; byrRegs +[r3] + str r3, [sp] // [V02 tmp1] + ldr r3, [sp] // [V02 tmp1] + ldr r3, [r3] + ; byrRegs -[r3] + ldr r2, [sp] // [V02 tmp1] + ; byrRegs +[r2] + ldr r2, [r2+0x04] + ; byrRegs -[r2] + and r0, r3, 0 + and r1, r2, -0x40000000 + ;; size=20 bbWeight=1 PerfScore 8.00
G_M62324_IG03: ; bbWeight=1, epilog, nogc, extend
- add sp, 16 - pop {r4,r10,r11,pc} - ;; size=6 bbWeight=1 PerfScore 2.00
+ pop {r2,r3,r4,r10,r11,pc} + ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 46, prolog size 14, PerfScore 18.00, instruction count 18, allocated bytes for code 46 (MethodHash=aac80c8b) for method System.DateTime:get_InternalKind():ulong:this (Instrumented Tier0)
+; Total bytes of code 38, prolog size 12, PerfScore 14.00, instruction count 14, allocated bytes for code 38 (MethodHash=aac80c8b) for method System.DateTime:get_InternalKind():ulong:this (Instrumented Tier0)
; ============================================================ Unwind Info: @@ -53,11 +48,11 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 23 (0x00017) Actual length = 46 (0x00002e)
+ Function Length : 19 (0x00013) Actual length = 38 (0x000026)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----
- 04 add sp, sp, #16 ; opsize 16 - AC 10 pop {r4,r10,r11,lr} ; opsize 32
+ AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32 + FF end
FF end

+12 (+24.00%) : 782.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)

@@ -5,38 +5,47 @@ ; partially interruptible ; Final local variable assignments ;
-; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 byref -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M18678_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr} - add r11, sp, 16
+ push {r4,r10,r11,lr} + sub sp, 16 + add r11, sp, 24 + movs r1, 0 + str r1, [sp+0x04]
str r0, [r11-0x0C]
- str r0, [sp] - ;; size=14 bbWeight=1 PerfScore 4.00
+ str r0, [sp+0x08] + ;; size=20 bbWeight=1 PerfScore 7.00
G_M18678_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r0, [sp]
+ ldr r0, [sp+0x08]
movw r3, 0xd1ff movt r3, 0xd1ff blx r3 // CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE ; byrRegs +[r0]
- mov r4, r0 - ; byrRegs +[r4]
+ mov r3, r0 + ; byrRegs +[r3] + str r3, [sp+0x04]
mov r0, 512 ; byrRegs -[r0] movs r1, 4
- movw r3, 0xd1ff - movt r3, 0xd1ff - blx r3 // CORINFO_HELP_UDIV - str r0, [r4+0x08] - ;; size=32 bbWeight=1 PerfScore 11.00
+ movw r2, 0xd1ff + movt r2, 0xd1ff + blx r2 // CORINFO_HELP_UDIV + ; byrRegs -[r3] + ldr r3, [sp+0x04] + ; byrRegs +[r3] + str r0, [r3+0x08] + ;; size=36 bbWeight=1 PerfScore 13.00
G_M18678_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc} - ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16 + pop {r4,r10,r11,pc} + ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 50, prolog size 12, PerfScore 16.00, instruction count 16, allocated bytes for code 50 (MethodHash=e282b709) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
+; Total bytes of code 62, prolog size 18, PerfScore 22.00, instruction count 22, allocated bytes for code 62 (MethodHash=e282b709) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
; ============================================================ Unwind Info: @@ -48,11 +57,11 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 25 (0x00019) Actual length = 50 (0x000032)
+ Function Length : 31 (0x0001f) Actual length = 62 (0x00003e)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32 - FF end
+ 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end

+26 (+25.00%) : 45810.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)

@@ -6,66 +6,86 @@ ; Final local variable assignments ; ; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [sp+0x20] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x04] do-not-enreg[] -; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x0C] do-not-enreg[] +; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 byref -> [r11-0x14] +; TEMP_01 int -> [r11-0x18]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG push {r0,r1}
- push {r2,r3,r4,r5,r6,r10,r11,lr}
+ push {r4,r10,r11,lr} + sub sp, 16
add r11, sp, 24
- str r2, [sp+0x04] - str r3, [sp] - ;; size=14 bbWeight=1 PerfScore 5.00
+ movs r0, 0 + str r0, [sp+0x04] + str r2, [sp+0x0C] + str r3, [sp+0x08] + ;; size=20 bbWeight=1 PerfScore 8.00
G_M44368_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] - ldr r1, [sp+0x24] - cmp r0, r1
+ ldr r3, [sp+0x0C] + ldr r2, [sp+0x24] + cmp r3, r2
bhs SHORT G_M44368_IG04
- ldr r4, [sp+0x20] - ; byrRegs +[r4] - ldr r0, [sp+0x04] - lsls r5, r0, 1 - ldr r0, [sp]
+ ldr r3, [sp+0x20] + ; byrRegs +[r3] + str r3, [sp+0x04] + ldr r2, [sp+0x0C] + lsls r2, r2, 1 + str r2, [sp] + ldr r0, [sp+0x08]
movs r1, 10
- movw r3, 0xd1ff - movt r3, 0xd1ff - blx r3 // CORINFO_HELP_DIV - adds r0, 48 - strh r0, [r4+r5] - ldr r0, [sp+0x04] - adds r0, r0, 1 - ldr r1, [sp+0x24] - cmp r0, r1 - bhs SHORT G_M44368_IG04 - ldr r4, [sp+0x20] - ldr r0, [sp+0x04] - lsls r0, r0, 1 - adds r5, r0, 2 - ldr r0, [sp] - movs r1, 10 - movw r3, 0xd1ff - movt r3, 0xd1ff - blx r3 // CORINFO_HELP_MOD
+ movw r4, 0xd1ff + movt r4, 0xd1ff + blx r4 // CORINFO_HELP_DIV + ; byrRegs -[r3]
add r3, r0, 48
- strh r3, [r4+r5] - ;; size=70 bbWeight=1 PerfScore 30.00
+ ldr r2, [sp+0x04] + ; byrRegs +[r2] + ldr r1, [sp] + strh r3, [r2+r1] + ldr r3, [sp+0x0C] + adds r3, r3, 1 + ldr r2, [sp+0x24] + ; byrRegs -[r2] + cmp r3, r2 + bhs SHORT G_M44368_IG04 + ldr r3, [sp+0x20] + ; byrRegs +[r3] + str r3, [sp+0x04] + ldr r2, [sp+0x0C] + lsls r2, r2, 1 + adds r2, r2, 2 + str r2, [sp] + ldr r0, [sp+0x08] + movs r1, 10 + movw r4, 0xd1ff + movt r4, 0xd1ff + blx r4 // CORINFO_HELP_MOD + ; byrRegs -[r3] + add r3, r0, 48 + ldr r2, [sp+0x04] + ; byrRegs +[r2] + ldr r1, [sp] + strh r3, [r2+r1] + ;; size=88 bbWeight=1 PerfScore 38.00
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r5,r6,r10,r11,lr}
+ add sp, 16 + pop {r4,r10,r11,lr}
add sp, 8 bx lr
- ;; size=8 bbWeight=1 PerfScore 3.00
+ ;; size=10 bbWeight=1 PerfScore 4.00
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; byrRegs -[r4]
+ ; byrRegs -[r2]
movw r3, 0xd1ff movt r3, 0xd1ff blx r3 // CORINFO_HELP_RNGCHKFAIL bkpt ;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 104, prolog size 10, PerfScore 38.00, instruction count 42, allocated bytes for code 104 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
+; Total bytes of code 130, prolog size 16, PerfScore 50.00, instruction count 54, allocated bytes for code 130 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
; ============================================================ Unwind Info: @@ -77,21 +97,21 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 52 (0x00034) Actual length = 104 (0x000068)
+ Function Length : 65 (0x00041) Actual length = 130 (0x000082)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) Condition : 14 (0xe) (always)
- Epilog Start Index : 5 (0x05)
+ Epilog Start Index : 6 (0x06)
---- Unwind codes ----
- AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
EC 03 pop {r0,r1} ; opsize 16 FF end
- ---- Epilog start at index 5 ---- - AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ ---- Epilog start at index 6 ---- + 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
02 add sp, sp, #8 ; opsize 16 FD end + nop ; opsize 16 FF end
- FF end - FF end

+26 (+25.00%) : 56614.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)

@@ -6,66 +6,86 @@ ; Final local variable assignments ; ; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [sp+0x20] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x04] do-not-enreg[] -; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x0C] do-not-enreg[] +; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 byref -> [r11-0x14] +; TEMP_01 int -> [r11-0x18]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG push {r0,r1}
- push {r2,r3,r4,r5,r6,r10,r11,lr}
+ push {r4,r10,r11,lr} + sub sp, 16
add r11, sp, 24
- str r2, [sp+0x04] - str r3, [sp] - ;; size=14 bbWeight=1 PerfScore 5.00
+ movs r0, 0 + str r0, [sp+0x04] + str r2, [sp+0x0C] + str r3, [sp+0x08] + ;; size=20 bbWeight=1 PerfScore 8.00
G_M44368_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] - ldr r1, [sp+0x24] - cmp r0, r1
+ ldr r3, [sp+0x0C] + ldr r2, [sp+0x24] + cmp r3, r2
bhs SHORT G_M44368_IG04
- ldr r4, [sp+0x20] - ; byrRegs +[r4] - ldr r0, [sp+0x04] - lsls r5, r0, 1 - ldr r0, [sp]
+ ldr r3, [sp+0x20] + ; byrRegs +[r3] + str r3, [sp+0x04] + ldr r2, [sp+0x0C] + lsls r2, r2, 1 + str r2, [sp] + ldr r0, [sp+0x08]
movs r1, 10
- movw r3, 0xd1ff - movt r3, 0xd1ff - blx r3 // CORINFO_HELP_DIV - adds r0, 48 - strh r0, [r4+r5] - ldr r0, [sp+0x04] - adds r0, r0, 1 - ldr r1, [sp+0x24] - cmp r0, r1 - bhs SHORT G_M44368_IG04 - ldr r4, [sp+0x20] - ldr r0, [sp+0x04] - lsls r0, r0, 1 - adds r5, r0, 2 - ldr r0, [sp] - movs r1, 10 - movw r3, 0xd1ff - movt r3, 0xd1ff - blx r3 // CORINFO_HELP_MOD
+ movw r4, 0xd1ff + movt r4, 0xd1ff + blx r4 // CORINFO_HELP_DIV + ; byrRegs -[r3]
add r3, r0, 48
- strh r3, [r4+r5] - ;; size=70 bbWeight=1 PerfScore 30.00
+ ldr r2, [sp+0x04] + ; byrRegs +[r2] + ldr r1, [sp] + strh r3, [r2+r1] + ldr r3, [sp+0x0C] + adds r3, r3, 1 + ldr r2, [sp+0x24] + ; byrRegs -[r2] + cmp r3, r2 + bhs SHORT G_M44368_IG04 + ldr r3, [sp+0x20] + ; byrRegs +[r3] + str r3, [sp+0x04] + ldr r2, [sp+0x0C] + lsls r2, r2, 1 + adds r2, r2, 2 + str r2, [sp] + ldr r0, [sp+0x08] + movs r1, 10 + movw r4, 0xd1ff + movt r4, 0xd1ff + blx r4 // CORINFO_HELP_MOD + ; byrRegs -[r3] + add r3, r0, 48 + ldr r2, [sp+0x04] + ; byrRegs +[r2] + ldr r1, [sp] + strh r3, [r2+r1] + ;; size=88 bbWeight=1 PerfScore 38.00
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r5,r6,r10,r11,lr}
+ add sp, 16 + pop {r4,r10,r11,lr}
add sp, 8 bx lr
- ;; size=8 bbWeight=1 PerfScore 3.00
+ ;; size=10 bbWeight=1 PerfScore 4.00
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; byrRegs -[r4]
+ ; byrRegs -[r2]
movw r3, 0xd1ff movt r3, 0xd1ff blx r3 // CORINFO_HELP_RNGCHKFAIL bkpt ;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 104, prolog size 10, PerfScore 38.00, instruction count 42, allocated bytes for code 104 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
+; Total bytes of code 130, prolog size 16, PerfScore 50.00, instruction count 54, allocated bytes for code 130 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
; ============================================================ Unwind Info: @@ -77,21 +97,21 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 52 (0x00034) Actual length = 104 (0x000068)
+ Function Length : 65 (0x00041) Actual length = 130 (0x000082)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) Condition : 14 (0xe) (always)
- Epilog Start Index : 5 (0x05)
+ Epilog Start Index : 6 (0x06)
---- Unwind codes ----
- AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
EC 03 pop {r0,r1} ; opsize 16 FF end
- ---- Epilog start at index 5 ---- - AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ ---- Epilog start at index 6 ---- + 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
02 add sp, sp, #8 ; opsize 16 FD end + nop ; opsize 16 FF end
- FF end - FF end

benchmarks.run_tiered.linux.arm.checked.mch

-8 (-19.05%) : 685.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)

@@ -24,20 +24,20 @@ G_M64536_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[r1] movs r2, 0 movs r3, 0
- ldr lr, [sp+0x04] - ; gcrRegs +[lr] - ldr lr, [lr] - ; gcrRegs -[lr] - ldr lr, [lr+0x38] - ldr lr, [lr+0x04] - blx lr // <unknown method>
+ ldr r4, [sp+0x04] + ; gcrRegs +[r4] + ldr r4, [r4] + ; gcrRegs -[r4] + ldr r4, [r4+0x38] + ldr r4, [r4+0x04] + blx r4 // <unknown method>
; gcrRegs -[r1]
- ;; size=26 bbWeight=1 PerfScore 9.00
+ ;; size=18 bbWeight=1 PerfScore 9.00
G_M64536_IG03: ; bbWeight=1, epilog, nogc, extend pop {r2,r3,r4,r10,r11,pc} ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 42, prolog size 8, PerfScore 14.00, instruction count 14, allocated bytes for code 42 (MethodHash=edaf03e7) for method System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
+; Total bytes of code 34, prolog size 8, PerfScore 14.00, instruction count 14, allocated bytes for code 34 (MethodHash=edaf03e7) for method System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
; ============================================================ Unwind Info: @@ -49,7 +49,7 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 21 (0x00015) Actual length = 42 (0x00002a)
+ Function Length : 17 (0x00011) Actual length = 34 (0x000022)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----

-8 (-17.39%) : 3494.dasm - System.DateTime:get_InternalKind():ulong:this (Tier0)

@@ -5,43 +5,38 @@ ; partially interruptible ; Final local variable assignments ;
-; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x0C] do-not-enreg[] this
+; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x04] do-not-enreg[] this
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x08] must-init "ReplaceWithLclVar is creating a new local variable" -; TEMP_01 int -> [r11-0x14]
+; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x00] must-init "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 16
+; Lcl frame size = 8
G_M62324_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r4,r10,r11,lr} - sub sp, 16 - add r11, sp, 24
+ push {r2,r3,r4,r10,r11,lr} + add r11, sp, 16
movs r1, 0
- str r1, [sp+0x08] // [V02 tmp1] - str r0, [sp+0x0C] // [V00 this] - ;; size=16 bbWeight=1 PerfScore 6.00
+ str r1, [sp] // [V02 tmp1] + str r0, [sp+0x04] // [V00 this] + ;; size=14 bbWeight=1 PerfScore 5.00
G_M62324_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r1, [sp+0x0C] - ; byrRegs +[r1] - str r1, [sp+0x08] // [V02 tmp1] - ldr r1, [sp+0x08] // [V02 tmp1] - ldr r1, [r1] - ; byrRegs -[r1] - ldr r0, [sp+0x08] // [V02 tmp1] - ; byrRegs +[r0] - ldr r0, [r0+0x04] - ; byrRegs -[r0] - str r0, [sp+0x04] // [TEMP_01] - and r0, r1, 0 - ldr r1, [sp+0x04] // [TEMP_01] - and r1, r1, -0x40000000 - ;; size=24 bbWeight=1 PerfScore 10.00
+ ldr r3, [sp+0x04] + ; byrRegs +[r3] + str r3, [sp] // [V02 tmp1] + ldr r3, [sp] // [V02 tmp1] + ldr r3, [r3] + ; byrRegs -[r3] + ldr r2, [sp] // [V02 tmp1] + ; byrRegs +[r2] + ldr r2, [r2+0x04] + ; byrRegs -[r2] + and r0, r3, 0 + and r1, r2, -0x40000000 + ;; size=20 bbWeight=1 PerfScore 8.00
G_M62324_IG03: ; bbWeight=1, epilog, nogc, extend
- add sp, 16 - pop {r4,r10,r11,pc} - ;; size=6 bbWeight=1 PerfScore 2.00
+ pop {r2,r3,r4,r10,r11,pc} + ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 46, prolog size 14, PerfScore 18.00, instruction count 18, allocated bytes for code 46 (MethodHash=aac80c8b) for method System.DateTime:get_InternalKind():ulong:this (Tier0)
+; Total bytes of code 38, prolog size 12, PerfScore 14.00, instruction count 14, allocated bytes for code 38 (MethodHash=aac80c8b) for method System.DateTime:get_InternalKind():ulong:this (Tier0)
; ============================================================ Unwind Info: @@ -53,11 +48,11 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 23 (0x00017) Actual length = 46 (0x00002e)
+ Function Length : 19 (0x00013) Actual length = 38 (0x000026)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----
- 04 add sp, sp, #16 ; opsize 16 - AC 10 pop {r4,r10,r11,lr} ; opsize 32
+ AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32 + FF end
FF end

-8 (-16.67%) : 3493.dasm - System.DateTime:get_Ticks():long:this (Tier0)

@@ -5,44 +5,39 @@ ; partially interruptible ; Final local variable assignments ;
-; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x0C] do-not-enreg[] this
+; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x04] do-not-enreg[] this
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x08] must-init "ReplaceWithLclVar is creating a new local variable" -; TEMP_01 int -> [r11-0x14]
+; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x00] must-init "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 16
+; Lcl frame size = 8
G_M65160_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r4,r10,r11,lr} - sub sp, 16 - add r11, sp, 24
+ push {r2,r3,r4,r10,r11,lr} + add r11, sp, 16
movs r1, 0
- str r1, [sp+0x08] // [V02 tmp1] - str r0, [sp+0x0C] // [V00 this] - ;; size=16 bbWeight=1 PerfScore 6.00
+ str r1, [sp] // [V02 tmp1] + str r0, [sp+0x04] // [V00 this] + ;; size=14 bbWeight=1 PerfScore 5.00
G_M65160_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r1, [sp+0x0C] - ; byrRegs +[r1] - str r1, [sp+0x08] // [V02 tmp1] - ldr r1, [sp+0x08] // [V02 tmp1] - ldr r1, [r1] - ; byrRegs -[r1] - ldr r0, [sp+0x08] // [V02 tmp1] - ; byrRegs +[r0] - ldr r0, [r0+0x04] - ; byrRegs -[r0] - str r0, [sp+0x04] // [TEMP_01] - mvn r3, -0x40000000 - and r0, r1, -1 - ldr r1, [sp+0x04] // [TEMP_01] - ands r1, r3 - ;; size=26 bbWeight=1 PerfScore 11.00
+ ldr r3, [sp+0x04] + ; byrRegs +[r3] + str r3, [sp] // [V02 tmp1] + ldr r3, [sp] // [V02 tmp1] + ldr r3, [r3] + ; byrRegs -[r3] + ldr r2, [sp] // [V02 tmp1] + ; byrRegs +[r2] + ldr r2, [r2+0x04] + ; byrRegs -[r2] + mvn r1, -0x40000000 + and r0, r3, -1 + ands r1, r2 + ;; size=22 bbWeight=1 PerfScore 9.00
G_M65160_IG03: ; bbWeight=1, epilog, nogc, extend
- add sp, 16 - pop {r4,r10,r11,pc} - ;; size=6 bbWeight=1 PerfScore 2.00
+ pop {r2,r3,r4,r10,r11,pc} + ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 48, prolog size 14, PerfScore 19.00, instruction count 19, allocated bytes for code 48 (MethodHash=b6990177) for method System.DateTime:get_Ticks():long:this (Tier0)
+; Total bytes of code 40, prolog size 12, PerfScore 15.00, instruction count 15, allocated bytes for code 40 (MethodHash=b6990177) for method System.DateTime:get_Ticks():long:this (Tier0)
; ============================================================ Unwind Info: @@ -54,11 +49,11 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 24 (0x00018) Actual length = 48 (0x000030)
+ Function Length : 20 (0x00014) Actual length = 40 (0x000028)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----
- 04 add sp, sp, #16 ; opsize 16 - AC 10 pop {r4,r10,r11,lr} ; opsize 32
+ AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32 + FF end
FF end

+12 (+17.14%) : 9040.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)

@@ -5,58 +5,67 @@ ; partially interruptible ; Final local variable assignments ;
-; V00 this [V00 ] ( 1, 1 ) ref -> [sp+0x04] do-not-enreg[] this class-hnd <System.Collections.Queue> -; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) ref -> [sp+0x0C] do-not-enreg[] this class-hnd <System.Collections.Queue> +; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M41139_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr} - add r11, sp, 16 - str r0, [sp+0x04] - str r1, [sp] - ;; size=12 bbWeight=1 PerfScore 4.00
+ push {r4,r10,r11,lr} + sub sp, 16 + add r11, sp, 24 + movs r2, 0 + str r2, [sp+0x04] + str r0, [sp+0x0C] + str r1, [sp+0x08] + ;; size=18 bbWeight=1 PerfScore 7.00
G_M41139_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] - ; gcrRegs +[r0] - ldr r4, [r0+0x04] - ; gcrRegs +[r4] - ldr r0, [sp+0x04] - ldr r0, [r0+0x08] - ; gcrRegs -[r0] - ldr r1, [sp] - adds r0, r0, r1 - ldr r1, [sp+0x04] - ; gcrRegs +[r1] - ldr r1, [r1+0x04] - ldr r1, [r1+0x04] - ; gcrRegs -[r1] - movw r3, 0xd1ff - movt r3, 0xd1ff - blx r3 // CORINFO_HELP_MOD - ldr r3, [r4+0x04]
+ ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + ldr r3, [r3+0x04] + str r3, [sp+0x04] + ldr r2, [sp+0x0C] + ; gcrRegs +[r2] + ldr r2, [r2+0x08] + ; gcrRegs -[r2] + ldr r1, [sp+0x08] + adds r0, r2, r1 + ldr r2, [sp+0x0C] + ; gcrRegs +[r2] + ldr r2, [r2+0x04] + ldr r1, [r2+0x04] + movw r2, 0xd1ff + ; gcrRegs -[r2] + movt r2, 0xd1ff + blx r2 // CORINFO_HELP_MOD + ; gcrRegs -[r3] + ldr r2, [sp+0x04] + ; gcrRegs +[r2] + ldr r3, [r2+0x04]
cmp r0, r3 bhs SHORT G_M41139_IG04
- add r0, r4, r0 LSL 2 - ; byrRegs +[r0] - adds r0, 8 - ldr r0, [r0]
+ add r3, r2, r0 LSL 2 + ; byrRegs +[r3] + adds r3, 8 + ldr r0, [r3]
; gcrRegs +[r0]
- ; byrRegs -[r0] - ;; size=42 bbWeight=1 PerfScore 18.00
+ ;; size=46 bbWeight=1 PerfScore 20.00
G_M41139_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc} - ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16 + pop {r4,r10,r11,pc} + ;; size=6 bbWeight=1 PerfScore 2.00
G_M41139_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs -[r0 r4]
+ ; gcrRegs -[r0 r2] + ; byrRegs -[r3]
movw r3, 0xd1ff movt r3, 0xd1ff blx r3 // CORINFO_HELP_RNGCHKFAIL bkpt ;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 70, prolog size 8, PerfScore 23.00, instruction count 27, allocated bytes for code 70 (MethodHash=c74a5f4c) for method System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
+; Total bytes of code 82, prolog size 14, PerfScore 29.00, instruction count 33, allocated bytes for code 82 (MethodHash=c74a5f4c) for method System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
; ============================================================ Unwind Info: @@ -68,7 +77,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 35 (0x00023) Actual length = 70 (0x000046)
+ Function Length : 41 (0x00029) Actual length = 82 (0x000052)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) @@ -76,7 +85,7 @@ Unwind Info: Epilog Start Index : 0 (0x00) ---- Unwind codes ---- ---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32 - FF end
+ 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end

+12 (+24.00%) : 727.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)

@@ -5,38 +5,47 @@ ; partially interruptible ; Final local variable assignments ;
-; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 byref -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M18678_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr} - add r11, sp, 16
+ push {r4,r10,r11,lr} + sub sp, 16 + add r11, sp, 24 + movs r1, 0 + str r1, [sp+0x04]
str r0, [r11-0x0C]
- str r0, [sp] - ;; size=14 bbWeight=1 PerfScore 4.00
+ str r0, [sp+0x08] + ;; size=20 bbWeight=1 PerfScore 7.00
G_M18678_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r0, [sp]
+ ldr r0, [sp+0x08]
movw r3, 0xd1ff movt r3, 0xd1ff blx r3 // CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE ; byrRegs +[r0]
- mov r4, r0 - ; byrRegs +[r4]
+ mov r3, r0 + ; byrRegs +[r3] + str r3, [sp+0x04]
mov r0, 512 ; byrRegs -[r0] movs r1, 4
- movw r3, 0xd1ff - movt r3, 0xd1ff - blx r3 // CORINFO_HELP_UDIV - str r0, [r4+0x08] - ;; size=32 bbWeight=1 PerfScore 11.00
+ movw r2, 0xd1ff + movt r2, 0xd1ff + blx r2 // CORINFO_HELP_UDIV + ; byrRegs -[r3] + ldr r3, [sp+0x04] + ; byrRegs +[r3] + str r0, [r3+0x08] + ;; size=36 bbWeight=1 PerfScore 13.00
G_M18678_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc} - ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16 + pop {r4,r10,r11,pc} + ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 50, prolog size 12, PerfScore 16.00, instruction count 16, allocated bytes for code 50 (MethodHash=e282b709) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
+; Total bytes of code 62, prolog size 18, PerfScore 22.00, instruction count 22, allocated bytes for code 62 (MethodHash=e282b709) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
; ============================================================ Unwind Info: @@ -48,11 +57,11 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 25 (0x00019) Actual length = 50 (0x000032)
+ Function Length : 31 (0x0001f) Actual length = 62 (0x00003e)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32 - FF end
+ 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end

+26 (+25.00%) : 27349.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)

@@ -6,66 +6,86 @@ ; Final local variable assignments ; ; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [sp+0x20] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x04] do-not-enreg[] -; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x0C] do-not-enreg[] +; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 byref -> [r11-0x14] +; TEMP_01 int -> [r11-0x18]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG push {r0,r1}
- push {r2,r3,r4,r5,r6,r10,r11,lr}
+ push {r4,r10,r11,lr} + sub sp, 16
add r11, sp, 24
- str r2, [sp+0x04] - str r3, [sp] - ;; size=14 bbWeight=1 PerfScore 5.00
+ movs r0, 0 + str r0, [sp+0x04] + str r2, [sp+0x0C] + str r3, [sp+0x08] + ;; size=20 bbWeight=1 PerfScore 8.00
G_M44368_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] - ldr r1, [sp+0x24] - cmp r0, r1
+ ldr r3, [sp+0x0C] + ldr r2, [sp+0x24] + cmp r3, r2
bhs SHORT G_M44368_IG04
- ldr r4, [sp+0x20] - ; byrRegs +[r4] - ldr r0, [sp+0x04] - lsls r5, r0, 1 - ldr r0, [sp]
+ ldr r3, [sp+0x20] + ; byrRegs +[r3] + str r3, [sp+0x04] + ldr r2, [sp+0x0C] + lsls r2, r2, 1 + str r2, [sp] + ldr r0, [sp+0x08]
movs r1, 10
- movw r3, 0xd1ff - movt r3, 0xd1ff - blx r3 // CORINFO_HELP_DIV - adds r0, 48 - strh r0, [r4+r5] - ldr r0, [sp+0x04] - adds r0, r0, 1 - ldr r1, [sp+0x24] - cmp r0, r1 - bhs SHORT G_M44368_IG04 - ldr r4, [sp+0x20] - ldr r0, [sp+0x04] - lsls r0, r0, 1 - adds r5, r0, 2 - ldr r0, [sp] - movs r1, 10 - movw r3, 0xd1ff - movt r3, 0xd1ff - blx r3 // CORINFO_HELP_MOD
+ movw r4, 0xd1ff + movt r4, 0xd1ff + blx r4 // CORINFO_HELP_DIV + ; byrRegs -[r3]
add r3, r0, 48
- strh r3, [r4+r5] - ;; size=70 bbWeight=1 PerfScore 30.00
+ ldr r2, [sp+0x04] + ; byrRegs +[r2] + ldr r1, [sp] + strh r3, [r2+r1] + ldr r3, [sp+0x0C] + adds r3, r3, 1 + ldr r2, [sp+0x24] + ; byrRegs -[r2] + cmp r3, r2 + bhs SHORT G_M44368_IG04 + ldr r3, [sp+0x20] + ; byrRegs +[r3] + str r3, [sp+0x04] + ldr r2, [sp+0x0C] + lsls r2, r2, 1 + adds r2, r2, 2 + str r2, [sp] + ldr r0, [sp+0x08] + movs r1, 10 + movw r4, 0xd1ff + movt r4, 0xd1ff + blx r4 // CORINFO_HELP_MOD + ; byrRegs -[r3] + add r3, r0, 48 + ldr r2, [sp+0x04] + ; byrRegs +[r2] + ldr r1, [sp] + strh r3, [r2+r1] + ;; size=88 bbWeight=1 PerfScore 38.00
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r5,r6,r10,r11,lr}
+ add sp, 16 + pop {r4,r10,r11,lr}
add sp, 8 bx lr
- ;; size=8 bbWeight=1 PerfScore 3.00
+ ;; size=10 bbWeight=1 PerfScore 4.00
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; byrRegs -[r4]
+ ; byrRegs -[r2]
movw r3, 0xd1ff movt r3, 0xd1ff blx r3 // CORINFO_HELP_RNGCHKFAIL bkpt ;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 104, prolog size 10, PerfScore 38.00, instruction count 42, allocated bytes for code 104 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
+; Total bytes of code 130, prolog size 16, PerfScore 50.00, instruction count 54, allocated bytes for code 130 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
; ============================================================ Unwind Info: @@ -77,21 +97,21 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 52 (0x00034) Actual length = 104 (0x000068)
+ Function Length : 65 (0x00041) Actual length = 130 (0x000082)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) Condition : 14 (0xe) (always)
- Epilog Start Index : 5 (0x05)
+ Epilog Start Index : 6 (0x06)
---- Unwind codes ----
- AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
EC 03 pop {r0,r1} ; opsize 16 FF end
- ---- Epilog start at index 5 ---- - AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ ---- Epilog start at index 6 ---- + 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
02 add sp, sp, #8 ; opsize 16 FD end + nop ; opsize 16 FF end
- FF end - FF end

coreclr_tests.run.linux.arm.checked.mch

-10 (-27.78%) : 303891.dasm - neg.neg:negi8(long):long (Tier0)

@@ -5,34 +5,29 @@ ; partially interruptible ; Final local variable assignments ;
-; V00 arg0 [V00 ] ( 1, 1 ) long -> [sp+0x08] do-not-enreg[]
+; V00 arg0 [V00 ] ( 1, 1 ) long -> [sp+0x00] do-not-enreg[]
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 int -> [r11-0x14]
;
-; Lcl frame size = 16
+; Lcl frame size = 8
G_M4008_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r4,r10,r11,lr} - sub sp, 16 - add r11, sp, 24 - str r0, [sp+0x08] - str r1, [sp+0x0C] - ;; size=14 bbWeight=1 PerfScore 5.00
+ push {r2,r3,r4,r10,r11,lr} + add r11, sp, 16 + str r0, [sp] + str r1, [sp+0x04] + ;; size=12 bbWeight=1 PerfScore 4.00
G_M4008_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r1, [sp+0x08] - ldr r0, [sp+0x0C] - str r0, [sp+0x04] - movs r3, 0 - rsbs r0, r1, 0 - ldr r1, [sp+0x04] - sbc r1, r3, r1 - ;; size=16 bbWeight=1 PerfScore 7.00
+ ldr r3, [sp] + ldr r2, [sp+0x04] + movs r1, 0 + rsbs r0, r3, 0 + sbcs r1, r2 + ;; size=10 bbWeight=1 PerfScore 5.00
G_M4008_IG03: ; bbWeight=1, epilog, nogc, extend
- add sp, 16 - pop {r4,r10,r11,pc} - ;; size=6 bbWeight=1 PerfScore 2.00
+ pop {r2,r3,r4,r10,r11,pc} + ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 36, prolog size 10, PerfScore 14.00, instruction count 14, allocated bytes for code 36 (MethodHash=71ddf057) for method neg_._neg:negi8(long):long (Tier0)
+; Total bytes of code 26, prolog size 8, PerfScore 10.00, instruction count 10, allocated bytes for code 26 (MethodHash=71ddf057) for method neg_._neg:negi8(long):long (Tier0)
; ============================================================ Unwind Info: @@ -44,11 +39,11 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 18 (0x00012) Actual length = 36 (0x000024)
+ Function Length : 13 (0x0000d) Actual length = 26 (0x00001a)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----
- 04 add sp, sp, #16 ; opsize 16 - AC 10 pop {r4,r10,r11,lr} ; opsize 32
+ AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32 + FF end
FF end

-32 (-19.75%) : 382201.dasm - TestCase:Main():int (Tier0)

@@ -32,21 +32,23 @@ G_M53793_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ldr r3, [r3] blx r3 // <unknown method> ; gcrRegs -[r0]
- ldr r0, [sp] // [V02 tmp1] - ; gcrRegs +[r0] - str r0, [sp+0x04] // [V00 loc0]
+ ldr r3, [sp] // [V02 tmp1] + ; gcrRegs +[r3] + str r3, [sp+0x04] // [V00 loc0]
ldr r0, [sp+0x04] // [V00 loc0]
+ ; gcrRegs +[r0]
ldr r1, [sp+0x04] // [V00 loc0] ; gcrRegs +[r1] movs r2, 0 movs r3, 0
- ldr lr, [sp+0x04] // [V00 loc0] - ; gcrRegs +[lr] - ldr lr, [lr] - ; gcrRegs -[lr] - ldr lr, [lr+0x30] - ldr lr, [lr+0x04] - blx lr // <unknown method>
+ ; gcrRegs -[r3] + ldr r4, [sp+0x04] // [V00 loc0] + ; gcrRegs +[r4] + ldr r4, [r4] + ; gcrRegs -[r4] + ldr r4, [r4+0x30] + ldr r4, [r4+0x04] + blx r4 // <unknown method>
; gcrRegs -[r0-r1] ldr r0, [sp+0x04] // [V00 loc0] ; gcrRegs +[r0] @@ -54,13 +56,13 @@ G_M53793_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[r1] movs r2, 0 movs r3, 1
- ldr lr, [sp+0x04] // [V00 loc0] - ; gcrRegs +[lr] - ldr lr, [lr] - ; gcrRegs -[lr] - ldr lr, [lr+0x30] - ldr lr, [lr+0x04] - blx lr // <unknown method>
+ ldr r4, [sp+0x04] // [V00 loc0] + ; gcrRegs +[r4] + ldr r4, [r4] + ; gcrRegs -[r4] + ldr r4, [r4+0x30] + ldr r4, [r4+0x04] + blx r4 // <unknown method>
; gcrRegs -[r0-r1] ldr r0, [sp+0x04] // [V00 loc0] ; gcrRegs +[r0] @@ -68,13 +70,13 @@ G_M53793_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[r1] movs r2, 1 movs r3, 0
- ldr lr, [sp+0x04] // [V00 loc0] - ; gcrRegs +[lr] - ldr lr, [lr] - ; gcrRegs -[lr] - ldr lr, [lr+0x30] - ldr lr, [lr+0x04] - blx lr // <unknown method>
+ ldr r4, [sp+0x04] // [V00 loc0] + ; gcrRegs +[r4] + ldr r4, [r4] + ; gcrRegs -[r4] + ldr r4, [r4+0x30] + ldr r4, [r4+0x04] + blx r4 // <unknown method>
; gcrRegs -[r0-r1] ldr r0, [sp+0x04] // [V00 loc0] ; gcrRegs +[r0] @@ -82,21 +84,21 @@ G_M53793_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[r1] movs r2, 1 movs r3, 1
- ldr lr, [sp+0x04] // [V00 loc0] - ; gcrRegs +[lr] - ldr lr, [lr] - ; gcrRegs -[lr] - ldr lr, [lr+0x30] - ldr lr, [lr+0x04] - blx lr // <unknown method>
+ ldr r4, [sp+0x04] // [V00 loc0] + ; gcrRegs +[r4] + ldr r4, [r4] + ; gcrRegs -[r4] + ldr r4, [r4+0x30] + ldr r4, [r4+0x04] + blx r4 // <unknown method>
; gcrRegs -[r0-r1] movs r0, 100
- ;; size=144 bbWeight=1 PerfScore 50.00
+ ;; size=112 bbWeight=1 PerfScore 50.00
G_M53793_IG03: ; bbWeight=1, epilog, nogc, extend pop {r2,r3,r4,r10,r11,pc} ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 162, prolog size 14, PerfScore 56.00, instruction count 56, allocated bytes for code 162 (MethodHash=91242dde) for method TestCase:Main():int (Tier0)
+; Total bytes of code 130, prolog size 14, PerfScore 56.00, instruction count 56, allocated bytes for code 130 (MethodHash=91242dde) for method TestCase:Main():int (Tier0)
; ============================================================ Unwind Info: @@ -108,7 +110,7 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 81 (0x00051) Actual length = 162 (0x0000a2)
+ Function Length : 65 (0x00041) Actual length = 130 (0x000082)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----

-8 (-19.05%) : 461854.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)

@@ -24,20 +24,20 @@ G_M64536_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[r1] movs r2, 0 movs r3, 0
- ldr lr, [sp+0x04] - ; gcrRegs +[lr] - ldr lr, [lr] - ; gcrRegs -[lr] - ldr lr, [lr+0x38] - ldr lr, [lr+0x04] - blx lr // <unknown method>
+ ldr r4, [sp+0x04] + ; gcrRegs +[r4] + ldr r4, [r4] + ; gcrRegs -[r4] + ldr r4, [r4+0x38] + ldr r4, [r4+0x04] + blx r4 // <unknown method>
; gcrRegs -[r1]
- ;; size=26 bbWeight=1 PerfScore 9.00
+ ;; size=18 bbWeight=1 PerfScore 9.00
G_M64536_IG03: ; bbWeight=1, epilog, nogc, extend pop {r2,r3,r4,r10,r11,pc} ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 42, prolog size 8, PerfScore 14.00, instruction count 14, allocated bytes for code 42 (MethodHash=edaf03e7) for method System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
+; Total bytes of code 34, prolog size 8, PerfScore 14.00, instruction count 14, allocated bytes for code 34 (MethodHash=edaf03e7) for method System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
; ============================================================ Unwind Info: @@ -49,7 +49,7 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 21 (0x00015) Actual length = 42 (0x00002a)
+ Function Length : 17 (0x00011) Actual length = 34 (0x000022)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----

+8 (+22.22%) : 380083.dasm - TestGitHub22556:Add(TestGitHub22556,int):int (Tier0)

@@ -5,35 +5,40 @@ ; partially interruptible ; Final local variable assignments ;
-; V00 arg0 [V00 ] ( 1, 1 ) ref -> [sp+0x04] do-not-enreg[] class-hnd <Test_GitHub_22556> -; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 arg0 [V00 ] ( 1, 1 ) ref -> [sp+0x0C] do-not-enreg[] class-hnd <Test_GitHub_22556> +; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 int -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M12822_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr} - add r11, sp, 16 - str r0, [sp+0x04] - str r1, [sp] - ;; size=12 bbWeight=1 PerfScore 4.00
+ push {r4,r10,r11,lr} + sub sp, 16 + add r11, sp, 24 + str r0, [sp+0x0C] + str r1, [sp+0x08] + ;; size=14 bbWeight=1 PerfScore 5.00
G_M12822_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r1, [sp+0x04] - ; gcrRegs +[r1] - ldr r4, [r1+0x04] - ldr r1, [sp] - ; gcrRegs -[r1]
+ ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + ldr r3, [r3+0x04] + ; gcrRegs -[r3] + str r3, [sp+0x04] + ldr r1, [sp+0x08]
movs r0, 1
- movw r3, 0xd1ff - movt r3, 0xd1ff - blx r3 // CORINFO_HELP_DIV - adds r0, r4, r0 - ;; size=20 bbWeight=1 PerfScore 8.00
+ movw r2, 0xd1ff + movt r2, 0xd1ff + blx r2 // CORINFO_HELP_DIV + ldr r3, [sp+0x04] + adds r0, r3, r0 + ;; size=24 bbWeight=1 PerfScore 10.00
G_M12822_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc} - ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16 + pop {r4,r10,r11,pc} + ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 36, prolog size 8, PerfScore 13.00, instruction count 13, allocated bytes for code 36 (MethodHash=dc14cde9) for method Test_GitHub_22556:Add(Test_GitHub_22556,int):int (Tier0)
+; Total bytes of code 44, prolog size 10, PerfScore 17.00, instruction count 17, allocated bytes for code 44 (MethodHash=dc14cde9) for method Test_GitHub_22556:Add(Test_GitHub_22556,int):int (Tier0)
; ============================================================ Unwind Info: @@ -45,11 +50,11 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 18 (0x00012) Actual length = 36 (0x000024)
+ Function Length : 22 (0x00016) Actual length = 44 (0x00002c)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32 - FF end
+ 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end

+12 (+24.00%) : 461881.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)

@@ -5,38 +5,47 @@ ; partially interruptible ; Final local variable assignments ;
-; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 byref -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M18678_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr} - add r11, sp, 16
+ push {r4,r10,r11,lr} + sub sp, 16 + add r11, sp, 24 + movs r1, 0 + str r1, [sp+0x04]
str r0, [r11-0x0C]
- str r0, [sp] - ;; size=14 bbWeight=1 PerfScore 4.00
+ str r0, [sp+0x08] + ;; size=20 bbWeight=1 PerfScore 7.00
G_M18678_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r0, [sp]
+ ldr r0, [sp+0x08]
movw r3, 0xd1ff movt r3, 0xd1ff blx r3 // CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE ; byrRegs +[r0]
- mov r4, r0 - ; byrRegs +[r4]
+ mov r3, r0 + ; byrRegs +[r3] + str r3, [sp+0x04]
mov r0, 512 ; byrRegs -[r0] movs r1, 4
- movw r3, 0xd1ff - movt r3, 0xd1ff - blx r3 // CORINFO_HELP_UDIV - str r0, [r4+0x08] - ;; size=32 bbWeight=1 PerfScore 11.00
+ movw r2, 0xd1ff + movt r2, 0xd1ff + blx r2 // CORINFO_HELP_UDIV + ; byrRegs -[r3] + ldr r3, [sp+0x04] + ; byrRegs +[r3] + str r0, [r3+0x08] + ;; size=36 bbWeight=1 PerfScore 13.00
G_M18678_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc} - ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16 + pop {r4,r10,r11,pc} + ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 50, prolog size 12, PerfScore 16.00, instruction count 16, allocated bytes for code 50 (MethodHash=e282b709) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
+; Total bytes of code 62, prolog size 18, PerfScore 22.00, instruction count 22, allocated bytes for code 62 (MethodHash=e282b709) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
; ============================================================ Unwind Info: @@ -48,11 +57,11 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 25 (0x00019) Actual length = 50 (0x000032)
+ Function Length : 31 (0x0001f) Actual length = 62 (0x00003e)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32 - FF end
+ 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end

+26 (+25.00%) : 337821.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)

@@ -6,66 +6,86 @@ ; Final local variable assignments ; ; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [sp+0x20] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x04] do-not-enreg[] -; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x0C] do-not-enreg[] +; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 byref -> [r11-0x14] +; TEMP_01 int -> [r11-0x18]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG push {r0,r1}
- push {r2,r3,r4,r5,r6,r10,r11,lr}
+ push {r4,r10,r11,lr} + sub sp, 16
add r11, sp, 24
- str r2, [sp+0x04] - str r3, [sp] - ;; size=14 bbWeight=1 PerfScore 5.00
+ movs r0, 0 + str r0, [sp+0x04] + str r2, [sp+0x0C] + str r3, [sp+0x08] + ;; size=20 bbWeight=1 PerfScore 8.00
G_M44368_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] - ldr r1, [sp+0x24] - cmp r0, r1
+ ldr r3, [sp+0x0C] + ldr r2, [sp+0x24] + cmp r3, r2
bhs SHORT G_M44368_IG04
- ldr r4, [sp+0x20] - ; byrRegs +[r4] - ldr r0, [sp+0x04] - lsls r5, r0, 1 - ldr r0, [sp]
+ ldr r3, [sp+0x20] + ; byrRegs +[r3] + str r3, [sp+0x04] + ldr r2, [sp+0x0C] + lsls r2, r2, 1 + str r2, [sp] + ldr r0, [sp+0x08]
movs r1, 10
- movw r3, 0xd1ff - movt r3, 0xd1ff - blx r3 // CORINFO_HELP_DIV - adds r0, 48 - strh r0, [r4+r5] - ldr r0, [sp+0x04] - adds r0, r0, 1 - ldr r1, [sp+0x24] - cmp r0, r1 - bhs SHORT G_M44368_IG04 - ldr r4, [sp+0x20] - ldr r0, [sp+0x04] - lsls r0, r0, 1 - adds r5, r0, 2 - ldr r0, [sp] - movs r1, 10 - movw r3, 0xd1ff - movt r3, 0xd1ff - blx r3 // CORINFO_HELP_MOD
+ movw r4, 0xd1ff + movt r4, 0xd1ff + blx r4 // CORINFO_HELP_DIV + ; byrRegs -[r3]
add r3, r0, 48
- strh r3, [r4+r5] - ;; size=70 bbWeight=1 PerfScore 30.00
+ ldr r2, [sp+0x04] + ; byrRegs +[r2] + ldr r1, [sp] + strh r3, [r2+r1] + ldr r3, [sp+0x0C] + adds r3, r3, 1 + ldr r2, [sp+0x24] + ; byrRegs -[r2] + cmp r3, r2 + bhs SHORT G_M44368_IG04 + ldr r3, [sp+0x20] + ; byrRegs +[r3] + str r3, [sp+0x04] + ldr r2, [sp+0x0C] + lsls r2, r2, 1 + adds r2, r2, 2 + str r2, [sp] + ldr r0, [sp+0x08] + movs r1, 10 + movw r4, 0xd1ff + movt r4, 0xd1ff + blx r4 // CORINFO_HELP_MOD + ; byrRegs -[r3] + add r3, r0, 48 + ldr r2, [sp+0x04] + ; byrRegs +[r2] + ldr r1, [sp] + strh r3, [r2+r1] + ;; size=88 bbWeight=1 PerfScore 38.00
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r5,r6,r10,r11,lr}
+ add sp, 16 + pop {r4,r10,r11,lr}
add sp, 8 bx lr
- ;; size=8 bbWeight=1 PerfScore 3.00
+ ;; size=10 bbWeight=1 PerfScore 4.00
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; byrRegs -[r4]
+ ; byrRegs -[r2]
movw r3, 0xd1ff movt r3, 0xd1ff blx r3 // CORINFO_HELP_RNGCHKFAIL bkpt ;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 104, prolog size 10, PerfScore 38.00, instruction count 42, allocated bytes for code 104 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
+; Total bytes of code 130, prolog size 16, PerfScore 50.00, instruction count 54, allocated bytes for code 130 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
; ============================================================ Unwind Info: @@ -77,21 +97,21 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 52 (0x00034) Actual length = 104 (0x000068)
+ Function Length : 65 (0x00041) Actual length = 130 (0x000082)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) Condition : 14 (0xe) (always)
- Epilog Start Index : 5 (0x05)
+ Epilog Start Index : 6 (0x06)
---- Unwind codes ----
- AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
EC 03 pop {r0,r1} ; opsize 16 FF end
- ---- Epilog start at index 5 ---- - AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ ---- Epilog start at index 6 ---- + 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
02 add sp, sp, #8 ; opsize 16 FD end + nop ; opsize 16 FF end
- FF end - FF end

libraries.crossgen2.linux.arm.checked.mch

+0 (0.00%) : 18261.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],int):ubyte (MinOpts)

@@ -24,8 +24,8 @@ G_M4887_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, str r1, [sp+0x08] // [V01 arg1] ;; size=18 bbWeight=1 PerfScore 7.00 G_M4887_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r2, 0 - str r2, [sp+0x04] // [V02 loc0]
+ movs r3, 0 + str r3, [sp+0x04] // [V02 loc0]
ldr r2, [sp+0x04] // [V02 loc0] ; gcrRegs +[r2] ldr r0, [sp+0x0C] // [V00 arg0]

+0 (0.00%) : 18265.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)

@@ -43,25 +43,25 @@ G_M50957_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, blx r3 // CORINFO_HELP_DBL2LNG str r0, [sp+0x18] // [V02 loc0] str r1, [sp+0x1C] // [V02 loc0+0x04]
- ldr r0, [sp+0x18] // [V02 loc0] - mov r3, -1 - str r3, [sp+0x04] // [V06 tmp2] - ldr r3, [sp+0x04] // [V06 tmp2]
+ ldr r3, [sp+0x18] // [V02 loc0] + mov r2, -1 + str r2, [sp+0x04] // [V06 tmp2]
ldr r2, [sp+0x04] // [V06 tmp2]
- asrs r2, r2, 31 - cmp r0, r3 - ldr r0, [sp+0x1C] // [V02 loc0+0x04] - sbcs r0, r2 - blt SHORT G_M50957_IG03 - ldr r0, [sp+0x18] // [V02 loc0] - ldr r3, [sp+0x1C] // [V02 loc0+0x04] - mvn r2, 0x80000000 - str r2, [sp] // [V07 tmp3] - ldr r2, [sp] // [V07 tmp3] - ldr r1, [sp] // [V07 tmp3]
+ ldr r1, [sp+0x04] // [V06 tmp2]
asrs r1, r1, 31
- cmp r2, r0 - sbcs r0, r1, r3
+ cmp r3, r2 + ldr r3, [sp+0x1C] // [V02 loc0+0x04] + sbcs r3, r1 + blt SHORT G_M50957_IG03 + ldr r3, [sp+0x18] // [V02 loc0] + ldr r2, [sp+0x1C] // [V02 loc0+0x04] + mvn r1, 0x80000000 + str r1, [sp] // [V07 tmp3] + ldr r1, [sp] // [V07 tmp3] + ldr r0, [sp] // [V07 tmp3] + asrs r0, r0, 31 + cmp r1, r3 + sbcs r3, r0, r2
bge SHORT G_M50957_IG04 ;; size=88 bbWeight=1 PerfScore 35.00 G_M50957_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref @@ -73,8 +73,8 @@ G_M50957_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref blx r3 // <unknown method> ;; size=16 bbWeight=1 PerfScore 6.00 G_M50957_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r2, 0 - str r2, [sp+0x14] // [V03 loc1]
+ movs r3, 0 + str r3, [sp+0x14] // [V03 loc1]
ldr r2, [sp+0x14] // [V03 loc1] ; gcrRegs +[r2] ldr r0, [sp+0x24] // [V00 arg0]

+0 (0.00%) : 18259.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)

@@ -23,8 +23,8 @@ G_M3757_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, str r0, [sp+0x0C] // [V00 arg0] ;; size=16 bbWeight=1 PerfScore 6.00 G_M3757_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r2, 0 - str r2, [sp+0x04] // [V02 loc1]
+ movs r3, 0 + str r3, [sp+0x04] // [V02 loc1]
ldr r2, [sp+0x04] // [V02 loc1] ; gcrRegs +[r2] ldr r0, [sp+0x0C] // [V00 arg0] @@ -37,11 +37,11 @@ G_M3757_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref blx r3 // <unknown method> ; gcrRegs -[r0 r2] str r0, [sp+0x08] // [V01 loc0]
- movw r1, LOW RELOC 0xD1FFAB1E - movt r1, HIGH RELOC 0xD1FFAB1E - add r1, pc - ldr r1, [r1] - ldr r1, [r1]
+ movw r3, LOW RELOC 0xD1FFAB1E + movt r3, HIGH RELOC 0xD1FFAB1E + add r3, pc + ldr r3, [r3] + ldr r1, [r3]
; gcrRegs +[r1] ldr r0, [sp+0x08] // [V01 loc0] movw r4, LOW RELOC 0xD1FFAB1E

+0 (0.00%) : 18260.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)

@@ -43,25 +43,25 @@ G_M28342_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, blx r3 // CORINFO_HELP_DBL2LNG str r0, [sp+0x18] // [V02 loc0] str r1, [sp+0x1C] // [V02 loc0+0x04]
- ldr r0, [sp+0x18] // [V02 loc0] - mov r3, -1 - str r3, [sp+0x04] // [V06 tmp2] - ldr r3, [sp+0x04] // [V06 tmp2]
+ ldr r3, [sp+0x18] // [V02 loc0] + mov r2, -1 + str r2, [sp+0x04] // [V06 tmp2]
ldr r2, [sp+0x04] // [V06 tmp2]
- asrs r2, r2, 31 - cmp r0, r3 - ldr r0, [sp+0x1C] // [V02 loc0+0x04] - sbcs r0, r2 - blt SHORT G_M28342_IG03 - ldr r0, [sp+0x18] // [V02 loc0] - ldr r3, [sp+0x1C] // [V02 loc0+0x04] - mvn r2, 0x80000000 - str r2, [sp] // [V07 tmp3] - ldr r2, [sp] // [V07 tmp3] - ldr r1, [sp] // [V07 tmp3]
+ ldr r1, [sp+0x04] // [V06 tmp2]
asrs r1, r1, 31
- cmp r2, r0 - sbcs r0, r1, r3
+ cmp r3, r2 + ldr r3, [sp+0x1C] // [V02 loc0+0x04] + sbcs r3, r1 + blt SHORT G_M28342_IG03 + ldr r3, [sp+0x18] // [V02 loc0] + ldr r2, [sp+0x1C] // [V02 loc0+0x04] + mvn r1, 0x80000000 + str r1, [sp] // [V07 tmp3] + ldr r1, [sp] // [V07 tmp3] + ldr r0, [sp] // [V07 tmp3] + asrs r0, r0, 31 + cmp r1, r3 + sbcs r3, r0, r2
bge SHORT G_M28342_IG04 ;; size=88 bbWeight=1 PerfScore 35.00 G_M28342_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref @@ -73,8 +73,8 @@ G_M28342_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref blx r3 // <unknown method> ;; size=16 bbWeight=1 PerfScore 6.00 G_M28342_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r2, 0 - str r2, [sp+0x14] // [V03 loc1]
+ movs r3, 0 + str r3, [sp+0x14] // [V03 loc1]
ldr r2, [sp+0x14] // [V03 loc1] ; gcrRegs +[r2] ldr r0, [sp+0x24] // [V00 arg0]

+0 (0.00%) : 18264.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)

@@ -24,8 +24,8 @@ G_M30483_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, str r0, [sp+0x0C] // [V00 arg0] ;; size=16 bbWeight=1 PerfScore 6.00 G_M30483_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- movs r2, 0 - str r2, [sp+0x04] // [V02 loc1]
+ movs r3, 0 + str r3, [sp+0x04] // [V02 loc1]
ldr r2, [sp+0x04] // [V02 loc1] ; gcrRegs +[r2] ldr r0, [sp+0x0C] // [V00 arg0] @@ -38,35 +38,35 @@ G_M30483_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, blx r3 // <unknown method> ; gcrRegs -[r0 r2] str r0, [sp+0x08] // [V01 loc0]
- ldr r1, [sp+0x0C] // [V00 arg0] - ; gcrRegs +[r1] - ldr r1, [r1+0x04] - ; gcrRegs -[r1] - cmp r1, 0
+ ldr r3, [sp+0x0C] // [V00 arg0] + ; gcrRegs +[r3] + ldr r3, [r3+0x04] + ; gcrRegs -[r3] + cmp r3, 0
beq SHORT G_M30483_IG05
- ldr r1, [sp+0x08] // [V01 loc0] - cmp r1, -1
+ ldr r3, [sp+0x08] // [V01 loc0] + cmp r3, -1
bne SHORT G_M30483_IG03
- movs r1, 0
+ movs r3, 0
b SHORT G_M30483_IG04 ;; size=48 bbWeight=1 PerfScore 20.00 G_M30483_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r1, 1
+ movs r3, 1
;; size=2 bbWeight=1 PerfScore 1.00 G_M30483_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- str r1, [sp] // [V04 tmp1]
+ str r3, [sp] // [V04 tmp1]
b SHORT G_M30483_IG06 ;; size=4 bbWeight=1 PerfScore 2.00 G_M30483_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r1, 1 - str r1, [sp] // [V04 tmp1]
+ movs r3, 1 + str r3, [sp] // [V04 tmp1]
;; size=4 bbWeight=1 PerfScore 2.00 G_M30483_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movw r1, LOW RELOC 0xD1FFAB1E - movt r1, HIGH RELOC 0xD1FFAB1E - add r1, pc - ldr r1, [r1] - ldr r1, [r1]
+ movw r3, LOW RELOC 0xD1FFAB1E + movt r3, HIGH RELOC 0xD1FFAB1E + add r3, pc + ldr r3, [r3] + ldr r1, [r3]
; gcrRegs +[r1] ldr r0, [sp] // [V04 tmp1] movw r4, LOW RELOC 0xD1FFAB1E

+0 (0.00%) : 141500.dasm - System.Security.Cryptography.Xml.SignedXml:CryptographicEquals(ubyte[],ubyte[]):ubyte (MinOpts)

@@ -28,17 +28,17 @@ G_M58565_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, str r1, [sp+0x10] // [V01 arg1] ;; size=22 bbWeight=1 PerfScore 9.00 G_M58565_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- movs r0, 0 - str r0, [sp+0x0C] // [V02 loc0] - ldr r0, [sp+0x14] // [V00 arg0] - ; gcrRegs +[r0] - ldr r0, [r0+0x04] - ; gcrRegs -[r0] - ldr r3, [sp+0x10] // [V01 arg1]
+ movs r3, 0 + str r3, [sp+0x0C] // [V02 loc0] + ldr r3, [sp+0x14] // [V00 arg0]
; gcrRegs +[r3] ldr r3, [r3+0x04] ; gcrRegs -[r3]
- cmp r0, r3
+ ldr r2, [sp+0x10] // [V01 arg1] + ; gcrRegs +[r2] + ldr r2, [r2+0x04] + ; gcrRegs -[r2] + cmp r3, r2
beq SHORT G_M58565_IG04 movs r0, 0 ;; size=18 bbWeight=1 PerfScore 9.00 @@ -47,29 +47,17 @@ G_M58565_IG03: ; bbWeight=1, epilog, nogc, extend pop {r4,r10,r11,pc} ;; size=6 bbWeight=1 PerfScore 2.00 G_M58565_IG04: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
- ldr r0, [sp+0x14] // [V00 arg0] - ; gcrRegs +[r0] - ldr r0, [r0+0x04] - ; gcrRegs -[r0] - str r0, [sp+0x08] // [V03 loc1] - movs r0, 0 - str r0, [sp+0x04] // [V04 loc2]
+ ldr r3, [sp+0x14] // [V00 arg0] + ; gcrRegs +[r3] + ldr r3, [r3+0x04] + ; gcrRegs -[r3] + str r3, [sp+0x08] // [V03 loc1] + movs r3, 0 + str r3, [sp+0x04] // [V04 loc2]
b SHORT G_M58565_IG06 ;; size=12 bbWeight=1 PerfScore 6.00 G_M58565_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x14] // [V00 arg0] - ; gcrRegs +[r0] - ldr r3, [sp+0x04] // [V04 loc2] - ldr r2, [r0+0x04] - cmp r3, r2 - bhs SHORT G_M58565_IG09 - adds r0, r0, r3 - ; gcrRegs -[r0] - ; byrRegs +[r0] - adds r0, 8 - ldrb r0, [r0] - ; byrRegs -[r0] - ldr r3, [sp+0x10] // [V01 arg1]
+ ldr r3, [sp+0x14] // [V00 arg0]
; gcrRegs +[r3] ldr r2, [sp+0x04] // [V04 loc2] ldr r1, [r3+0x04] @@ -81,21 +69,33 @@ G_M58565_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, adds r3, 8 ldrb r3, [r3] ; byrRegs -[r3]
- subs r0, r0, r3 - ldr r3, [sp+0x0C] // [V02 loc0] - orrs r0, r3 - str r0, [sp+0x0C] // [V02 loc0] - ldr r0, [sp+0x04] // [V04 loc2] - adds r0, r0, 1 - str r0, [sp+0x04] // [V04 loc2]
+ ldr r2, [sp+0x10] // [V01 arg1] + ; gcrRegs +[r2] + ldr r1, [sp+0x04] // [V04 loc2] + ldr r0, [r2+0x04] + cmp r1, r0 + bhs SHORT G_M58565_IG09 + adds r2, r2, r1 + ; gcrRegs -[r2] + ; byrRegs +[r2] + adds r2, 8 + ldrb r2, [r2] + ; byrRegs -[r2] + subs r3, r3, r2 + ldr r2, [sp+0x0C] // [V02 loc0] + orrs r3, r2 + str r3, [sp+0x0C] // [V02 loc0] + ldr r3, [sp+0x04] // [V04 loc2] + adds r3, r3, 1 + str r3, [sp+0x04] // [V04 loc2]
;; size=46 bbWeight=1 PerfScore 23.00 G_M58565_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] // [V04 loc2] - ldr r3, [sp+0x08] // [V03 loc1] - cmp r0, r3
+ ldr r3, [sp+0x04] // [V04 loc2] + ldr r2, [sp+0x08] // [V03 loc1] + cmp r3, r2
blt SHORT G_M58565_IG05
- ldr r0, [sp+0x0C] // [V02 loc0] - cmp r0, 0
+ ldr r3, [sp+0x0C] // [V02 loc0] + cmp r3, 0
beq SHORT G_M58565_IG07 movs r0, 0 b SHORT G_M58565_IG08

libraries.pmi.linux.arm.checked.mch

+0 (0.00%) : 172101.dasm - System.Security.Cryptography.Xml.SignedXml:CryptographicEquals(ubyte[],ubyte[]):ubyte (MinOpts)

@@ -26,17 +26,17 @@ G_M58565_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, str r1, [sp+0x10] // [V01 arg1] ;; size=22 bbWeight=1 PerfScore 9.00 G_M58565_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- movs r0, 0 - str r0, [sp+0x0C] // [V02 loc0] - ldr r0, [sp+0x14] // [V00 arg0] - ; gcrRegs +[r0] - ldr r0, [r0+0x04] - ; gcrRegs -[r0] - ldr r3, [sp+0x10] // [V01 arg1]
+ movs r3, 0 + str r3, [sp+0x0C] // [V02 loc0] + ldr r3, [sp+0x14] // [V00 arg0]
; gcrRegs +[r3] ldr r3, [r3+0x04] ; gcrRegs -[r3]
- cmp r0, r3
+ ldr r2, [sp+0x10] // [V01 arg1] + ; gcrRegs +[r2] + ldr r2, [r2+0x04] + ; gcrRegs -[r2] + cmp r3, r2
beq SHORT G_M58565_IG04 movs r0, 0 ;; size=18 bbWeight=1 PerfScore 9.00 @@ -45,29 +45,17 @@ G_M58565_IG03: ; bbWeight=1, epilog, nogc, extend pop {r4,r10,r11,pc} ;; size=6 bbWeight=1 PerfScore 2.00 G_M58565_IG04: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
- ldr r0, [sp+0x14] // [V00 arg0] - ; gcrRegs +[r0] - ldr r0, [r0+0x04] - ; gcrRegs -[r0] - str r0, [sp+0x08] // [V03 loc1] - movs r0, 0 - str r0, [sp+0x04] // [V04 loc2]
+ ldr r3, [sp+0x14] // [V00 arg0] + ; gcrRegs +[r3] + ldr r3, [r3+0x04] + ; gcrRegs -[r3] + str r3, [sp+0x08] // [V03 loc1] + movs r3, 0 + str r3, [sp+0x04] // [V04 loc2]
b SHORT G_M58565_IG06 ;; size=12 bbWeight=1 PerfScore 6.00 G_M58565_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x14] // [V00 arg0] - ; gcrRegs +[r0] - ldr r3, [sp+0x04] // [V04 loc2] - ldr r2, [r0+0x04] - cmp r3, r2 - bhs SHORT G_M58565_IG09 - adds r0, r0, r3 - ; gcrRegs -[r0] - ; byrRegs +[r0] - adds r0, 8 - ldrb r0, [r0] - ; byrRegs -[r0] - ldr r3, [sp+0x10] // [V01 arg1]
+ ldr r3, [sp+0x14] // [V00 arg0]
; gcrRegs +[r3] ldr r2, [sp+0x04] // [V04 loc2] ldr r1, [r3+0x04] @@ -79,21 +67,33 @@ G_M58565_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, adds r3, 8 ldrb r3, [r3] ; byrRegs -[r3]
- subs r0, r0, r3 - ldr r3, [sp+0x0C] // [V02 loc0] - orrs r0, r3 - str r0, [sp+0x0C] // [V02 loc0] - ldr r0, [sp+0x04] // [V04 loc2] - adds r0, r0, 1 - str r0, [sp+0x04] // [V04 loc2]
+ ldr r2, [sp+0x10] // [V01 arg1] + ; gcrRegs +[r2] + ldr r1, [sp+0x04] // [V04 loc2] + ldr r0, [r2+0x04] + cmp r1, r0 + bhs SHORT G_M58565_IG09 + adds r2, r2, r1 + ; gcrRegs -[r2] + ; byrRegs +[r2] + adds r2, 8 + ldrb r2, [r2] + ; byrRegs -[r2] + subs r3, r3, r2 + ldr r2, [sp+0x0C] // [V02 loc0] + orrs r3, r2 + str r3, [sp+0x0C] // [V02 loc0] + ldr r3, [sp+0x04] // [V04 loc2] + adds r3, r3, 1 + str r3, [sp+0x04] // [V04 loc2]
;; size=46 bbWeight=1 PerfScore 23.00 G_M58565_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] // [V04 loc2] - ldr r3, [sp+0x08] // [V03 loc1] - cmp r0, r3
+ ldr r3, [sp+0x04] // [V04 loc2] + ldr r2, [sp+0x08] // [V03 loc1] + cmp r3, r2
blt SHORT G_M58565_IG05
- ldr r0, [sp+0x0C] // [V02 loc0] - cmp r0, 0
+ ldr r3, [sp+0x0C] // [V02 loc0] + cmp r3, 0
beq SHORT G_M58565_IG07 movs r0, 0 b SHORT G_M58565_IG08

+0 (0.00%) : 17711.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[ubyte]):ubyte (MinOpts)

@@ -52,10 +52,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byref ldr r3, [r3] blx r3 // <unknown method> str r0, [sp+0x14] // [V02 loc0]
- movs r0, 0 - str r0, [sp+0x10] // [V03 loc1] - movs r0, 0 - str r0, [sp+0x0C] // [V04 loc2]
+ movs r3, 0 + str r3, [sp+0x10] // [V03 loc1] + movs r3, 0 + str r3, [sp+0x0C] // [V04 loc2]
b SHORT G_M16092_IG06 ;; size=26 bbWeight=1 PerfScore 11.00 G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref @@ -66,34 +66,34 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ldr r3, [r3] blx r3 // <unknown method> ; byrRegs +[r0]
- ldrb r0, [r0] - ; byrRegs -[r0] - str r0, [sp+0x04] // [V07 tmp2]
+ ldrb r3, [r0] + str r3, [sp+0x04] // [V07 tmp2]
add r0, sp, 48 // [V01 arg1]
+ ; byrRegs -[r0]
ldr r1, [sp+0x0C] // [V04 loc2] movw r3, 0xd1ff movt r3, 0xd1ff ldr r3, [r3] blx r3 // <unknown method> ; byrRegs +[r0]
- ldrb r0, [r0] - ; byrRegs -[r0] - ldr r3, [sp+0x04] // [V07 tmp2] - subs r0, r3, r0 - ldr r3, [sp+0x10] // [V03 loc1] - orrs r0, r3 - str r0, [sp+0x10] // [V03 loc1] - ldr r0, [sp+0x0C] // [V04 loc2] - adds r0, r0, 1 - str r0, [sp+0x0C] // [V04 loc2]
+ ldrb r3, [r0] + ldr r2, [sp+0x04] // [V07 tmp2] + subs r3, r2, r3 + ldr r2, [sp+0x10] // [V03 loc1] + orrs r3, r2 + str r3, [sp+0x10] // [V03 loc1] + ldr r3, [sp+0x0C] // [V04 loc2] + adds r3, r3, 1 + str r3, [sp+0x0C] // [V04 loc2]
;; size=54 bbWeight=1 PerfScore 23.00 G_M16092_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x0C] // [V04 loc2] - ldr r1, [sp+0x14] // [V02 loc0] - cmp r0, r1
+ ; byrRegs -[r0] + ldr r3, [sp+0x0C] // [V04 loc2] + ldr r2, [sp+0x14] // [V02 loc0] + cmp r3, r2
blt SHORT G_M16092_IG05
- ldr r0, [sp+0x10] // [V03 loc1] - cmp r0, 0
+ ldr r3, [sp+0x10] // [V03 loc1] + cmp r3, 0
beq SHORT G_M16092_IG07 movs r0, 0 b SHORT G_M16092_IG08

libraries_tests.run.linux.arm.Release.mch

-34 (-22.67%) : 40262.dasm - NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Instrumented Tier0)

@@ -35,43 +35,43 @@ G_M2234_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref blx r3 // <unknown method> ; gcrRegs -[r0] str r0, [sp+0x2C] // [V03 tmp2]
- ldr r0, [sp+0x2C] // [V03 tmp2] - str r0, [sp+0x20] // [V01 OutArgs+0x20]
+ ldr r3, [sp+0x2C] // [V03 tmp2] + str r3, [sp+0x20] // [V01 OutArgs+0x20]
ldr r0, [sp+0x30] // [V02 tmp1] ; gcrRegs +[r0] movs r1, 1 movs r2, 1 movs r3, 1
- mov lr, 1 - str lr, [sp] // [V01 OutArgs] - mov lr, 1 - str lr, [sp+0x04] // [V01 OutArgs+0x04] - mov lr, 1 - str lr, [sp+0x08] // [V01 OutArgs+0x08] - mov lr, 1 - str lr, [sp+0x0C] // [V01 OutArgs+0x0c] - mov lr, 0 - str lr, [sp+0x10] // [V01 OutArgs+0x10] - mov lr, 14 - str lr, [sp+0x14] // [V01 OutArgs+0x14] - mov lr, 3 - str lr, [sp+0x18] // [V01 OutArgs+0x18] - mov lr, 2 - str lr, [sp+0x1C] // [V01 OutArgs+0x1c] - movw lr, 0xd1ff - movt lr, 0xd1ff - ldr lr, [lr] - blx lr // <unknown method>
+ movs r4, 1 + str r4, [sp] // [V01 OutArgs] + movs r4, 1 + str r4, [sp+0x04] // [V01 OutArgs+0x04] + movs r4, 1 + str r4, [sp+0x08] // [V01 OutArgs+0x08] + movs r4, 1 + str r4, [sp+0x0C] // [V01 OutArgs+0x0c] + movs r4, 0 + str r4, [sp+0x10] // [V01 OutArgs+0x10] + movs r4, 14 + str r4, [sp+0x14] // [V01 OutArgs+0x14] + movs r4, 3 + str r4, [sp+0x18] // [V01 OutArgs+0x18] + movs r4, 2 + str r4, [sp+0x1C] // [V01 OutArgs+0x1c] + movw r4, 0xd1ff + movt r4, 0xd1ff + ldr r4, [r4] + blx r4 // <unknown method>
; gcrRegs -[r0] ldr r0, [sp+0x30] // [V02 tmp1] ; gcrRegs +[r0]
- ;; size=128 bbWeight=1 PerfScore 39.00
+ ;; size=94 bbWeight=1 PerfScore 39.00
G_M2234_IG03: ; bbWeight=1, epilog, nogc, extend add sp, 56 pop {r4,r10,r11,pc} ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 150, prolog size 14, PerfScore 47.00, instruction count 47, allocated bytes for code 150 (MethodHash=1098f745) for method NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Instrumented Tier0)
+; Total bytes of code 116, prolog size 14, PerfScore 47.00, instruction count 47, allocated bytes for code 116 (MethodHash=1098f745) for method NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Instrumented Tier0)
; ============================================================ Unwind Info: @@ -83,7 +83,7 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 75 (0x0004b) Actual length = 150 (0x000096)
+ Function Length : 58 (0x0003a) Actual length = 116 (0x000074)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----

-34 (-22.67%) : 9096.dasm - NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Tier0)

@@ -35,43 +35,43 @@ G_M2234_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref blx r3 // <unknown method> ; gcrRegs -[r0] str r0, [sp+0x2C] // [V03 tmp2]
- ldr r0, [sp+0x2C] // [V03 tmp2] - str r0, [sp+0x20] // [V01 OutArgs+0x20]
+ ldr r3, [sp+0x2C] // [V03 tmp2] + str r3, [sp+0x20] // [V01 OutArgs+0x20]
ldr r0, [sp+0x30] // [V02 tmp1] ; gcrRegs +[r0] movs r1, 1 movs r2, 1 movs r3, 1
- mov lr, 1 - str lr, [sp] // [V01 OutArgs] - mov lr, 1 - str lr, [sp+0x04] // [V01 OutArgs+0x04] - mov lr, 1 - str lr, [sp+0x08] // [V01 OutArgs+0x08] - mov lr, 1 - str lr, [sp+0x0C] // [V01 OutArgs+0x0c] - mov lr, 0 - str lr, [sp+0x10] // [V01 OutArgs+0x10] - mov lr, 14 - str lr, [sp+0x14] // [V01 OutArgs+0x14] - mov lr, 3 - str lr, [sp+0x18] // [V01 OutArgs+0x18] - mov lr, 2 - str lr, [sp+0x1C] // [V01 OutArgs+0x1c] - movw lr, 0xd1ff - movt lr, 0xd1ff - ldr lr, [lr] - blx lr // <unknown method>
+ movs r4, 1 + str r4, [sp] // [V01 OutArgs] + movs r4, 1 + str r4, [sp+0x04] // [V01 OutArgs+0x04] + movs r4, 1 + str r4, [sp+0x08] // [V01 OutArgs+0x08] + movs r4, 1 + str r4, [sp+0x0C] // [V01 OutArgs+0x0c] + movs r4, 0 + str r4, [sp+0x10] // [V01 OutArgs+0x10] + movs r4, 14 + str r4, [sp+0x14] // [V01 OutArgs+0x14] + movs r4, 3 + str r4, [sp+0x18] // [V01 OutArgs+0x18] + movs r4, 2 + str r4, [sp+0x1C] // [V01 OutArgs+0x1c] + movw r4, 0xd1ff + movt r4, 0xd1ff + ldr r4, [r4] + blx r4 // <unknown method>
; gcrRegs -[r0] ldr r0, [sp+0x30] // [V02 tmp1] ; gcrRegs +[r0]
- ;; size=128 bbWeight=1 PerfScore 39.00
+ ;; size=94 bbWeight=1 PerfScore 39.00
G_M2234_IG03: ; bbWeight=1, epilog, nogc, extend add sp, 56 pop {r4,r10,r11,pc} ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 150, prolog size 14, PerfScore 47.00, instruction count 47, allocated bytes for code 150 (MethodHash=1098f745) for method NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Tier0)
+; Total bytes of code 116, prolog size 14, PerfScore 47.00, instruction count 47, allocated bytes for code 116 (MethodHash=1098f745) for method NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Tier0)
; ============================================================ Unwind Info: @@ -83,7 +83,7 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 75 (0x0004b) Actual length = 150 (0x000096)
+ Function Length : 58 (0x0003a) Actual length = 116 (0x000074)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----

-8 (-20.00%) : 309233.dasm - System.IO.Compression.CompressionStreamUnitTestBase:b_163():System.Object:this (Tier0)

@@ -21,19 +21,19 @@ G_M44971_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movs r1, 0 movs r2, 1 movs r3, 1
- ldr lr, [sp+0x04] - ; gcrRegs +[lr] - ldr lr, [lr] - ; gcrRegs -[lr] - ldr lr, [lr+0x54] - ldr lr, [lr+0x10] - blx lr // <unknown method> - ;; size=26 bbWeight=1 PerfScore 9.00
+ ldr r4, [sp+0x04] + ; gcrRegs +[r4] + ldr r4, [r4] + ; gcrRegs -[r4] + ldr r4, [r4+0x54] + ldr r4, [r4+0x10] + blx r4 // <unknown method> + ;; size=18 bbWeight=1 PerfScore 9.00
G_M44971_IG03: ; bbWeight=1, epilog, nogc, extend pop {r2,r3,r4,r10,r11,pc} ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 40, prolog size 8, PerfScore 13.00, instruction count 13, allocated bytes for code 40 (MethodHash=90f85054) for method System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_3():System.Object:this (Tier0)
+; Total bytes of code 32, prolog size 8, PerfScore 13.00, instruction count 13, allocated bytes for code 32 (MethodHash=90f85054) for method System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_3():System.Object:this (Tier0)
; ============================================================ Unwind Info: @@ -45,7 +45,7 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 20 (0x00014) Actual length = 40 (0x000028)
+ Function Length : 16 (0x00010) Actual length = 32 (0x000020)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----

+12 (+26.09%) : 202061.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumeratorAbstract`2[int,System._Canon]:.cctor() (Tier0)

@@ -5,37 +5,45 @@ ; partially interruptible ; Final local variable assignments ;
-; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 byref -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M31956_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr} - add r11, sp, 16
+ push {r4,r10,r11,lr} + sub sp, 16 + add r11, sp, 24 + movs r1, 0 + str r1, [sp+0x04]
str r0, [r11-0x0C]
- str r0, [sp] - ;; size=14 bbWeight=1 PerfScore 4.00
+ str r0, [sp+0x08] + ;; size=20 bbWeight=1 PerfScore 7.00
G_M31956_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r0, [sp]
+ ldr r0, [sp+0x08]
movw r3, 0xd1ff movt r3, 0xd1ff blx r3 // CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE ; byrRegs +[r0]
- mov r4, r0 - ; byrRegs +[r4] - movw r3, 0xd1ff - movt r3, 0xd1ff - ldr r3, [r3] - blx r3 // <unknown method> - ; byrRegs -[r0] - str r0, [r4+0x08] - ;; size=28 bbWeight=1 PerfScore 10.00
+ mov r3, r0 + ; byrRegs +[r3] + str r3, [sp+0x04] + movw r2, 0xd1ff + movt r2, 0xd1ff + ldr r2, [r2] + blx r2 // <unknown method> + ; byrRegs -[r0 r3] + ldr r3, [sp+0x04] + ; byrRegs +[r3] + str r0, [r3+0x08] + ;; size=32 bbWeight=1 PerfScore 12.00
G_M31956_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc} - ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16 + pop {r4,r10,r11,pc} + ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 46, prolog size 12, PerfScore 15.00, instruction count 15, allocated bytes for code 46 (MethodHash=0d5e832b) for method System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Tier0)
+; Total bytes of code 58, prolog size 18, PerfScore 21.00, instruction count 21, allocated bytes for code 58 (MethodHash=0d5e832b) for method System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Tier0)
; ============================================================ Unwind Info: @@ -47,11 +55,11 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 23 (0x00017) Actual length = 46 (0x00002e)
+ Function Length : 29 (0x0001d) Actual length = 58 (0x00003a)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32 - FF end
+ 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end

+12 (+26.09%) : 221005.dasm - System.Collections.Tests.BitArrayGetSetTests+<>cDisplayClass80:b__0(int):ubyte:this (Tier0)

@@ -5,44 +5,49 @@ ; partially interruptible ; Final local variable assignments ;
-; V00 this [V00 ] ( 1, 1 ) ref -> [sp+0x04] do-not-enreg[] this class-hnd <System.Collections.Tests.BitArray_GetSetTests+<>c__DisplayClass8_0> -; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) ref -> [sp+0x0C] do-not-enreg[] this class-hnd <System.Collections.Tests.BitArray_GetSetTests+<>c__DisplayClass8_0> +; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 int -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M39876_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr} - add r11, sp, 16 - str r0, [sp+0x04] - str r1, [sp] - ;; size=12 bbWeight=1 PerfScore 4.00
+ push {r4,r10,r11,lr} + sub sp, 16 + add r11, sp, 24 + str r0, [sp+0x0C] + str r1, [sp+0x08] + ;; size=14 bbWeight=1 PerfScore 5.00
G_M39876_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] - ; gcrRegs +[r0] - ldrb r4, [r0+0x04] - ldr r0, [sp] - ; gcrRegs -[r0]
+ ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + ldrb r3, [r3+0x04] + ; gcrRegs -[r3] + str r3, [sp+0x04] + ldr r0, [sp+0x08]
movs r1, 2
- movw r3, 0xd1ff - movt r3, 0xd1ff - blx r3 // CORINFO_HELP_MOD
+ movw r2, 0xd1ff + movt r2, 0xd1ff + blx r2 // CORINFO_HELP_MOD
cmp r0, 0 beq SHORT G_M39876_IG03
- movs r0, 0
+ movs r3, 0
b SHORT G_M39876_IG04
- ;; size=26 bbWeight=1 PerfScore 11.00
+ ;; size=28 bbWeight=1 PerfScore 12.00
G_M39876_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r0, 1
+ movs r3, 1
;; size=2 bbWeight=1 PerfScore 1.00 G_M39876_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- eors r0, r4 - ;; size=2 bbWeight=1 PerfScore 1.00
+ ldrb r2, [sp+0x04] + eor r0, r2, r3 + ;; size=8 bbWeight=1 PerfScore 2.00
G_M39876_IG05: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc} - ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16 + pop {r4,r10,r11,pc} + ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 46, prolog size 8, PerfScore 18.00, instruction count 18, allocated bytes for code 46 (MethodHash=59cc643b) for method System.Collections.Tests.BitArray_GetSetTests+<>c__DisplayClass8_0:<GetEnumerator_Data>b__0(int):ubyte:this (Tier0)
+; Total bytes of code 58, prolog size 10, PerfScore 22.00, instruction count 22, allocated bytes for code 58 (MethodHash=59cc643b) for method System.Collections.Tests.BitArray_GetSetTests+<>c__DisplayClass8_0:<GetEnumerator_Data>b__0(int):ubyte:this (Tier0)
; ============================================================ Unwind Info: @@ -54,11 +59,11 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 23 (0x00017) Actual length = 46 (0x00002e)
+ Function Length : 29 (0x0001d) Actual length = 58 (0x00003a)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32 - FF end
+ 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end

+12 (+26.09%) : 202315.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumeratorAbstract`2[int,System._Canon]:.cctor() (Instrumented Tier0)

@@ -5,37 +5,45 @@ ; partially interruptible ; Final local variable assignments ;
-; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 byref -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M31956_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr} - add r11, sp, 16
+ push {r4,r10,r11,lr} + sub sp, 16 + add r11, sp, 24 + movs r1, 0 + str r1, [sp+0x04]
str r0, [r11-0x0C]
- str r0, [sp] - ;; size=14 bbWeight=1 PerfScore 4.00
+ str r0, [sp+0x08] + ;; size=20 bbWeight=1 PerfScore 7.00
G_M31956_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r0, [sp]
+ ldr r0, [sp+0x08]
movw r3, 0xd1ff movt r3, 0xd1ff blx r3 // CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE ; byrRegs +[r0]
- mov r4, r0 - ; byrRegs +[r4] - movw r3, 0xd1ff - movt r3, 0xd1ff - ldr r3, [r3] - blx r3 // <unknown method> - ; byrRegs -[r0] - str r0, [r4+0x08] - ;; size=28 bbWeight=1 PerfScore 10.00
+ mov r3, r0 + ; byrRegs +[r3] + str r3, [sp+0x04] + movw r2, 0xd1ff + movt r2, 0xd1ff + ldr r2, [r2] + blx r2 // <unknown method> + ; byrRegs -[r0 r3] + ldr r3, [sp+0x04] + ; byrRegs +[r3] + str r0, [r3+0x08] + ;; size=32 bbWeight=1 PerfScore 12.00
G_M31956_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc} - ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16 + pop {r4,r10,r11,pc} + ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 46, prolog size 12, PerfScore 15.00, instruction count 15, allocated bytes for code 46 (MethodHash=0d5e832b) for method System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Instrumented Tier0)
+; Total bytes of code 58, prolog size 18, PerfScore 21.00, instruction count 21, allocated bytes for code 58 (MethodHash=0d5e832b) for method System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Instrumented Tier0)
; ============================================================ Unwind Info: @@ -47,11 +55,11 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 23 (0x00017) Actual length = 46 (0x00002e)
+ Function Length : 29 (0x0001d) Actual length = 58 (0x00003a)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32 - FF end
+ 04 add sp, sp, #16 ; opsize 16 + AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end

librariestestsnotieredcompilation.run.linux.arm.Release.mch

-28 (-4.05%) : 278807.dasm - System.Text.RegularExpressions.Generated.F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477_Get768540+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

@@ -80,13 +80,13 @@ G_M30972_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr G_M30972_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref nop nop
- ldr r0, [sp+0xDC] - ; gcrRegs +[r0] - ldr r0, [r0+0x34] - ; gcrRegs -[r0] - str r0, [sp+0xD8] // [V02 loc0] - ldr r0, [sp+0xD8] // [V02 loc0] - str r0, [sp+0xD4] // [V03 loc1]
+ ldr r3, [sp+0xDC] + ; gcrRegs +[r3] + ldr r3, [r3+0x34] + ; gcrRegs -[r3] + str r3, [sp+0xD8] // [V02 loc0] + ldr r3, [sp+0xD8] // [V02 loc0] + str r3, [sp+0xD4] // [V03 loc1]
add r0, sp, 240 // [V01 arg1] add r1, sp, 176 // [V09 tmp1] ldr r2, [sp+0xD8] // [V02 loc0] @@ -97,10 +97,10 @@ G_M30972_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcr arg pop 0 ;; size=32 bbWeight=1 PerfScore 14.00 G_M30972_IG05: ; bbWeight=1, nogc, extend
- ldr r0, [sp+0xB0] // [V09 tmp1] - str r0, [sp+0xC0] // [V05 loc3] - ldr r0, [sp+0xB4] // [V09 tmp1+0x04] - str r0, [sp+0xC4] // [V05 loc3+0x04]
+ ldr r3, [sp+0xB0] // [V09 tmp1] + str r3, [sp+0xC0] // [V05 loc3] + ldr r3, [sp+0xB4] // [V09 tmp1+0x04] + str r3, [sp+0xC4] // [V05 loc3+0x04]
;; size=8 bbWeight=1 PerfScore 4.00 G_M30972_IG06: ; bbWeight=1, isz, extend add r0, sp, 192 // [V05 loc3] @@ -110,14 +110,14 @@ G_M30972_IG06: ; bbWeight=1, isz, extend blx r3 // <unknown method> ; gcr arg pop 0 str r0, [sp+0xAC] // [V10 tmp2]
- ldr r0, [sp+0xAC] // [V10 tmp2] - cmp r0, 5
+ ldr r3, [sp+0xAC] // [V10 tmp2] + cmp r3, 5
blo G_M30972_IG09
- movw r0, 0xd1ff - movt r0, 0xd1ff - mov r1, 0x80000000 - str r0, [sp+0xA0] // [V12 tmp4] - str r1, [sp+0xA4] // [V12 tmp4+0x04]
+ movw r3, 0xd1ff + movt r3, 0xd1ff + mov r2, 0x80000000 + str r3, [sp+0xA0] // [V12 tmp4] + str r2, [sp+0xA4] // [V12 tmp4+0x04]
add r0, sp, 192 // [V05 loc3] movs r1, 0 movw r3, 0xd1ff @@ -127,25 +127,27 @@ G_M30972_IG06: ; bbWeight=1, isz, extend ; byrRegs +[r0] ; gcr arg pop 0 str r0, [sp+0x9C] // [V13 tmp5]
- ldr r0, [sp+0x9C] // [V13 tmp5] - ldrh r0, [r0] - ; byrRegs -[r0] - subs r0, 58 - movs r1, 0 - str r0, [sp+0x90] // [V14 tmp6] - str r1, [sp+0x94] // [V14 tmp6+0x04] - ldr r0, [sp+0x90] // [V14 tmp6] - ldr r1, [sp+0x94] // [V14 tmp6+0x04] - str r0, [sp+0xC8] // [V04 loc2] - str r1, [sp+0xCC] // [V04 loc2+0x04] - ldr r0, [sp+0xA0] // [V12 tmp4] - str r0, [sp+0x44] // [V25 tmp17] - ldr r0, [sp+0xA4] // [V12 tmp4+0x04] - str r0, [sp+0x40] // [V26 tmp18] - ldr r0, [sp+0x90] // [V14 tmp6] - and r0, r0, 63 - str r0, [sp+0x48] // [V24 tmp16]
+ ldr r3, [sp+0x9C] // [V13 tmp5] + ; byrRegs +[r3] + ldrh r3, [r3] + ; byrRegs -[r3] + subs r3, 58 + movs r2, 0 + str r3, [sp+0x90] // [V14 tmp6] + str r2, [sp+0x94] // [V14 tmp6+0x04] + ldr r3, [sp+0x90] // [V14 tmp6] + ldr r2, [sp+0x94] // [V14 tmp6+0x04] + str r3, [sp+0xC8] // [V04 loc2] + str r2, [sp+0xCC] // [V04 loc2+0x04] + ldr r3, [sp+0xA0] // [V12 tmp4] + str r3, [sp+0x44] // [V25 tmp17] + ldr r3, [sp+0xA4] // [V12 tmp4+0x04] + str r3, [sp+0x40] // [V26 tmp18] + ldr r3, [sp+0x90] // [V14 tmp6] + and r3, r3, 63 + str r3, [sp+0x48] // [V24 tmp16]
ldr r0, [sp+0x44] // [V25 tmp17]
+ ; byrRegs -[r0]
ldr r1, [sp+0x40] // [V26 tmp18] ldr r2, [sp+0x48] // [V24 tmp16] movw r3, 0xd1ff @@ -153,26 +155,26 @@ G_M30972_IG06: ; bbWeight=1, isz, extend blx r3 // CORINFO_HELP_LLSH str r0, [sp+0x38] // [V27 tmp19] str r1, [sp+0x3C] // [V27 tmp19+0x04]
- ldr r0, [sp+0x38] // [V27 tmp19] - ldr r1, [sp+0x3C] // [V27 tmp19+0x04] - ldr r3, [sp+0xC8] // [V04 loc2] - ldr r2, [sp+0xCC] // [V04 loc2+0x04] - mov lr, 64 - str lr, [sp+0x34] // [V28 tmp20]
+ ldr r3, [sp+0x38] // [V27 tmp19] + ldr r2, [sp+0x3C] // [V27 tmp19+0x04] + ldr r1, [sp+0xC8] // [V04 loc2] + ldr r0, [sp+0xCC] // [V04 loc2+0x04] + movs r4, 64 + str r4, [sp+0x34] // [V28 tmp20] + ldr r4, [sp+0x34] // [V28 tmp20]
ldr lr, [sp+0x34] // [V28 tmp20]
- ldr r12, [sp+0x34] // [V28 tmp20] - asr r12, r12, 31 - subs r3, r3, lr - sbc r2, r2, r12 - ands r0, r3 - and r0, r1, r2 - cmp r0, 0
+ asr lr, lr, 31 + subs r1, r1, r4 + sbc r0, r0, lr + ands r3, r1 + and r3, r2, r0 + cmp r3, 0
bge G_M30972_IG09
- movw r0, 0xd1ff - movt r0, 0xd1ff - mov r1, 0x80000000 - str r0, [sp+0x88] // [V15 tmp7] - str r1, [sp+0x8C] // [V15 tmp7+0x04]
+ movw r3, 0xd1ff + movt r3, 0xd1ff + mov r2, 0x80000000 + str r3, [sp+0x88] // [V15 tmp7] + str r2, [sp+0x8C] // [V15 tmp7+0x04]
add r0, sp, 192 // [V05 loc3] movs r1, 1 movw r3, 0xd1ff @@ -182,25 +184,27 @@ G_M30972_IG06: ; bbWeight=1, isz, extend ; byrRegs +[r0] ; gcr arg pop 0 str r0, [sp+0x84] // [V16 tmp8]
- ldr r0, [sp+0x84] // [V16 tmp8] - ldrh r0, [r0] - ; byrRegs -[r0] - subs r0, 58 - movs r1, 0 - str r0, [sp+0x78] // [V17 tmp9] - str r1, [sp+0x7C] // [V17 tmp9+0x04] - ldr r0, [sp+0x78] // [V17 tmp9] - ldr r1, [sp+0x7C] // [V17 tmp9+0x04] - str r0, [sp+0xC8] // [V04 loc2] - str r1, [sp+0xCC] // [V04 loc2+0x04] - ldr r0, [sp+0x88] // [V15 tmp7] - str r0, [sp+0x2C] // [V30 tmp22] - ldr r0, [sp+0x8C] // [V15 tmp7+0x04] - str r0, [sp+0x28] // [V31 tmp23] - ldr r0, [sp+0x78] // [V17 tmp9] - and r0, r0, 63 - str r0, [sp+0x30] // [V29 tmp21]
+ ldr r3, [sp+0x84] // [V16 tmp8] + ; byrRegs +[r3] + ldrh r3, [r3] + ; byrRegs -[r3] + subs r3, 58 + movs r2, 0 + str r3, [sp+0x78] // [V17 tmp9] + str r2, [sp+0x7C] // [V17 tmp9+0x04] + ldr r3, [sp+0x78] // [V17 tmp9] + ldr r2, [sp+0x7C] // [V17 tmp9+0x04] + str r3, [sp+0xC8] // [V04 loc2] + str r2, [sp+0xCC] // [V04 loc2+0x04] + ldr r3, [sp+0x88] // [V15 tmp7] + str r3, [sp+0x2C] // [V30 tmp22] + ldr r3, [sp+0x8C] // [V15 tmp7+0x04] + str r3, [sp+0x28] // [V31 tmp23] + ldr r3, [sp+0x78] // [V17 tmp9] + and r3, r3, 63 + str r3, [sp+0x30] // [V29 tmp21]
ldr r0, [sp+0x2C] // [V30 tmp22]
+ ; byrRegs -[r0]
ldr r1, [sp+0x28] // [V31 tmp23] ldr r2, [sp+0x30] // [V29 tmp21] movw r3, 0xd1ff @@ -208,26 +212,26 @@ G_M30972_IG06: ; bbWeight=1, isz, extend blx r3 // CORINFO_HELP_LLSH str r0, [sp+0x20] // [V32 tmp24] str r1, [sp+0x24] // [V32 tmp24+0x04]
- ldr r0, [sp+0x20] // [V32 tmp24] - ldr r1, [sp+0x24] // [V32 tmp24+0x04] - ldr r3, [sp+0xC8] // [V04 loc2] - ldr r2, [sp+0xCC] // [V04 loc2+0x04] - mov lr, 64 - str lr, [sp+0x1C] // [V33 tmp25]
+ ldr r3, [sp+0x20] // [V32 tmp24] + ldr r2, [sp+0x24] // [V32 tmp24+0x04] + ldr r1, [sp+0xC8] // [V04 loc2] + ldr r0, [sp+0xCC] // [V04 loc2+0x04] + movs r4, 64 + str r4, [sp+0x1C] // [V33 tmp25] + ldr r4, [sp+0x1C] // [V33 tmp25]
ldr lr, [sp+0x1C] // [V33 tmp25]
- ldr r12, [sp+0x1C] // [V33 tmp25] - asr r12, r12, 31 - subs r3, r3, lr - sbc r2, r2, r12 - ands r0, r3 - and r0, r1, r2 - cmp r0, 0
+ asr lr, lr, 31 + subs r1, r1, r4 + sbc r0, r0, lr + ands r3, r1 + and r3, r2, r0 + cmp r3, 0
bge SHORT G_M30972_IG09
- movw r0, 0xd1ff - movt r0, 0xd1ff - mov r1, 0x80000000 - str r0, [sp+0x70] // [V18 tmp10] - str r1, [sp+0x74] // [V18 tmp10+0x04]
+ movw r3, 0xd1ff + movt r3, 0xd1ff + mov r2, 0x80000000 + str r3, [sp+0x70] // [V18 tmp10] + str r2, [sp+0x74] // [V18 tmp10+0x04]
add r0, sp, 192 // [V05 loc3] movs r1, 2 movw r3, 0xd1ff @@ -237,25 +241,27 @@ G_M30972_IG06: ; bbWeight=1, isz, extend ; byrRegs +[r0] ; gcr arg pop 0 str r0, [sp+0x6C] // [V19 tmp11]
- ldr r0, [sp+0x6C] // [V19 tmp11] - ldrh r0, [r0] - ; byrRegs -[r0] - subs r0, 58 - movs r1, 0 - str r0, [sp+0x60] // [V20 tmp12]
...

-6 (-3.61%) : 2282.dasm - Microsoft.CodeAnalysis.Testing.TestFileMarkupParser:AddMatch(System.String,System.String,int,System.Collections.Generic.List1[System.ValueTuple2[int,System.String]]) (MinOpts)

@@ -56,26 +56,26 @@ G_M43327_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, movw r3, 0xd1ff movt r3, 0xd1ff ldr r3, [r3]
- ldr lr, [r0]
+ ldr r4, [r0]
blx r3 // <unknown method> ; gcrRegs -[r0-r1] ; gcr arg pop 0 str r0, [sp+0x0C] // [V07 tmp1]
- ldr r0, [sp+0x0C] // [V07 tmp1] - str r0, [sp+0x14] // [V04 loc0] - ldr r0, [sp+0x14] // [V04 loc0] - cmp r0, 0
+ ldr r3, [sp+0x0C] // [V07 tmp1] + str r3, [sp+0x14] // [V04 loc0] + ldr r3, [sp+0x14] // [V04 loc0] + cmp r3, 0
bge SHORT G_M43327_IG05
- movs r0, 0
+ movs r3, 0
b SHORT G_M43327_IG06
- ;; size=40 bbWeight=1 PerfScore 17.00
+ ;; size=38 bbWeight=1 PerfScore 17.00
G_M43327_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r0, 1
+ movs r3, 1
;; size=2 bbWeight=1 PerfScore 1.00 G_M43327_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- str r0, [sp+0x10] // [V05 loc1] - ldr r0, [sp+0x10] // [V05 loc1] - cmp r0, 0
+ str r3, [sp+0x10] // [V05 loc1] + ldr r3, [sp+0x10] // [V05 loc1] + cmp r3, 0
beq SHORT G_M43327_IG07 nop add r0, sp, 4 // [V08 tmp2] @@ -84,10 +84,10 @@ G_M43327_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ldr r2, [sp+0x14] // [V04 loc0] movw r1, 0xd1ff movt r1, 0xd1ff
- movw lr, 0xd1ff - movt lr, 0xd1ff - ldr lr, [lr] - blx lr // <unknown method>
+ movw r4, 0xd1ff + movt r4, 0xd1ff + ldr r4, [r4] + blx r4 // <unknown method>
; gcrRegs -[r3] ; gcr arg pop 0 ldr r1, [sp+0x04] // [V08 tmp2] @@ -98,13 +98,13 @@ G_M43327_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, movw r3, 0xd1ff movt r3, 0xd1ff ldr r3, [r3]
- ldr lr, [r0]
+ ldr r4, [r0]
blx r3 // <unknown method> ; gcrRegs -[r0-r1] ; gcr arg pop 0 nop nop
- ;; size=64 bbWeight=1 PerfScore 24.00
+ ;; size=60 bbWeight=1 PerfScore 24.00
G_M43327_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref nop ;; size=2 bbWeight=1 PerfScore 1.00 @@ -113,7 +113,7 @@ G_M43327_IG08: ; bbWeight=1, epilog, nogc, extend pop {r4,r10,r11,pc} ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 166, prolog size 28, PerfScore 63.50, instruction count 65, allocated bytes for code 166 (MethodHash=197956c0) for method Microsoft.CodeAnalysis.Testing.TestFileMarkupParser:AddMatch(System.String,System.String,int,System.Collections.Generic.List`1[System.ValueTuple`2[int,System.String]]) (MinOpts)
+; Total bytes of code 160, prolog size 28, PerfScore 63.50, instruction count 65, allocated bytes for code 160 (MethodHash=197956c0) for method Microsoft.CodeAnalysis.Testing.TestFileMarkupParser:AddMatch(System.String,System.String,int,System.Collections.Generic.List`1[System.ValueTuple`2[int,System.String]]) (MinOpts)
; ============================================================ Unwind Info: @@ -125,7 +125,7 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 83 (0x00053) Actual length = 166 (0x0000a6)
+ Function Length : 80 (0x00050) Actual length = 160 (0x0000a0)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----

-22 (-3.46%) : 295273.dasm - System.Text.RegularExpressions.Generated.F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477_Get935543+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

@@ -64,33 +64,33 @@ G_M24633_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr G_M24633_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref nop nop
- ldr r0, [sp+0x64] - ; gcrRegs +[r0] - ldr r0, [r0+0x34] - ; gcrRegs -[r0] - str r0, [sp+0x60] // [V02 loc0] - ldr r0, [sp+0x60] // [V02 loc0] - str r0, [sp+0x5C] // [V03 loc1] - movs r0, 0 - str r0, [sp+0x58] // [V04 loc2] - movs r0, 0 - str r0, [sp+0x54] // [V05 loc3] - movs r0, 0 - str r0, [sp+0x50] // [V06 loc4] - movs r0, 0 - str r0, [sp+0x4C] // [V07 loc5] - movs r0, 0 - str r0, [sp+0x48] // [V08 loc6] - movs r0, 0 - str r0, [sp+0x44] // [V09 loc7] - movs r0, 0 - str r0, [sp+0x40] // [V10 loc8] - movs r0, 0 - str r0, [sp+0x3C] // [V11 loc9] - movs r0, 0 - str r0, [sp+0x38] // [V12 loc10] - movs r0, 0 - str r0, [sp+0x34] // [V13 loc11]
+ ldr r3, [sp+0x64] + ; gcrRegs +[r3] + ldr r3, [r3+0x34] + ; gcrRegs -[r3] + str r3, [sp+0x60] // [V02 loc0] + ldr r3, [sp+0x60] // [V02 loc0] + str r3, [sp+0x5C] // [V03 loc1] + movs r3, 0 + str r3, [sp+0x58] // [V04 loc2] + movs r3, 0 + str r3, [sp+0x54] // [V05 loc3] + movs r3, 0 + str r3, [sp+0x50] // [V06 loc4] + movs r3, 0 + str r3, [sp+0x4C] // [V07 loc5] + movs r3, 0 + str r3, [sp+0x48] // [V08 loc6] + movs r3, 0 + str r3, [sp+0x44] // [V09 loc7] + movs r3, 0 + str r3, [sp+0x40] // [V10 loc8] + movs r3, 0 + str r3, [sp+0x3C] // [V11 loc9] + movs r3, 0 + str r3, [sp+0x38] // [V12 loc10] + movs r3, 0 + str r3, [sp+0x34] // [V13 loc11]
add r0, sp, 120 // [V01 arg1] add r1, sp, 28 // [V18 tmp1] ldr r2, [sp+0x60] // [V02 loc0] @@ -101,47 +101,47 @@ G_M24633_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcr arg pop 0 ;; size=72 bbWeight=1 PerfScore 34.00 G_M24633_IG05: ; bbWeight=1, nogc, extend
- ldr r0, [sp+0x1C] // [V18 tmp1] - str r0, [sp+0x2C] // [V14 loc12] - ldr r0, [sp+0x20] // [V18 tmp1+0x04] - str r0, [sp+0x30] // [V14 loc12+0x04]
+ ldr r3, [sp+0x1C] // [V18 tmp1] + str r3, [sp+0x2C] // [V14 loc12] + ldr r3, [sp+0x20] // [V18 tmp1+0x04] + str r3, [sp+0x30] // [V14 loc12+0x04]
;; size=8 bbWeight=1 PerfScore 4.00 G_M24633_IG06: ; bbWeight=1, isz, extend nop
- ldr r0, [sp+0x60] // [V02 loc0] - str r0, [sp+0x58] // [V04 loc2]
+ ldr r3, [sp+0x60] // [V02 loc0] + str r3, [sp+0x58] // [V04 loc2]
nop
- ldr r0, [sp+0x60] // [V02 loc0] - str r0, [sp+0x54] // [V05 loc3]
+ ldr r3, [sp+0x60] // [V02 loc0] + str r3, [sp+0x54] // [V05 loc3]
nop
- ldr r0, [sp+0x60] // [V02 loc0] - str r0, [sp+0x50] // [V06 loc4]
+ ldr r3, [sp+0x60] // [V02 loc0] + str r3, [sp+0x50] // [V06 loc4]
nop
- ldr r0, [sp+0x60] // [V02 loc0] - str r0, [sp+0x4C] // [V07 loc5]
+ ldr r3, [sp+0x60] // [V02 loc0] + str r3, [sp+0x4C] // [V07 loc5]
nop
- ldr r0, [sp+0x60] // [V02 loc0] - str r0, [sp+0x48] // [V08 loc6]
+ ldr r3, [sp+0x60] // [V02 loc0] + str r3, [sp+0x48] // [V08 loc6]
nop
- ldr r0, [sp+0x60] // [V02 loc0] - str r0, [sp+0x44] // [V09 loc7]
+ ldr r3, [sp+0x60] // [V02 loc0] + str r3, [sp+0x44] // [V09 loc7]
nop
- ldr r0, [sp+0x60] // [V02 loc0] - str r0, [sp+0x40] // [V10 loc8]
+ ldr r3, [sp+0x60] // [V02 loc0] + str r3, [sp+0x40] // [V10 loc8]
nop
- ldr r0, [sp+0x60] // [V02 loc0] - str r0, [sp+0x3C] // [V11 loc9]
+ ldr r3, [sp+0x60] // [V02 loc0] + str r3, [sp+0x3C] // [V11 loc9]
nop
- ldr r0, [sp+0x60] // [V02 loc0] - str r0, [sp+0x38] // [V12 loc10]
+ ldr r3, [sp+0x60] // [V02 loc0] + str r3, [sp+0x38] // [V12 loc10]
nop
- ldr r0, [sp+0x60] // [V02 loc0] - str r0, [sp+0x34] // [V13 loc11] - ldr r0, [sp+0x60] // [V02 loc0] - subs r0, r0, 1 - movs r3, 0 - str r0, [sp+0x10] // [V19 tmp2] - str r3, [sp+0x14] // [V19 tmp2+0x04]
+ ldr r3, [sp+0x60] // [V02 loc0] + str r3, [sp+0x34] // [V13 loc11] + ldr r3, [sp+0x60] // [V02 loc0] + subs r3, r3, 1 + movs r2, 0 + str r3, [sp+0x10] // [V19 tmp2] + str r2, [sp+0x14] // [V19 tmp2+0x04]
add r0, sp, 120 // [V01 arg1] movw r3, 0xd1ff movt r3, 0xd1ff @@ -149,18 +149,18 @@ G_M24633_IG06: ; bbWeight=1, isz, extend blx r3 // <unknown method> ; gcr arg pop 0 str r0, [sp+0x0C] // [V20 tmp3]
- ldr r1, [sp+0x10] // [V19 tmp2] - ldr r0, [sp+0x0C] // [V20 tmp3] - str r0, [sp] // [V23 tmp6] - ldr r0, [sp] // [V23 tmp6] - ldr r3, [sp] // [V23 tmp6] - asrs r3, r3, 31 - cmp r1, r0 - ldr r1, [sp+0x14] // [V19 tmp2+0x04] - sbcs r1, r3
+ ldr r3, [sp+0x10] // [V19 tmp2] + ldr r2, [sp+0x0C] // [V20 tmp3] + str r2, [sp] // [V23 tmp6] + ldr r2, [sp] // [V23 tmp6] + ldr r1, [sp] // [V23 tmp6] + asrs r1, r1, 31 + cmp r3, r2 + ldr r3, [sp+0x14] // [V19 tmp2+0x04] + sbcs r3, r1
bge SHORT G_M24633_IG09
- ldr r1, [sp+0x60] // [V02 loc0] - subs r1, r1, 1
+ ldr r3, [sp+0x60] // [V02 loc0] + subs r1, r3, 1
add r0, sp, 120 // [V01 arg1] movw r3, 0xd1ff movt r3, 0xd1ff @@ -169,31 +169,33 @@ G_M24633_IG06: ; bbWeight=1, isz, extend ; byrRegs +[r0] ; gcr arg pop 0 str r0, [sp+0x04] // [V22 tmp5]
- ldr r0, [sp+0x04] // [V22 tmp5] - ldrh r0, [r0] - ; byrRegs -[r0] - cmp r0, 97
+ ldr r3, [sp+0x04] // [V22 tmp5] + ; byrRegs +[r3] + ldrh r3, [r3] + ; byrRegs -[r3] + cmp r3, 97
bne SHORT G_M24633_IG07
- movs r0, 0
+ movs r3, 0
b SHORT G_M24633_IG08 ;; size=138 bbWeight=1 PerfScore 65.00 G_M24633_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r0, 1
+ ; byrRegs -[r0] + movs r3, 1
;; size=2 bbWeight=1 PerfScore 1.00 G_M24633_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- str r0, [sp+0x08] // [V21 tmp4]
+ str r3, [sp+0x08] // [V21 tmp4]
b SHORT G_M24633_IG10 ;; size=4 bbWeight=1 PerfScore 2.00 G_M24633_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r0, 1 - str r0, [sp+0x08] // [V21 tmp4]
+ movs r3, 1 + str r3, [sp+0x08] // [V21 tmp4]
;; size=4 bbWeight=1 PerfScore 2.00 G_M24633_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x08] // [V21 tmp4] - uxtb r0, r0 - str r0, [sp+0x28] // [V15 loc13] - ldr r0, [sp+0x28] // [V15 loc13] - cmp r0, 0
+ ldr r3, [sp+0x08] // [V21 tmp4] + uxtb r3, r3 + str r3, [sp+0x28] // [V15 loc13] + ldr r3, [sp+0x28] // [V15 loc13] + cmp r3, 0
beq SHORT G_M24633_IG11 nop ldr r0, [sp+0x64] // [V00 this] @@ -206,24 +208,24 @@ G_M24633_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcrRegs -[r0] ; gcr arg pop 0 nop
- movs r0, 0 - str r0, [sp+0x24] // [V16 loc14]
+ movs r3, 0 + str r3, [sp+0x24] // [V16 loc14]
nop b SHORT G_M24633_IG12 ;; size=40 bbWeight=1 PerfScore 18.00 G_M24633_IG11: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r0, [sp+0x60] // [V02 loc0] - subs r0, r0, 1 - str r0, [sp+0x60] // [V02 loc0]
+ ldr r3, [sp+0x60] // [V02 loc0] + subs r3, r3, 1 + str r3, [sp+0x60] // [V02 loc0]
ldr r0, [sp+0x64] // [V00 this] ; gcrRegs +[r0] ldr r3, [sp+0x60] // [V02 loc0] ldr r2, [sp+0x34] // [V13 loc11] movs r1, 10
- movw lr, 0xd1ff - movt lr, 0xd1ff - ldr lr, [lr] - blx lr // <unknown method>
+ movw r4, 0xd1ff + movt r4, 0xd1ff + ldr r4, [r4] + blx r4 // <unknown method>
; gcrRegs -[r0] ; gcr arg pop 0 nop ...

+8 (+3.17%) : 7960.dasm - Microsoft.CodeAnalysis.Testing.Extensions.CompilationWithAnalyzersExtensions:GetAnalysisResultAsync(Microsoft.CodeAnalysis.Diagnostics.CompilationWithAnalyzers,System.Threading.CancellationToken):System.Threading.Tasks.Task`1Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper

@@ -80,8 +80,9 @@ G_M40056_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[r0] ; gcr arg pop 0 str r0, [sp+0x04] // [V06 tmp3]
- ldr r0, [sp+0x08] // [V05 tmp2] - adds r0, 16
+ ldr r3, [sp+0x08] // [V05 tmp2] + ; gcrRegs +[r3] + add r0, r3, 16
; gcrRegs -[r0] ; byrRegs +[r0] add r1, sp, 4 // [V06 tmp3] @@ -89,59 +90,59 @@ G_M40056_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r1, [sp+0x10] // [V02 loc0]
+ ; gcrRegs -[r3] + ldr r3, [sp+0x10] // [V02 loc0] + ; gcrRegs +[r3] + adds r0, r3, 4 + ldr r1, [sp+0x14] // [V00 arg0]
; gcrRegs +[r1] ; byrRegs -[r1]
- adds r0, r1, 4 - ldr r1, [sp+0x14] // [V00 arg0]
movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[r1]
+ ; gcrRegs -[r1 r3]
; byrRegs -[r0]
- ldr r0, [sp+0x10] // [V02 loc0] - ; gcrRegs +[r0] - adds r0, 20 - ; gcrRegs -[r0]
+ ldr r3, [sp+0x10] // [V02 loc0] + ; gcrRegs +[r3] + add r0, r3, 20
; byrRegs +[r0] add r1, sp, 36 // [V01 arg1] ; byrRegs +[r1] movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x10] // [V02 loc0] - ; gcrRegs +[r0] - ; byrRegs -[r0]
+ ; gcrRegs -[r3] + ldr r3, [sp+0x10] // [V02 loc0] + ; gcrRegs +[r3]
mov r2, -1
- str r2, [r0+0x0C] - ldr r0, [sp+0x10] // [V02 loc0] - ldrsb r0, [r0] - ; gcrRegs -[r0] - ldr r0, [sp+0x10] // [V02 loc0] - ; gcrRegs +[r0] - adds r0, 16 - ; gcrRegs -[r0] - ; byrRegs +[r0]
+ str r2, [r3+0x0C] + ldr r3, [sp+0x10] // [V02 loc0] + ldrsb r3, [r3] + ; gcrRegs -[r3] + ldr r3, [sp+0x10] // [V02 loc0] + ; gcrRegs +[r3] + add r0, r3, 16
add r2, sp, 16 // [V02 loc0] movw r1, 0xd1ff ; byrRegs -[r1] movt r1, 0xd1ff movw r3, 0xd1ff
+ ; gcrRegs -[r3]
movt r3, 0xd1ff ldr r3, [r3] blx r3 // <unknown method> ; byrRegs -[r0] ; gcr arg pop 0
- ldr r0, [sp+0x10] // [V02 loc0] - ; gcrRegs +[r0] - ldrsb r0, [r0] - ; gcrRegs -[r0] - ldr r0, [sp+0x10] // [V02 loc0] - ; gcrRegs +[r0] - adds r0, 16 - ; gcrRegs -[r0]
+ ldr r3, [sp+0x10] // [V02 loc0] + ; gcrRegs +[r3] + ldrsb r3, [r3] + ; gcrRegs -[r3] + ldr r3, [sp+0x10] // [V02 loc0] + ; gcrRegs +[r3] + add r0, r3, 16
; byrRegs +[r0] movw r3, 0xd1ff
+ ; gcrRegs -[r3]
movt r3, 0xd1ff ldr r3, [r3] blx r3 // <unknown method> @@ -150,7 +151,7 @@ G_M40056_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcr arg pop 0 str r0, [sp] // [V07 tmp4] ldr r0, [sp] // [V07 tmp4]
- ;; size=170 bbWeight=1 PerfScore 62.00
+ ;; size=178 bbWeight=1 PerfScore 62.00
G_M40056_IG05: ; bbWeight=1, epilog, nogc, extend add sp, 24 pop {r10,r11,lr} @@ -158,7 +159,7 @@ G_M40056_IG05: ; bbWeight=1, epilog, nogc, extend bx lr ;; size=10 bbWeight=1 PerfScore 4.00
-; Total bytes of code 252, prolog size 28, PerfScore 89.50, instruction count 91, allocated bytes for code 252 (MethodHash=67906387) for method Microsoft.CodeAnalysis.Testing.Extensions.CompilationWithAnalyzersExtensions:GetAnalysisResultAsync(Microsoft.CodeAnalysis.Diagnostics.CompilationWithAnalyzers,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper] (MinOpts)
+; Total bytes of code 260, prolog size 28, PerfScore 89.50, instruction count 91, allocated bytes for code 260 (MethodHash=67906387) for method Microsoft.CodeAnalysis.Testing.Extensions.CompilationWithAnalyzersExtensions:GetAnalysisResultAsync(Microsoft.CodeAnalysis.Diagnostics.CompilationWithAnalyzers,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper] (MinOpts)
; ============================================================ Unwind Info: @@ -170,7 +171,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 126 (0x0007e) Actual length = 252 (0x0000fc)
+ Function Length : 130 (0x00082) Actual length = 260 (0x000104)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+8 (+3.45%) : 3457.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore:WaitAsync(System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore+Releaser]:this (MinOpts)

@@ -73,8 +73,9 @@ G_M23388_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[r0] ; gcr arg pop 0 str r0, [sp+0x04] // [V06 tmp3]
- ldr r0, [sp+0x08] // [V05 tmp2] - adds r0, 20
+ ldr r3, [sp+0x08] // [V05 tmp2] + ; gcrRegs +[r3] + add r0, r3, 20
; gcrRegs -[r0] ; byrRegs +[r0] add r1, sp, 4 // [V06 tmp3] @@ -82,59 +83,59 @@ G_M23388_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r1, [sp+0x10] // [V02 loc0]
+ ; gcrRegs -[r3] + ldr r3, [sp+0x10] // [V02 loc0] + ; gcrRegs +[r3] + adds r0, r3, 4 + ldr r1, [sp+0x14] // [V00 this]
; gcrRegs +[r1] ; byrRegs -[r1]
- adds r0, r1, 4 - ldr r1, [sp+0x14] // [V00 this]
movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[r1]
+ ; gcrRegs -[r1 r3]
; byrRegs -[r0]
- ldr r0, [sp+0x10] // [V02 loc0] - ; gcrRegs +[r0] - adds r0, 24 - ; gcrRegs -[r0]
+ ldr r3, [sp+0x10] // [V02 loc0] + ; gcrRegs +[r3] + add r0, r3, 24
; byrRegs +[r0] add r1, sp, 36 // [V01 arg1] ; byrRegs +[r1] movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x10] // [V02 loc0] - ; gcrRegs +[r0] - ; byrRegs -[r0]
+ ; gcrRegs -[r3] + ldr r3, [sp+0x10] // [V02 loc0] + ; gcrRegs +[r3]
mov r2, -1
- str r2, [r0+0x0C] - ldr r0, [sp+0x10] // [V02 loc0] - ldrsb r0, [r0] - ; gcrRegs -[r0] - ldr r0, [sp+0x10] // [V02 loc0] - ; gcrRegs +[r0] - adds r0, 20 - ; gcrRegs -[r0] - ; byrRegs +[r0]
+ str r2, [r3+0x0C] + ldr r3, [sp+0x10] // [V02 loc0] + ldrsb r3, [r3] + ; gcrRegs -[r3] + ldr r3, [sp+0x10] // [V02 loc0] + ; gcrRegs +[r3] + add r0, r3, 20
add r2, sp, 16 // [V02 loc0] movw r1, 0xd1ff ; byrRegs -[r1] movt r1, 0xd1ff movw r3, 0xd1ff
+ ; gcrRegs -[r3]
movt r3, 0xd1ff ldr r3, [r3] blx r3 // <unknown method> ; byrRegs -[r0] ; gcr arg pop 0
- ldr r0, [sp+0x10] // [V02 loc0] - ; gcrRegs +[r0] - ldrsb r0, [r0] - ; gcrRegs -[r0] - ldr r0, [sp+0x10] // [V02 loc0] - ; gcrRegs +[r0] - adds r0, 20 - ; gcrRegs -[r0]
+ ldr r3, [sp+0x10] // [V02 loc0] + ; gcrRegs +[r3] + ldrsb r3, [r3] + ; gcrRegs -[r3] + ldr r3, [sp+0x10] // [V02 loc0] + ; gcrRegs +[r3] + add r0, r3, 20
; byrRegs +[r0] movw r3, 0xd1ff
+ ; gcrRegs -[r3]
movt r3, 0xd1ff ldr r3, [r3] blx r3 // <unknown method> @@ -143,7 +144,7 @@ G_M23388_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcr arg pop 0 str r0, [sp] // [V07 tmp4] ldr r0, [sp] // [V07 tmp4]
- ;; size=170 bbWeight=1 PerfScore 62.00
+ ;; size=178 bbWeight=1 PerfScore 62.00
G_M23388_IG05: ; bbWeight=1, epilog, nogc, extend add sp, 24 pop {r10,r11,lr} @@ -151,7 +152,7 @@ G_M23388_IG05: ; bbWeight=1, epilog, nogc, extend bx lr ;; size=10 bbWeight=1 PerfScore 4.00
-; Total bytes of code 232, prolog size 28, PerfScore 83.50, instruction count 85, allocated bytes for code 232 (MethodHash=1d58a4a3) for method Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore:WaitAsync(System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore+Releaser]:this (MinOpts)
+; Total bytes of code 240, prolog size 28, PerfScore 83.50, instruction count 85, allocated bytes for code 240 (MethodHash=1d58a4a3) for method Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore:WaitAsync(System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore+Releaser]:this (MinOpts)
; ============================================================ Unwind Info: @@ -163,7 +164,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 116 (0x00074) Actual length = 232 (0x0000e8)
+ Function Length : 120 (0x00078) Actual length = 240 (0x0000f0)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+14 (+5.00%) : 2472.dasm - Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState:.ctor(System.String,System.String,System.String,System.String,Microsoft.CodeAnalysis.Testing.ReferenceAssemblies,int,ubyte,System.Collections.Immutable.ImmutableArray1[System.ValueTuple2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray1[System.ValueTuple2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray1[System.ValueTuple2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray1[System.ValueTuple2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray1[System.String],System.Collections.Immutable.ImmutableArray1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]):this (MinOpts)

@@ -59,140 +59,133 @@ G_M49961_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcr arg pop 0 nop nop
- ldr r1, [sp+0x0C] - ; gcrRegs +[r1] - adds r0, r1, 4
+ ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + adds r0, r3, 4
; byrRegs +[r0] ldr r1, [sp+0x08]
+ ; gcrRegs +[r1]
movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[r1]
+ ; gcrRegs -[r1 r3]
; byrRegs -[r0]
- ldr r1, [sp+0x0C] - ; gcrRegs +[r1] - add r0, r1, 8
+ ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + add r0, r3, 8
; byrRegs +[r0] ldr r1, [sp+0x04]
+ ; gcrRegs +[r1]
movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[r1]
+ ; gcrRegs -[r1 r3]
; byrRegs -[r0]
- ldr r1, [sp+0x0C] - ; gcrRegs +[r1] - add r0, r1, 12
+ ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + add r0, r3, 12
; byrRegs +[r0] ldr r1, [sp]
+ ; gcrRegs +[r1]
movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[r1]
+ ; gcrRegs -[r1 r3]
; byrRegs -[r0]
- ldr r1, [sp+0x0C] - ; gcrRegs +[r1] - add r0, r1, 20
+ ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + add r0, r3, 20
; byrRegs +[r0] ldr r1, [sp+0x20]
+ ; gcrRegs +[r1]
movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[r1]
+ ; gcrRegs -[r1 r3]
; byrRegs -[r0]
- ldr r1, [sp+0x0C] - ; gcrRegs +[r1] - add r0, r1, 16
+ ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + add r0, r3, 16
; byrRegs +[r0] ldr r1, [sp+0x24]
+ ; gcrRegs +[r1]
movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[r1]
+ ; gcrRegs -[r1 r3]
; byrRegs -[r0]
- ldr r0, [sp+0x0C] - ; gcrRegs +[r0] - ldr r3, [sp+0x28] - str r3, [r0+0x18] - ldr r0, [sp+0x0C] - ldr r3, [sp+0x2C] - strb r3, [r0+0x1C] - ldr r0, [sp+0x0C] - adds r0, 32 - ; gcrRegs -[r0]
+ ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + ldr r2, [sp+0x28] + str r2, [r3+0x18] + ldr r3, [sp+0x0C] + ldr r2, [sp+0x2C] + strb r2, [r3+0x1C] + ldr r3, [sp+0x0C] + add r0, r3, 32
; byrRegs +[r0] add r1, sp, 48 ; byrRegs +[r1] movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x0C] - ; gcrRegs +[r0] - ; byrRegs -[r0] - adds r0, 36 - ; gcrRegs -[r0] - ; byrRegs +[r0]
+ ; gcrRegs -[r3] + ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + add r0, r3, 36
add r1, sp, 52 movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x0C] - ; gcrRegs +[r0] - ; byrRegs -[r0] - adds r0, 40 - ; gcrRegs -[r0] - ; byrRegs +[r0]
+ ; gcrRegs -[r3] + ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + add r0, r3, 40
add r1, sp, 56 movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x0C] - ; gcrRegs +[r0] - ; byrRegs -[r0] - adds r0, 44 - ; gcrRegs -[r0] - ; byrRegs +[r0]
+ ; gcrRegs -[r3] + ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + add r0, r3, 44
add r1, sp, 60 movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x0C] - ; gcrRegs +[r0] - ; byrRegs -[r0] - adds r0, 48 - ; gcrRegs -[r0] - ; byrRegs +[r0]
+ ; gcrRegs -[r3] + ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + add r0, r3, 48
add r1, sp, 64 movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x0C] - ; gcrRegs +[r0] - ; byrRegs -[r0] - adds r0, 52 - ; gcrRegs -[r0] - ; byrRegs +[r0]
+ ; gcrRegs -[r3] + ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + add r0, r3, 52
add r1, sp, 68 movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x0C] - ; gcrRegs +[r0] - ; byrRegs -[r0] - adds r0, 56 - ; gcrRegs -[r0] - ; byrRegs +[r0]
+ ; gcrRegs -[r3] + ldr r3, [sp+0x0C] + ; gcrRegs +[r3] + add r0, r3, 56
add r1, sp, 72 movw r12, 0xd1ff movt r12, 0xd1ff blx r12 // CORINFO_HELP_ASSIGN_BYREF
+ ; gcrRegs -[r3]
nop
- ;; size=232 bbWeight=1 PerfScore 86.00
+ ;; size=246 bbWeight=1 PerfScore 86.00
G_M49961_IG05: ; bbWeight=1, epilog, nogc, extend add sp, 16 pop {r4,r10,r11,pc} ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 280, prolog size 18, PerfScore 101.50, instruction count 103, allocated bytes for code 280 (MethodHash=25aa3cd6) for method Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState:.ctor(System.String,System.String,System.String,System.String,Microsoft.CodeAnalysis.Testing.ReferenceAssemblies,int,ubyte,System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.String],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]):this (MinOpts)
+; Total bytes of code 294, prolog size 18, PerfScore 101.50, instruction count 103, allocated bytes for code 294 (MethodHash=25aa3cd6) for method Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState:.ctor(System.String,System.String,System.String,System.String,Microsoft.CodeAnalysis.Testing.ReferenceAssemblies,int,ubyte,System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.String],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]):this (MinOpts)
; ============================================================ Unwind Info: @@ -204,7 +197,7 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 140 (0x0008c) Actual length = 280 (0x000118)
+ Function Length : 147 (0x00093) Actual length = 294 (0x000126)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----

realworld.run.linux.arm.checked.mch

+0 (0.00%) : 2109.dasm - BenchmarkDotNet.Autogenerated.Runnable19:ForDisassemblyDiagnoser_():this (MinOpts)

@@ -16,11 +16,11 @@ G_M12485_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, str r0, [sp+0x04] ;; size=10 bbWeight=1 PerfScore 3.00 G_M12485_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] - ; gcrRegs +[r0] - ldr r0, [r0+0x20] - ; gcrRegs -[r0] - cmp r0, 11
+ ldr r3, [sp+0x04] + ; gcrRegs +[r3] + ldr r3, [r3+0x20] + ; gcrRegs -[r3] + cmp r3, 11
bne SHORT G_M12485_IG03 ldr r0, [sp+0x04] ; gcrRegs +[r0]

+0 (0.00%) : 2173.dasm - BenchmarkDotNet.Autogenerated.Runnable25:TrickTheJIT_():this (MinOpts)

@@ -47,14 +47,14 @@ G_M48022_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ldr r3, [r3+0x18] blx r3 // <unknown method> ; gcrRegs -[r0]
- ldr r1, [sp+0xC4] // [V00 this] - ; gcrRegs +[r1] - str r0, [r1+0x1C]
+ ldr r3, [sp+0xC4] // [V00 this] + ; gcrRegs +[r3] + str r0, [r3+0x1C]
add r1, sp, 0 // [V03 tmp2]
- ; gcrRegs -[r1]
ldr r0, [sp+0xC4] // [V00 this] ; gcrRegs +[r0] movw r3, 0xd1ff
+ ; gcrRegs -[r3]
movt r3, 0xd1ff ldr r3, [r3] blx r3 // <unknown method>

+0 (0.00%) : 2261.dasm - BenchmarkDotNet.Autogenerated.Runnable0:ForDisassemblyDiagnoser_():System.Numerics.Vector3:this (MinOpts)

@@ -23,11 +23,11 @@ G_M5424_IG01: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefR str r0, [sp+0x1C] ;; size=20 bbWeight=1 PerfScore 8.00 G_M5424_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x1C] - ; gcrRegs +[r0] - ldr r0, [r0+0x38] - ; gcrRegs -[r0] - cmp r0, 11
+ ldr r3, [sp+0x1C] + ; gcrRegs +[r3] + ldr r3, [r3+0x38] + ; gcrRegs -[r3] + cmp r3, 11
bne SHORT G_M5424_IG04 ldr r0, [sp+0x1C] ; gcrRegs +[r0]

+0 (0.00%) : 17464.dasm - BenchmarkDotNet.Autogenerated.Runnable14:ForDisassemblyDiagnoser_():this (MinOpts)

@@ -16,11 +16,11 @@ G_M15912_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, str r0, [sp+0x04] ;; size=10 bbWeight=1 PerfScore 3.00 G_M15912_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] - ; gcrRegs +[r0] - ldr r0, [r0+0x28] - ; gcrRegs -[r0] - cmp r0, 11
+ ldr r3, [sp+0x04] + ; gcrRegs +[r3] + ldr r3, [r3+0x28] + ; gcrRegs -[r3] + cmp r3, 11
bne SHORT G_M15912_IG03 ldr r0, [sp+0x04] ; gcrRegs +[r0]

+0 (0.00%) : 17472.dasm - BenchmarkDotNet.Autogenerated.Runnable13:ForDisassemblyDiagnoser_():this (MinOpts)

@@ -16,11 +16,11 @@ G_M54159_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, str r0, [sp+0x04] ;; size=10 bbWeight=1 PerfScore 3.00 G_M54159_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] - ; gcrRegs +[r0] - ldr r0, [r0+0x28] - ; gcrRegs -[r0] - cmp r0, 11
+ ldr r3, [sp+0x04] + ; gcrRegs +[r3] + ldr r3, [r3+0x28] + ; gcrRegs -[r3] + cmp r3, 11
bne SHORT G_M54159_IG03 ldr r0, [sp+0x04] ; gcrRegs +[r0]

+0 (0.00%) : 17496.dasm - BenchmarkDotNet.Autogenerated.Runnable30:ForDisassemblyDiagnoser_():this (MinOpts)

@@ -16,11 +16,11 @@ G_M30638_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, str r0, [sp+0x04] ;; size=10 bbWeight=1 PerfScore 3.00 G_M30638_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] - ; gcrRegs +[r0] - ldr r0, [r0+0x20] - ; gcrRegs -[r0] - cmp r0, 11
+ ldr r3, [sp+0x04] + ; gcrRegs +[r3] + ldr r3, [r3+0x20] + ; gcrRegs -[r3] + cmp r3, 11
bne SHORT G_M30638_IG03 ldr r0, [sp+0x04] ; gcrRegs +[r0]

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
benchmarks.run.linux.arm.checked.mch 3,209 25 1 3,183 -56 +2
benchmarks.run_pgo.linux.arm.checked.mch 42,993 10,567 2,282 30,144 -56,830 +7,582
benchmarks.run_tiered.linux.arm.checked.mch 27,222 6,745 1,415 19,062 -36,862 +4,810
coreclr_tests.run.linux.arm.checked.mch 231,445 77,669 34,932 118,844 -367,442 +167,426
libraries.crossgen2.linux.arm.checked.mch 8 0 0 8 -0 +0
libraries.pmi.linux.arm.checked.mch 3 1 0 2 -280 +0
libraries_tests.run.linux.arm.Release.mch 343,888 116,437 20,409 207,042 -652,332 +105,054
librariestestsnotieredcompilation.run.linux.arm.Release.mch 13,284 4,068 212 9,004 -28,266 +3,362
realworld.run.linux.arm.checked.mch 115 2 0 113 -14,646 +0
662,167 215,514 59,251 387,402 -1,156,714 +288,236

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.linux.arm.checked.mch 45,977 5,279 40,698 1,423 (3.00%) 1,423 (3.00%)
benchmarks.run_pgo.linux.arm.checked.mch 159,274 58,093 101,181 3,553 (2.18%) 3,553 (2.18%)
benchmarks.run_tiered.linux.arm.checked.mch 71,355 38,077 33,278 1,124 (1.55%) 1,124 (1.55%)
coreclr_tests.run.linux.arm.checked.mch 471,423 259,093 212,330 7,618 (1.59%) 7,618 (1.59%)
libraries.crossgen2.linux.arm.checked.mch 195,440 14 195,426 1 (0.00%) 1 (0.00%)
libraries.pmi.linux.arm.checked.mch 269,966 6 269,960 9,463 (3.39%) 9,463 (3.39%)
libraries_tests.run.linux.arm.Release.mch 708,259 442,850 265,409 17,522 (2.41%) 17,522 (2.41%)
librariestestsnotieredcompilation.run.linux.arm.Release.mch 272,764 21,565 251,199 35,091 (11.40%) 35,091 (11.40%)
realworld.run.linux.arm.checked.mch 36,070 153 35,917 1,734 (4.59%) 1,734 (4.59%)
2,230,528 825,130 1,405,398 77,529 (3.36%) 77,529 (3.36%)

jit-analyze output

benchmarks.run.linux.arm.checked.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: 15056962 (overridden on cmd)
Total bytes of diff: 15056908 (overridden on cmd)
Total bytes of delta: -54 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
           2 : 20879.dasm (4.00 % of base)

Top file improvements (bytes):
          -8 : 16780.dasm (-9.30 % of base)
          -2 : 10951.dasm (-2.44 % of base)
          -2 : 20480.dasm (-2.44 % of base)
          -2 : 29334.dasm (-2.44 % of base)
          -2 : 32693.dasm (-2.44 % of base)
          -2 : 37530.dasm (-2.44 % of base)
          -2 : 38007.dasm (-2.44 % of base)
          -2 : 38614.dasm (-2.44 % of base)
          -2 : 39598.dasm (-2.44 % of base)
          -2 : 42293.dasm (-2.44 % of base)
          -2 : 43521.dasm (-2.44 % of base)
          -2 : 11114.dasm (-2.44 % of base)
          -2 : 22831.dasm (-2.44 % of base)
          -2 : 30212.dasm (-2.44 % of base)
          -2 : 31846.dasm (-2.44 % of base)
          -2 : 34459.dasm (-2.44 % of base)
          -2 : 41221.dasm (-2.44 % of base)
          -2 : 6217.dasm (-2.44 % of base)
          -2 : 8713.dasm (-2.44 % of base)
          -2 : 12374.dasm (-2.44 % of base)

21 total files with Code Size differences (20 improved, 1 regressed), 39 unchanged.

Top method regressions (bytes):
           2 (4.00 % of base) : 20879.dasm - BenchmarkDotNet.Autogenerated.Runnable_86:__ForDisassemblyDiagnoser__():byref:this (MinOpts)

Top method improvements (bytes):
          -8 (-9.30 % of base) : 16780.dasm - Devirtualization.EqualityComparerFixture`1[System.ValueTuple`3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)
          -2 (-2.44 % of base) : 29334.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 38007.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 42293.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 10951.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 37530.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 39598.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 41221.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 8713.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 43521.dasm - BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
          -2 (-2.44 % of base) : 6217.dasm - BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
          -2 (-2.44 % of base) : 12374.dasm - BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
          -2 (-2.44 % of base) : 11114.dasm - BenchmarkDotNet.Autogenerated.Runnable_2:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
          -2 (-2.44 % of base) : 20480.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 32693.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 38614.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 22831.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 30212.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 31846.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 34459.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)

Top method regressions (percentages):
           2 (4.00 % of base) : 20879.dasm - BenchmarkDotNet.Autogenerated.Runnable_86:__ForDisassemblyDiagnoser__():byref:this (MinOpts)

Top method improvements (percentages):
          -8 (-9.30 % of base) : 16780.dasm - Devirtualization.EqualityComparerFixture`1[System.ValueTuple`3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)
          -2 (-2.44 % of base) : 29334.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 38007.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 42293.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 10951.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 37530.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 39598.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 41221.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 8713.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 43521.dasm - BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
          -2 (-2.44 % of base) : 6217.dasm - BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
          -2 (-2.44 % of base) : 12374.dasm - BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
          -2 (-2.44 % of base) : 11114.dasm - BenchmarkDotNet.Autogenerated.Runnable_2:__ForDisassemblyDiagnoser__():ubyte[]:this (MinOpts)
          -2 (-2.44 % of base) : 20480.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 32693.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 38614.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 22831.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 30212.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 31846.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 34459.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)


benchmarks.run_pgo.linux.arm.checked.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: 63327810 (overridden on cmd)
Total bytes of diff: 63278562 (overridden on cmd)
Total bytes of delta: -49248 (-0.08 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          48 : 17620.dasm (1.16 % of base)
          46 : 17689.dasm (0.99 % of base)
          32 : 130431.dasm (4.29 % of base)
          32 : 130437.dasm (3.91 % of base)
          30 : 90132.dasm (6.02 % of base)
          30 : 93225.dasm (5.02 % of base)
          26 : 45810.dasm (25.00 % of base)
          26 : 56614.dasm (25.00 % of base)
          24 : 25449.dasm (2.76 % of base)
          22 : 95920.dasm (5.50 % of base)
          22 : 93042.dasm (5.50 % of base)
          20 : 115848.dasm (2.59 % of base)
          18 : 88871.dasm (4.35 % of base)
          18 : 12048.dasm (1.04 % of base)
          18 : 23860.dasm (6.21 % of base)
          16 : 95094.dasm (0.34 % of base)
          16 : 97204.dasm (0.30 % of base)
          16 : 3405.dasm (9.88 % of base)
          16 : 9077.dasm (10.39 % of base)
          14 : 64188.dasm (1.56 % of base)

Top file improvements (bytes):
        -640 : 34401.dasm (-2.52 % of base)
        -406 : 43241.dasm (-3.77 % of base)
        -400 : 43502.dasm (-2.81 % of base)
        -324 : 88655.dasm (-1.30 % of base)
        -308 : 23071.dasm (-1.74 % of base)
        -226 : 9166.dasm (-6.73 % of base)
        -190 : 25550.dasm (-1.15 % of base)
        -172 : 78523.dasm (-5.93 % of base)
        -166 : 20868.dasm (-6.38 % of base)
        -166 : 27854.dasm (-6.38 % of base)
        -156 : 6446.dasm (-5.08 % of base)
        -152 : 3169.dasm (-8.84 % of base)
        -152 : 39155.dasm (-2.95 % of base)
        -150 : 23222.dasm (-2.99 % of base)
        -126 : 36448.dasm (-1.76 % of base)
        -126 : 46736.dasm (-1.76 % of base)
        -114 : 1626.dasm (-1.21 % of base)
        -114 : 86845.dasm (-1.19 % of base)
         -86 : 95076.dasm (-4.33 % of base)
         -86 : 97203.dasm (-4.33 % of base)

80 total files with Code Size differences (40 improved, 40 regressed), 20 unchanged.

Top method regressions (bytes):
          48 (1.16 % of base) : 17620.dasm - Newtonsoft.Json.JsonTextReader:ParseReadNumber(int,ushort,int):this (Tier0)
          46 (0.99 % of base) : 17689.dasm - Newtonsoft.Json.JsonTextReader:ParseReadNumber(int,ushort,int):this (Instrumented Tier0)
          32 (3.91 % of base) : 130437.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Instrumented Tier0)
          32 (4.29 % of base) : 130431.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
          30 (5.02 % of base) : 93225.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol:CreateUncommonFields():Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+UncommonFields:this (Instrumented Tier0)
          30 (6.02 % of base) : 90132.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol:CreateUncommonFields():Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+UncommonFields:this (Tier0)
          26 (25.00 % of base) : 56614.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
          26 (25.00 % of base) : 45810.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          24 (2.76 % of base) : 25449.dasm - System.Net.Http.HttpConnectionSettings:CloneAndNormalize():System.Net.Http.HttpConnectionSettings:this (Tier0)
          22 (5.50 % of base) : 95920.dasm - Microsoft.CodeAnalysis.CodeGen.MethodBody:.ctor(System.Collections.Immutable.ImmutableArray`1[ubyte],ushort,Microsoft.Cci.IMethodDefinition,Microsoft.CodeAnalysis.CodeGen.DebugId,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ILocalDefinition],Microsoft.CodeAnalysis.CodeGen.SequencePointList,Microsoft.CodeAnalysis.CodeGen.DebugDocumentProvider,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ExceptionHandlerRegion],ubyte,ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.LocalScope],ubyte,Microsoft.Cci.IImportScope,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.LambdaDebugInfo],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.ClosureDebugInfo],System.String,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Debugging.StateMachineHoistedLocalScope],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Emit.EncHoistedLocalInfo],System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ITypeReference],Microsoft.CodeAnalysis.CodeGen.StateMachineStatesDebugInfo,Microsoft.CodeAnalysis.Emit.StateMachineMoveNextBodyDebugInfo,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.SourceSpan],ubyte):this (Instrumented Tier0)
          22 (5.50 % of base) : 93042.dasm - Microsoft.CodeAnalysis.CodeGen.MethodBody:.ctor(System.Collections.Immutable.ImmutableArray`1[ubyte],ushort,Microsoft.Cci.IMethodDefinition,Microsoft.CodeAnalysis.CodeGen.DebugId,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ILocalDefinition],Microsoft.CodeAnalysis.CodeGen.SequencePointList,Microsoft.CodeAnalysis.CodeGen.DebugDocumentProvider,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ExceptionHandlerRegion],ubyte,ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.LocalScope],ubyte,Microsoft.Cci.IImportScope,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.LambdaDebugInfo],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.ClosureDebugInfo],System.String,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Debugging.StateMachineHoistedLocalScope],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Emit.EncHoistedLocalInfo],System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ITypeReference],Microsoft.CodeAnalysis.CodeGen.StateMachineStatesDebugInfo,Microsoft.CodeAnalysis.Emit.StateMachineMoveNextBodyDebugInfo,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.SourceSpan],ubyte):this (Tier0)
          20 (2.59 % of base) : 115848.dasm - MS.Internal.Xml.XPath.XPathParser:ParseNodeTest(MS.Internal.Xml.XPath.AstNode,int,int):MS.Internal.Xml.XPath.Axis:this (Tier0)
          18 (4.35 % of base) : 88871.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:InitializeNoLock(System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.MetadataReference,int],System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.MetadataReference,int],System.Collections.Generic.IDictionary`2[System.ValueTuple`2[System.String,System.String],Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableDictionary`2[Microsoft.CodeAnalysis.AssemblyIdentity,Microsoft.CodeAnalysis.PortableExecutableReference],ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic],System.__Canon,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.PEModule],System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[System.String]],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.UnifiedAssembly`1[System.__Canon]],System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.MetadataReference,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference]]):this (Tier0)
          18 (1.04 % of base) : 12048.dasm - Newtonsoft.Json.JsonSerializer:SerializeInternal(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
          18 (6.21 % of base) : 23860.dasm - Utf8Json.JsonReader:.ctor(ubyte[],int):this (Tier0)
          16 (0.30 % of base) : 97204.dasm - System.Reflection.Metadata.Ecma335.MetadataSizes:.ctor(System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],int,ubyte):this (Instrumented Tier0)
          16 (0.34 % of base) : 95094.dasm - System.Reflection.Metadata.Ecma335.MetadataSizes:.ctor(System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],int,ubyte):this (Tier0)
          16 (10.39 % of base) : 9077.dasm - System.Threading.LowLevelLifoSemaphoreBase+Counts:SetUInt32Value(uint,ubyte):this (Tier0)
          16 (9.88 % of base) : 3405.dasm - System.Threading.PortableThreadPool+ThreadCounts:SetInt16Value(short,ubyte):this (Tier0)
          14 (1.56 % of base) : 64188.dasm - System.Formats.Tar.TarEntry+<ExtractAsRegularFileAsync>d__47:MoveNext():this (Tier0)

Top method improvements (bytes):
        -640 (-2.52 % of base) : 34401.dasm - Jil.Options:.cctor() (Tier0)
        -406 (-3.77 % of base) : 43241.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Tier0)
        -400 (-2.81 % of base) : 43502.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Instrumented Tier0)
        -324 (-1.30 % of base) : 88655.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
        -308 (-1.74 % of base) : 23071.dasm - Product:CreateLists() (Tier0)
        -226 (-6.73 % of base) : 9166.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ILEmitResolverBuilder:GenerateMethodBody(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,System.Reflection.Emit.ILGenerator):Microsoft.Extensions.DependencyInjection.ServiceLookup.ILEmitResolverBuilder+ILEmitResolverBuilderRuntimeContext:this (Tier0)
        -190 (-1.15 % of base) : 25550.dasm - System.Net.Http.Headers.KnownHeaders:.cctor() (Tier0)
        -172 (-5.93 % of base) : 78523.dasm - System.Security.Cryptography.CryptoConfig:get_DefaultNameHT():System.Collections.Generic.Dictionary`2[System.String,System.Object] (Tier0)
        -166 (-6.38 % of base) : 20868.dasm - System.Net.Sockets.SocketErrorPal:.cctor() (Tier0)
        -166 (-6.38 % of base) : 27854.dasm - System.Net.Sockets.SocketErrorPal:.cctor() (Tier0)
        -156 (-5.08 % of base) : 6446.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Instrumented Tier0)
        -152 (-2.95 % of base) : 39155.dasm - MessagePack.Internal.BuiltinResolverGetFormatterHelper:.cctor() (Tier0)
        -152 (-8.84 % of base) : 3169.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier0)
        -150 (-2.99 % of base) : 23222.dasm - Utf8Json.Resolvers.BuiltinResolver+BuiltinResolverGetFormatterHelper:.cctor() (Tier0)
        -126 (-1.76 % of base) : 46736.dasm - Jil.Deserialize.Methods:ParseISO8601Date(System.IO.TextReader,ushort[],int,int):System.DateTime (Tier0)
        -126 (-1.76 % of base) : 36448.dasm - Jil.Deserialize.Methods:ParseISO8601DateThunkReader(byref,ushort[],int,int):System.DateTime (Tier0)
        -114 (-1.19 % of base) : 86845.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Instrumented Tier0)
        -114 (-1.21 % of base) : 1626.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier0)
         -86 (-4.33 % of base) : 97203.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:GetRowCounts():System.Collections.Immutable.ImmutableArray`1[int]:this (Instrumented Tier0)
         -86 (-4.33 % of base) : 95076.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:GetRowCounts():System.Collections.Immutable.ImmutableArray`1[int]:this (Tier0)

Top method regressions (percentages):
          26 (25.00 % of base) : 56614.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
          26 (25.00 % of base) : 45810.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          12 (24.00 % of base) : 782.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
          12 (17.14 % of base) : 20128.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
           8 (15.38 % of base) : 90374.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (15.38 % of base) : 90029.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
           8 (14.81 % of base) : 68448.dasm - ProtoBuf.ProtoWriter:Zig(long):ulong (Instrumented Tier0)
           8 (14.81 % of base) : 68389.dasm - ProtoBuf.ProtoWriter:Zig(long):ulong (Tier0)
          12 (14.29 % of base) : 31121.dasm - System.Byte:Equals(System.Object):ubyte:this (Tier0)
          12 (14.29 % of base) : 19970.dasm - System.Char:Equals(System.Object):ubyte:this (Tier0)
           6 (12.00 % of base) : 10645.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Scan(System.ReadOnlySpan`1[ushort]):this (Tier0)
          10 (11.90 % of base) : 17582.dasm - System.Int32:Equals(System.Object):ubyte:this (Tier0)
           8 (11.76 % of base) : 34442.dasm - Jil.Common.ExtensionMethods+<>c__17`1[System.__Canon]:<GetCustomAttribute>b__17_0(System.Reflection.CustomAttributeData):ubyte:this (Tier0)
          16 (10.39 % of base) : 9077.dasm - System.Threading.LowLevelLifoSemaphoreBase+Counts:SetUInt32Value(uint,ubyte):this (Tier0)
          16 (9.88 % of base) : 3405.dasm - System.Threading.PortableThreadPool+ThreadCounts:SetInt16Value(short,ubyte):this (Tier0)
           2 (9.09 % of base) : 87598.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ModeOf(int):int (Instrumented Tier0)
           2 (9.09 % of base) : 87439.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ModeOf(int):int (Tier0)
           2 (9.09 % of base) : 87574.dasm - Roslyn.Utilities.StringTable:LocalIdxFromHash(int):int (Instrumented Tier0)
           2 (9.09 % of base) : 13558.dasm - System.Buffers.ReadOnlySequence`1[ubyte]:GetIndex(int):int (Instrumented Tier0)
           2 (9.09 % of base) : 94537.dasm - System.Reflection.Metadata.Ecma335.MetadataTokens:ToRowId(int):int (Instrumented Tier0)

Top method improvements (percentages):
          -8 (-19.05 % of base) : 755.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
          -8 (-17.39 % of base) : 7064.dasm - System.DateTime:get_InternalKind():ulong:this (Instrumented Tier0)
          -8 (-17.39 % of base) : 6528.dasm - System.DateTime:get_InternalKind():ulong:this (Tier0)
          -8 (-16.67 % of base) : 9541.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext,System.__Canon]:VisitNoCache(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext):System.__Canon:this (Tier0)
          -8 (-16.67 % of base) : 12047.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object):this (Tier0)
          -8 (-16.67 % of base) : 7065.dasm - System.DateTime:get_Ticks():long:this (Instrumented Tier0)
          -8 (-16.67 % of base) : 6527.dasm - System.DateTime:get_Ticks():long:this (Tier0)
          -8 (-16.67 % of base) : 7612.dasm - System.DateTime:get_UTicks():ulong:this (Instrumented Tier0)
          -8 (-16.67 % of base) : 6569.dasm - System.DateTime:get_UTicks():ulong:this (Tier0)
          -8 (-16.67 % of base) : 64661.dasm - System.Reflection.PropertyInfo:SetValue(System.Object,System.Object):this (Tier0)
          -8 (-16.67 % of base) : 45247.dasm - System.Type:GetMember(System.String,int):System.Reflection.MemberInfo[]:this (Tier0)
          -8 (-16.67 % of base) : 25858.dasm - System.Uri:get_HostType():ulong:this (Instrumented Tier0)
          -8 (-16.67 % of base) : 16786.dasm - System.Uri:get_HostType():ulong:this (Tier0)
          -8 (-16.67 % of base) : 6255.dasm - System.Xml.XmlWellFormedWriter+ElementScope:WriteEndElement(System.Xml.XmlRawWriter):this (Tier0)
          -8 (-16.67 % of base) : 73370.dasm - System.Xml.XmlWellFormedWriter+ElementScope:WriteFullEndElement(System.Xml.XmlRawWriter):this (Tier0)
          -8 (-16.67 % of base) : 6245.dasm - System.Xml.XmlWriter:WriteStartElement(System.String,System.String):this (Tier0)
          -8 (-16.00 % of base) : 58889.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
          -8 (-16.00 % of base) : 2795.dasm - System.Reflection.Assembly:GetType(System.String,ubyte):System.Type:this (Tier0)
          -8 (-16.00 % of base) : 18481.dasm - System.Reflection.ConstructorInfo:Invoke(System.Object[]):System.Object:this (Tier0)
          -8 (-16.00 % of base) : 33788.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:WriteDataContractValue(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.RuntimeTypeHandle):this (Tier0)


benchmarks.run_tiered.linux.arm.checked.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: 17395270 (overridden on cmd)
Total bytes of diff: 17363218 (overridden on cmd)
Total bytes of delta: -32052 (-0.18 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          48 : 16189.dasm (1.16 % of base)
          32 : 62370.dasm (4.29 % of base)
          30 : 46330.dasm (6.02 % of base)
          26 : 27349.dasm (25.00 % of base)
          24 : 13335.dasm (2.76 % of base)
          22 : 48789.dasm (5.50 % of base)
          20 : 56937.dasm (2.59 % of base)
          18 : 45253.dasm (4.35 % of base)
          18 : 10089.dasm (6.21 % of base)
          18 : 3719.dasm (1.04 % of base)
          16 : 50474.dasm (0.34 % of base)
          16 : 3097.dasm (9.88 % of base)
          16 : 6306.dasm (10.39 % of base)
          14 : 34879.dasm (1.58 % of base)
          14 : 16079.dasm (3.21 % of base)
          14 : 13911.dasm (1.77 % of base)
          14 : 31854.dasm (1.18 % of base)
          14 : 34920.dasm (1.56 % of base)
          14 : 31096.dasm (1.58 % of base)
          14 : 67920.dasm (0.95 % of base)

Top file improvements (bytes):
        -640 : 23996.dasm (-2.52 % of base)
        -406 : 27615.dasm (-3.77 % of base)
        -324 : 45003.dasm (-1.30 % of base)
        -308 : 18600.dasm (-1.74 % of base)
        -226 : 18565.dasm (-6.73 % of base)
        -190 : 13432.dasm (-1.15 % of base)
        -172 : 40318.dasm (-5.93 % of base)
        -166 : 15629.dasm (-6.38 % of base)
        -166 : 15655.dasm (-6.38 % of base)
        -152 : 2868.dasm (-8.84 % of base)
        -152 : 23032.dasm (-2.95 % of base)
        -150 : 9215.dasm (-2.99 % of base)
        -126 : 29324.dasm (-1.76 % of base)
        -126 : 26250.dasm (-1.76 % of base)
        -114 : 1410.dasm (-1.21 % of base)
         -86 : 50465.dasm (-4.33 % of base)
         -82 : 3671.dasm (-3.27 % of base)
         -80 : 14773.dasm (-3.40 % of base)
         -76 : 6837.dasm (-0.71 % of base)
         -66 : 19661.dasm (-3.00 % of base)

80 total files with Code Size differences (40 improved, 40 regressed), 20 unchanged.

Top method regressions (bytes):
          48 (1.16 % of base) : 16189.dasm - Newtonsoft.Json.JsonTextReader:ParseReadNumber(int,ushort,int):this (Tier0)
          32 (4.29 % of base) : 62370.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
          30 (6.02 % of base) : 46330.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol:CreateUncommonFields():Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+UncommonFields:this (Tier0)
          26 (25.00 % of base) : 27349.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          24 (2.76 % of base) : 13335.dasm - System.Net.Http.HttpConnectionSettings:CloneAndNormalize():System.Net.Http.HttpConnectionSettings:this (Tier0)
          22 (5.50 % of base) : 48789.dasm - Microsoft.CodeAnalysis.CodeGen.MethodBody:.ctor(System.Collections.Immutable.ImmutableArray`1[ubyte],ushort,Microsoft.Cci.IMethodDefinition,Microsoft.CodeAnalysis.CodeGen.DebugId,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ILocalDefinition],Microsoft.CodeAnalysis.CodeGen.SequencePointList,Microsoft.CodeAnalysis.CodeGen.DebugDocumentProvider,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ExceptionHandlerRegion],ubyte,ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.LocalScope],ubyte,Microsoft.Cci.IImportScope,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.LambdaDebugInfo],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.ClosureDebugInfo],System.String,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Debugging.StateMachineHoistedLocalScope],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Emit.EncHoistedLocalInfo],System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ITypeReference],Microsoft.CodeAnalysis.CodeGen.StateMachineStatesDebugInfo,Microsoft.CodeAnalysis.Emit.StateMachineMoveNextBodyDebugInfo,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.SourceSpan],ubyte):this (Tier0)
          20 (2.59 % of base) : 56937.dasm - MS.Internal.Xml.XPath.XPathParser:ParseNodeTest(MS.Internal.Xml.XPath.AstNode,int,int):MS.Internal.Xml.XPath.Axis:this (Tier0)
          18 (4.35 % of base) : 45253.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:InitializeNoLock(System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.MetadataReference,int],System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.MetadataReference,int],System.Collections.Generic.IDictionary`2[System.ValueTuple`2[System.String,System.String],Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableDictionary`2[Microsoft.CodeAnalysis.AssemblyIdentity,Microsoft.CodeAnalysis.PortableExecutableReference],ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic],System.__Canon,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.PEModule],System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[System.String]],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.UnifiedAssembly`1[System.__Canon]],System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.MetadataReference,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference]]):this (Tier0)
          18 (1.04 % of base) : 3719.dasm - Newtonsoft.Json.JsonSerializer:SerializeInternal(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
          18 (6.21 % of base) : 10089.dasm - Utf8Json.JsonReader:.ctor(ubyte[],int):this (Tier0)
          16 (0.34 % of base) : 50474.dasm - System.Reflection.Metadata.Ecma335.MetadataSizes:.ctor(System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],int,ubyte):this (Tier0)
          16 (10.39 % of base) : 6306.dasm - System.Threading.LowLevelLifoSemaphoreBase+Counts:SetUInt32Value(uint,ubyte):this (Tier0)
          16 (9.88 % of base) : 3097.dasm - System.Threading.PortableThreadPool+ThreadCounts:SetInt16Value(short,ubyte):this (Tier0)
          14 (1.18 % of base) : 31854.dasm - Newtonsoft.Json.JsonSerializer:SetupReader(Newtonsoft.Json.JsonReader,byref,byref,byref,byref,byref,byref):this (Tier0)
          14 (1.56 % of base) : 34920.dasm - System.Formats.Tar.TarEntry+<ExtractAsRegularFileAsync>d__47:MoveNext():this (Tier0)
          14 (1.58 % of base) : 31096.dasm - System.Formats.Tar.TarFile+<CreateFromDirectoryInternalAsync>d__9:MoveNext():this (Tier0)
          14 (1.58 % of base) : 34879.dasm - System.Formats.Tar.TarFile+<ExtractToDirectoryInternalAsync>d__15:MoveNext():this (Tier0)
          14 (0.95 % of base) : 67920.dasm - System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48:MoveNext():this (Tier0)
          14 (3.21 % of base) : 16079.dasm - System.Linq.Enumerable:TryGetSpan[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):ubyte (Tier0)
          14 (1.77 % of base) : 13911.dasm - System.Net.Sockets.Socket+<<ConnectAsync>g__WaitForConnectWithCancellation|285_0>d:MoveNext():this (Tier0)

Top method improvements (bytes):
        -640 (-2.52 % of base) : 23996.dasm - Jil.Options:.cctor() (Tier0)
        -406 (-3.77 % of base) : 27615.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Tier0)
        -324 (-1.30 % of base) : 45003.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
        -308 (-1.74 % of base) : 18600.dasm - Product:CreateLists() (Tier0)
        -226 (-6.73 % of base) : 18565.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ILEmitResolverBuilder:GenerateMethodBody(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,System.Reflection.Emit.ILGenerator):Microsoft.Extensions.DependencyInjection.ServiceLookup.ILEmitResolverBuilder+ILEmitResolverBuilderRuntimeContext:this (Tier0)
        -190 (-1.15 % of base) : 13432.dasm - System.Net.Http.Headers.KnownHeaders:.cctor() (Tier0)
        -172 (-5.93 % of base) : 40318.dasm - System.Security.Cryptography.CryptoConfig:get_DefaultNameHT():System.Collections.Generic.Dictionary`2[System.String,System.Object] (Tier0)
        -166 (-6.38 % of base) : 15629.dasm - System.Net.Sockets.SocketErrorPal:.cctor() (Tier0)
        -166 (-6.38 % of base) : 15655.dasm - System.Net.Sockets.SocketErrorPal:.cctor() (Tier0)
        -152 (-2.95 % of base) : 23032.dasm - MessagePack.Internal.BuiltinResolverGetFormatterHelper:.cctor() (Tier0)
        -152 (-8.84 % of base) : 2868.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier0)
        -150 (-2.99 % of base) : 9215.dasm - Utf8Json.Resolvers.BuiltinResolver+BuiltinResolverGetFormatterHelper:.cctor() (Tier0)
        -126 (-1.76 % of base) : 29324.dasm - Jil.Deserialize.Methods:ParseISO8601Date(System.IO.TextReader,ushort[],int,int):System.DateTime (Tier0)
        -126 (-1.76 % of base) : 26250.dasm - Jil.Deserialize.Methods:ParseISO8601DateThunkReader(byref,ushort[],int,int):System.DateTime (Tier0)
        -114 (-1.21 % of base) : 1410.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier0)
         -86 (-4.33 % of base) : 50465.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:GetRowCounts():System.Collections.Immutable.ImmutableArray`1[int]:this (Tier0)
         -82 (-3.27 % of base) : 3671.dasm - Newtonsoft.Json.Utilities.ConvertUtils:.cctor() (Tier0)
         -80 (-3.40 % of base) : 14773.dasm - System.Security.Cryptography.Asn1.GeneralNameAsn:DecodeCore(byref,System.ReadOnlyMemory`1[ubyte],byref) (Tier0)
         -76 (-0.71 % of base) : 6837.dasm - System.Text.RegularExpressions.RegexCharClass:.cctor() (Tier0)
         -66 (-3.00 % of base) : 19661.dasm - ProtoBuf.Internal.Serializers.DefaultValueDecorator:EmitBranchIfDefaultValue(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.CodeLabel):this (Tier0)

Top method regressions (percentages):
          26 (25.00 % of base) : 27349.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          12 (24.00 % of base) : 727.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
          12 (17.14 % of base) : 9040.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
           8 (15.38 % of base) : 46245.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
           8 (14.81 % of base) : 36074.dasm - ProtoBuf.ProtoWriter:Zig(long):ulong (Tier0)
          12 (14.29 % of base) : 25375.dasm - System.Byte:Equals(System.Object):ubyte:this (Tier0)
          12 (14.29 % of base) : 9018.dasm - System.Char:Equals(System.Object):ubyte:this (Tier0)
           6 (12.00 % of base) : 8538.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Scan(System.ReadOnlySpan`1[ushort]):this (Tier0)
          10 (11.90 % of base) : 17912.dasm - System.Int32:Equals(System.Object):ubyte:this (Tier0)
           8 (11.76 % of base) : 24037.dasm - Jil.Common.ExtensionMethods+<>c__17`1[System.__Canon]:<GetCustomAttribute>b__17_0(System.Reflection.CustomAttributeData):ubyte:this (Tier0)
          16 (10.39 % of base) : 6306.dasm - System.Threading.LowLevelLifoSemaphoreBase+Counts:SetUInt32Value(uint,ubyte):this (Tier0)
          16 (9.88 % of base) : 3097.dasm - System.Threading.PortableThreadPool+ThreadCounts:SetInt16Value(short,ubyte):this (Tier0)
           2 (9.09 % of base) : 43918.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ModeOf(int):int (Tier0)
           2 (9.09 % of base) : 43912.dasm - Roslyn.Utilities.StringTable:LocalIdxFromHash(int):int (Tier0)
           2 (9.09 % of base) : 8140.dasm - System.Buffers.ReadOnlySequence`1[ubyte]:GetIndex(int):int (Tier0)
           2 (9.09 % of base) : 49303.dasm - System.Reflection.Metadata.Ecma335.MetadataTokens:ToRowId(int):int (Tier0)
           8 (8.51 % of base) : 50478.dasm - System.Reflection.Metadata.Ecma335.MetadataSizes:IsPresent(ubyte):ubyte:this (Tier0)
           2 (8.33 % of base) : 48736.dasm - System.Reflection.Metadata.BlobBuilder:get_Length():int:this (Tier0)
           2 (8.33 % of base) : 45864.dasm - System.Reflection.Metadata.FieldDefinition:get_RowId():int:this (Tier0)
           2 (8.33 % of base) : 1532.dasm - System.Reflection.Metadata.MethodDefinition:get_RowId():int:this (Tier0)

Top method improvements (percentages):
          -8 (-19.05 % of base) : 685.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
          -8 (-17.39 % of base) : 3494.dasm - System.DateTime:get_InternalKind():ulong:this (Tier0)
          -8 (-16.67 % of base) : 10937.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext,System.__Canon]:VisitNoCache(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext):System.__Canon:this (Tier0)
          -8 (-16.67 % of base) : 3718.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object):this (Tier0)
          -8 (-16.67 % of base) : 3493.dasm - System.DateTime:get_Ticks():long:this (Tier0)
          -8 (-16.67 % of base) : 3542.dasm - System.DateTime:get_UTicks():ulong:this (Tier0)
          -8 (-16.67 % of base) : 34817.dasm - System.Reflection.PropertyInfo:SetValue(System.Object,System.Object):this (Tier0)
          -8 (-16.67 % of base) : 27071.dasm - System.Type:GetMember(System.String,int):System.Reflection.MemberInfo[]:this (Tier0)
          -8 (-16.67 % of base) : 11823.dasm - System.Uri:get_HostType():ulong:this (Tier0)
          -8 (-16.67 % of base) : 17793.dasm - System.Xml.XmlWellFormedWriter+ElementScope:WriteEndElement(System.Xml.XmlRawWriter):this (Tier0)
          -8 (-16.67 % of base) : 38590.dasm - System.Xml.XmlWellFormedWriter+ElementScope:WriteFullEndElement(System.Xml.XmlRawWriter):this (Tier0)
          -8 (-16.67 % of base) : 17781.dasm - System.Xml.XmlWriter:WriteStartElement(System.String,System.String):this (Tier0)
          -8 (-16.00 % of base) : 33818.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
          -8 (-16.00 % of base) : 34812.dasm - System.ComponentModel.TypeConverter:ConvertFromString(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String):System.Object:this (Tier0)
          -8 (-16.00 % of base) : 2387.dasm - System.Reflection.Assembly:GetType(System.String,ubyte):System.Type:this (Tier0)
          -8 (-16.00 % of base) : 19504.dasm - System.Reflection.ConstructorInfo:Invoke(System.Object[]):System.Object:this (Tier0)
          -8 (-16.00 % of base) : 25495.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:WriteDataContractValue(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.RuntimeTypeHandle):this (Tier0)
         -12 (-15.38 % of base) : 54819.dasm - Microsoft.CodeAnalysis.CSharp.Binder:LookupLocal(Microsoft.CodeAnalysis.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceLocalSymbol:this (Tier0)
          -8 (-15.38 % of base) : 54756.dasm - Microsoft.CodeAnalysis.SyntaxNode:FindToken(int,ubyte):Microsoft.CodeAnalysis.SyntaxToken:this (Tier0)
          -8 (-15.38 % of base) : 6971.dasm - System.Reflection.Emit.ILGenerator:Emit(System.Reflection.Emit.OpCode,byte):this (Tier0)


coreclr_tests.run.linux.arm.checked.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: 321199404 (overridden on cmd)
Total bytes of diff: 320999388 (overridden on cmd)
Total bytes of delta: -200016 (-0.06 % of base)
    diff is an improvement.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
         912 : 149481.dasm (0.75 % of base)
         772 : 237820.dasm (1.44 % of base)
         770 : 237827.dasm (1.46 % of base)
         756 : 358884.dasm (0.73 % of base)
         756 : 365629.dasm (0.73 % of base)
         754 : 3321.dasm (1.30 % of base)
         726 : 3271.dasm (1.26 % of base)
         722 : 237780.dasm (1.41 % of base)
         708 : 237742.dasm (1.36 % of base)
         418 : 146629.dasm (0.21 % of base)
         418 : 145359.dasm (0.21 % of base)
         416 : 237817.dasm (0.62 % of base)
         408 : 237808.dasm (0.60 % of base)
         408 : 3310.dasm (0.57 % of base)
         384 : 145235.dasm (0.23 % of base)
         380 : 145242.dasm (0.22 % of base)
         376 : 359943.dasm (0.21 % of base)
         376 : 360861.dasm (0.21 % of base)
         356 : 359791.dasm (0.23 % of base)
         354 : 359757.dasm (0.24 % of base)

Top file improvements (bytes):
       -2268 : 164823.dasm (-1.37 % of base)
       -2268 : 374400.dasm (-1.37 % of base)
       -1468 : 219435.dasm (-1.90 % of base)
       -1468 : 219430.dasm (-1.90 % of base)
       -1468 : 219427.dasm (-1.90 % of base)
       -1468 : 219438.dasm (-1.90 % of base)
       -1040 : 359446.dasm (-0.39 % of base)
       -1040 : 359434.dasm (-0.39 % of base)
       -1024 : 144510.dasm (-0.35 % of base)
       -1024 : 144502.dasm (-0.35 % of base)
        -512 : 359294.dasm (-5.66 % of base)
        -512 : 363772.dasm (-5.66 % of base)
        -512 : 149971.dasm (-4.67 % of base)
        -512 : 149974.dasm (-4.90 % of base)
        -324 : 324027.dasm (-1.30 % of base)
        -308 : 336254.dasm (-1.74 % of base)
        -288 : 145787.dasm (-0.20 % of base)
        -288 : 145826.dasm (-0.20 % of base)
        -254 : 310889.dasm (-2.27 % of base)
        -254 : 310913.dasm (-2.27 % of base)

90 total files with Code Size differences (40 improved, 50 regressed), 20 unchanged.

Top method regressions (bytes):
         912 (0.75 % of base) : 149481.dasm - Test_1000w1d.testout1:Func_0():int (MinOpts)
         772 (1.44 % of base) : 237820.dasm - lclfldsub:TestEntryPoint():int (Tier0)
         770 (1.46 % of base) : 237827.dasm - lclfldsub:TestEntryPoint():int (Tier0)
         756 (0.73 % of base) : 358884.dasm - Test_1000w1d.testout1:Func_0():int (Tier0)
         756 (0.73 % of base) : 365629.dasm - Test_1000w1d.testout1:Func_0():int (Tier0)
         754 (1.30 % of base) : 3321.dasm - lclfldsub:TestEntryPoint():int (MinOpts)
         726 (1.26 % of base) : 3271.dasm - lclfldadd:TestEntryPoint():int (MinOpts)
         722 (1.41 % of base) : 237780.dasm - lclfldadd:TestEntryPoint():int (Tier0)
         708 (1.36 % of base) : 237742.dasm - lclfldadd:TestEntryPoint():int (Tier0)
         418 (0.21 % of base) : 145359.dasm - i8div:TestEntryPoint():int (MinOpts)
         418 (0.21 % of base) : 146629.dasm - u8div:TestEntryPoint():int (MinOpts)
         416 (0.62 % of base) : 237817.dasm - lclfldrem:TestEntryPoint():int (Tier0)
         408 (0.57 % of base) : 3310.dasm - lclfldrem:TestEntryPoint():int (MinOpts)
         408 (0.60 % of base) : 237808.dasm - lclfldrem:TestEntryPoint():int (Tier0)
         384 (0.23 % of base) : 145235.dasm - i4div:TestEntryPoint():int (MinOpts)
         380 (0.22 % of base) : 145242.dasm - i4rem:TestEntryPoint():int (MinOpts)
         376 (0.21 % of base) : 359943.dasm - i8div:TestEntryPoint():int (Tier0)
         376 (0.21 % of base) : 360861.dasm - u8div:TestEntryPoint():int (Tier0)
         356 (0.23 % of base) : 359791.dasm - i4rem:TestEntryPoint():int (Tier0)
         354 (0.24 % of base) : 359757.dasm - i4div:TestEntryPoint():int (Tier0)

Top method improvements (bytes):
       -2268 (-1.37 % of base) : 374400.dasm - Runtime_64125.Program:TestEntryPoint():int (Tier0)
       -2268 (-1.37 % of base) : 164823.dasm - Runtime_64125.Program:TestEntryPoint():int (Tier0-MinOpts)
       -1468 (-1.90 % of base) : 219435.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
       -1468 (-1.90 % of base) : 219430.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
       -1468 (-1.90 % of base) : 219427.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
       -1468 (-1.90 % of base) : 219438.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
       -1040 (-0.39 % of base) : 359434.dasm - decimaldiv:TestEntryPoint():int (Tier0)
       -1040 (-0.39 % of base) : 359446.dasm - decimalrem:TestEntryPoint():int (Tier0)
       -1024 (-0.35 % of base) : 144502.dasm - decimaldiv:TestEntryPoint():int (MinOpts)
       -1024 (-0.35 % of base) : 144510.dasm - decimalrem:TestEntryPoint():int (MinOpts)
        -512 (-4.67 % of base) : 149971.dasm - JitTest_addsub_unsigned_cs.Test:TestEntryPoint():int (MinOpts)
        -512 (-5.66 % of base) : 359294.dasm - JitTest_addsub_unsigned_cs.Test:TestEntryPoint():int (Tier0)
        -512 (-4.90 % of base) : 149974.dasm - JitTest_addsub_unsigned_il.Test:Main():int (MinOpts)
        -512 (-5.66 % of base) : 363772.dasm - JitTest_addsub_unsigned_il.Test:Main():int (Tier0)
        -324 (-1.30 % of base) : 324027.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
        -308 (-1.74 % of base) : 336254.dasm - Product:CreateLists() (Tier0)
        -288 (-0.20 % of base) : 145787.dasm - r4div:TestEntryPoint():int (MinOpts)
        -288 (-0.20 % of base) : 145826.dasm - r8div:TestEntryPoint():int (MinOpts)
        -254 (-2.27 % of base) : 310889.dasm - Test_struct02:TestEntryPoint():int (Tier0)
        -254 (-2.27 % of base) : 310913.dasm - Test_Struct02:TestEntryPoint():int (Tier0)

Top method regressions (percentages):
          26 (25.00 % of base) : 337821.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          12 (24.00 % of base) : 461881.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
           8 (22.22 % of base) : 380083.dasm - Test_GitHub_22556:Add(Test_GitHub_22556,int):int (Tier0)
           8 (22.22 % of base) : 380246.dasm - Test_GitHub_27027:Run(Test_GitHub_27027,int):int (Tier0)
          22 (16.18 % of base) : 307903.dasm - DivConst:I8_DivPow2Embedded_4(long,long):long (Tier0)
          22 (16.18 % of base) : 308608.dasm - ModConst:I8_ModPow2Embedded_4(long,long):long (Tier0)
           8 (15.38 % of base) : 326340.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (15.38 % of base) : 326027.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
           4 (15.38 % of base) : 362530.dasm - TestApp:test_0_10(float,AA,AA):float (Tier0)
           6 (15.00 % of base) : 320440.dasm - Test_Inline_Vars:RunTest212():int:this (Tier0)
           6 (15.00 % of base) : 320444.dasm - Test_Inline_Vars:RunTest216():int:this (Tier0)
           6 (15.00 % of base) : 320448.dasm - Test_Inline_Vars:RunTest220():int:this (Tier0)
           6 (15.00 % of base) : 320452.dasm - Test_Inline_Vars:RunTest224():int:this (Tier0)
           6 (15.00 % of base) : 320456.dasm - Test_Inline_Vars:RunTest228():int:this (Tier0)
           6 (15.00 % of base) : 320460.dasm - Test_Inline_Vars:RunTest232():int:this (Tier0)
           6 (15.00 % of base) : 320464.dasm - Test_Inline_Vars:RunTest236():int:this (Tier0)
           6 (15.00 % of base) : 320468.dasm - Test_Inline_Vars:RunTest240():int:this (Tier0)
           6 (15.00 % of base) : 320472.dasm - Test_Inline_Vars:RunTest244():int:this (Tier0)
           6 (15.00 % of base) : 320476.dasm - Test_Inline_Vars:RunTest248():int:this (Tier0)
           6 (15.00 % of base) : 320480.dasm - Test_Inline_Vars:RunTest252():int:this (Tier0)

Top method improvements (percentages):
         -10 (-27.78 % of base) : 303891.dasm - neg_._neg:negi8(long):long (Tier0)
         -32 (-19.75 % of base) : 382201.dasm - TestCase:Main():int (Tier0)
          -8 (-19.05 % of base) : 461854.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
          -8 (-18.18 % of base) : 461024.dasm - Tracing.Tests.Common.IpcClient:Write(System.IO.Stream,ubyte[]) (Tier0)
         -58 (-16.76 % of base) : 120081.dasm - (dynamicClass):ABIStress_PInvoker692(ABIStress.Hfa2,System.Runtime.Intrinsics.Vector128`1[int],ABIStress.Hfa1,float,System.Runtime.Intrinsics.Vector256`1[int],ABIStress.S9U,short,double,ABIStress.S5U,ABIStress.S9U,ABIStress.S4U,long,ABIStress.S32U,ABIStress.S11U,ABIStress.S9U,System.Runtime.Intrinsics.Vector128`1[int],System.Int128,ABIStress.S12U,ABIStress.S2P,int):int[] (MinOpts)
          -8 (-16.67 % of base) : 249771.dasm - Microsoft.Diagnostics.Tracing.TraceEventParser:AddCallbackForProviderEvents(System.Func`3[System.String,System.String,int],System.Action`1[Microsoft.Diagnostics.Tracing.TraceEvent]):this (Tier0)
          -8 (-16.67 % of base) : 340674.dasm - System.Dynamic.InvokeMemberBinder:FallbackInvokeMember(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[]):System.Dynamic.DynamicMetaObject:this (Tier0)
        -192 (-16.35 % of base) : 120940.dasm - (dynamicClass):ABIStress_PInvoker949(ABIStress.S16U,ABIStress.S4U,ABIStress.S10U,ABIStress.S14U,ABIStress.S2P,ABIStress.S31U,ABIStress.S12U,System.Numerics.Vector`1[int],ubyte,ABIStress.S11U,ABIStress.S5U,ABIStress.I128_1,System.Int128,ABIStress.S8P,ABIStress.S2U,ABIStress.I128_2,ABIStress.S2P,ABIStress.S12U,ABIStress.S31U,ABIStress.S14U,ABIStress.S16U,ABIStress.S14U,ABIStress.S14U,ABIStress.Hfa2,ABIStress.I128_1):int[] (MinOpts)
          -8 (-16.00 % of base) : 338185.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
          -8 (-16.00 % of base) : 337636.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:WriteDataContractValue(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.RuntimeTypeHandle):this (Tier0)
        -198 (-15.74 % of base) : 118173.dasm - (dynamicClass):ABIStress_PInvoker168(ABIStress.S11U,ABIStress.S6U,int,ABIStress.S1P,ABIStress.S32U,ABIStress.S5U,ABIStress.Hfa2,ABIStress.S15U):int[] (MinOpts)
          -8 (-15.38 % of base) : 99975.dasm - ClassB:Test(Base,Base,ubyte):int:this (Tier0)
         -12 (-15.38 % of base) : 332265.dasm - Microsoft.CodeAnalysis.CSharp.Binder:LookupLocal(Microsoft.CodeAnalysis.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceLocalSymbol:this (Tier0)
          -8 (-15.38 % of base) : 332108.dasm - Microsoft.CodeAnalysis.SyntaxNode:FindToken(int,ubyte):Microsoft.CodeAnalysis.SyntaxToken:this (Tier0)
          -8 (-15.38 % of base) : 99974.dasm - Program:Test(Base,Base,Base,ubyte):int (Tier0)
        -150 (-14.94 % of base) : 119889.dasm - (dynamicClass):ABIStress_PInvoker636(ABIStress.S2P,ABIStress.I128_1,ABIStress.S12U,ABIStress.Hfa1,ABIStress.I128_1,ABIStress.S8U,ABIStress.S15U,int,ABIStress.S8P,ABIStress.S4U,ABIStress.S2U,System.Runtime.Intrinsics.Vector128`1[int],ABIStress.S3U,ABIStress.S15U,ABIStress.S8U):int[] (MinOpts)
         -24 (-14.81 % of base) : 361447.dasm - JitTest_virtcall_cs.StressTest:PackRef(System.TypedReference,int):this (Tier0)
          -8 (-14.29 % of base) : 443729.dasm - Internal.TypeSystem.TypeDesc:GetMethod(System.String,Internal.TypeSystem.MethodSignature):Internal.TypeSystem.MethodDesc:this (Tier0)
         -16 (-14.29 % of base) : 376922.dasm - System.Xml.Schema.InteriorNode:ExpandTree(System.Xml.Schema.InteriorNode,System.Xml.Schema.SymbolsDictionary,System.Xml.Schema.Positions):this (Tier0)
          -8 (-14.29 % of base) : 378377.dasm - System.Xml.Xsl.IlGen.GenerateHelper:Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label):this (Tier0)


libraries.crossgen2.linux.arm.checked.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: 36758116 (overridden on cmd)
Total bytes of diff: 36758116 (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), 8 unchanged.

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


libraries.pmi.linux.arm.checked.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: 48738124 (overridden on cmd)
Total bytes of diff: 48737844 (overridden on cmd)
Total bytes of delta: -280 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file improvements (bytes):
        -280 : 4046.dasm (-0.26 % of base)

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

Top method improvements (bytes):
        -280 (-0.26 % of base) : 4046.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)

Top method improvements (percentages):
        -280 (-0.26 % of base) : 4046.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)

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


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: 244888660 (overridden on cmd)
Total bytes of diff: 244341382 (overridden on cmd)
Total bytes of delta: -547278 (-0.22 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
         830 : 694561.dasm (0.73 % of base)
         816 : 697767.dasm (0.32 % of base)
         660 : 694563.dasm (0.49 % of base)
         320 : 440713.dasm (1.89 % of base)
         116 : 598296.dasm (2.50 % of base)
         116 : 598632.dasm (2.51 % of base)
         116 : 642151.dasm (2.51 % of base)
         116 : 647862.dasm (2.50 % of base)
         108 : 598473.dasm (2.78 % of base)
         108 : 642091.dasm (2.78 % of base)
         100 : 453489.dasm (5.12 % of base)
         100 : 453490.dasm (4.07 % of base)
          96 : 265830.dasm (0.81 % of base)
          92 : 597108.dasm (2.78 % of base)
          92 : 642002.dasm (2.78 % of base)
          78 : 607280.dasm (0.76 % of base)
          78 : 617371.dasm (0.67 % of base)
          78 : 634650.dasm (0.76 % of base)
          78 : 653026.dasm (0.67 % of base)
          76 : 648498.dasm (1.81 % of base)

Top file improvements (bytes):
       -4000 : 596001.dasm (-0.46 % of base)
       -4000 : 584957.dasm (-0.46 % of base)
       -2000 : 613173.dasm (-1.98 % of base)
        -858 : 75837.dasm (-2.97 % of base)
        -652 : 524907.dasm (-3.44 % of base)
        -630 : 313126.dasm (-1.19 % of base)
        -630 : 312069.dasm (-1.19 % of base)
        -548 : 111595.dasm (-5.84 % of base)
        -514 : 65415.dasm (-6.68 % of base)
        -514 : 368663.dasm (-6.68 % of base)
        -450 : 144755.dasm (-7.39 % of base)
        -450 : 158328.dasm (-7.39 % of base)
        -432 : 8083.dasm (-6.13 % of base)
        -406 : 296157.dasm (-3.77 % of base)
        -400 : 386062.dasm (-2.81 % of base)
        -398 : 253867.dasm (-1.71 % of base)
        -362 : 263943.dasm (-2.30 % of base)
        -348 : 594045.dasm (-0.58 % of base)
        -348 : 584741.dasm (-0.61 % of base)
        -348 : 584129.dasm (-0.61 % of base)

80 total files with Code Size differences (40 improved, 40 regressed), 20 unchanged.

Top method regressions (bytes):
         830 (0.73 % of base) : 694561.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32542_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
         816 (0.32 % of base) : 697767.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get2209_920+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         660 (0.49 % of base) : 694563.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32550_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
         320 (1.89 % of base) : 440713.dasm - System.Xml.Xsl.Xslt.XsltLoader:.ctor():this (Tier0)
         116 (2.50 % of base) : 598296.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<Number_AsCollectionElement_RoundTrip>d__22:MoveNext():this (Tier0)
         116 (2.50 % of base) : 647862.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<Number_AsCollectionElement_RoundTrip>d__22:MoveNext():this (Tier0)
         116 (2.51 % of base) : 598632.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<Number_AsRootType_RoundTrip>d__7:MoveNext():this (Tier0)
         116 (2.51 % of base) : 642151.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<Number_AsRootType_RoundTrip>d__7:MoveNext():this (Tier0)
         108 (2.78 % of base) : 598473.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<UnsupportedFormats>d__48:MoveNext():this (Tier0)
         108 (2.78 % of base) : 642091.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<UnsupportedFormats>d__48:MoveNext():this (Tier0)
         100 (4.07 % of base) : 453490.dasm - System.Xml.XmlConvertTests.XmlBaseCharConvertTests2:XmlEncodeName5():int:this (Instrumented Tier0)
         100 (5.12 % of base) : 453489.dasm - System.Xml.XmlConvertTests.XmlBaseCharConvertTests2:XmlEncodeName5():int:this (Tier0)
          96 (0.81 % of base) : 265830.dasm - System.Data.Tests.DataRowComparerTests+<Equals_TestData>d__1:MoveNext():ubyte:this (Tier0)
          92 (2.78 % of base) : 597108.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<FloatingPointConstants_IncompatibleNumber>d__46:MoveNext():this (Tier0)
          92 (2.78 % of base) : 642002.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<FloatingPointConstants_IncompatibleNumber>d__46:MoveNext():this (Tier0)
          78 (0.67 % of base) : 617371.dasm - System.Text.Json.Serialization.Tests.CollectionTests+<ImplementsDictionary_DictionaryOfString>d__30:MoveNext():this (Instrumented Tier0)
          78 (0.67 % of base) : 653026.dasm - System.Text.Json.Serialization.Tests.CollectionTests+<ImplementsDictionary_DictionaryOfString>d__30:MoveNext():this (Instrumented Tier0)
          78 (0.76 % of base) : 607280.dasm - System.Text.Json.Serialization.Tests.CollectionTests+<ImplementsDictionary_DictionaryOfString>d__30:MoveNext():this (Tier0)
          78 (0.76 % of base) : 634650.dasm - System.Text.Json.Serialization.Tests.CollectionTests+<ImplementsDictionary_DictionaryOfString>d__30:MoveNext():this (Tier0)
          76 (1.81 % of base) : 648498.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<<FloatingPointConstants_Pass>g__PerformFloatingPointSerialization|38_0>d:MoveNext():this (Instrumented Tier0)

Top method improvements (bytes):
       -4000 (-0.46 % of base) : 596001.dasm - System.Text.Json.SourceGeneration.Tests.ConstructorTests_Default+ConstructorTestsContext_Default:ClassWithManyConstructorParametersPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Tier0)
       -4000 (-0.46 % of base) : 584957.dasm - System.Text.Json.SourceGeneration.Tests.ConstructorTests_Metadata+ConstructorTestsContext_Metadata:ClassWithManyConstructorParametersPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Tier0)
       -2000 (-1.98 % of base) : 613173.dasm - System.Text.Json.SourceGeneration.Tests.ConstructorTests_Default+ConstructorTestsContext_Default:ClassWithManyConstructorParametersSerializeHandler(System.Text.Json.Utf8JsonWriter,System.Text.Json.Serialization.Tests.ClassWithManyConstructorParameters):this (Tier0)
        -858 (-2.97 % of base) : 75837.dasm - Microsoft.CodeAnalysis.DesktopAssemblyIdentityComparer:.cctor() (Tier0)
        -652 (-3.44 % of base) : 524907.dasm - System.Tests.TimeZoneInfoTests:GetAmbiguousTimeOffsets_Amsterdam() (Tier0)
        -630 (-1.19 % of base) : 313126.dasm - FileData:.cctor() (Tier0)
        -630 (-1.19 % of base) : 312069.dasm - FileData:.cctor() (Tier0)
        -548 (-5.84 % of base) : 111595.dasm - System.ComponentModel.CultureInfoConverter+CultureInfoMapper:CreateMap():System.Collections.Generic.Dictionary`2[System.String,System.String] (Tier0)
        -514 (-6.68 % of base) : 65415.dasm - System.Net.Http.Unit.Tests.HPack.HuffmanDecodingTests:get_HuffmanData():Xunit.TheoryData`3[int,uint,int] (Tier0)
        -514 (-6.68 % of base) : 368663.dasm - System.Net.Http.Unit.Tests.HPack.HuffmanDecodingTests:get_HuffmanData():Xunit.TheoryData`3[int,uint,int] (Tier0)
        -450 (-7.39 % of base) : 144755.dasm - Microsoft.Extensions.Logging.Generators.DiagnosticDescriptors:.cctor() (Tier0)
        -450 (-7.39 % of base) : 158328.dasm - Microsoft.Extensions.Logging.Generators.DiagnosticDescriptors:.cctor() (Tier0)
        -432 (-6.13 % of base) : 8083.dasm - Microsoft.Interop.GeneratorDiagnostics:.cctor() (Tier0)
        -406 (-3.77 % of base) : 296157.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Tier0)
        -400 (-2.81 % of base) : 386062.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Instrumented Tier0)
        -398 (-1.71 % of base) : 253867.dasm - System.Xml.Schema.XsdBuilder:.cctor() (Tier0)
        -362 (-2.30 % of base) : 263943.dasm - System.Data.Tests.Common.DbConnectionStringBuilderTest:AppendKeyValuePair2_UseOdbcRules_True():this (Tier0)
        -348 (-0.58 % of base) : 594045.dasm - System.Text.Json.SourceGeneration.Tests.ExtensionDataTests_Metadata+ExtensionDataTestsContext_Metadata:SimpleTestClassPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Instrumented Tier0)
        -348 (-0.61 % of base) : 584129.dasm - System.Text.Json.SourceGeneration.Tests.PropertyNameTests_Metadata+PropertyNameTestsContext_Metadata:SimpleTestClassPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Tier0)
        -348 (-0.61 % of base) : 584741.dasm - System.Text.Json.SourceGeneration.Tests.PropertyVisibilityTests_Metadata+PropertyVisibilityTestsContext_Metadata:SimpleTestClassPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Tier0)

Top method regressions (percentages):
          12 (26.09 % of base) : 202315.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Instrumented Tier0)
          12 (26.09 % of base) : 202061.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Tier0)
          12 (26.09 % of base) : 221005.dasm - System.Collections.Tests.BitArray_GetSetTests+<>c__DisplayClass8_0:<GetEnumerator_Data>b__0(int):ubyte:this (Tier0)
          12 (25.00 % of base) : 14823.dasm - System.Collections.Concurrent.ConcurrentDictionaryTypeProps`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:.cctor() (Tier0)
          26 (25.00 % of base) : 263698.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
          26 (25.00 % of base) : 256935.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          12 (24.00 % of base) : 3698.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
          10 (17.24 % of base) : 341285.dasm - System.Linq.Parallel.Tests.OfTypeTests+<>c__DisplayClass22_0:<OfType_SomeValidNull>b__0(int):System.Object:this (Tier0)
          12 (17.14 % of base) : 489244.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Instrumented Tier0)
          12 (17.14 % of base) : 216420.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
          12 (16.67 % of base) : 326554.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[int](int,long,System.Action`2[long,int],System.Func`2[long,int]) (Tier0)
          12 (16.67 % of base) : 326569.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[uint](uint,long,System.Action`2[long,uint],System.Func`2[long,uint]) (Tier0)
          12 (15.79 % of base) : 326560.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[byte](byte,long,System.Action`2[long,byte],System.Func`2[long,byte]) (Tier0)
          12 (15.79 % of base) : 326550.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[short](short,long,System.Action`2[long,short],System.Func`2[long,short]) (Tier0)
          12 (15.79 % of base) : 326533.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[ubyte](ubyte,long,System.Action`2[long,ubyte],System.Func`2[long,ubyte]) (Tier0)
          12 (15.79 % of base) : 326536.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[ubyte](ubyte,long,System.Action`2[long,ubyte],System.Func`2[long,ubyte]) (Tier0)
          12 (15.79 % of base) : 326539.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[ushort](ushort,long,System.Action`2[long,ushort],System.Func`2[long,ushort]) (Tier0)
          12 (15.79 % of base) : 326566.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[ushort](ushort,long,System.Action`2[long,ushort],System.Func`2[long,ushort]) (Tier0)
           8 (15.38 % of base) : 156472.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (15.38 % of base) : 155080.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)

Top method improvements (percentages):
         -34 (-22.67 % of base) : 40262.dasm - NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Instrumented Tier0)
         -34 (-22.67 % of base) : 9096.dasm - NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Tier0)
          -8 (-20.00 % of base) : 309233.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_3():System.Object:this (Tier0)
          -8 (-20.00 % of base) : 310768.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_3():System.Object:this (Tier0)
          -8 (-20.00 % of base) : 310769.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_4():System.Object:this (Tier0)
          -8 (-20.00 % of base) : 309234.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_4():System.Object:this (Tier0)
          -8 (-20.00 % of base) : 309235.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_5():System.Object:this (Tier0)
          -8 (-20.00 % of base) : 310770.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_5():System.Object:this (Tier0)
          -8 (-20.00 % of base) : 703537.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase:Complete():this (Tier0)
         -24 (-19.67 % of base) : 489875.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:InternalSerializeReference(System.Runtime.Serialization.XmlWriterDelegator,System.Object,ubyte,ubyte,int,System.RuntimeTypeHandle):this (Tier0)
         -24 (-19.67 % of base) : 703387.dasm - System.Threading.Tasks.Dataflow.JoinBlock`3[int,int,int]:Complete():this (Tier0)
         -24 (-19.67 % of base) : 704491.dasm - System.Threading.Tasks.Dataflow.JoinBlock`3[int,System.__Canon,double]:Complete():this (Tier0)
          -8 (-19.05 % of base) : 167898.dasm - System.ComponentModel.TypeConverter:ConvertFromString(System.String):System.Object:this (Tier0)
          -8 (-19.05 % of base) : 256258.dasm - System.Data.DataTable:Load(System.Data.IDataReader):this (Tier0)
          -8 (-19.05 % of base) : 269238.dasm - System.Diagnostics.DiagnosticListener:<Subscribe>b__6_0(System.String):ubyte:this (Tier0)
          -8 (-19.05 % of base) : 401473.dasm - System.Net.Security.SslStream:AuthenticateAsClientAsync(System.String):System.Threading.Tasks.Task:this (Tier0)
          -8 (-19.05 % of base) : 453730.dasm - System.Xml.XmlWriter:WriteStartAttribute(System.String):this (Tier0)
          -8 (-19.05 % of base) : 246164.dasm - System.Xml.XmlWriter:WriteStartElement(System.String):this (Tier0)
         -16 (-18.18 % of base) : 702817.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[int,int]:Complete():this (Tier0)
         -16 (-18.18 % of base) : 704474.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[int,System.__Canon]:Complete():this (Tier0)


librariestestsnotieredcompilation.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: 93389302 (overridden on cmd)
Total bytes of diff: 93364398 (overridden on cmd)
Total bytes of delta: -24904 (-0.03 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
         830 : 279367.dasm (0.73 % of base)
         816 : 283295.dasm (0.32 % of base)
         660 : 279412.dasm (0.49 % of base)
          40 : 7552.dasm (0.99 % of base)
          34 : 13067.dasm (1.01 % of base)
          32 : 12969.dasm (0.34 % of base)
          30 : 13172.dasm (0.43 % of base)
          24 : 2513.dasm (1.14 % of base)
          20 : 2483.dasm (1.02 % of base)
          18 : 2556.dasm (0.49 % of base)
          14 : 13330.dasm (1.08 % of base)
          14 : 2472.dasm (5.00 % of base)
          12 : 12907.dasm (2.69 % of base)
          12 : 13188.dasm (2.48 % of base)
          12 : 2477.dasm (2.88 % of base)
          12 : 12925.dasm (0.42 % of base)
          12 : 13165.dasm (2.58 % of base)
          12 : 7550.dasm (2.84 % of base)
          12 : 13054.dasm (2.61 % of base)
          12 : 12894.dasm (2.69 % of base)

Top file improvements (bytes):
       -4000 : 250328.dasm (-0.46 % of base)
       -4000 : 245727.dasm (-0.46 % of base)
        -208 : 272890.dasm (-1.06 % of base)
        -116 : 288641.dasm (-0.89 % of base)
        -106 : 283312.dasm (-0.03 % of base)
         -84 : 271108.dasm (-1.00 % of base)
         -84 : 292130.dasm (-1.12 % of base)
         -80 : 13680.dasm (-0.77 % of base)
         -72 : 280745.dasm (-1.06 % of base)
         -62 : 287262.dasm (-4.57 % of base)
         -62 : 287264.dasm (-4.11 % of base)
         -62 : 287992.dasm (-4.57 % of base)
         -62 : 287994.dasm (-4.11 % of base)
         -60 : 2274.dasm (-2.24 % of base)
         -50 : 283260.dasm (-1.37 % of base)
         -44 : 285011.dasm (-1.26 % of base)
         -38 : 284341.dasm (-1.01 % of base)
         -38 : 60726.dasm (-0.01 % of base)
         -34 : 283510.dasm (-1.07 % of base)
         -34 : 291698.dasm (-2.46 % of base)

68 total files with Code Size differences (36 improved, 32 regressed), 20 unchanged.

Top method regressions (bytes):
         830 (0.73 % of base) : 279367.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2227_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
         816 (0.32 % of base) : 283295.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get2209_920+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         660 (0.49 % of base) : 279412.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex2235_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
          40 (0.99 % of base) : 7552.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<GetSortedDiagnosticsAsync>d__83[System.__Canon]:MoveNext():this (MinOpts)
          34 (1.01 % of base) : 13067.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<VerifyFixAsync>d__48[System.__Canon]:MoveNext():this (MinOpts)
          32 (0.34 % of base) : 12969.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<VerifyFixAsync>d__46[System.__Canon]:MoveNext():this (MinOpts)
          30 (0.43 % of base) : 13172.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<FixEachAnalyzerDiagnosticAsync>d__50[System.__Canon]:MoveNext():this (MinOpts)
          24 (1.14 % of base) : 2513.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<CreateSolutionAsync>d__97[System.__Canon]:MoveNext():this (MinOpts)
          20 (1.02 % of base) : 2483.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<GetSortedDiagnosticsAsync>d__82[System.__Canon]:MoveNext():this (MinOpts)
          18 (0.49 % of base) : 2556.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<VerifySourceGeneratorAsync>d__68[System.__Canon]:MoveNext():this (MinOpts)
          14 (1.08 % of base) : 13330.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest`1+<ApplyCodeActionAsync>d__22[System.__Canon]:MoveNext():this (MinOpts)
          14 (5.00 % of base) : 2472.dasm - Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState:.ctor(System.String,System.String,System.String,System.String,Microsoft.CodeAnalysis.Testing.ReferenceAssemblies,int,ubyte,System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.String],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]):this (MinOpts)
          12 (2.84 % of base) : 7550.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:GetSortedDiagnosticsAsync(Microsoft.CodeAnalysis.Solution,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Diagnostic]],int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Diagnostic]]]:this (MinOpts)
          12 (2.88 % of base) : 2477.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:GetSortedDiagnosticsAsync(Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Diagnostic]]]:this (MinOpts)
          12 (2.69 % of base) : 12894.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:VerifyGeneratedCodeDiagnosticsAsync(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText][],Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],Microsoft.CodeAnalysis.Testing.DiagnosticResult[],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (MinOpts)
          12 (2.69 % of base) : 12907.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:VerifySuppressionDiagnosticsAsync(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText][],Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],Microsoft.CodeAnalysis.Testing.DiagnosticResult[],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (MinOpts)
          12 (0.42 % of base) : 12925.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<VerifySuppressionDiagnosticsAsync>d__71[System.__Canon]:MoveNext():this (MinOpts)
          12 (2.48 % of base) : 13188.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1[System.__Canon]:FixAllAnalyerDiagnosticsInScopeAsync(int,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],System.Nullable`1[int],System.String,System.Action`2[Microsoft.CodeAnalysis.CodeActions.CodeAction,Microsoft.CodeAnalysis.Testing.IVerifier],Microsoft.CodeAnalysis.Project,int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,System.Runtime.ExceptionServices.ExceptionDispatchInfo]]:this (MinOpts)
          12 (2.58 % of base) : 13165.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1[System.__Canon]:FixEachAnalyzerDiagnosticAsync(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],System.Nullable`1[int],System.String,System.Action`2[Microsoft.CodeAnalysis.CodeActions.CodeAction,Microsoft.CodeAnalysis.Testing.IVerifier],Microsoft.CodeAnalysis.Project,int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,System.Runtime.ExceptionServices.ExceptionDispatchInfo]]:this (MinOpts)
          12 (2.61 % of base) : 13054.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1[System.__Canon]:VerifyFixAsync(System.String,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],Microsoft.CodeAnalysis.Testing.SolutionState,Microsoft.CodeAnalysis.Testing.SolutionState,int,System.Func`10[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],System.Nullable`1[int],System.String,System.Action`2[Microsoft.CodeAnalysis.CodeActions.CodeAction,Microsoft.CodeAnalysis.Testing.IVerifier],Microsoft.CodeAnalysis.Project,int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken,System.Threading.Tasks.Task`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,System.Runtime.ExceptionServices.ExceptionDispatchInfo]]],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (MinOpts)

Top method improvements (bytes):
       -4000 (-0.46 % of base) : 250328.dasm - System.Text.Json.SourceGeneration.Tests.ConstructorTests_Default+ConstructorTestsContext_Default:ClassWithManyConstructorParametersPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Tier0-MinOpts)
       -4000 (-0.46 % of base) : 245727.dasm - System.Text.Json.SourceGeneration.Tests.ConstructorTests_Metadata+ConstructorTestsContext_Metadata:ClassWithManyConstructorParametersPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Tier0-MinOpts)
        -208 (-1.06 % of base) : 272890.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
        -116 (-0.89 % of base) : 288641.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
        -106 (-0.03 % of base) : 283312.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get2217_921+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -84 (-1.00 % of base) : 271108.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
         -84 (-1.12 % of base) : 292130.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
         -80 (-0.77 % of base) : 13680.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<VerifyProjectAsync>d__49[System.__Canon]:MoveNext():this (MinOpts)
         -72 (-1.06 % of base) : 280745.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get492_169+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -62 (-4.57 % of base) : 287992.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get341_274+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -62 (-4.11 % of base) : 287994.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get342_275+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -62 (-4.57 % of base) : 287262.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get57_52+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -62 (-4.11 % of base) : 287264.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get58_53+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -60 (-2.24 % of base) : 2274.dasm - Microsoft.CodeAnalysis.Testing.TestFileMarkupParser:Parse(System.String,ubyte,byref,byref,byref,byref) (MinOpts)
         -50 (-1.37 % of base) : 283260.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get2188_911+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -44 (-1.26 % of base) : 285011.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
         -38 (-0.01 % of base) : 60726.dasm - Microsoft.VisualBasic.CompilerServices.Tests.OperatorsTests+<Compare_Primitives_TestData>d__139:MoveNext():ubyte:this (Tier0-MinOpts)
         -38 (-1.01 % of base) : 284341.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
         -34 (-1.07 % of base) : 283510.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get2412_975+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -34 (-2.46 % of base) : 291698.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get506_438+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

Top method regressions (percentages):
          14 (5.00 % of base) : 2472.dasm - Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState:.ctor(System.String,System.String,System.String,System.String,Microsoft.CodeAnalysis.Testing.ReferenceAssemblies,int,ubyte,System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.String],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]):this (MinOpts)
           8 (3.45 % of base) : 3457.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore:WaitAsync(System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore+Releaser]:this (MinOpts)
           8 (3.17 % of base) : 7960.dasm - Microsoft.CodeAnalysis.Testing.Extensions.CompilationWithAnalyzersExtensions:GetAnalysisResultAsync(Microsoft.CodeAnalysis.Diagnostics.CompilationWithAnalyzers,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper] (MinOpts)
          10 (3.09 % of base) : 19673.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:GetPackageDependenciesAsync(NuGet.Packaging.Core.PackageIdentity,NuGet.Frameworks.NuGetFramework,System.Collections.Immutable.ImmutableArray`1[NuGet.Protocol.Core.Types.SourceRepository],NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Collections.Immutable.ImmutableDictionary`2+Builder[NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourcePackageDependencyInfo],System.Threading.CancellationToken):System.Threading.Tasks.Task (MinOpts)
           8 (2.99 % of base) : 3447.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:ResolveAsync(System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference]]:this (MinOpts)
           8 (2.96 % of base) : 3466.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:ResolveCoreAsync(System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference]]:this (MinOpts)
           6 (2.91 % of base) : 191991.dasm - System.Reflection.Metadata.ApplyUpdate.Test.AsyncMethodChange:TestTaskMethod():System.Threading.Tasks.Task`1[System.String] (MinOpts)
          12 (2.88 % of base) : 2477.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:GetSortedDiagnosticsAsync(Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Diagnostic]]]:this (MinOpts)
          12 (2.84 % of base) : 7550.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:GetSortedDiagnosticsAsync(Microsoft.CodeAnalysis.Solution,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Diagnostic]],int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Diagnostic]]]:this (MinOpts)
          12 (2.69 % of base) : 12894.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:VerifyGeneratedCodeDiagnosticsAsync(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText][],Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],Microsoft.CodeAnalysis.Testing.DiagnosticResult[],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (MinOpts)
          12 (2.69 % of base) : 12907.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:VerifySuppressionDiagnosticsAsync(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText][],Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],Microsoft.CodeAnalysis.Testing.DiagnosticResult[],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (MinOpts)
          10 (2.62 % of base) : 2490.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:CreateProjectAsync(Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Project]:this (MinOpts)
          12 (2.61 % of base) : 13054.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1[System.__Canon]:VerifyFixAsync(System.String,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],Microsoft.CodeAnalysis.Testing.SolutionState,Microsoft.CodeAnalysis.Testing.SolutionState,int,System.Func`10[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],System.Nullable`1[int],System.String,System.Action`2[Microsoft.CodeAnalysis.CodeActions.CodeAction,Microsoft.CodeAnalysis.Testing.IVerifier],Microsoft.CodeAnalysis.Project,int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken,System.Threading.Tasks.Task`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,System.Runtime.ExceptionServices.ExceptionDispatchInfo]]],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (MinOpts)
          10 (2.60 % of base) : 2493.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:CreateProjectImplAsync(Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Project]:this (MinOpts)
          12 (2.58 % of base) : 13165.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1[System.__Canon]:FixEachAnalyzerDiagnosticAsync(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],System.Nullable`1[int],System.String,System.Action`2[Microsoft.CodeAnalysis.CodeActions.CodeAction,Microsoft.CodeAnalysis.Testing.IVerifier],Microsoft.CodeAnalysis.Project,int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,System.Runtime.ExceptionServices.ExceptionDispatchInfo]]:this (MinOpts)
          10 (2.49 % of base) : 4648.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:ApplySourceGeneratorsAsync(System.Collections.Immutable.ImmutableArray`1[System.Type],Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]]]:this (MinOpts)
          10 (2.49 % of base) : 2484.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:GetSolutionAsync(Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Solution]:this (MinOpts)
          12 (2.48 % of base) : 13188.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1[System.__Canon]:FixAllAnalyerDiagnosticsInScopeAsync(int,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],System.Nullable`1[int],System.String,System.Action`2[Microsoft.CodeAnalysis.CodeActions.CodeAction,Microsoft.CodeAnalysis.Testing.IVerifier],Microsoft.CodeAnalysis.Project,int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,System.Runtime.ExceptionServices.ExceptionDispatchInfo]]:this (MinOpts)
          10 (2.48 % of base) : 2473.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:VerifyDiagnosticsAsync(Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],Microsoft.CodeAnalysis.Testing.DiagnosticResult[],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (MinOpts)
           8 (2.47 % of base) : 13043.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]):ubyte:this (MinOpts)

Top method improvements (percentages):
         -62 (-4.57 % of base) : 287992.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get341_274+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -62 (-4.57 % of base) : 287262.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get57_52+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -62 (-4.11 % of base) : 287994.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get342_275+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -62 (-4.11 % of base) : 287264.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get58_53+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -28 (-4.05 % of base) : 278807.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get768_540+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          -6 (-3.61 % of base) : 2282.dasm - Microsoft.CodeAnalysis.Testing.TestFileMarkupParser:AddMatch(System.String,System.String,int,System.Collections.Generic.List`1[System.ValueTuple`2[int,System.String]]) (MinOpts)
         -22 (-3.46 % of base) : 295273.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get935_543+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -22 (-3.45 % of base) : 293981.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get141_92+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -22 (-3.45 % of base) : 281124.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get744_287+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -22 (-3.43 % of base) : 294229.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get258_181+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -22 (-3.43 % of base) : 281404.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get859_371+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -20 (-3.33 % of base) : 287493.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get142_120+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -20 (-3.33 % of base) : 293986.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get144_94+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -20 (-3.33 % of base) : 288149.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get426_342+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -20 (-3.33 % of base) : 281127.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get745_288+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -20 (-3.33 % of base) : 295287.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get940_547+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -30 (-3.33 % of base) : 13088.dasm - Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState:With(Microsoft.CodeAnalysis.Optional`1[System.String],Microsoft.CodeAnalysis.Optional`1[System.String],Microsoft.CodeAnalysis.Optional`1[System.String],Microsoft.CodeAnalysis.Optional`1[System.String],Microsoft.CodeAnalysis.Optional`1[Microsoft.CodeAnalysis.Testing.ReferenceAssemblies],Microsoft.CodeAnalysis.Optional`1[int],Microsoft.CodeAnalysis.Optional`1[ubyte],Microsoft.CodeAnalysis.Optional`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]]],Microsoft.CodeAnalysis.Optional`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]]],Microsoft.CodeAnalysis.Optional`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]]],Microsoft.CodeAnalysis.Optional`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]]],Microsoft.CodeAnalysis.Optional`1[System.Collections.Immutable.ImmutableArray`1[System.String]],Microsoft.CodeAnalysis.Optional`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference]],Microsoft.CodeAnalysis.Optional`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]]):Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState:this (MinOpts)
         -20 (-3.31 % of base) : 294234.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get261_183+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -20 (-3.31 % of base) : 281407.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get860_372+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          -4 (-3.23 % of base) : 13917.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<>c[System.__Canon]:<FixAllAnalyerDiagnosticsInScopeAsync>b__54_5(System.String):ubyte:this (MinOpts)


realworld.run.linux.arm.checked.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: 13304600 (overridden on cmd)
Total bytes of diff: 13289954 (overridden on cmd)
Total bytes of delta: -14646 (-0.11 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file improvements (bytes):
      -14038 : 36251.dasm (-5.88 % of base)
        -608 : 5527.dasm (-0.31 % of base)

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

Top method improvements (bytes):
      -14038 (-5.88 % of base) : 36251.dasm - System.Management.Automation.PowerShellAssemblyLoadContext:InitializeTypeCatalog():System.Collections.Generic.Dictionary`2[System.String,System.String] (Tier0-MinOpts)
        -608 (-0.31 % of base) : 5527.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)

Top method improvements (percentages):
      -14038 (-5.88 % of base) : 36251.dasm - System.Management.Automation.PowerShellAssemblyLoadContext:InitializeTypeCatalog():System.Collections.Generic.Dictionary`2[System.String,System.String] (Tier0-MinOpts)
        -608 (-0.31 % of base) : 5527.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)



windows x86

Diffs are based on 2,246,531 contexts (794,865 MinOpts, 1,451,666 FullOpts).

MISSED contexts: base: 7,010 (0.30%), diff: 52,597 (2.29%)

Overall (+190,955 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 6,960,783 +2
benchmarks.run_pgo.windows.x86.checked.mch 44,966,304 +504
benchmarks.run_tiered.windows.x86.checked.mch 8,898,260 +195
coreclr_tests.run.windows.x86.checked.mch 305,383,476 +201,068
libraries.crossgen2.windows.x86.checked.mch 31,679,639 +3
libraries.pmi.windows.x86.checked.mch 48,041,556 -81
libraries_tests.run.windows.x86.Release.mch 167,902,249 -13,935
librariestestsnotieredcompilation.run.windows.x86.Release.mch 101,249,179 +3,185
realworld.run.windows.x86.checked.mch 11,011,414 +14

MinOpts (+190,955 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 279 +2
benchmarks.run_pgo.windows.x86.checked.mch 5,930,678 +504
benchmarks.run_tiered.windows.x86.checked.mch 3,850,704 +195
coreclr_tests.run.windows.x86.checked.mch 198,326,162 +201,068
libraries.crossgen2.windows.x86.checked.mch 1,057 +3
libraries.pmi.windows.x86.checked.mch 95,314 -81
libraries_tests.run.windows.x86.Release.mch 78,712,933 -13,935
librariestestsnotieredcompilation.run.windows.x86.Release.mch 7,275,039 +3,185
realworld.run.windows.x86.checked.mch 295,700 +14

Example diffs

benchmarks.run.windows.x86.checked.mch

+0 (0.00%) : 4049.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)

@@ -20,8 +20,8 @@ G_M3757_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, mov gword ptr [ebp-0x04], ecx ;; size=14 bbWeight=1 PerfScore 3.75 G_M3757_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx - mov gword ptr [ebp-0x0C], ecx
+ xor eax, eax + mov gword ptr [ebp-0x0C], eax
push gword ptr [ebp-0x0C] mov ecx, gword ptr [ebp-0x04] ; gcrRegs +[ecx]

+0 (0.00%) : 14388.dasm - Devirtualization.EqualityComparerFixture1[System.ValueTuple3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)

@@ -25,19 +25,21 @@ G_M54368_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} call [<unknown method>] ; gcrRegs +[eax] mov gword ptr [ebp-0x0C], eax
- mov ecx, bword ptr [ebp-0x08] - ; byrRegs +[ecx] - push dword ptr [ecx+0x08] - push dword ptr [ecx+0x04] - push dword ptr [ecx] - mov ecx, bword ptr [ebp+0x08] - push dword ptr [ecx+0x08] - push dword ptr [ecx+0x04] - push dword ptr [ecx]
+ mov eax, bword ptr [ebp-0x08] + ; gcrRegs -[eax] + ; byrRegs +[eax] + push dword ptr [eax+0x08] + push dword ptr [eax+0x04] + push dword ptr [eax] + mov eax, bword ptr [ebp+0x08] + push dword ptr [eax+0x08] + push dword ptr [eax+0x04] + push dword ptr [eax]
mov ecx, gword ptr [ebp-0x0C] ; gcrRegs +[ecx]
- ; byrRegs -[ecx]
mov eax, gword ptr [ebp-0x0C]
+ ; gcrRegs +[eax] + ; byrRegs -[eax]
mov eax, dword ptr [eax] ; gcrRegs -[eax] mov eax, dword ptr [eax+0x2C]

+2 (+1.45%) : 15001.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[ubyte]):ubyte (MinOpts)

@@ -39,10 +39,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=00000000 {}, b lea ecx, [ebp+0x10] call [<unknown method>] mov dword ptr [ebp-0x04], eax
- xor ecx, ecx - mov dword ptr [ebp-0x08], ecx - xor ecx, ecx - mov dword ptr [ebp-0x0C], ecx
+ xor eax, eax + mov dword ptr [ebp-0x08], eax + xor eax, eax + mov dword ptr [ebp-0x0C], eax
jmp SHORT G_M16092_IG06 ;; size=24 bbWeight=1 PerfScore 9.00 G_M16092_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref @@ -50,24 +50,27 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov edx, dword ptr [ebp-0x0C] call [<unknown method>] ; byrRegs +[eax]
- movzx ecx, byte ptr [eax] - mov dword ptr [ebp-0x14], ecx
+ movzx eax, byte ptr [eax] + ; byrRegs -[eax] + mov dword ptr [ebp-0x14], eax
lea ecx, [ebp+0x08] mov edx, dword ptr [ebp-0x0C] call [<unknown method>]
+ ; byrRegs +[eax]
movzx eax, byte ptr [eax] ; byrRegs -[eax] mov edx, dword ptr [ebp-0x14] sub edx, eax
- or edx, dword ptr [ebp-0x08] - mov dword ptr [ebp-0x08], edx
+ mov eax, edx + or eax, dword ptr [ebp-0x08] + mov dword ptr [ebp-0x08], eax
mov eax, dword ptr [ebp-0x0C] inc eax mov dword ptr [ebp-0x0C], eax
- ;; size=51 bbWeight=1 PerfScore 20.50
+ ;; size=53 bbWeight=1 PerfScore 20.75
G_M16092_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x0C] - cmp ecx, dword ptr [ebp-0x04]
+ mov eax, dword ptr [ebp-0x0C] + cmp eax, dword ptr [ebp-0x04]
jl SHORT G_M16092_IG05 xor eax, eax cmp dword ptr [ebp-0x08], 0 @@ -79,6 +82,6 @@ G_M16092_IG07: ; bbWeight=1, epilog, nogc, extend ret 16 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 138, prolog size 6, PerfScore 55.00, instruction count 47, allocated bytes for code 138 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 140, prolog size 6, PerfScore 55.25, instruction count 48, allocated bytes for code 140 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================

benchmarks.run_pgo.windows.x86.checked.mch

-8 (-12.50%) : 61363.dasm - System.SpanHelpers:IndexOfAnyValueTypeshort:int (Tier0)

@@ -23,32 +23,32 @@ G_M25943_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x08], edx ;; size=12 bbWeight=1 PerfScore 3.50 G_M25943_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp+0x18] - movsx edx, dx - push edx - mov edx, dword ptr [ebp+0x14] - movsx edx, dx - push edx - mov edx, dword ptr [ebp+0x10] - movsx edx, dx - push edx - mov edx, dword ptr [ebp+0x0C] - movsx edx, dx - push edx
+ mov eax, dword ptr [ebp+0x18] + cwde + push eax + mov eax, dword ptr [ebp+0x14] + cwde + push eax + mov eax, dword ptr [ebp+0x10] + cwde + push eax + mov eax, dword ptr [ebp+0x0C] + cwde + push eax
push dword ptr [ebp+0x08]
- mov edx, dword ptr [ebp-0x08] - movsx edx, dx
+ mov eax, dword ptr [ebp-0x08] + movsx edx, ax
mov ecx, bword ptr [ebp-0x04] ; byrRegs +[ecx] call [<unknown method>] ; byrRegs -[ecx]
- ;; size=46 bbWeight=1 PerfScore 15.25
+ ;; size=38 bbWeight=1 PerfScore 15.25
G_M25943_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 20 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 64, prolog size 6, PerfScore 21.50, instruction count 25, allocated bytes for code 64 (MethodHash=e4db9aa8) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
+; Total bytes of code 56, prolog size 6, PerfScore 21.50, instruction count 25, allocated bytes for code 56 (MethodHash=e4db9aa8) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
; ============================================================

-6 (-10.53%) : 53228.dasm - System.SpanHelpers:IndexOfAnyValueTypeshort:int (Tier0)

@@ -22,29 +22,29 @@ G_M50313_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x08], edx ;; size=12 bbWeight=1 PerfScore 3.50 G_M50313_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp+0x14] - movsx edx, dx - push edx - mov edx, dword ptr [ebp+0x10] - movsx edx, dx - push edx - mov edx, dword ptr [ebp+0x0C] - movsx edx, dx - push edx
+ mov eax, dword ptr [ebp+0x14] + cwde + push eax + mov eax, dword ptr [ebp+0x10] + cwde + push eax + mov eax, dword ptr [ebp+0x0C] + cwde + push eax
push dword ptr [ebp+0x08]
- mov edx, dword ptr [ebp-0x08] - movsx edx, dx
+ mov eax, dword ptr [ebp-0x08] + movsx edx, ax
mov ecx, bword ptr [ebp-0x04] ; byrRegs +[ecx] call [<unknown method>] ; byrRegs -[ecx]
- ;; size=39 bbWeight=1 PerfScore 13.00
+ ;; size=33 bbWeight=1 PerfScore 13.00
G_M50313_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 16 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 57, prolog size 6, PerfScore 19.25, instruction count 22, allocated bytes for code 57 (MethodHash=d7f23b76) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int (Tier0)
+; Total bytes of code 51, prolog size 6, PerfScore 19.25, instruction count 22, allocated bytes for code 51 (MethodHash=d7f23b76) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int (Tier0)
; ============================================================

-4 (-8.16%) : 11501.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Instrumented Tier0)

@@ -18,23 +18,23 @@ G_M42870_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x04], ecx ;; size=9 bbWeight=1 PerfScore 2.50 G_M42870_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov ecx, dword ptr [ebp-0x04] - movsx ecx, cx - ror cx, 8 - movzx ecx, cx - movsx ecx, cx - mov dword ptr [ebp-0x08], ecx
+ mov eax, dword ptr [ebp-0x04] + cwde + ror ax, 8 + movzx eax, ax + cwde + mov dword ptr [ebp-0x08], eax
push dword ptr [ebp+0x0C] push bword ptr [ebp+0x08] lea ecx, [ebp-0x08] call [<unknown method>]
- ;; size=34 bbWeight=1 PerfScore 8.75
+ ;; size=30 bbWeight=1 PerfScore 8.75
G_M42870_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 8 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 49, prolog size 6, PerfScore 14.00, instruction count 17, allocated bytes for code 49 (MethodHash=7e0e5889) for method System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Instrumented Tier0)
+; Total bytes of code 45, prolog size 6, PerfScore 14.00, instruction count 17, allocated bytes for code 45 (MethodHash=7e0e5889) for method System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Instrumented Tier0)
; ============================================================

+24 (+22.86%) : 8795.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)

@@ -6,63 +6,77 @@ ; Final local variable assignments ; ; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [ebp+0x08] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x0C] do-not-enreg[] -; V02 arg2 [V02 ] ( 1, 1 ) int -> [ebp-0x10] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x04] do-not-enreg[] +; V02 arg2 [V02 ] ( 1, 1 ) int -> [ebp-0x08] do-not-enreg[] +; TEMP_02 byref -> [ebp-0x0C] +; TEMP_01 int -> [ebp-0x10]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push ebp mov ebp, esp
- push edi - push esi - sub esp, 8 - mov dword ptr [ebp-0x0C], ecx - mov dword ptr [ebp-0x10], edx - ;; size=14 bbWeight=1 PerfScore 5.50
+ sub esp, 16 + xor eax, eax + mov dword ptr [ebp-0x0C], eax + mov dword ptr [ebp-0x04], ecx + mov dword ptr [ebp-0x08], edx + ;; size=17 bbWeight=1 PerfScore 4.75
G_M44368_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz mov eax, dword ptr [ebp+0x0C]
- cmp dword ptr [ebp-0x0C], eax
+ cmp dword ptr [ebp-0x04], eax
jae SHORT G_M44368_IG04
- mov ecx, bword ptr [ebp+0x08] - ; byrRegs +[ecx] - mov esi, dword ptr [ebp-0x0C] - mov eax, dword ptr [ebp-0x10] - mov edi, 10
+ mov eax, bword ptr [ebp+0x08] + ; byrRegs +[eax] + mov bword ptr [ebp-0x0C], eax + mov edx, dword ptr [ebp-0x04] + mov dword ptr [ebp-0x10], edx + mov eax, dword ptr [ebp-0x08] + ; byrRegs -[eax] + mov ecx, 10
cdq
- idiv edx:eax, edi
+ idiv edx:eax, ecx
add eax, 48
- mov word ptr [ecx+2*esi], ax - mov eax, dword ptr [ebp-0x0C]
+ mov edx, bword ptr [ebp-0x0C] + ; byrRegs +[edx] + mov ecx, dword ptr [ebp-0x10] + mov word ptr [edx+2*ecx], ax + mov eax, dword ptr [ebp-0x04]
inc eax cmp eax, dword ptr [ebp+0x0C] jae SHORT G_M44368_IG04
- mov ecx, bword ptr [ebp+0x08] - mov esi, dword ptr [ebp-0x0C] - mov eax, dword ptr [ebp-0x10] - mov edi, 10
+ mov eax, bword ptr [ebp+0x08] + ; byrRegs +[eax] + mov bword ptr [ebp-0x0C], eax + mov edx, dword ptr [ebp-0x04] + ; byrRegs -[edx] + mov dword ptr [ebp-0x10], edx + mov eax, dword ptr [ebp-0x08] + ; byrRegs -[eax] + mov ecx, 10
cdq
- idiv edx:eax, edi
+ idiv edx:eax, ecx
lea eax, [eax+4*eax] add eax, eax
- mov edx, dword ptr [ebp-0x10]
+ mov edx, dword ptr [ebp-0x08]
sub edx, eax
- add edx, 48 - mov word ptr [ecx+2*esi+0x02], dx - ;; size=76 bbWeight=1 PerfScore 70.25
+ lea eax, [edx+0x30] + mov edx, bword ptr [ebp-0x0C] + ; byrRegs +[edx] + mov ecx, dword ptr [ebp-0x10] + mov word ptr [edx+2*ecx+0x02], ax + ;; size=100 bbWeight=1 PerfScore 78.50
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- lea esp, [ebp-0x08] - pop esi - pop edi
+ mov esp, ebp
pop ebp ret 8
- ;; size=9 bbWeight=1 PerfScore 4.00
+ ;; size=6 bbWeight=1 PerfScore 2.75
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref
- ; byrRegs -[ecx]
+ ; byrRegs -[edx]
call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 105, prolog size 8, PerfScore 79.75, instruction count 41, allocated bytes for code 105 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
+; Total bytes of code 129, prolog size 11, PerfScore 86.00, instruction count 47, allocated bytes for code 129 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
; ============================================================

+8 (+22.86%) : 45216.dasm - Interop+Kernel32+FILE_TIME:ToTicks():long:this (Instrumented Tier0)

@@ -7,13 +7,14 @@ ; ; V00 this [V00 ] ( 1, 1 ) byref -> [ebp-0x04] do-not-enreg[] this ; V01 tmp0 [V01 ] ( 1, 1 ) int -> [ebp-0x08] "ReplaceWithLclVar is creating a new local variable"
+; TEMP_01 int -> [ebp-0x0C]
;
-; Lcl frame size = 8
+; Lcl frame size = 12
G_M56989_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push ebp mov ebp, esp
- sub esp, 8
+ sub esp, 12
mov bword ptr [ebp-0x04], ecx ;; size=9 bbWeight=1 PerfScore 2.50 G_M56989_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref @@ -22,19 +23,22 @@ G_M56989_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov eax, dword ptr [eax+0x04] ; byrRegs -[eax] mov dword ptr [ebp-0x08], eax
- mov edx, dword ptr [ebp-0x08] - xor eax, eax
+ mov eax, dword ptr [ebp-0x08] + xor edx, edx
mov ecx, bword ptr [ebp-0x04] ; byrRegs +[ecx]
- add eax, dword ptr [ecx]
+ add edx, dword ptr [ecx] + mov dword ptr [ebp-0x0C], edx + mov edx, eax
adc edx, 0
- ;; size=22 bbWeight=1 PerfScore 9.75
+ mov eax, dword ptr [ebp-0x0C] + ;; size=30 bbWeight=1 PerfScore 12.00
G_M56989_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 35, prolog size 6, PerfScore 14.00, instruction count 15, allocated bytes for code 35 (MethodHash=e4a62162) for method Interop+Kernel32+FILE_TIME:ToTicks():long:this (Instrumented Tier0)
+; Total bytes of code 43, prolog size 6, PerfScore 16.25, instruction count 18, allocated bytes for code 43 (MethodHash=e4a62162) for method Interop+Kernel32+FILE_TIME:ToTicks():long:this (Instrumented Tier0)
; ============================================================

+10 (+29.41%) : 31537.dasm - System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)

@@ -7,31 +7,35 @@ ; ; V00 arg0 [V00 ] ( 1, 1 ) long -> [ebp+0x08] do-not-enreg[] ; V01 tmp0 [V01 ] ( 1, 1 ) int -> [ebp-0x04] "ReplaceWithLclVar is creating a new local variable"
+; TEMP_01 int -> [ebp-0x08]
;
-; Lcl frame size = 4
+; Lcl frame size = 8
G_M62483_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push ebp mov ebp, esp
- push eax - ;; size=4 bbWeight=1 PerfScore 2.25
+ sub esp, 8 + ;; size=6 bbWeight=1 PerfScore 1.50
G_M62483_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref mov eax, dword ptr [ebp+0x08] bswap eax mov dword ptr [ebp-0x04], eax
- mov edx, dword ptr [ebp-0x04] - mov eax, dword ptr [ebp+0x0C]
+ mov eax, dword ptr [ebp-0x04] + mov dword ptr [ebp-0x08], eax + mov edx, dword ptr [ebp+0x0C]
xor ecx, ecx
- bswap eax
+ bswap edx + mov eax, edx
add eax, 0
+ mov edx, dword ptr [ebp-0x08]
adc edx, 0
- ;; size=24 bbWeight=1 PerfScore 6.00
+ ;; size=32 bbWeight=1 PerfScore 8.25
G_M62483_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 8 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 34, prolog size 4, PerfScore 11.00, instruction count 15, allocated bytes for code 34 (MethodHash=07e90bec) for method System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
+; Total bytes of code 44, prolog size 6, PerfScore 12.50, instruction count 18, allocated bytes for code 44 (MethodHash=07e90bec) for method System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
; ============================================================

benchmarks.run_tiered.windows.x86.checked.mch

-8 (-12.50%) : 31607.dasm - System.SpanHelpers:IndexOfAnyValueTypeshort:int (Tier0)

@@ -23,32 +23,32 @@ G_M25943_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x08], edx ;; size=12 bbWeight=1 PerfScore 3.50 G_M25943_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp+0x18] - movsx edx, dx - push edx - mov edx, dword ptr [ebp+0x14] - movsx edx, dx - push edx - mov edx, dword ptr [ebp+0x10] - movsx edx, dx - push edx - mov edx, dword ptr [ebp+0x0C] - movsx edx, dx - push edx
+ mov eax, dword ptr [ebp+0x18] + cwde + push eax + mov eax, dword ptr [ebp+0x14] + cwde + push eax + mov eax, dword ptr [ebp+0x10] + cwde + push eax + mov eax, dword ptr [ebp+0x0C] + cwde + push eax
push dword ptr [ebp+0x08]
- mov edx, dword ptr [ebp-0x08] - movsx edx, dx
+ mov eax, dword ptr [ebp-0x08] + movsx edx, ax
mov ecx, bword ptr [ebp-0x04] ; byrRegs +[ecx] call [<unknown method>] ; byrRegs -[ecx]
- ;; size=46 bbWeight=1 PerfScore 15.25
+ ;; size=38 bbWeight=1 PerfScore 15.25
G_M25943_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 20 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 64, prolog size 6, PerfScore 21.50, instruction count 25, allocated bytes for code 64 (MethodHash=e4db9aa8) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
+; Total bytes of code 56, prolog size 6, PerfScore 21.50, instruction count 25, allocated bytes for code 56 (MethodHash=e4db9aa8) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
; ============================================================

-6 (-10.53%) : 29355.dasm - System.SpanHelpers:IndexOfAnyValueTypeshort:int (Tier0)

@@ -22,29 +22,29 @@ G_M50313_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x08], edx ;; size=12 bbWeight=1 PerfScore 3.50 G_M50313_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp+0x14] - movsx edx, dx - push edx - mov edx, dword ptr [ebp+0x10] - movsx edx, dx - push edx - mov edx, dword ptr [ebp+0x0C] - movsx edx, dx - push edx
+ mov eax, dword ptr [ebp+0x14] + cwde + push eax + mov eax, dword ptr [ebp+0x10] + cwde + push eax + mov eax, dword ptr [ebp+0x0C] + cwde + push eax
push dword ptr [ebp+0x08]
- mov edx, dword ptr [ebp-0x08] - movsx edx, dx
+ mov eax, dword ptr [ebp-0x08] + movsx edx, ax
mov ecx, bword ptr [ebp-0x04] ; byrRegs +[ecx] call [<unknown method>] ; byrRegs -[ecx]
- ;; size=39 bbWeight=1 PerfScore 13.00
+ ;; size=33 bbWeight=1 PerfScore 13.00
G_M50313_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 16 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 57, prolog size 6, PerfScore 19.25, instruction count 22, allocated bytes for code 57 (MethodHash=d7f23b76) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int (Tier0)
+; Total bytes of code 51, prolog size 6, PerfScore 19.25, instruction count 22, allocated bytes for code 51 (MethodHash=d7f23b76) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int (Tier0)
; ============================================================

-4 (-8.16%) : 5078.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)

@@ -18,23 +18,23 @@ G_M42870_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x04], ecx ;; size=9 bbWeight=1 PerfScore 2.50 G_M42870_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov ecx, dword ptr [ebp-0x04] - movsx ecx, cx - ror cx, 8 - movzx ecx, cx - movsx ecx, cx - mov dword ptr [ebp-0x08], ecx
+ mov eax, dword ptr [ebp-0x04] + cwde + ror ax, 8 + movzx eax, ax + cwde + mov dword ptr [ebp-0x08], eax
push dword ptr [ebp+0x0C] push bword ptr [ebp+0x08] lea ecx, [ebp-0x08] call [<unknown method>]
- ;; size=34 bbWeight=1 PerfScore 8.75
+ ;; size=30 bbWeight=1 PerfScore 8.75
G_M42870_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 8 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 49, prolog size 6, PerfScore 14.00, instruction count 17, allocated bytes for code 49 (MethodHash=7e0e5889) for method System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
+; Total bytes of code 45, prolog size 6, PerfScore 14.00, instruction count 17, allocated bytes for code 45 (MethodHash=7e0e5889) for method System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
; ============================================================

+8 (+22.86%) : 28234.dasm - Interop+Kernel32+FILE_TIME:ToTicks():long:this (Tier0)

@@ -7,13 +7,14 @@ ; ; V00 this [V00 ] ( 1, 1 ) byref -> [ebp-0x04] do-not-enreg[] this ; V01 tmp0 [V01 ] ( 1, 1 ) int -> [ebp-0x08] "ReplaceWithLclVar is creating a new local variable"
+; TEMP_01 int -> [ebp-0x0C]
;
-; Lcl frame size = 8
+; Lcl frame size = 12
G_M56989_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push ebp mov ebp, esp
- sub esp, 8
+ sub esp, 12
mov bword ptr [ebp-0x04], ecx ;; size=9 bbWeight=1 PerfScore 2.50 G_M56989_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref @@ -22,19 +23,22 @@ G_M56989_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov eax, dword ptr [eax+0x04] ; byrRegs -[eax] mov dword ptr [ebp-0x08], eax
- mov edx, dword ptr [ebp-0x08] - xor eax, eax
+ mov eax, dword ptr [ebp-0x08] + xor edx, edx
mov ecx, bword ptr [ebp-0x04] ; byrRegs +[ecx]
- add eax, dword ptr [ecx]
+ add edx, dword ptr [ecx] + mov dword ptr [ebp-0x0C], edx + mov edx, eax
adc edx, 0
- ;; size=22 bbWeight=1 PerfScore 9.75
+ mov eax, dword ptr [ebp-0x0C] + ;; size=30 bbWeight=1 PerfScore 12.00
G_M56989_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 35, prolog size 6, PerfScore 14.00, instruction count 15, allocated bytes for code 35 (MethodHash=e4a62162) for method Interop+Kernel32+FILE_TIME:ToTicks():long:this (Tier0)
+; Total bytes of code 43, prolog size 6, PerfScore 16.25, instruction count 18, allocated bytes for code 43 (MethodHash=e4a62162) for method Interop+Kernel32+FILE_TIME:ToTicks():long:this (Tier0)
; ============================================================

+24 (+22.86%) : 10092.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)

@@ -6,63 +6,77 @@ ; Final local variable assignments ; ; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [ebp+0x08] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x0C] do-not-enreg[] -; V02 arg2 [V02 ] ( 1, 1 ) int -> [ebp-0x10] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x04] do-not-enreg[] +; V02 arg2 [V02 ] ( 1, 1 ) int -> [ebp-0x08] do-not-enreg[] +; TEMP_02 byref -> [ebp-0x0C] +; TEMP_01 int -> [ebp-0x10]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push ebp mov ebp, esp
- push edi - push esi - sub esp, 8 - mov dword ptr [ebp-0x0C], ecx - mov dword ptr [ebp-0x10], edx - ;; size=14 bbWeight=1 PerfScore 5.50
+ sub esp, 16 + xor eax, eax + mov dword ptr [ebp-0x0C], eax + mov dword ptr [ebp-0x04], ecx + mov dword ptr [ebp-0x08], edx + ;; size=17 bbWeight=1 PerfScore 4.75
G_M44368_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz mov eax, dword ptr [ebp+0x0C]
- cmp dword ptr [ebp-0x0C], eax
+ cmp dword ptr [ebp-0x04], eax
jae SHORT G_M44368_IG04
- mov ecx, bword ptr [ebp+0x08] - ; byrRegs +[ecx] - mov esi, dword ptr [ebp-0x0C] - mov eax, dword ptr [ebp-0x10] - mov edi, 10
+ mov eax, bword ptr [ebp+0x08] + ; byrRegs +[eax] + mov bword ptr [ebp-0x0C], eax + mov edx, dword ptr [ebp-0x04] + mov dword ptr [ebp-0x10], edx + mov eax, dword ptr [ebp-0x08] + ; byrRegs -[eax] + mov ecx, 10
cdq
- idiv edx:eax, edi
+ idiv edx:eax, ecx
add eax, 48
- mov word ptr [ecx+2*esi], ax - mov eax, dword ptr [ebp-0x0C]
+ mov edx, bword ptr [ebp-0x0C] + ; byrRegs +[edx] + mov ecx, dword ptr [ebp-0x10] + mov word ptr [edx+2*ecx], ax + mov eax, dword ptr [ebp-0x04]
inc eax cmp eax, dword ptr [ebp+0x0C] jae SHORT G_M44368_IG04
- mov ecx, bword ptr [ebp+0x08] - mov esi, dword ptr [ebp-0x0C] - mov eax, dword ptr [ebp-0x10] - mov edi, 10
+ mov eax, bword ptr [ebp+0x08] + ; byrRegs +[eax] + mov bword ptr [ebp-0x0C], eax + mov edx, dword ptr [ebp-0x04] + ; byrRegs -[edx] + mov dword ptr [ebp-0x10], edx + mov eax, dword ptr [ebp-0x08] + ; byrRegs -[eax] + mov ecx, 10
cdq
- idiv edx:eax, edi
+ idiv edx:eax, ecx
lea eax, [eax+4*eax] add eax, eax
- mov edx, dword ptr [ebp-0x10]
+ mov edx, dword ptr [ebp-0x08]
sub edx, eax
- add edx, 48 - mov word ptr [ecx+2*esi+0x02], dx - ;; size=76 bbWeight=1 PerfScore 70.25
+ lea eax, [edx+0x30] + mov edx, bword ptr [ebp-0x0C] + ; byrRegs +[edx] + mov ecx, dword ptr [ebp-0x10] + mov word ptr [edx+2*ecx+0x02], ax + ;; size=100 bbWeight=1 PerfScore 78.50
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- lea esp, [ebp-0x08] - pop esi - pop edi
+ mov esp, ebp
pop ebp ret 8
- ;; size=9 bbWeight=1 PerfScore 4.00
+ ;; size=6 bbWeight=1 PerfScore 2.75
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref
- ; byrRegs -[ecx]
+ ; byrRegs -[edx]
call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 105, prolog size 8, PerfScore 79.75, instruction count 41, allocated bytes for code 105 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
+; Total bytes of code 129, prolog size 11, PerfScore 86.00, instruction count 47, allocated bytes for code 129 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
; ============================================================

+10 (+29.41%) : 23388.dasm - System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)

@@ -7,31 +7,35 @@ ; ; V00 arg0 [V00 ] ( 1, 1 ) long -> [ebp+0x08] do-not-enreg[] ; V01 tmp0 [V01 ] ( 1, 1 ) int -> [ebp-0x04] "ReplaceWithLclVar is creating a new local variable"
+; TEMP_01 int -> [ebp-0x08]
;
-; Lcl frame size = 4
+; Lcl frame size = 8
G_M62483_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push ebp mov ebp, esp
- push eax - ;; size=4 bbWeight=1 PerfScore 2.25
+ sub esp, 8 + ;; size=6 bbWeight=1 PerfScore 1.50
G_M62483_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref mov eax, dword ptr [ebp+0x08] bswap eax mov dword ptr [ebp-0x04], eax
- mov edx, dword ptr [ebp-0x04] - mov eax, dword ptr [ebp+0x0C]
+ mov eax, dword ptr [ebp-0x04] + mov dword ptr [ebp-0x08], eax + mov edx, dword ptr [ebp+0x0C]
xor ecx, ecx
- bswap eax
+ bswap edx + mov eax, edx
add eax, 0
+ mov edx, dword ptr [ebp-0x08]
adc edx, 0
- ;; size=24 bbWeight=1 PerfScore 6.00
+ ;; size=32 bbWeight=1 PerfScore 8.25
G_M62483_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 8 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 34, prolog size 4, PerfScore 11.00, instruction count 15, allocated bytes for code 34 (MethodHash=07e90bec) for method System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
+; Total bytes of code 44, prolog size 6, PerfScore 12.50, instruction count 18, allocated bytes for code 44 (MethodHash=07e90bec) for method System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
; ============================================================

coreclr_tests.run.windows.x86.checked.mch

-4 (-7.27%) : 371257.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Instrumented Tier0)

@@ -18,28 +18,28 @@ G_M18391_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x08], edx ;; size=12 bbWeight=1 PerfScore 3.50 G_M18391_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x08] - movsx edx, dx - movzx edx, dl
+ mov eax, dword ptr [ebp-0x08] + cwde + movzx edx, al
mov ecx, bword ptr [ebp-0x04] ; byrRegs +[ecx] call [<unknown method>] ; byrRegs -[ecx]
- mov edx, dword ptr [ebp-0x08] - movsx edx, dx - sar edx, 8 - movzx edx, dl
+ mov eax, dword ptr [ebp-0x08] + cwde + sar eax, 8 + movzx edx, al
mov ecx, bword ptr [ebp-0x04] ; byrRegs +[ecx] call [<unknown method>] ; byrRegs -[ecx]
- ;; size=39 bbWeight=1 PerfScore 11.50
+ ;; size=35 bbWeight=1 PerfScore 11.50
G_M18391_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 55, prolog size 6, PerfScore 16.75, instruction count 19, allocated bytes for code 55 (MethodHash=3800b828) for method ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Instrumented Tier0)
+; Total bytes of code 51, prolog size 6, PerfScore 16.75, instruction count 19, allocated bytes for code 51 (MethodHash=3800b828) for method ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Instrumented Tier0)
; ============================================================

-4 (-7.27%) : 338643.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)

@@ -18,28 +18,28 @@ G_M18391_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x08], edx ;; size=12 bbWeight=1 PerfScore 3.50 G_M18391_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x08] - movsx edx, dx - movzx edx, dl
+ mov eax, dword ptr [ebp-0x08] + cwde + movzx edx, al
mov ecx, bword ptr [ebp-0x04] ; byrRegs +[ecx] call [<unknown method>] ; byrRegs -[ecx]
- mov edx, dword ptr [ebp-0x08] - movsx edx, dx - sar edx, 8 - movzx edx, dl
+ mov eax, dword ptr [ebp-0x08] + cwde + sar eax, 8 + movzx edx, al
mov ecx, bword ptr [ebp-0x04] ; byrRegs +[ecx] call [<unknown method>] ; byrRegs -[ecx]
- ;; size=39 bbWeight=1 PerfScore 11.50
+ ;; size=35 bbWeight=1 PerfScore 11.50
G_M18391_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 55, prolog size 6, PerfScore 16.75, instruction count 19, allocated bytes for code 55 (MethodHash=3800b828) for method ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
+; Total bytes of code 51, prolog size 6, PerfScore 16.75, instruction count 19, allocated bytes for code 51 (MethodHash=3800b828) for method ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
; ============================================================

-4 (-6.25%) : 253891.dasm - TestApp:test413(short):short (Tier0)

@@ -16,35 +16,35 @@ G_M1644_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, mov dword ptr [ebp-0x04], ecx ;; size=7 bbWeight=1 PerfScore 3.25 G_M1644_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, gword ptr [D1FFAB1EH] ; static handle - ; gcrRegs +[edx] - movsx edx, word ptr [edx+0x0C] - ; gcrRegs -[edx] - or edx, 1 - add edx, -2 - push edx - mov edx, gword ptr [D1FFAB1EH] ; static handle - ; gcrRegs +[edx] - movsx edx, word ptr [edx+0x0C] - ; gcrRegs -[edx] - inc edx - push edx - mov edx, dword ptr [ebp-0x04] - movsx edx, dx - add edx, -100
+ mov eax, gword ptr [D1FFAB1EH] ; static handle + ; gcrRegs +[eax] + movsx eax, word ptr [eax+0x0C] + ; gcrRegs -[eax] + or eax, 1 + add eax, -2 + push eax + mov eax, gword ptr [D1FFAB1EH] ; static handle + ; gcrRegs +[eax] + movsx eax, word ptr [eax+0x0C] + ; gcrRegs -[eax] + inc eax + push eax + mov eax, dword ptr [ebp-0x04] + cwde + lea edx, [eax-0x64]
mov ecx, gword ptr [D1FFAB1EH] ; static handle ; gcrRegs +[ecx] call <unknown method> ; gcrRegs -[ecx] +[eax] movsx eax, word ptr [eax+0x0C] ; gcrRegs -[eax]
- ;; size=53 bbWeight=1 PerfScore 23.25
+ ;; size=49 bbWeight=1 PerfScore 23.50
G_M1644_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 64, prolog size 4, PerfScore 28.25, instruction count 22, allocated bytes for code 64 (MethodHash=2d4af993) for method TestApp:test_4_13(short):short (Tier0)
+; Total bytes of code 60, prolog size 4, PerfScore 28.50, instruction count 22, allocated bytes for code 60 (MethodHash=2d4af993) for method TestApp:test_4_13(short):short (Tier0)
; ============================================================

+10 (+22.73%) : 220115.dasm - Program:TestCond3() (Tier0)

@@ -5,34 +5,38 @@ ; partially interruptible ; Final local variable assignments ;
+; TEMP_01 ref -> [ebp-0x04]
;
-; Lcl frame size = 0
+; Lcl frame size = 4
G_M41046_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push ebp mov ebp, esp
- push esi - ;; size=4 bbWeight=1 PerfScore 2.25
+ push eax + xor eax, eax + mov dword ptr [ebp-0x04], eax + ;; size=9 bbWeight=1 PerfScore 3.50
G_M41046_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz call [<unknown method>] ; gcrRegs +[eax]
- mov esi, eax - ; gcrRegs +[esi]
+ mov gword ptr [ebp-0x04], eax
mov ecx, 0xD1FFAB1E mov edx, 3 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE ; gcrRegs -[eax]
- cmp esi, gword ptr [D1FFAB1EH] ; static handle
+ mov eax, gword ptr [ebp-0x04] + ; gcrRegs +[eax] + cmp eax, gword ptr [D1FFAB1EH] ; static handle
jne SHORT G_M41046_IG03 call [<unknown method>]
- ; gcrRegs -[esi] - ;; size=37 bbWeight=1 PerfScore 11.75
+ ; gcrRegs -[eax] + ;; size=41 bbWeight=1 PerfScore 13.50
G_M41046_IG03: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, epilog, nogc
- pop esi
+ mov esp, ebp
pop ebp ret
- ;; size=3 bbWeight=1 PerfScore 2.00
+ ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 44, prolog size 4, PerfScore 16.00, instruction count 14, allocated bytes for code 44 (MethodHash=8a015fa9) for method Program:TestCond3() (Tier0)
+; Total bytes of code 54, prolog size 9, PerfScore 18.75, instruction count 17, allocated bytes for code 54 (MethodHash=8a015fa9) for method Program:TestCond3() (Tier0)
; ============================================================

+24 (+22.86%) : 235294.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)

@@ -6,63 +6,77 @@ ; Final local variable assignments ; ; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [ebp+0x08] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x0C] do-not-enreg[] -; V02 arg2 [V02 ] ( 1, 1 ) int -> [ebp-0x10] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x04] do-not-enreg[] +; V02 arg2 [V02 ] ( 1, 1 ) int -> [ebp-0x08] do-not-enreg[] +; TEMP_02 byref -> [ebp-0x0C] +; TEMP_01 int -> [ebp-0x10]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push ebp mov ebp, esp
- push edi - push esi - sub esp, 8 - mov dword ptr [ebp-0x0C], ecx - mov dword ptr [ebp-0x10], edx - ;; size=14 bbWeight=1 PerfScore 5.50
+ sub esp, 16 + xor eax, eax + mov dword ptr [ebp-0x0C], eax + mov dword ptr [ebp-0x04], ecx + mov dword ptr [ebp-0x08], edx + ;; size=17 bbWeight=1 PerfScore 4.75
G_M44368_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz mov eax, dword ptr [ebp+0x0C]
- cmp dword ptr [ebp-0x0C], eax
+ cmp dword ptr [ebp-0x04], eax
jae SHORT G_M44368_IG04
- mov ecx, bword ptr [ebp+0x08] - ; byrRegs +[ecx] - mov esi, dword ptr [ebp-0x0C] - mov eax, dword ptr [ebp-0x10] - mov edi, 10
+ mov eax, bword ptr [ebp+0x08] + ; byrRegs +[eax] + mov bword ptr [ebp-0x0C], eax + mov edx, dword ptr [ebp-0x04] + mov dword ptr [ebp-0x10], edx + mov eax, dword ptr [ebp-0x08] + ; byrRegs -[eax] + mov ecx, 10
cdq
- idiv edx:eax, edi
+ idiv edx:eax, ecx
add eax, 48
- mov word ptr [ecx+2*esi], ax - mov eax, dword ptr [ebp-0x0C]
+ mov edx, bword ptr [ebp-0x0C] + ; byrRegs +[edx] + mov ecx, dword ptr [ebp-0x10] + mov word ptr [edx+2*ecx], ax + mov eax, dword ptr [ebp-0x04]
inc eax cmp eax, dword ptr [ebp+0x0C] jae SHORT G_M44368_IG04
- mov ecx, bword ptr [ebp+0x08] - mov esi, dword ptr [ebp-0x0C] - mov eax, dword ptr [ebp-0x10] - mov edi, 10
+ mov eax, bword ptr [ebp+0x08] + ; byrRegs +[eax] + mov bword ptr [ebp-0x0C], eax + mov edx, dword ptr [ebp-0x04] + ; byrRegs -[edx] + mov dword ptr [ebp-0x10], edx + mov eax, dword ptr [ebp-0x08] + ; byrRegs -[eax] + mov ecx, 10
cdq
- idiv edx:eax, edi
+ idiv edx:eax, ecx
lea eax, [eax+4*eax] add eax, eax
- mov edx, dword ptr [ebp-0x10]
+ mov edx, dword ptr [ebp-0x08]
sub edx, eax
- add edx, 48 - mov word ptr [ecx+2*esi+0x02], dx - ;; size=76 bbWeight=1 PerfScore 70.25
+ lea eax, [edx+0x30] + mov edx, bword ptr [ebp-0x0C] + ; byrRegs +[edx] + mov ecx, dword ptr [ebp-0x10] + mov word ptr [edx+2*ecx+0x02], ax + ;; size=100 bbWeight=1 PerfScore 78.50
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- lea esp, [ebp-0x08] - pop esi - pop edi
+ mov esp, ebp
pop ebp ret 8
- ;; size=9 bbWeight=1 PerfScore 4.00
+ ;; size=6 bbWeight=1 PerfScore 2.75
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref
- ; byrRegs -[ecx]
+ ; byrRegs -[edx]
call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 105, prolog size 8, PerfScore 79.75, instruction count 41, allocated bytes for code 105 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
+; Total bytes of code 129, prolog size 11, PerfScore 86.00, instruction count 47, allocated bytes for code 129 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
; ============================================================

+11 (+26.83%) : 220125.dasm - Program:TestRet2():ubyte (Tier0)

@@ -5,33 +5,38 @@ ; partially interruptible ; Final local variable assignments ;
+; TEMP_01 ref -> [ebp-0x04]
;
-; Lcl frame size = 0
+; Lcl frame size = 4
G_M6455_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push ebp mov ebp, esp
- push esi - ;; size=4 bbWeight=1 PerfScore 2.25
+ push eax + xor eax, eax + mov dword ptr [ebp-0x04], eax + ;; size=9 bbWeight=1 PerfScore 3.50
G_M6455_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref call [<unknown method>] ; gcrRegs +[eax]
- mov esi, eax - ; gcrRegs +[esi]
+ mov gword ptr [ebp-0x04], eax
mov ecx, 0xD1FFAB1E mov edx, 3 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE ; gcrRegs -[eax]
- xor eax, eax - cmp esi, gword ptr [D1FFAB1EH] ; static handle
+ mov eax, gword ptr [ebp-0x04] + ; gcrRegs +[eax] + cmp eax, gword ptr [D1FFAB1EH] ; static handle
sete al
- ;; size=34 bbWeight=1 PerfScore 9.00
+ ; gcrRegs -[eax] + movzx eax, al + ;; size=39 bbWeight=1 PerfScore 10.75
G_M6455_IG03: ; bbWeight=1, epilog, nogc, extend
- pop esi
+ mov esp, ebp
pop ebp ret
- ;; size=3 bbWeight=1 PerfScore 2.00
+ ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 41, prolog size 4, PerfScore 13.25, instruction count 14, allocated bytes for code 41 (MethodHash=6df9e6c8) for method Program:TestRet2():ubyte (Tier0)
+; Total bytes of code 52, prolog size 9, PerfScore 16.00, instruction count 17, allocated bytes for code 52 (MethodHash=6df9e6c8) for method Program:TestRet2():ubyte (Tier0)
; ============================================================

libraries.crossgen2.windows.x86.checked.mch

-1 (-1.89%) : 21148.dasm - System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletion():this (MinOpts)

@@ -25,8 +25,8 @@ G_M56207_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ; gcrRegs -[ecx] mov dword ptr [ebp-0x08], eax mov ecx, dword ptr [ebp-0x08]
- mov edx, dword ptr [(reloc)] ; const ptr - mov edx, gword ptr [edx]
+ mov eax, dword ptr [(reloc)] ; const ptr + mov edx, gword ptr [eax]
; gcrRegs +[edx] call [<unknown method>] ; gcrRegs -[edx] @@ -35,13 +35,13 @@ G_M56207_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} xor edx, edx call [<unknown method>] ; gcrRegs -[ecx]
- ;; size=40 bbWeight=1 PerfScore 17.25
+ ;; size=39 bbWeight=1 PerfScore 17.25
G_M56207_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 53, prolog size 6, PerfScore 21.50, instruction count 17, allocated bytes for code 53 (MethodHash=94b92470) for method System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletion():this (MinOpts)
+; Total bytes of code 52, prolog size 6, PerfScore 21.50, instruction count 17, allocated bytes for code 52 (MethodHash=94b92470) for method System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletion():this (MinOpts)
; ============================================================

-1 (-1.67%) : 7025.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)

@@ -22,8 +22,8 @@ G_M3757_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, mov gword ptr [ebp-0x04], ecx ;; size=14 bbWeight=1 PerfScore 3.75 G_M3757_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx - mov gword ptr [ebp-0x0C], ecx
+ xor eax, eax + mov gword ptr [ebp-0x0C], eax
push gword ptr [ebp-0x0C] mov ecx, gword ptr [ebp-0x04] ; gcrRegs +[ecx] @@ -31,19 +31,19 @@ G_M3757_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, call [<unknown method>] ; gcrRegs -[ecx] mov dword ptr [ebp-0x08], eax
- mov edx, dword ptr [(reloc)] ; const ptr - mov edx, gword ptr [edx]
+ mov eax, dword ptr [(reloc)] ; const ptr + mov edx, gword ptr [eax]
; gcrRegs +[edx] mov ecx, dword ptr [ebp-0x08] call [<unknown method>] ; gcrRegs -[edx]
- ;; size=42 bbWeight=1 PerfScore 15.50
+ ;; size=41 bbWeight=1 PerfScore 15.50
G_M3757_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 60, prolog size 11, PerfScore 21.00, instruction count 20, allocated bytes for code 60 (MethodHash=ca52f152) for method System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
+; Total bytes of code 59, prolog size 11, PerfScore 21.00, instruction count 20, allocated bytes for code 59 (MethodHash=ca52f152) for method System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
; ============================================================

-1 (-1.08%) : 7030.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)

@@ -23,8 +23,8 @@ G_M30483_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov gword ptr [ebp-0x04], ecx ;; size=14 bbWeight=1 PerfScore 3.75 G_M30483_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- xor ecx, ecx - mov gword ptr [ebp-0x0C], ecx
+ xor eax, eax + mov gword ptr [ebp-0x0C], eax
push gword ptr [ebp-0x0C] mov ecx, gword ptr [ebp-0x04] ; gcrRegs +[ecx] @@ -32,35 +32,35 @@ G_M30483_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} call [<unknown method>] ; gcrRegs -[ecx] mov dword ptr [ebp-0x08], eax
- mov edx, gword ptr [ebp-0x04] - ; gcrRegs +[edx] - cmp dword ptr [edx+0x04], 0
+ mov eax, gword ptr [ebp-0x04] + ; gcrRegs +[eax] + cmp dword ptr [eax+0x04], 0
je SHORT G_M30483_IG03
- xor edx, edx - ; gcrRegs -[edx]
+ xor eax, eax + ; gcrRegs -[eax]
cmp dword ptr [ebp-0x08], -1
- setne dl - mov dword ptr [ebp-0x10], edx
+ setne al + mov dword ptr [ebp-0x10], eax
jmp SHORT G_M30483_IG04 ;; size=48 bbWeight=1 PerfScore 18.75 G_M30483_IG03: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref mov dword ptr [ebp-0x10], 1 ;; size=7 bbWeight=1 PerfScore 1.00 G_M30483_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [(reloc)] ; const ptr - mov edx, gword ptr [edx]
+ mov eax, dword ptr [(reloc)] ; const ptr + mov edx, gword ptr [eax]
; gcrRegs +[edx] mov ecx, dword ptr [ebp-0x10] call [<unknown method>] ; gcrRegs -[edx] mov eax, dword ptr [ebp-0x08]
- ;; size=20 bbWeight=1 PerfScore 9.00
+ ;; size=19 bbWeight=1 PerfScore 9.00
G_M30483_IG05: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 93, prolog size 11, PerfScore 34.25, instruction count 30, allocated bytes for code 93 (MethodHash=1f4588ec) for method System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
+; Total bytes of code 92, prolog size 11, PerfScore 34.25, instruction count 30, allocated bytes for code 92 (MethodHash=1f4588ec) for method System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
; ============================================================

+2 (+1.45%) : 134321.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[ubyte]):ubyte (MinOpts)

@@ -41,10 +41,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=00000000 {}, b lea ecx, [ebp+0x10] call [<unknown method>] mov dword ptr [ebp-0x04], eax
- xor ecx, ecx - mov dword ptr [ebp-0x08], ecx - xor ecx, ecx - mov dword ptr [ebp-0x0C], ecx
+ xor eax, eax + mov dword ptr [ebp-0x08], eax + xor eax, eax + mov dword ptr [ebp-0x0C], eax
jmp SHORT G_M16092_IG06 ;; size=24 bbWeight=1 PerfScore 9.00 G_M16092_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref @@ -52,24 +52,27 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov edx, dword ptr [ebp-0x0C] call [<unknown method>] ; byrRegs +[eax]
- movzx ecx, byte ptr [eax] - mov dword ptr [ebp-0x14], ecx
+ movzx eax, byte ptr [eax] + ; byrRegs -[eax] + mov dword ptr [ebp-0x14], eax
lea ecx, [ebp+0x08] mov edx, dword ptr [ebp-0x0C] call [<unknown method>]
+ ; byrRegs +[eax]
movzx eax, byte ptr [eax] ; byrRegs -[eax] mov edx, dword ptr [ebp-0x14] sub edx, eax
- or edx, dword ptr [ebp-0x08] - mov dword ptr [ebp-0x08], edx
+ mov eax, edx + or eax, dword ptr [ebp-0x08] + mov dword ptr [ebp-0x08], eax
mov eax, dword ptr [ebp-0x0C] inc eax mov dword ptr [ebp-0x0C], eax
- ;; size=51 bbWeight=1 PerfScore 20.50
+ ;; size=53 bbWeight=1 PerfScore 20.75
G_M16092_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x0C] - cmp ecx, dword ptr [ebp-0x04]
+ mov eax, dword ptr [ebp-0x0C] + cmp eax, dword ptr [ebp-0x04]
jl SHORT G_M16092_IG05 xor eax, eax cmp dword ptr [ebp-0x08], 0 @@ -81,6 +84,6 @@ G_M16092_IG07: ; bbWeight=1, epilog, nogc, extend ret 16 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 138, prolog size 6, PerfScore 55.00, instruction count 47, allocated bytes for code 138 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 140, prolog size 6, PerfScore 55.25, instruction count 48, allocated bytes for code 140 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================

+2 (+1.45%) : 7026.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)

@@ -35,29 +35,30 @@ G_M28342_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} call [CORINFO_HELP_DBL2LNG] mov dword ptr [ebp-0x0C], eax mov dword ptr [ebp-0x08], edx
- mov ecx, dword ptr [ebp-0x0C]
+ mov eax, dword ptr [ebp-0x0C]
mov dword ptr [ebp-0x14], -1
- mov eax, dword ptr [ebp-0x14] - sar eax, 31 - cmp ecx, dword ptr [ebp-0x14] - mov ecx, dword ptr [ebp-0x08] - sbb ecx, eax
+ mov edx, dword ptr [ebp-0x14] + sar edx, 31 + cmp eax, dword ptr [ebp-0x14] + mov eax, dword ptr [ebp-0x08] + sbb eax, edx
jl SHORT G_M28342_IG03 mov dword ptr [ebp-0x18], 0xD1FFAB1E
- mov ecx, dword ptr [ebp-0x18]
mov eax, dword ptr [ebp-0x18]
- sar eax, 31 - cmp ecx, dword ptr [ebp-0x0C]
+ mov edx, dword ptr [ebp-0x18] + sar edx, 31 + cmp eax, dword ptr [ebp-0x0C] + mov eax, edx
sbb eax, dword ptr [ebp-0x08] jge SHORT G_M28342_IG04
- ;; size=87 bbWeight=1 PerfScore 30.75
+ ;; size=89 bbWeight=1 PerfScore 31.00
G_M28342_IG03: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref mov ecx, 62 call [<unknown method>] ;; size=11 bbWeight=1 PerfScore 3.25 G_M28342_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx - mov gword ptr [ebp-0x10], ecx
+ xor eax, eax + mov gword ptr [ebp-0x10], eax
push gword ptr [ebp-0x10] mov ecx, gword ptr [ebp-0x04] ; gcrRegs +[ecx] @@ -71,6 +72,6 @@ G_M28342_IG05: ; bbWeight=1, epilog, nogc, extend ret 8 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 138, prolog size 11, PerfScore 47.75, instruction count 41, allocated bytes for code 138 (MethodHash=e8ec9149) for method System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
+; Total bytes of code 140, prolog size 11, PerfScore 48.00, instruction count 42, allocated bytes for code 140 (MethodHash=e8ec9149) for method System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
; ============================================================

+2 (+1.45%) : 7031.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)

@@ -35,29 +35,30 @@ G_M50957_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} call [CORINFO_HELP_DBL2LNG] mov dword ptr [ebp-0x0C], eax mov dword ptr [ebp-0x08], edx
- mov ecx, dword ptr [ebp-0x0C]
+ mov eax, dword ptr [ebp-0x0C]
mov dword ptr [ebp-0x14], -1
- mov eax, dword ptr [ebp-0x14] - sar eax, 31 - cmp ecx, dword ptr [ebp-0x14] - mov ecx, dword ptr [ebp-0x08] - sbb ecx, eax
+ mov edx, dword ptr [ebp-0x14] + sar edx, 31 + cmp eax, dword ptr [ebp-0x14] + mov eax, dword ptr [ebp-0x08] + sbb eax, edx
jl SHORT G_M50957_IG03 mov dword ptr [ebp-0x18], 0xD1FFAB1E
- mov ecx, dword ptr [ebp-0x18]
mov eax, dword ptr [ebp-0x18]
- sar eax, 31 - cmp ecx, dword ptr [ebp-0x0C]
+ mov edx, dword ptr [ebp-0x18] + sar edx, 31 + cmp eax, dword ptr [ebp-0x0C] + mov eax, edx
sbb eax, dword ptr [ebp-0x08] jge SHORT G_M50957_IG04
- ;; size=87 bbWeight=1 PerfScore 30.75
+ ;; size=89 bbWeight=1 PerfScore 31.00
G_M50957_IG03: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref mov ecx, 62 call [<unknown method>] ;; size=11 bbWeight=1 PerfScore 3.25 G_M50957_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx - mov gword ptr [ebp-0x10], ecx
+ xor eax, eax + mov gword ptr [ebp-0x10], eax
push gword ptr [ebp-0x10] mov ecx, gword ptr [ebp-0x04] ; gcrRegs +[ecx] @@ -71,6 +72,6 @@ G_M50957_IG05: ; bbWeight=1, epilog, nogc, extend ret 8 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 138, prolog size 11, PerfScore 47.75, instruction count 41, allocated bytes for code 138 (MethodHash=74d838f2) for method System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
+; Total bytes of code 140, prolog size 11, PerfScore 48.00, instruction count 42, allocated bytes for code 140 (MethodHash=74d838f2) for method System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
; ============================================================

libraries.pmi.windows.x86.checked.mch

+2 (+1.45%) : 284252.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[ubyte]):ubyte (MinOpts)

@@ -39,10 +39,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=00000000 {}, b lea ecx, [ebp+0x10] call [<unknown method>] mov dword ptr [ebp-0x04], eax
- xor ecx, ecx - mov dword ptr [ebp-0x08], ecx - xor ecx, ecx - mov dword ptr [ebp-0x0C], ecx
+ xor eax, eax + mov dword ptr [ebp-0x08], eax + xor eax, eax + mov dword ptr [ebp-0x0C], eax
jmp SHORT G_M16092_IG06 ;; size=24 bbWeight=1 PerfScore 9.00 G_M16092_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref @@ -50,24 +50,27 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov edx, dword ptr [ebp-0x0C] call [<unknown method>] ; byrRegs +[eax]
- movzx ecx, byte ptr [eax] - mov dword ptr [ebp-0x14], ecx
+ movzx eax, byte ptr [eax] + ; byrRegs -[eax] + mov dword ptr [ebp-0x14], eax
lea ecx, [ebp+0x08] mov edx, dword ptr [ebp-0x0C] call [<unknown method>]
+ ; byrRegs +[eax]
movzx eax, byte ptr [eax] ; byrRegs -[eax] mov edx, dword ptr [ebp-0x14] sub edx, eax
- or edx, dword ptr [ebp-0x08] - mov dword ptr [ebp-0x08], edx
+ mov eax, edx + or eax, dword ptr [ebp-0x08] + mov dword ptr [ebp-0x08], eax
mov eax, dword ptr [ebp-0x0C] inc eax mov dword ptr [ebp-0x0C], eax
- ;; size=51 bbWeight=1 PerfScore 20.50
+ ;; size=53 bbWeight=1 PerfScore 20.75
G_M16092_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x0C] - cmp ecx, dword ptr [ebp-0x04]
+ mov eax, dword ptr [ebp-0x0C] + cmp eax, dword ptr [ebp-0x04]
jl SHORT G_M16092_IG05 xor eax, eax cmp dword ptr [ebp-0x08], 0 @@ -79,6 +82,6 @@ G_M16092_IG07: ; bbWeight=1, epilog, nogc, extend ret 16 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 138, prolog size 6, PerfScore 55.00, instruction count 47, allocated bytes for code 138 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 140, prolog size 6, PerfScore 55.25, instruction count 48, allocated bytes for code 140 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================

libraries_tests.run.windows.x86.Release.mch

-4 (-8.00%) : 318214.dasm - System.SpanHelpers:IndexOfAnyExceptValueTypeshort:int (Tier0)

@@ -21,26 +21,26 @@ G_M53704_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x08], edx ;; size=12 bbWeight=1 PerfScore 3.50 G_M53704_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp+0x10] - movsx edx, dx - push edx - mov edx, dword ptr [ebp+0x0C] - movsx edx, dx - push edx
+ mov eax, dword ptr [ebp+0x10] + cwde + push eax + mov eax, dword ptr [ebp+0x0C] + cwde + push eax
push dword ptr [ebp+0x08]
- mov edx, dword ptr [ebp-0x08] - movsx edx, dx
+ mov eax, dword ptr [ebp-0x08] + movsx edx, ax
mov ecx, bword ptr [ebp-0x04] ; byrRegs +[ecx] call [<unknown method>] ; byrRegs -[ecx]
- ;; size=32 bbWeight=1 PerfScore 10.75
+ ;; size=28 bbWeight=1 PerfScore 10.75
G_M53704_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 12 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 50, prolog size 6, PerfScore 17.00, instruction count 19, allocated bytes for code 50 (MethodHash=c95d2e37) for method System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Tier0)
+; Total bytes of code 46, prolog size 6, PerfScore 17.00, instruction count 19, allocated bytes for code 46 (MethodHash=c95d2e37) for method System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Tier0)
; ============================================================

-4 (-8.00%) : 600518.dasm - System.SpanHelpers:IndexOfAnyExceptValueTypeshort:int (Instrumented Tier0)

@@ -21,26 +21,26 @@ G_M53704_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x08], edx ;; size=12 bbWeight=1 PerfScore 3.50 G_M53704_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp+0x10] - movsx edx, dx - push edx - mov edx, dword ptr [ebp+0x0C] - movsx edx, dx - push edx
+ mov eax, dword ptr [ebp+0x10] + cwde + push eax + mov eax, dword ptr [ebp+0x0C] + cwde + push eax
push dword ptr [ebp+0x08]
- mov edx, dword ptr [ebp-0x08] - movsx edx, dx
+ mov eax, dword ptr [ebp-0x08] + movsx edx, ax
mov ecx, bword ptr [ebp-0x04] ; byrRegs +[ecx] call [<unknown method>] ; byrRegs -[ecx]
- ;; size=32 bbWeight=1 PerfScore 10.75
+ ;; size=28 bbWeight=1 PerfScore 10.75
G_M53704_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 12 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 50, prolog size 6, PerfScore 17.00, instruction count 19, allocated bytes for code 50 (MethodHash=c95d2e37) for method System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Instrumented Tier0)
+; Total bytes of code 46, prolog size 6, PerfScore 17.00, instruction count 19, allocated bytes for code 46 (MethodHash=c95d2e37) for method System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Instrumented Tier0)
; ============================================================

-4 (-8.00%) : 318232.dasm - System.SpanHelpers:LastIndexOfAnyExceptValueTypeshort:int (Tier0)

@@ -21,26 +21,26 @@ G_M34114_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x08], edx ;; size=12 bbWeight=1 PerfScore 3.50 G_M34114_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp+0x10] - movsx edx, dx - push edx - mov edx, dword ptr [ebp+0x0C] - movsx edx, dx - push edx
+ mov eax, dword ptr [ebp+0x10] + cwde + push eax + mov eax, dword ptr [ebp+0x0C] + cwde + push eax
push dword ptr [ebp+0x08]
- mov edx, dword ptr [ebp-0x08] - movsx edx, dx
+ mov eax, dword ptr [ebp-0x08] + movsx edx, ax
mov ecx, bword ptr [ebp-0x04] ; byrRegs +[ecx] call [<unknown method>] ; byrRegs -[ecx]
- ;; size=32 bbWeight=1 PerfScore 10.75
+ ;; size=28 bbWeight=1 PerfScore 10.75
G_M34114_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret 12 ;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 50, prolog size 6, PerfScore 17.00, instruction count 19, allocated bytes for code 50 (MethodHash=70db7abd) for method System.SpanHelpers:LastIndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Tier0)
+; Total bytes of code 46, prolog size 6, PerfScore 17.00, instruction count 19, allocated bytes for code 46 (MethodHash=70db7abd) for method System.SpanHelpers:LastIndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Tier0)
; ============================================================

+8 (+24.24%) : 432373.dasm - System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Instrumented Tier0)

@@ -8,30 +8,34 @@ ; V00 arg0 [V00 ] ( 1, 1 ) int -> [ebp-0x04] do-not-enreg[] ; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x08] do-not-enreg[] ; V02 tmp0 [V02 ] ( 1, 1 ) int -> [ebp-0x0C] "ReplaceWithLclVar is creating a new local variable"
+; TEMP_01 int -> [ebp-0x10]
;
-; Lcl frame size = 12
+; Lcl frame size = 16
G_M43294_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push ebp mov ebp, esp
- sub esp, 12
+ sub esp, 16
mov dword ptr [ebp-0x04], ecx mov dword ptr [ebp-0x08], edx ;; size=12 bbWeight=1 PerfScore 3.50 G_M43294_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref mov eax, dword ptr [ebp-0x04] mov dword ptr [ebp-0x0C], eax
- mov edx, dword ptr [ebp-0x0C] - xor eax, eax
+ mov eax, dword ptr [ebp-0x0C] + mov dword ptr [ebp-0x10], eax + xor edx, edx + mov eax, edx
or eax, dword ptr [ebp-0x08]
+ mov edx, dword ptr [ebp-0x10]
or edx, 0
- ;; size=17 bbWeight=1 PerfScore 5.50
+ ;; size=25 bbWeight=1 PerfScore 7.75
G_M43294_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 33, prolog size 6, PerfScore 10.75, instruction count 14, allocated bytes for code 33 (MethodHash=cc6256e1) for method System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Instrumented Tier0)
+; Total bytes of code 41, prolog size 6, PerfScore 13.00, instruction count 17, allocated bytes for code 41 (MethodHash=cc6256e1) for method System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Instrumented Tier0)
; ============================================================

+8 (+24.24%) : 97724.dasm - System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Tier0)

@@ -8,30 +8,34 @@ ; V00 arg0 [V00 ] ( 1, 1 ) int -> [ebp-0x04] do-not-enreg[] ; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x08] do-not-enreg[] ; V02 tmp0 [V02 ] ( 1, 1 ) int -> [ebp-0x0C] "ReplaceWithLclVar is creating a new local variable"
+; TEMP_01 int -> [ebp-0x10]
;
-; Lcl frame size = 12
+; Lcl frame size = 16
G_M43294_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push ebp mov ebp, esp
- sub esp, 12
+ sub esp, 16
mov dword ptr [ebp-0x04], ecx mov dword ptr [ebp-0x08], edx ;; size=12 bbWeight=1 PerfScore 3.50 G_M43294_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref mov eax, dword ptr [ebp-0x04] mov dword ptr [ebp-0x0C], eax
- mov edx, dword ptr [ebp-0x0C] - xor eax, eax
+ mov eax, dword ptr [ebp-0x0C] + mov dword ptr [ebp-0x10], eax + xor edx, edx + mov eax, edx
or eax, dword ptr [ebp-0x08]
+ mov edx, dword ptr [ebp-0x10]
or edx, 0
- ;; size=17 bbWeight=1 PerfScore 5.50
+ ;; size=25 bbWeight=1 PerfScore 7.75
G_M43294_IG03: ; bbWeight=1, epilog, nogc, extend mov esp, ebp pop ebp ret ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 33, prolog size 6, PerfScore 10.75, instruction count 14, allocated bytes for code 33 (MethodHash=cc6256e1) for method System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Tier0)
+; Total bytes of code 41, prolog size 6, PerfScore 13.00, instruction count 17, allocated bytes for code 41 (MethodHash=cc6256e1) for method System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Tier0)
; ============================================================

+13 (+31.71%) : 67427.dasm - Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions:get_IsEmpty():ubyte:this (Tier0)

@@ -5,34 +5,40 @@ ; partially interruptible ; Final local variable assignments ;
-; V00 this [V00 ] ( 1, 1 ) ref -> [ebp-0x08] do-not-enreg[] this class-hnd <Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions>
+; V00 this [V00 ] ( 1, 1 ) ref -> [ebp-0x04] do-not-enreg[] this class-hnd <Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions> +; TEMP_01 ref -> [ebp-0x08]
;
-; Lcl frame size = 4
+; Lcl frame size = 8
G_M11670_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push ebp mov ebp, esp
- push esi - push eax - mov gword ptr [ebp-0x08], ecx - ;; size=8 bbWeight=1 PerfScore 4.25
+ sub esp, 8 + xor eax, eax + mov dword ptr [ebp-0x08], eax + mov gword ptr [ebp-0x04], ecx + ;; size=14 bbWeight=1 PerfScore 3.75
G_M11670_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov esi, gword ptr [ebp-0x08] - ; gcrRegs +[esi]
+ mov eax, gword ptr [ebp-0x04] + ; gcrRegs +[eax] + mov gword ptr [ebp-0x08], eax
mov ecx, 0xD1FFAB1E mov edx, 38 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
- xor eax, eax - cmp esi, gword ptr [D1FFAB1EH] ; static handle
+ ; gcrRegs -[eax] + mov eax, gword ptr [ebp-0x08] + ; gcrRegs +[eax] + cmp eax, gword ptr [D1FFAB1EH] ; static handle
sete al
- ;; size=29 bbWeight=1 PerfScore 6.75
+ ; gcrRegs -[eax] + movzx eax, al + ;; size=36 bbWeight=1 PerfScore 8.75
G_M11670_IG03: ; bbWeight=1, epilog, nogc, extend
- pop ecx - pop esi
+ mov esp, ebp
pop ebp ret
- ;; size=4 bbWeight=1 PerfScore 2.50
+ ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 41, prolog size 5, PerfScore 13.50, instruction count 16, allocated bytes for code 41 (MethodHash=a50fd269) for method Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions:get_IsEmpty():ubyte:this (Tier0)
+; Total bytes of code 54, prolog size 11, PerfScore 14.25, instruction count 18, allocated bytes for code 54 (MethodHash=a50fd269) for method Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions:get_IsEmpty():ubyte:this (Tier0)
; ============================================================

librariestestsnotieredcompilation.run.windows.x86.Release.mch

-20 (-2.14%) : 286792.dasm - System.Text.RegularExpressions.Generated.F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A_Get00+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

@@ -66,13 +66,13 @@ G_M12287_IG03: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000000 G_M12287_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref nop nop
- mov ecx, gword ptr [ebp-0x0C] - ; gcrRegs +[ecx] - mov ecx, dword ptr [ecx+0x30] - ; gcrRegs -[ecx] - mov dword ptr [ebp-0x10], ecx - mov ecx, dword ptr [ebp-0x10] - mov dword ptr [ebp-0x14], ecx
+ mov eax, gword ptr [ebp-0x0C] + ; gcrRegs +[eax] + mov eax, dword ptr [eax+0x30] + ; gcrRegs -[eax] + mov dword ptr [ebp-0x10], eax + mov eax, dword ptr [ebp-0x10] + mov dword ptr [ebp-0x14], eax
push dword ptr [ebp-0x10] lea ecx, [ebp+0x08] lea edx, [ebp-0x2C] @@ -94,252 +94,251 @@ G_M12287_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} call [<unknown method>] ; byrRegs +[eax] mov bword ptr [ebp-0x38], eax
- mov ecx, bword ptr [ebp-0x38] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - cmp ecx, 246
+ mov eax, bword ptr [ebp-0x38] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + or eax, 32 + cmp eax, 246
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 1 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x3C], eax
- mov ecx, bword ptr [ebp-0x3C] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x3C] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + cmp eax, 0x200D
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 2 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x40], eax
- mov ecx, bword ptr [ebp-0x40] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - cmp ecx, 246
+ mov eax, bword ptr [ebp-0x40] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + or eax, 32 + cmp eax, 246
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 3 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x44], eax
- mov ecx, bword ptr [ebp-0x44] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x44] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + cmp eax, 0x200D
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 4 call [<unknown method>]
- ;; size=219 bbWeight=1 PerfScore 62.25
+ ; byrRegs +[eax] + ;; size=215 bbWeight=1 PerfScore 62.25
G_M12287_IG05: ; bbWeight=1, extend mov bword ptr [ebp-0x48], eax
- mov ecx, bword ptr [ebp-0x48] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - cmp ecx, 246
+ mov eax, bword ptr [ebp-0x48] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + or eax, 32 + cmp eax, 246
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 5 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x4C], eax
- mov ecx, bword ptr [ebp-0x4C] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x4C] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + cmp eax, 0x200D
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 6 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x50], eax
- mov ecx, bword ptr [ebp-0x50] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - cmp ecx, 246
+ mov eax, bword ptr [ebp-0x50] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + or eax, 32 + cmp eax, 246
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 7 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x54], eax
- mov ecx, bword ptr [ebp-0x54] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x54] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + cmp eax, 0x200D
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 8 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x58], eax
- mov ecx, bword ptr [ebp-0x58] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - cmp ecx, 246
+ mov eax, bword ptr [ebp-0x58] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + or eax, 32 + cmp eax, 246
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 9 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x5C], eax
- mov ecx, bword ptr [ebp-0x5C] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x5C] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + cmp eax, 0x200D
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 10 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x60], eax
- mov ecx, bword ptr [ebp-0x60] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - cmp ecx, 246 - ;; size=237 bbWeight=1 PerfScore 59.25
+ mov eax, bword ptr [ebp-0x60] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + or eax, 32 + cmp eax, 246 + ;; size=230 bbWeight=1 PerfScore 59.25
G_M12287_IG06: ; bbWeight=1, isz, extend jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 11 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x64], eax
- mov ecx, bword ptr [ebp-0x64] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x64] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + cmp eax, 0x200D
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 12 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x68], eax
- mov ecx, bword ptr [ebp-0x68] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - cmp ecx, 246
+ mov eax, bword ptr [ebp-0x68] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + or eax, 32 + cmp eax, 246
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 13 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x6C], eax
- mov ecx, bword ptr [ebp-0x6C] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x6C] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + cmp eax, 0x200D
jne G_M12287_IG08 ...

-20 (-2.03%) : 286795.dasm - System.Text.RegularExpressions.Generated.F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A_Get00+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

@@ -68,13 +68,13 @@ G_M12287_IG03: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000000 G_M12287_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref nop nop
- mov ecx, gword ptr [ebp-0x0C] - ; gcrRegs +[ecx] - mov ecx, dword ptr [ecx+0x30] - ; gcrRegs -[ecx] - mov dword ptr [ebp-0x10], ecx - mov ecx, dword ptr [ebp-0x10] - mov dword ptr [ebp-0x14], ecx
+ mov eax, gword ptr [ebp-0x0C] + ; gcrRegs +[eax] + mov eax, dword ptr [eax+0x30] + ; gcrRegs -[eax] + mov dword ptr [ebp-0x10], eax + mov eax, dword ptr [ebp-0x10] + mov dword ptr [ebp-0x14], eax
push dword ptr [ebp-0x10] lea ecx, [ebp+0x08] lea edx, [ebp-0x2C] @@ -96,264 +96,263 @@ G_M12287_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} call [<unknown method>] ; byrRegs +[eax] mov bword ptr [ebp-0x38], eax
- mov ecx, bword ptr [ebp-0x38] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - add ecx, -97 - cmp ecx, 2
+ mov eax, bword ptr [ebp-0x38] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + or eax, 32 + add eax, -97 + cmp eax, 2
ja G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 1 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x3C], eax
- mov ecx, bword ptr [ebp-0x3C] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - cmp ecx, 246
+ mov eax, bword ptr [ebp-0x3C] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + or eax, 32 + cmp eax, 246
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 2 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x40], eax
- mov ecx, bword ptr [ebp-0x40] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x40] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + cmp eax, 0x200D
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 3 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x44], eax
- mov ecx, bword ptr [ebp-0x44] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - cmp ecx, 246
+ mov eax, bword ptr [ebp-0x44] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + or eax, 32 + cmp eax, 246
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 4
- ;; size=216 bbWeight=1 PerfScore 59.75
+ ;; size=213 bbWeight=1 PerfScore 59.75
G_M12287_IG05: ; bbWeight=1, extend call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x48], eax
- mov ecx, bword ptr [ebp-0x48] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x48] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + cmp eax, 0x200D
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 5 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x4C], eax
- mov ecx, bword ptr [ebp-0x4C] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - cmp ecx, 246
+ mov eax, bword ptr [ebp-0x4C] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + or eax, 32 + cmp eax, 246
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 6 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x50], eax
- mov ecx, bword ptr [ebp-0x50] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x50] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + cmp eax, 0x200D
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 7 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x54], eax
- mov ecx, bword ptr [ebp-0x54] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - cmp ecx, 246
+ mov eax, bword ptr [ebp-0x54] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + or eax, 32 + cmp eax, 246
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 8 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x58], eax
- mov ecx, bword ptr [ebp-0x58] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x58] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + cmp eax, 0x200D
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 9 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x5C], eax
- mov ecx, bword ptr [ebp-0x5C] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - cmp ecx, 246
+ mov eax, bword ptr [ebp-0x5C] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + or eax, 32 + cmp eax, 246
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 10 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x60], eax
- mov ecx, bword ptr [ebp-0x60] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - cmp ecx, 0x200D - ;; size=240 bbWeight=1 PerfScore 62.00
+ mov eax, bword ptr [ebp-0x60] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + cmp eax, 0x200D + ;; size=233 bbWeight=1 PerfScore 62.00
G_M12287_IG06: ; bbWeight=1, extend jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 11 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x64], eax
- mov ecx, bword ptr [ebp-0x64] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - cmp ecx, 246
+ mov eax, bword ptr [ebp-0x64] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + or eax, 32 + cmp eax, 246
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 12 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x68], eax
- mov ecx, bword ptr [ebp-0x68] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x68] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + cmp eax, 0x200D
jne G_M12287_IG08 lea ecx, [ebp-0x1C] mov edx, 13 call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x6C], eax
- mov ecx, bword ptr [ebp-0x6C] - ; byrRegs +[ecx] - movzx ecx, word ptr [ecx] - ; byrRegs -[ecx] - or ecx, 32 - cmp ecx, 246
+ mov eax, bword ptr [ebp-0x6C] + movzx eax, word ptr [eax]
...

-1 (-1.47%) : 12683.dasm - Microsoft.CodeAnalysis.Testing.Extensions.DiagnosticExtensions:IsSuppressed(Microsoft.CodeAnalysis.Diagnostic):ubyte (MinOpts)

@@ -30,21 +30,21 @@ G_M55000_IG03: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000000 call CORINFO_HELP_DBG_IS_JUST_MY_CODE ;; size=5 bbWeight=0.50 PerfScore 0.50 G_M55000_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, gword ptr [D1FFAB1EH] ; static handle - ; gcrRegs +[edx] - mov gword ptr [ebp-0x10], edx - mov ecx, gword ptr [ebp-0x10] - ; gcrRegs +[ecx] - mov edx, gword ptr [ebp-0x08] - mov ecx, gword ptr [ecx+0x04] - mov eax, gword ptr [ebp-0x10]
+ mov eax, gword ptr [D1FFAB1EH] ; static handle
; gcrRegs +[eax]
+ mov gword ptr [ebp-0x10], eax + mov eax, gword ptr [ebp-0x10] + mov edx, gword ptr [ebp-0x08] + ; gcrRegs +[edx] + mov ecx, gword ptr [eax+0x04] + ; gcrRegs +[ecx] + mov eax, gword ptr [ebp-0x10]
call [eax+0x0C]<unknown method> ; gcrRegs -[eax ecx edx] mov dword ptr [ebp-0x0C], eax mov eax, dword ptr [ebp-0x0C] movzx eax, al
- ;; size=33 bbWeight=1 PerfScore 13.25
+ ;; size=32 bbWeight=1 PerfScore 13.25
G_M55000_IG05: ; bbWeight=1, epilog, nogc, extend lea esp, [ebp-0x04] pop edi @@ -52,6 +52,6 @@ G_M55000_IG05: ; bbWeight=1, epilog, nogc, extend ret ;; size=6 bbWeight=1 PerfScore 2.50
-; Total bytes of code 68, prolog size 15, PerfScore 25.00, instruction count 24, allocated bytes for code 68 (MethodHash=74502927) for method Microsoft.CodeAnalysis.Testing.Extensions.DiagnosticExtensions:IsSuppressed(Microsoft.CodeAnalysis.Diagnostic):ubyte (MinOpts)
+; Total bytes of code 67, prolog size 15, PerfScore 25.00, instruction count 24, allocated bytes for code 67 (MethodHash=74502927) for method Microsoft.CodeAnalysis.Testing.Extensions.DiagnosticExtensions:IsSuppressed(Microsoft.CodeAnalysis.Diagnostic):ubyte (MinOpts)
; ============================================================

+14 (+2.54%) : 301566.dasm - System.Text.RegularExpressions.Generated.F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A_Get851368+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

@@ -63,13 +63,13 @@ G_M38206_IG03: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000000 G_M38206_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz nop nop
- mov ecx, gword ptr [ebp-0x0C] - ; gcrRegs +[ecx] - mov ecx, dword ptr [ecx+0x30] - ; gcrRegs -[ecx] - mov dword ptr [ebp-0x10], ecx - mov ecx, dword ptr [ebp-0x10] - mov dword ptr [ebp-0x14], ecx
+ mov eax, gword ptr [ebp-0x0C] + ; gcrRegs +[eax] + mov eax, dword ptr [eax+0x30] + ; gcrRegs -[eax] + mov dword ptr [ebp-0x10], eax + mov eax, dword ptr [ebp-0x10] + mov dword ptr [ebp-0x14], eax
push dword ptr [ebp-0x10] lea ecx, [ebp+0x08] lea edx, [ebp-0x38] @@ -91,14 +91,13 @@ G_M38206_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} call [<unknown method>] ; byrRegs +[eax] mov bword ptr [ebp-0x6C], eax
- mov edx, bword ptr [ebp-0x6C] - ; byrRegs +[edx] - movzx edx, word ptr [edx] - ; byrRegs -[edx] - mov dword ptr [ebp-0x70], edx - mov edx, dword ptr [ebp-0x70] - movzx edx, dx - mov dword ptr [ebp-0x18], edx
+ mov eax, bword ptr [ebp-0x6C] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + mov dword ptr [ebp-0x70], eax + mov eax, dword ptr [ebp-0x70] + movzx eax, ax + mov dword ptr [ebp-0x18], eax
cmp dword ptr [ebp-0x70], 128 jl SHORT G_M38206_IG05 mov edx, gword ptr [D1FFAB1EH] ; string handle @@ -106,49 +105,50 @@ G_M38206_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov ecx, dword ptr [ebp-0x18] call [<unknown method>] ; gcrRegs -[edx]
- ; byrRegs -[eax]
mov dword ptr [ebp-0x7C], eax
- xor edx, edx
+ xor eax, eax
cmp dword ptr [ebp-0x7C], 0
- sete dl - mov dword ptr [ebp-0x78], edx
+ sete al + mov dword ptr [ebp-0x78], eax
jmp SHORT G_M38206_IG06 ;; size=135 bbWeight=1 PerfScore 49.25 G_M38206_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18] + mov edx, eax
sar edx, 4 mov ecx, gword ptr [D1FFAB1EH] ; string handle ; gcrRegs +[ecx] call [<unknown method>] ; gcrRegs -[ecx] mov dword ptr [ebp-0x74], eax
- mov ecx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18] + mov ecx, eax
and ecx, 15 mov eax, 1 shl eax, cl and eax, dword ptr [ebp-0x74]
- xor ecx, ecx
test eax, eax
- sete cl - mov dword ptr [ebp-0x78], ecx - ;; size=47 bbWeight=1 PerfScore 15.50
+ sete al + movzx eax, al + mov dword ptr [ebp-0x78], eax + ;; size=52 bbWeight=1 PerfScore 16.00
G_M38206_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x78] - mov dword ptr [ebp-0x40], ecx
+ mov eax, dword ptr [ebp-0x78] + mov dword ptr [ebp-0x40], eax
jmp SHORT G_M38206_IG08 ;; size=8 bbWeight=1 PerfScore 4.00 G_M38206_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref mov dword ptr [ebp-0x40], 1 ;; size=7 bbWeight=1 PerfScore 1.00 G_M38206_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x40] - movzx ecx, cl - mov dword ptr [ebp-0x24], ecx
+ mov eax, dword ptr [ebp-0x40] + movzx eax, al + mov dword ptr [ebp-0x24], eax
cmp dword ptr [ebp-0x24], 0 je SHORT G_M38206_IG09 nop
- xor ecx, ecx - mov dword ptr [ebp-0x28], ecx
+ xor eax, eax + mov dword ptr [ebp-0x28], eax
nop jmp G_M38206_IG16 ;; size=27 bbWeight=1 PerfScore 9.00 @@ -160,33 +160,32 @@ G_M38206_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ;; size=11 bbWeight=1 PerfScore 3.50 G_M38206_IG10: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref nop
- mov ecx, dword ptr [ebp-0x2C] - inc ecx - mov dword ptr [ebp-0x2C], ecx
+ mov eax, dword ptr [ebp-0x2C] + inc eax + mov dword ptr [ebp-0x2C], eax
nop ;; size=9 bbWeight=1 PerfScore 2.75 G_M38206_IG11: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x2C] - mov dword ptr [ebp-0x44], ecx
+ mov eax, dword ptr [ebp-0x2C] + mov dword ptr [ebp-0x44], eax
lea ecx, [ebp-0x20] call [<unknown method>] mov dword ptr [ebp-0x48], eax
- mov ecx, dword ptr [ebp-0x44] - cmp ecx, dword ptr [ebp-0x48] - jae SHORT G_M38206_IG14
+ mov eax, dword ptr [ebp-0x44] + cmp eax, dword ptr [ebp-0x48] + jae G_M38206_IG14
lea ecx, [ebp-0x20] mov edx, dword ptr [ebp-0x2C] call [<unknown method>] ; byrRegs +[eax] mov bword ptr [ebp-0x58], eax
- mov edx, bword ptr [ebp-0x58] - ; byrRegs +[edx] - movzx edx, word ptr [edx] - ; byrRegs -[edx] - mov dword ptr [ebp-0x5C], edx - mov edx, dword ptr [ebp-0x5C] - movzx edx, dx - mov dword ptr [ebp-0x18], edx
+ mov eax, bword ptr [ebp-0x58] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + mov dword ptr [ebp-0x5C], eax + mov eax, dword ptr [ebp-0x5C] + movzx eax, ax + mov dword ptr [ebp-0x18], eax
cmp dword ptr [ebp-0x5C], 128 jl SHORT G_M38206_IG12 mov edx, gword ptr [D1FFAB1EH] ; string handle @@ -194,43 +193,44 @@ G_M38206_IG11: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov ecx, dword ptr [ebp-0x18] call [<unknown method>] ; gcrRegs -[edx]
- ; byrRegs -[eax]
mov dword ptr [ebp-0x68], eax
- mov edx, dword ptr [ebp-0x68] - mov dword ptr [ebp-0x64], edx
+ mov eax, dword ptr [ebp-0x68] + mov dword ptr [ebp-0x64], eax
jmp SHORT G_M38206_IG13
- ;; size=94 bbWeight=1 PerfScore 36.25
+ ;; size=98 bbWeight=1 PerfScore 36.25
G_M38206_IG12: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18] + mov edx, eax
sar edx, 4 mov ecx, gword ptr [D1FFAB1EH] ; string handle ; gcrRegs +[ecx] call [<unknown method>] ; gcrRegs -[ecx] mov dword ptr [ebp-0x60], eax
- mov ecx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18] + mov ecx, eax
and ecx, 15
- mov edx, 1 - shl edx, cl - and edx, dword ptr [ebp-0x60] - xor ecx, ecx - test edx, edx - setne cl - mov dword ptr [ebp-0x64], ecx - ;; size=47 bbWeight=1 PerfScore 15.50
+ mov eax, 1 + shl eax, cl + and eax, dword ptr [ebp-0x60] + test eax, eax + setne al + movzx eax, al + mov dword ptr [ebp-0x64], eax + ;; size=52 bbWeight=1 PerfScore 16.00
G_M38206_IG13: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x64] - mov dword ptr [ebp-0x4C], ecx
+ mov eax, dword ptr [ebp-0x64] + mov dword ptr [ebp-0x4C], eax
jmp SHORT G_M38206_IG15 ;; size=8 bbWeight=1 PerfScore 4.00 G_M38206_IG14: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx - mov dword ptr [ebp-0x4C], ecx
+ xor eax, eax + mov dword ptr [ebp-0x4C], eax
;; size=5 bbWeight=1 PerfScore 1.25 G_M38206_IG15: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov ecx, dword ptr [ebp-0x4C] - movzx ecx, cl - mov dword ptr [ebp-0x30], ecx
+ mov eax, dword ptr [ebp-0x4C] + movzx eax, al + mov dword ptr [ebp-0x30], eax
cmp dword ptr [ebp-0x30], 0 jne G_M38206_IG10 push dword ptr [ebp-0x2C] @@ -243,20 +243,21 @@ G_M38206_IG15: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ; byrRegs +[esi] movsd movsd
- mov ecx, dword ptr [ebp-0x10] - add ecx, dword ptr [ebp-0x2C] - mov dword ptr [ebp-0x10], ecx
+ mov eax, dword ptr [ebp-0x10] + add eax, dword ptr [ebp-0x2C] + mov dword ptr [ebp-0x10], eax
nop
- mov ecx, gword ptr [ebp-0x0C] - ; gcrRegs +[ecx]
+ mov eax, gword ptr [ebp-0x0C] + ; gcrRegs +[eax]
mov edx, dword ptr [ebp-0x10]
- mov dword ptr [ecx+0x30], edx
+ mov dword ptr [eax+0x30], edx
push dword ptr [ebp-0x14] push dword ptr [ebp-0x10] mov ecx, gword ptr [ebp-0x0C]
+ ; gcrRegs +[ecx]
xor edx, edx call [<unknown method>] ...

+14 (+2.54%) : 298976.dasm - System.Text.RegularExpressions.Generated.F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A_Get251178+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

@@ -63,13 +63,13 @@ G_M36535_IG03: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000000 G_M36535_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz nop nop
- mov ecx, gword ptr [ebp-0x0C] - ; gcrRegs +[ecx] - mov ecx, dword ptr [ecx+0x30] - ; gcrRegs -[ecx] - mov dword ptr [ebp-0x10], ecx - mov ecx, dword ptr [ebp-0x10] - mov dword ptr [ebp-0x14], ecx
+ mov eax, gword ptr [ebp-0x0C] + ; gcrRegs +[eax] + mov eax, dword ptr [eax+0x30] + ; gcrRegs -[eax] + mov dword ptr [ebp-0x10], eax + mov eax, dword ptr [ebp-0x10] + mov dword ptr [ebp-0x14], eax
push dword ptr [ebp-0x10] lea ecx, [ebp+0x08] lea edx, [ebp-0x38] @@ -91,14 +91,13 @@ G_M36535_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} call [<unknown method>] ; byrRegs +[eax] mov bword ptr [ebp-0x6C], eax
- mov edx, bword ptr [ebp-0x6C] - ; byrRegs +[edx] - movzx edx, word ptr [edx] - ; byrRegs -[edx] - mov dword ptr [ebp-0x70], edx - mov edx, dword ptr [ebp-0x70] - movzx edx, dx - mov dword ptr [ebp-0x18], edx
+ mov eax, bword ptr [ebp-0x6C] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + mov dword ptr [ebp-0x70], eax + mov eax, dword ptr [ebp-0x70] + movzx eax, ax + mov dword ptr [ebp-0x18], eax
cmp dword ptr [ebp-0x70], 128 jl SHORT G_M36535_IG05 mov edx, gword ptr [D1FFAB1EH] ; string handle @@ -106,49 +105,50 @@ G_M36535_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov ecx, dword ptr [ebp-0x18] call [<unknown method>] ; gcrRegs -[edx]
- ; byrRegs -[eax]
mov dword ptr [ebp-0x7C], eax
- xor edx, edx
+ xor eax, eax
cmp dword ptr [ebp-0x7C], 0
- sete dl - mov dword ptr [ebp-0x78], edx
+ sete al + mov dword ptr [ebp-0x78], eax
jmp SHORT G_M36535_IG06 ;; size=135 bbWeight=1 PerfScore 49.25 G_M36535_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18] + mov edx, eax
sar edx, 4 mov ecx, gword ptr [D1FFAB1EH] ; string handle ; gcrRegs +[ecx] call [<unknown method>] ; gcrRegs -[ecx] mov dword ptr [ebp-0x74], eax
- mov ecx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18] + mov ecx, eax
and ecx, 15 mov eax, 1 shl eax, cl and eax, dword ptr [ebp-0x74]
- xor ecx, ecx
test eax, eax
- sete cl - mov dword ptr [ebp-0x78], ecx - ;; size=47 bbWeight=1 PerfScore 15.50
+ sete al + movzx eax, al + mov dword ptr [ebp-0x78], eax + ;; size=52 bbWeight=1 PerfScore 16.00
G_M36535_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x78] - mov dword ptr [ebp-0x40], ecx
+ mov eax, dword ptr [ebp-0x78] + mov dword ptr [ebp-0x40], eax
jmp SHORT G_M36535_IG08 ;; size=8 bbWeight=1 PerfScore 4.00 G_M36535_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref mov dword ptr [ebp-0x40], 1 ;; size=7 bbWeight=1 PerfScore 1.00 G_M36535_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x40] - movzx ecx, cl - mov dword ptr [ebp-0x24], ecx
+ mov eax, dword ptr [ebp-0x40] + movzx eax, al + mov dword ptr [ebp-0x24], eax
cmp dword ptr [ebp-0x24], 0 je SHORT G_M36535_IG09 nop
- xor ecx, ecx - mov dword ptr [ebp-0x28], ecx
+ xor eax, eax + mov dword ptr [ebp-0x28], eax
nop jmp G_M36535_IG16 ;; size=27 bbWeight=1 PerfScore 9.00 @@ -160,33 +160,32 @@ G_M36535_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ;; size=11 bbWeight=1 PerfScore 3.50 G_M36535_IG10: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref nop
- mov ecx, dword ptr [ebp-0x2C] - inc ecx - mov dword ptr [ebp-0x2C], ecx
+ mov eax, dword ptr [ebp-0x2C] + inc eax + mov dword ptr [ebp-0x2C], eax
nop ;; size=9 bbWeight=1 PerfScore 2.75 G_M36535_IG11: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x2C] - mov dword ptr [ebp-0x44], ecx
+ mov eax, dword ptr [ebp-0x2C] + mov dword ptr [ebp-0x44], eax
lea ecx, [ebp-0x20] call [<unknown method>] mov dword ptr [ebp-0x48], eax
- mov ecx, dword ptr [ebp-0x44] - cmp ecx, dword ptr [ebp-0x48] - jae SHORT G_M36535_IG14
+ mov eax, dword ptr [ebp-0x44] + cmp eax, dword ptr [ebp-0x48] + jae G_M36535_IG14
lea ecx, [ebp-0x20] mov edx, dword ptr [ebp-0x2C] call [<unknown method>] ; byrRegs +[eax] mov bword ptr [ebp-0x58], eax
- mov edx, bword ptr [ebp-0x58] - ; byrRegs +[edx] - movzx edx, word ptr [edx] - ; byrRegs -[edx] - mov dword ptr [ebp-0x5C], edx - mov edx, dword ptr [ebp-0x5C] - movzx edx, dx - mov dword ptr [ebp-0x18], edx
+ mov eax, bword ptr [ebp-0x58] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + mov dword ptr [ebp-0x5C], eax + mov eax, dword ptr [ebp-0x5C] + movzx eax, ax + mov dword ptr [ebp-0x18], eax
cmp dword ptr [ebp-0x5C], 128 jl SHORT G_M36535_IG12 mov edx, gword ptr [D1FFAB1EH] ; string handle @@ -194,43 +193,44 @@ G_M36535_IG11: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov ecx, dword ptr [ebp-0x18] call [<unknown method>] ; gcrRegs -[edx]
- ; byrRegs -[eax]
mov dword ptr [ebp-0x68], eax
- mov edx, dword ptr [ebp-0x68] - mov dword ptr [ebp-0x64], edx
+ mov eax, dword ptr [ebp-0x68] + mov dword ptr [ebp-0x64], eax
jmp SHORT G_M36535_IG13
- ;; size=94 bbWeight=1 PerfScore 36.25
+ ;; size=98 bbWeight=1 PerfScore 36.25
G_M36535_IG12: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18] + mov edx, eax
sar edx, 4 mov ecx, gword ptr [D1FFAB1EH] ; string handle ; gcrRegs +[ecx] call [<unknown method>] ; gcrRegs -[ecx] mov dword ptr [ebp-0x60], eax
- mov ecx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18] + mov ecx, eax
and ecx, 15
- mov edx, 1 - shl edx, cl - and edx, dword ptr [ebp-0x60] - xor ecx, ecx - test edx, edx - setne cl - mov dword ptr [ebp-0x64], ecx - ;; size=47 bbWeight=1 PerfScore 15.50
+ mov eax, 1 + shl eax, cl + and eax, dword ptr [ebp-0x60] + test eax, eax + setne al + movzx eax, al + mov dword ptr [ebp-0x64], eax + ;; size=52 bbWeight=1 PerfScore 16.00
G_M36535_IG13: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x64] - mov dword ptr [ebp-0x4C], ecx
+ mov eax, dword ptr [ebp-0x64] + mov dword ptr [ebp-0x4C], eax
jmp SHORT G_M36535_IG15 ;; size=8 bbWeight=1 PerfScore 4.00 G_M36535_IG14: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx - mov dword ptr [ebp-0x4C], ecx
+ xor eax, eax + mov dword ptr [ebp-0x4C], eax
;; size=5 bbWeight=1 PerfScore 1.25 G_M36535_IG15: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov ecx, dword ptr [ebp-0x4C] - movzx ecx, cl - mov dword ptr [ebp-0x30], ecx
+ mov eax, dword ptr [ebp-0x4C] + movzx eax, al + mov dword ptr [ebp-0x30], eax
cmp dword ptr [ebp-0x30], 0 jne G_M36535_IG10 push dword ptr [ebp-0x2C] @@ -243,20 +243,21 @@ G_M36535_IG15: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ; byrRegs +[esi] movsd movsd
- mov ecx, dword ptr [ebp-0x10] - add ecx, dword ptr [ebp-0x2C] - mov dword ptr [ebp-0x10], ecx
+ mov eax, dword ptr [ebp-0x10] + add eax, dword ptr [ebp-0x2C] + mov dword ptr [ebp-0x10], eax
nop
- mov ecx, gword ptr [ebp-0x0C] - ; gcrRegs +[ecx]
+ mov eax, gword ptr [ebp-0x0C] + ; gcrRegs +[eax]
mov edx, dword ptr [ebp-0x10]
- mov dword ptr [ecx+0x30], edx
+ mov dword ptr [eax+0x30], edx
push dword ptr [ebp-0x14] push dword ptr [ebp-0x10] mov ecx, gword ptr [ebp-0x0C]
+ ; gcrRegs +[ecx]
xor edx, edx call [<unknown method>] ...

+20 (+2.57%) : 300510.dasm - System.Text.RegularExpressions.Generated.F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A_Get23542+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

@@ -65,13 +65,13 @@ G_M7149_IG03: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000000 G_M7149_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz nop nop
- mov ecx, gword ptr [ebp-0x0C] - ; gcrRegs +[ecx] - mov ecx, dword ptr [ecx+0x30] - ; gcrRegs -[ecx] - mov dword ptr [ebp-0x10], ecx - mov ecx, dword ptr [ebp-0x10] - mov dword ptr [ebp-0x14], ecx
+ mov eax, gword ptr [ebp-0x0C] + ; gcrRegs +[eax] + mov eax, dword ptr [eax+0x30] + ; gcrRegs -[eax] + mov dword ptr [ebp-0x10], eax + mov eax, dword ptr [ebp-0x10] + mov dword ptr [ebp-0x14], eax
push dword ptr [ebp-0x10] lea ecx, [ebp+0x08] lea edx, [ebp-0x34] @@ -82,15 +82,15 @@ G_M7149_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, ; byrRegs +[esi] movsd movsd
- xor ecx, ecx
+ xor eax, eax
cmp dword ptr [ebp-0x10], 0
- setne cl - mov dword ptr [ebp-0x24], ecx
+ setne al + mov dword ptr [ebp-0x24], eax
cmp dword ptr [ebp-0x24], 0 je SHORT G_M7149_IG05 nop
- xor ecx, ecx - mov dword ptr [ebp-0x28], ecx
+ xor eax, eax + mov dword ptr [ebp-0x28], eax
nop jmp G_M7149_IG17 ;; size=70 bbWeight=1 PerfScore 25.50 @@ -107,14 +107,13 @@ G_M7149_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, call [<unknown method>] ; byrRegs +[eax] mov bword ptr [ebp-0x40], eax
- mov edx, bword ptr [ebp-0x40] - ; byrRegs +[edx] - movzx edx, word ptr [edx] - ; byrRegs -[edx] - mov dword ptr [ebp-0x44], edx - mov edx, dword ptr [ebp-0x44] - movzx edx, dx - mov dword ptr [ebp-0x18], edx
+ mov eax, bword ptr [ebp-0x40] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + mov dword ptr [ebp-0x44], eax + mov eax, dword ptr [ebp-0x44] + movzx eax, ax + mov dword ptr [ebp-0x18], eax
cmp dword ptr [ebp-0x44], 128 jl SHORT G_M7149_IG06 mov edx, gword ptr [D1FFAB1EH] ; string handle @@ -122,32 +121,33 @@ G_M7149_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, mov ecx, dword ptr [ebp-0x18] call [<unknown method>] ; gcrRegs -[edx]
- ; byrRegs -[eax]
mov dword ptr [ebp-0x8C], eax
- xor edx, edx
+ xor eax, eax
cmp dword ptr [ebp-0x8C], 0
- sete dl - mov dword ptr [ebp-0x4C], edx
+ sete al + mov dword ptr [ebp-0x4C], eax
jmp SHORT G_M7149_IG07 ;; size=102 bbWeight=1 PerfScore 35.00 G_M7149_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18] + mov edx, eax
sar edx, 4 mov ecx, gword ptr [D1FFAB1EH] ; string handle ; gcrRegs +[ecx] call [<unknown method>] ; gcrRegs -[ecx] mov dword ptr [ebp-0x48], eax
- mov ecx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18] + mov ecx, eax
and ecx, 15
- mov edx, 1 - shl edx, cl - and edx, dword ptr [ebp-0x48] - xor ecx, ecx - test edx, edx - sete cl - mov dword ptr [ebp-0x4C], ecx - ;; size=47 bbWeight=1 PerfScore 15.50
+ mov eax, 1 + shl eax, cl + and eax, dword ptr [ebp-0x48] + test eax, eax + sete al + movzx eax, al + mov dword ptr [ebp-0x4C], eax + ;; size=52 bbWeight=1 PerfScore 16.00
G_M7149_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz cmp dword ptr [ebp-0x4C], 0 jne G_M7149_IG14 @@ -156,14 +156,13 @@ G_M7149_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, call [<unknown method>] ; byrRegs +[eax] mov bword ptr [ebp-0x50], eax
- mov edx, bword ptr [ebp-0x50] - ; byrRegs +[edx] - movzx edx, word ptr [edx] - ; byrRegs -[edx] - mov dword ptr [ebp-0x54], edx - mov edx, dword ptr [ebp-0x54] - movzx edx, dx - mov dword ptr [ebp-0x18], edx
+ mov eax, bword ptr [ebp-0x50] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + mov dword ptr [ebp-0x54], eax + mov eax, dword ptr [ebp-0x54] + movzx eax, ax + mov dword ptr [ebp-0x18], eax
cmp dword ptr [ebp-0x54], 128 jl SHORT G_M7149_IG08 mov edx, gword ptr [D1FFAB1EH] ; string handle @@ -171,32 +170,33 @@ G_M7149_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, mov ecx, dword ptr [ebp-0x18] call [<unknown method>] ; gcrRegs -[edx]
- ; byrRegs -[eax]
mov dword ptr [ebp-0x88], eax
- xor edx, edx
+ xor eax, eax
cmp dword ptr [ebp-0x88], 0
- sete dl - mov dword ptr [ebp-0x5C], edx
+ sete al + mov dword ptr [ebp-0x5C], eax
jmp SHORT G_M7149_IG09 ;; size=92 bbWeight=1 PerfScore 30.25 G_M7149_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18] + mov edx, eax
sar edx, 4 mov ecx, gword ptr [D1FFAB1EH] ; string handle ; gcrRegs +[ecx] call [<unknown method>] ; gcrRegs -[ecx] mov dword ptr [ebp-0x58], eax
- mov ecx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18] + mov ecx, eax
and ecx, 15
- mov edx, 1 - shl edx, cl - and edx, dword ptr [ebp-0x58] - xor ecx, ecx - test edx, edx - sete cl - mov dword ptr [ebp-0x5C], ecx - ;; size=47 bbWeight=1 PerfScore 15.50
+ mov eax, 1 + shl eax, cl + and eax, dword ptr [ebp-0x58] + test eax, eax + sete al + movzx eax, al + mov dword ptr [ebp-0x5C], eax + ;; size=52 bbWeight=1 PerfScore 16.00
G_M7149_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz cmp dword ptr [ebp-0x5C], 0 jne G_M7149_IG14 @@ -205,14 +205,13 @@ G_M7149_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, call [<unknown method>] ; byrRegs +[eax] mov bword ptr [ebp-0x60], eax
- mov edx, bword ptr [ebp-0x60] - ; byrRegs +[edx] - movzx edx, word ptr [edx] - ; byrRegs -[edx] - mov dword ptr [ebp-0x64], edx - mov edx, dword ptr [ebp-0x64] - movzx edx, dx - mov dword ptr [ebp-0x18], edx
+ mov eax, bword ptr [ebp-0x60] + movzx eax, word ptr [eax] + ; byrRegs -[eax] + mov dword ptr [ebp-0x64], eax + mov eax, dword ptr [ebp-0x64] + movzx eax, ax + mov dword ptr [ebp-0x18], eax
cmp dword ptr [ebp-0x64], 128 jl SHORT G_M7149_IG10 mov edx, gword ptr [D1FFAB1EH] ; string handle @@ -220,32 +219,33 @@ G_M7149_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, mov ecx, dword ptr [ebp-0x18] call [<unknown method>] ; gcrRegs -[edx]
- ; byrRegs -[eax]
mov dword ptr [ebp-0x84], eax
- xor edx, edx
+ xor eax, eax
cmp dword ptr [ebp-0x84], 0
- sete dl - mov dword ptr [ebp-0x6C], edx
+ sete al + mov dword ptr [ebp-0x6C], eax
jmp SHORT G_M7149_IG11 ;; size=92 bbWeight=1 PerfScore 30.25 G_M7149_IG10: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18] + mov edx, eax
sar edx, 4 mov ecx, gword ptr [D1FFAB1EH] ; string handle ; gcrRegs +[ecx] call [<unknown method>] ; gcrRegs -[ecx] mov dword ptr [ebp-0x68], eax
- mov ecx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18] + mov ecx, eax
and ecx, 15
- mov edx, 1 - shl edx, cl - and edx, dword ptr [ebp-0x68] - xor ecx, ecx - test edx, edx - sete cl - mov dword ptr [ebp-0x6C], ecx - ;; size=47 bbWeight=1 PerfScore 15.50
+ mov eax, 1 + shl eax, cl + and eax, dword ptr [ebp-0x68] + test eax, eax + sete al + movzx eax, al + mov dword ptr [ebp-0x6C], eax + ;; size=52 bbWeight=1 PerfScore 16.00
G_M7149_IG11: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz ...

realworld.run.windows.x86.checked.mch

+0 (0.00%) : 15461.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)

@@ -20,8 +20,8 @@ G_M3757_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, mov gword ptr [ebp-0x04], ecx ;; size=14 bbWeight=1 PerfScore 3.75 G_M3757_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx - mov gword ptr [ebp-0x0C], ecx
+ xor eax, eax + mov gword ptr [ebp-0x0C], eax
push gword ptr [ebp-0x0C] mov ecx, gword ptr [ebp-0x04] ; gcrRegs +[ecx]

+0 (0.00%) : 34048.dasm - System.Management.Automation.PowerShellAssemblyLoadContext:InitializeTypeCatalog():System.Collections.Generic.Dictionary`2System.String,System.String

@@ -31,16 +31,17 @@ G_M20070_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov edx, 0x1B6B call [<unknown method>] ; gcrRegs -[eax ecx]
- mov ecx, gword ptr [ebp-0x08] - ; gcrRegs +[ecx] - mov gword ptr [ebp-0x04], ecx
+ mov eax, gword ptr [ebp-0x08] + ; gcrRegs +[eax] + mov gword ptr [ebp-0x04], eax
push 0xD1FFAB1E mov ecx, gword ptr [ebp-0x04]
+ ; gcrRegs +[ecx]
mov edx, 0xD1FFAB1E ; gcrRegs +[edx] cmp dword ptr [ecx], ecx call [<unknown method>]
- ; gcrRegs -[ecx edx]
+ ; gcrRegs -[eax ecx edx]
push 0xD1FFAB1E mov ecx, gword ptr [ebp-0x04] ; gcrRegs +[ecx]

+14 (+0.01%) : 4500.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)

@@ -2231,12 +2231,12 @@ G_M23076_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x08], edx ;; size=77 bbWeight=1 PerfScore 18.83 G_M23076_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov ecx, gword ptr [ebp-0x04] - ; gcrRegs +[ecx] - mov gword ptr [ebp-0x1AC], ecx
+ mov eax, gword ptr [ebp-0x04] + ; gcrRegs +[eax] + mov gword ptr [ebp-0x1AC], eax
;; size=9 bbWeight=1 PerfScore 2.00 G_M23076_IG03: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- ; gcrRegs -[ecx]
+ ; gcrRegs -[eax]
mov ecx, gword ptr [ebp-0x1AC] ; gcrRegs +[ecx] cmp dword ptr [ecx], ecx @@ -2262,38 +2262,39 @@ G_M23076_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} cmp dword ptr [ecx], ecx call [<unknown method>] ; gcrRegs -[ecx]
- mov ecx, gword ptr [ebp-0x0C] - ; gcrRegs +[ecx] - mov ecx, gword ptr [ecx+0x04] - mov gword ptr [ebp-0x24], ecx - mov ecx, gword ptr [ebp-0x0C] - vmovdqu ymm0, ymmword ptr [ecx+0x08]
+ mov eax, gword ptr [ebp-0x0C] + ; gcrRegs +[eax] + mov eax, gword ptr [eax+0x04] + mov gword ptr [ebp-0x24], eax + mov eax, gword ptr [ebp-0x0C] + vmovdqu ymm0, ymmword ptr [eax+0x08]
vmovdqu ymmword ptr [ebp-0x50], ymm0
- vmovdqu xmm0, xmmword ptr [ecx+0x24]
+ vmovdqu xmm0, xmmword ptr [eax+0x24]
vmovdqu xmmword ptr [ebp-0x34], xmm0
- mov ecx, dword ptr [ebp-0x14] - ; gcrRegs -[ecx] - sub ecx, dword ptr [ebp-0x10] - mov dword ptr [ebp-0x54], ecx - mov ecx, gword ptr [ebp-0x1AC] - ; gcrRegs +[ecx] - mov gword ptr [ebp-0x58], ecx
+ mov eax, dword ptr [ebp-0x14] + ; gcrRegs -[eax] + sub eax, dword ptr [ebp-0x10] + mov dword ptr [ebp-0x54], eax + mov eax, gword ptr [ebp-0x1AC] + ; gcrRegs +[eax] + mov gword ptr [ebp-0x58], eax
mov ecx, gword ptr [ebp-0x24]
+ ; gcrRegs +[ecx]
call [<unknown method>]
- ; gcrRegs -[ecx]
+ ; gcrRegs -[eax ecx]
cmp eax, 67 jne SHORT G_M23076_IG05 mov dword ptr [ebp-0x1B0], 1 jmp SHORT G_M23076_IG06 ;; size=96 bbWeight=1 PerfScore 38.75 G_M23076_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx - mov dword ptr [ebp-0x1B0], ecx
+ xor eax, eax + mov dword ptr [ebp-0x1B0], eax
;; size=8 bbWeight=1 PerfScore 1.25 G_M23076_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x1B0] - movzx ecx, cl - mov dword ptr [ebp-0x5C], ecx
+ mov eax, dword ptr [ebp-0x1B0] + movzx eax, al + mov dword ptr [ebp-0x5C], eax
mov ecx, gword ptr [ebp-0x24] ; gcrRegs +[ecx] call [<unknown method>] @@ -2306,44 +2307,43 @@ G_M23076_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} call [CORINFO_HELP_CHKCASTCLASS] ; gcrRegs -[edx] +[eax] mov gword ptr [ebp-0x64], eax
- mov ecx, gword ptr [ebp-0x64]
+ mov eax, gword ptr [ebp-0x64] + mov ecx, gword ptr [eax+0x08]
; gcrRegs +[ecx]
- mov ecx, gword ptr [ecx+0x08]
call [<unknown method>] ; gcrRegs -[ecx] mov gword ptr [ebp-0x68], eax cmp gword ptr [ebp-0x68], 0 je SHORT G_M23076_IG07
- mov ecx, gword ptr [ebp-0x1AC] - ; gcrRegs +[ecx] - movzx ecx, byte ptr [ecx+0x24] - ; gcrRegs -[ecx] - mov dword ptr [ebp-0x1B4], ecx
+ mov eax, gword ptr [ebp-0x1AC] + movzx eax, byte ptr [eax+0x24] + ; gcrRegs -[eax] + mov dword ptr [ebp-0x1B4], eax
jmp SHORT G_M23076_IG08 ;; size=82 bbWeight=1 PerfScore 28.75 G_M23076_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- ; gcrRegs -[eax] - xor ecx, ecx - mov dword ptr [ebp-0x1B4], ecx
+ xor eax, eax + mov dword ptr [ebp-0x1B4], eax
;; size=8 bbWeight=1 PerfScore 1.25 G_M23076_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x1B4] - movzx ecx, cl - mov dword ptr [ebp-0x60], ecx
+ mov eax, dword ptr [ebp-0x1B4] + movzx eax, al + mov dword ptr [ebp-0x60], eax + mov eax, gword ptr [ebp-0x1AC] + ; gcrRegs +[eax] + mov eax, gword ptr [eax+0x18] + mov gword ptr [ebp-0x6C], eax + mov eax, gword ptr [ebp-0x1AC] + cmp dword ptr [eax+0x1C], 0 + jg G_M23076_IG25 + mov eax, gword ptr [ebp-0x1AC] + push gword ptr [eax+0x18]
mov ecx, gword ptr [ebp-0x1AC] ; gcrRegs +[ecx]
- mov ecx, gword ptr [ecx+0x18] - mov gword ptr [ebp-0x6C], ecx - mov ecx, gword ptr [ebp-0x1AC] - cmp dword ptr [ecx+0x1C], 0 - jg G_M23076_IG25 - mov ecx, gword ptr [ebp-0x1AC] - push gword ptr [ecx+0x18] - mov ecx, gword ptr [ebp-0x1AC]
mov edx, gword ptr [ebp-0x24] ; gcrRegs +[edx] call [<unknown method>]
- ; gcrRegs -[ecx edx]
+ ; gcrRegs -[eax ecx edx]
test eax, eax jne G_M23076_IG26 mov ecx, gword ptr [ebp-0x24] @@ -2353,12 +2353,12 @@ G_M23076_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov dword ptr [ebp-0x27F4], eax cmp dword ptr [ebp-0x27F4], 201 ja SHORT G_M23076_IG09
- mov ecx, dword ptr [ebp-0x27F4] - lea eax, [@RWD00] - mov eax, dword ptr [eax+4*ecx] - lea edx, G_M23076_IG02 - add eax, edx - jmp eax
+ mov eax, dword ptr [ebp-0x27F4] + lea edx, [@RWD00] + mov edx, dword ptr [edx+4*eax] + lea ecx, G_M23076_IG02 + add edx, ecx + jmp edx
;; size=124 bbWeight=1 PerfScore 35.25 G_M23076_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref mov ecx, gword ptr [ebp-0x24] @@ -2374,10 +2374,10 @@ G_M23076_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ; gcrRegs -[ecx] test eax, eax je G_M23076_IG40
- mov ecx, gword ptr [ebp-0x6C] - ; gcrRegs +[ecx] - mov gword ptr [ebp-0x70], ecx
+ mov eax, gword ptr [ebp-0x6C] + mov gword ptr [ebp-0x70], eax
mov ecx, gword ptr [ebp-0x70]
+ ; gcrRegs +[ecx]
call [<unknown method>] ; gcrRegs -[ecx] mov ecx, eax @@ -2397,9 +2397,9 @@ G_M23076_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} call [CORINFO_HELP_CHKCASTCLASS] ; gcrRegs -[edx] mov gword ptr [ebp-0x74], eax
- mov ecx, gword ptr [ebp-0x74]
+ mov eax, gword ptr [ebp-0x74] + mov ecx, gword ptr [eax+0x08]
; gcrRegs +[ecx]
- mov ecx, gword ptr [ecx+0x08]
mov edx, gword ptr [ebp-0x24] ; gcrRegs +[edx] call [<unknown method>] @@ -2415,10 +2415,10 @@ G_M23076_IG10: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} ; gcrRegs -[ecx] +[eax] test eax, eax je G_M23076_IG28
- mov ecx, gword ptr [ebp-0x6C] - ; gcrRegs +[ecx] - mov gword ptr [ebp-0x70], ecx
+ mov eax, gword ptr [ebp-0x6C] + mov gword ptr [ebp-0x70], eax
mov ecx, gword ptr [ebp-0x70]
+ ; gcrRegs +[ecx]
call [<unknown method>] ; gcrRegs -[ecx] mov ecx, eax @@ -2445,35 +2445,35 @@ G_M23076_IG10: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {} mov gword ptr [ebp-0x68], eax cmp gword ptr [ebp-0x68], 0 je G_M23076_IG40
- mov ecx, gword ptr [ebp-0x74]
+ mov eax, gword ptr [ebp-0x74] + mov ecx, gword ptr [eax+0x08]
; gcrRegs +[ecx]
- mov ecx, gword ptr [ecx+0x08]
mov edx, gword ptr [ebp-0x24] ; gcrRegs +[edx] call [<unknown method>] ; gcrRegs -[eax ecx edx] test eax, eax je G_M23076_IG40
- mov ecx, gword ptr [ebp-0x74] - ; gcrRegs +[ecx] - mov ecx, gword ptr [ecx+0x08] - mov gword ptr [ebp-0x7C], ecx - mov ecx, gword ptr [ebp-0x24] - mov gword ptr [ebp-0x78], ecx
+ mov eax, gword ptr [ebp-0x74] + ; gcrRegs +[eax] + mov eax, gword ptr [eax+0x08] + mov gword ptr [ebp-0x7C], eax + mov eax, gword ptr [ebp-0x24] + mov gword ptr [ebp-0x78], eax
jmp G_M23076_IG37 ;; size=149 bbWeight=1 PerfScore 50.25 G_M23076_IG11: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- ; gcrRegs -[ecx]
+ ; gcrRegs -[eax]
mov ecx, gword ptr [ebp-0x6C] ; gcrRegs +[ecx] call [<unknown method>] ; gcrRegs -[ecx] +[eax] test eax, eax je G_M23076_IG29
- mov ecx, gword ptr [ebp-0x6C] - ; gcrRegs +[ecx] - mov gword ptr [ebp-0x70], ecx
+ mov eax, gword ptr [ebp-0x6C] + mov gword ptr [ebp-0x70], eax
mov ecx, gword ptr [ebp-0x70]
+ ; gcrRegs +[ecx]
call [<unknown method>] ; gcrRegs -[ecx] mov ecx, eax ...

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
benchmarks.run.windows.x86.checked.mch 3 0 1 2 -0 +2
benchmarks.run_pgo.windows.x86.checked.mch 22,836 2,060 1,461 19,315 -4,317 +4,821
benchmarks.run_tiered.windows.x86.checked.mch 14,921 1,427 927 12,567 -2,965 +3,160
coreclr_tests.run.windows.x86.checked.mch 222,124 16,348 13,012 192,764 -47,639 +248,707
libraries.crossgen2.windows.x86.checked.mch 8 3 3 2 -3 +6
libraries.pmi.windows.x86.checked.mch 2 1 1 0 -83 +2
libraries_tests.run.windows.x86.Release.mch 229,405 21,438 8,295 199,672 -53,524 +39,589
librariestestsnotieredcompilation.run.windows.x86.Release.mch 13,205 3,828 817 8,560 -4,382 +7,567
realworld.run.windows.x86.checked.mch 3 0 1 2 -0 +14
502,507 45,105 24,518 432,884 -112,913 +303,868

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.windows.x86.checked.mch 24,257 4 24,253 229 (0.94%) 229 (0.94%)
benchmarks.run_pgo.windows.x86.checked.mch 117,851 40,150 77,701 249 (0.21%) 1,982 (1.65%)
benchmarks.run_tiered.windows.x86.checked.mch 46,754 27,668 19,086 171 (0.36%) 1,226 (2.56%)
coreclr_tests.run.windows.x86.checked.mch 568,130 313,975 254,155 554 (0.10%) 6,605 (1.15%)
libraries.crossgen2.windows.x86.checked.mch 242,337 15 242,322 7 (0.00%) 7 (0.00%)
libraries.pmi.windows.x86.checked.mch 302,963 6 302,957 2,086 (0.68%) 2,086 (0.68%)
libraries_tests.run.windows.x86.Release.mch 594,446 391,356 203,090 1,275 (0.20%) 37,840 (5.98%)
librariestestsnotieredcompilation.run.windows.x86.Release.mch 314,203 21,688 292,515 2,042 (0.65%) 2,225 (0.70%)
realworld.run.windows.x86.checked.mch 35,590 3 35,587 397 (1.10%) 397 (1.10%)
2,246,531 794,865 1,451,666 7,010 (0.30%) 52,597 (2.29%)

jit-analyze output

benchmarks.run.windows.x86.checked.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: 6960783 (overridden on cmd)
Total bytes of diff: 6960785 (overridden on cmd)
Total bytes of delta: 2 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
           2 : 15001.dasm (1.45 % of base)

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

Top method regressions (bytes):
           2 (1.45 % of base) : 15001.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)

Top method regressions (percentages):
           2 (1.45 % of base) : 15001.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)

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


benchmarks.run_pgo.windows.x86.checked.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: 44966304 (overridden on cmd)
Total bytes of diff: 44966808 (overridden on cmd)
Total bytes of delta: 504 (0.00 % of base)
    diff is an improvement.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          75 : 106162.dasm (6.57 % of base)
          75 : 68595.dasm (6.81 % of base)
          52 : 4748.dasm (18.51 % of base)
          46 : 68115.dasm (2.58 % of base)
          30 : 39782.dasm (2.27 % of base)
          24 : 8795.dasm (22.86 % of base)
          24 : 115713.dasm (22.86 % of base)
          22 : 38920.dasm (3.33 % of base)
          20 : 11911.dasm (6.13 % of base)
          20 : 15072.dasm (6.13 % of base)
          19 : 94545.dasm (2.96 % of base)
          19 : 104744.dasm (3.18 % of base)
          19 : 107847.dasm (2.98 % of base)
          19 : 96480.dasm (2.79 % of base)
          18 : 38943.dasm (2.39 % of base)
          16 : 29646.dasm (3.14 % of base)
          16 : 8058.dasm (3.33 % of base)
          16 : 14280.dasm (4.49 % of base)
          16 : 20323.dasm (3.70 % of base)
          16 : 38778.dasm (3.46 % of base)

Top file improvements (bytes):
        -101 : 73237.dasm (-0.59 % of base)
         -94 : 16572.dasm (-2.35 % of base)
         -93 : 16340.dasm (-2.29 % of base)
         -61 : 6351.dasm (-2.28 % of base)
         -49 : 16349.dasm (-0.33 % of base)
         -41 : 86454.dasm (-0.84 % of base)
         -40 : 30642.dasm (-1.15 % of base)
         -34 : 18944.dasm (-1.58 % of base)
         -34 : 11682.dasm (-1.95 % of base)
         -30 : 39779.dasm (-1.26 % of base)
         -25 : 17876.dasm (-0.97 % of base)
         -23 : 77729.dasm (-1.73 % of base)
         -23 : 79739.dasm (-1.54 % of base)
         -20 : 24577.dasm (-0.92 % of base)
         -17 : 64487.dasm (-1.95 % of base)
         -16 : 73788.dasm (-0.98 % of base)
         -16 : 56325.dasm (-0.81 % of base)
         -15 : 18394.dasm (-0.76 % of base)
         -14 : 17817.dasm (-0.91 % of base)
         -14 : 76521.dasm (-0.12 % of base)

84 total files with Code Size differences (43 improved, 41 regressed), 20 unchanged.

Top method regressions (bytes):
          75 (6.57 % of base) : 106162.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Instrumented Tier0)
          75 (6.81 % of base) : 68595.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
          52 (18.51 % of base) : 4748.dasm - System.TimeSpan:.ctor(int,int,int,int,int,int):this (Tier0)
          46 (2.58 % of base) : 68115.dasm - System.Security.Cryptography.X509Certificates.ChainPal:.cctor() (Tier0)
          30 (2.27 % of base) : 39782.dasm - System.Xml.XmlDocument:.cctor() (Tier0)
          24 (22.86 % of base) : 115713.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
          24 (22.86 % of base) : 8795.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          22 (3.33 % of base) : 38920.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[System.__Canon]:WaitToReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte]:this (Tier0)
          20 (6.13 % of base) : 11911.dasm - Interop+Winsock:<EnsureInitialized>g__Initialize|57_0() (Tier0)
          20 (6.13 % of base) : 15072.dasm - Interop+Winsock:<EnsureInitialized>g__Initialize|8_0() (Tier0)
          19 (2.79 % of base) : 96480.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Instrumented Tier0)
          19 (2.96 % of base) : 94545.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Tier0)
          19 (2.98 % of base) : 107847.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):this (Instrumented Tier0)
          19 (3.18 % of base) : 104744.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):this (Tier0)
          18 (2.39 % of base) : 38943.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[System.__Canon]:WaitToReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte]:this (Instrumented Tier0)
          16 (4.49 % of base) : 14280.dasm - System.Reflection.RuntimeParameterInfo:TryGetDefaultValueInternal(ubyte,byref):ubyte:this (Tier0)
          16 (3.14 % of base) : 29646.dasm - System.Text.Json.Utf8JsonWriter:WriteStringMinimized(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Instrumented Tier0)
          16 (3.33 % of base) : 8058.dasm - System.Text.Json.Utf8JsonWriter:WriteStringMinimized(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Tier0)
          16 (3.46 % of base) : 38778.dasm - System.Text.Json.Utf8JsonWriter:WriteStringMinimized(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):this (Instrumented Tier0)
          16 (3.70 % of base) : 20323.dasm - System.Text.Json.Utf8JsonWriter:WriteStringMinimized(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):this (Tier0)

Top method improvements (bytes):
        -101 (-0.59 % of base) : 73237.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
         -94 (-2.35 % of base) : 16572.dasm - System.Net.Http.Headers.KnownHeaders:GetCandidate[System.Net.Http.Headers.KnownHeaders+StringAccessor](System.Net.Http.Headers.KnownHeaders+StringAccessor):System.Net.Http.Headers.KnownHeader (Instrumented Tier0)
         -93 (-2.29 % of base) : 16340.dasm - System.Net.Http.Headers.KnownHeaders:GetCandidate[System.Net.Http.Headers.KnownHeaders+StringAccessor](System.Net.Http.Headers.KnownHeaders+StringAccessor):System.Net.Http.Headers.KnownHeader (Tier0)
         -61 (-2.28 % of base) : 6351.dasm - System.Runtime.Serialization.DictionaryGlobals:.cctor() (Tier0)
         -49 (-0.33 % of base) : 16349.dasm - System.Net.Http.Headers.KnownHeaders:.cctor() (Tier0)
         -41 (-0.84 % of base) : 86454.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:IsWarning(int):ubyte (Instrumented Tier0)
         -40 (-1.15 % of base) : 30642.dasm - System.Diagnostics.Tracing.PropertyValue:GetFactory(System.Type):System.Func`2[System.Object,System.Diagnostics.Tracing.PropertyValue] (Tier0)
         -34 (-1.58 % of base) : 18944.dasm - System.Text.RegularExpressions.RegexCompiler+<>c__DisplayClass158_0:<EmitTryMatchAtCurrentPosition>g__EmitIndexOf|30(System.Text.RegularExpressions.RegexNode,ubyte,ubyte):this (Instrumented Tier0)
         -34 (-1.95 % of base) : 11682.dasm - System.Text.RegularExpressions.RegexCompiler+<>c__DisplayClass158_0:<EmitTryMatchAtCurrentPosition>g__EmitIndexOf|30(System.Text.RegularExpressions.RegexNode,ubyte,ubyte):this (Tier0)
         -30 (-1.26 % of base) : 39779.dasm - System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this (Tier0)
         -25 (-0.97 % of base) : 17876.dasm - ProtoBuf.Serializers.RepeatedSerializers:.cctor() (Tier0)
         -23 (-1.54 % of base) : 79739.dasm - Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Instrumented Tier0)
         -23 (-1.73 % of base) : 77729.dasm - Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier0)
         -20 (-0.92 % of base) : 24577.dasm - System.IO.Tests.Perf_RandomAccess_NoBuffering:Setup(long[]):this (Tier0)
         -17 (-1.95 % of base) : 64487.dasm - Neural:.cctor() (Tier0)
         -16 (-0.98 % of base) : 73788.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier0)
         -16 (-0.81 % of base) : 56325.dasm - System.Collections.Tests.DictionarySequentialKeys:Initialize():this (Tier0)
         -15 (-0.76 % of base) : 18394.dasm - ProtoBuf.Meta.ValueMember:TryGetCoreSerializer(ProtoBuf.Meta.RuntimeTypeModel,int,int,System.Type,byref,ubyte,ubyte,ubyte,ubyte):ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode (Instrumented Tier0)
         -14 (-0.12 % of base) : 76521.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Tier0)
         -14 (-0.91 % of base) : 17817.dasm - ProtoBuf.Meta.ValueMember:TryGetCoreSerializer(ProtoBuf.Meta.RuntimeTypeModel,int,int,System.Type,byref,ubyte,ubyte,ubyte,ubyte):ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode (Tier0)

Top method regressions (percentages):
          10 (29.41 % of base) : 31537.dasm - System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
           8 (22.86 % of base) : 45216.dasm - Interop+Kernel32+FILE_TIME:ToTicks():long:this (Instrumented Tier0)
           8 (22.86 % of base) : 45138.dasm - Interop+Kernel32+FILE_TIME:ToTicks():long:this (Tier0)
          24 (22.86 % of base) : 115713.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
          24 (22.86 % of base) : 8795.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          52 (18.51 % of base) : 4748.dasm - System.TimeSpan:.ctor(int,int,int,int,int,int):this (Tier0)
           8 (18.18 % of base) : 75706.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (18.18 % of base) : 74640.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
          10 (16.39 % of base) : 68421.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
           8 (14.55 % of base) : 10029.dasm - System.Math:BigMul(uint,uint):ulong (Instrumented Tier0)
           8 (14.55 % of base) : 9340.dasm - System.Math:BigMul(uint,uint):ulong (Tier0)
           6 (13.04 % of base) : 611.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
           2 (9.52 % of base) : 20952.dasm - System.Diagnostics.Tracing.SessionMask:ToEventKeywords():ulong:this (Tier0)
          11 (9.09 % of base) : 2307.dasm - System.Threading.PortableThreadPool:get_HasForcedMaxThreads():ubyte (Tier0)
          11 (9.09 % of base) : 2306.dasm - System.Threading.PortableThreadPool:get_HasForcedMinThreads():ubyte (Tier0)
          14 (8.86 % of base) : 9468.dasm - System.TimeSpan:TimeToTicks(int,int,int):long (Tier0)
           4 (7.84 % of base) : 4397.dasm - System.Number+BigInteger:Clear(uint):this (Instrumented Tier0)
           4 (7.84 % of base) : 1562.dasm - System.Number+BigInteger:Clear(uint):this (Tier0)
           2 (7.41 % of base) : 1409.dasm - System.Buffers.Utilities:SelectBucketIndex(int):int (Instrumented Tier0)
           2 (7.41 % of base) : 56557.dasm - System.Runtime.Serialization.BitFlagsGenerator:GetBitValue(int):ubyte (Tier0)

Top method improvements (percentages):
          -8 (-12.50 % of base) : 61363.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
          -6 (-10.53 % of base) : 53228.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int (Tier0)
          -4 (-8.16 % of base) : 11501.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Instrumented Tier0)
          -4 (-8.16 % of base) : 11364.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
          -4 (-8.00 % of base) : 2375.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,int):int (Instrumented Tier0)
          -4 (-8.00 % of base) : 799.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,int):int (Tier0)
          -4 (-6.78 % of base) : 2394.dasm - System.PackedSpanHelpers:IndexOfAny(byref,ushort,ushort,ushort,int):int (Instrumented Tier0)
          -4 (-6.78 % of base) : 801.dasm - System.PackedSpanHelpers:IndexOfAny(byref,ushort,ushort,ushort,int):int (Tier0)
          -3 (-5.08 % of base) : 233.dasm - System.Globalization.NumberFormatInfo:ValidateParseStyleInteger(int) (Tier0)
          -4 (-4.76 % of base) : 4752.dasm - System.Text.RegularExpressions.Regex:ValidateOptions(int) (Tier0)
          -2 (-4.65 % of base) : 45087.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,int):int (Tier0)
          -2 (-4.65 % of base) : 60777.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (Instrumented Tier0)
          -2 (-4.65 % of base) : 31339.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (Tier0)
          -2 (-4.65 % of base) : 39735.dasm - System.SpanHelpers:LastIndexOfAnyValueType[short](byref,short,short,int):int (Tier0)
          -3 (-4.62 % of base) : 17259.dasm - System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Instrumented Tier0)
          -3 (-4.62 % of base) : 12385.dasm - System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Tier0)
          -3 (-4.62 % of base) : 16774.dasm - System.Net.Sockets.SocketAsyncEventArgs+MultiConnectSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Tier0)
          -3 (-4.29 % of base) : 2308.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumThreadsGoal(short):this (Tier0)
          -2 (-4.08 % of base) : 31341.dasm - System.PackedSpanHelpers:IndexOfAny(byref,ushort,ushort,int):int (Tier0)
          -2 (-4.08 % of base) : 46963.dasm - System.PackedSpanHelpers:IndexOfAnyExceptInRange(byref,ushort,ushort,int):int (Instrumented Tier0)


benchmarks.run_tiered.windows.x86.checked.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: 8898260 (overridden on cmd)
Total bytes of diff: 8898455 (overridden on cmd)
Total bytes of delta: 195 (0.00 % of base)
    diff is an improvement.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          75 : 33457.dasm (6.81 % of base)
          52 : 3761.dasm (18.51 % of base)
          46 : 33298.dasm (2.58 % of base)
          30 : 26352.dasm (2.27 % of base)
          24 : 10092.dasm (22.86 % of base)
          22 : 23287.dasm (3.33 % of base)
          20 : 17272.dasm (6.13 % of base)
          20 : 2009.dasm (6.13 % of base)
          19 : 44527.dasm (2.96 % of base)
          19 : 46088.dasm (3.18 % of base)
          16 : 7334.dasm (3.33 % of base)
          16 : 10830.dasm (3.70 % of base)
          14 : 19576.dasm (3.84 % of base)
          14 : 2925.dasm (8.86 % of base)
          14 : 44969.dasm (2.55 % of base)
          14 : 43947.dasm (2.33 % of base)
          13 : 45768.dasm (1.71 % of base)
          12 : 23100.dasm (2.19 % of base)
          12 : 8792.dasm (2.41 % of base)
          12 : 8912.dasm (2.74 % of base)

Top file improvements (bytes):
        -101 : 35150.dasm (-0.59 % of base)
         -93 : 16175.dasm (-2.29 % of base)
         -61 : 12573.dasm (-2.28 % of base)
         -49 : 16181.dasm (-0.33 % of base)
         -40 : 19653.dasm (-1.15 % of base)
         -34 : 9986.dasm (-1.95 % of base)
         -30 : 26349.dasm (-1.26 % of base)
         -25 : 14990.dasm (-0.97 % of base)
         -23 : 39009.dasm (-1.73 % of base)
         -20 : 15845.dasm (-0.92 % of base)
         -17 : 32232.dasm (-1.95 % of base)
         -16 : 35663.dasm (-0.98 % of base)
         -16 : 30407.dasm (-0.81 % of base)
         -14 : 37919.dasm (-0.12 % of base)
         -14 : 14933.dasm (-0.91 % of base)
         -13 : 22860.dasm (-2.03 % of base)
         -12 : 9104.dasm (-1.39 % of base)
         -12 : 17396.dasm (-0.85 % of base)
         -11 : 14282.dasm (-0.25 % of base)
         -11 : 11177.dasm (-2.93 % of base)

82 total files with Code Size differences (42 improved, 40 regressed), 20 unchanged.

Top method regressions (bytes):
          75 (6.81 % of base) : 33457.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
          52 (18.51 % of base) : 3761.dasm - System.TimeSpan:.ctor(int,int,int,int,int,int):this (Tier0)
          46 (2.58 % of base) : 33298.dasm - System.Security.Cryptography.X509Certificates.ChainPal:.cctor() (Tier0)
          30 (2.27 % of base) : 26352.dasm - System.Xml.XmlDocument:.cctor() (Tier0)
          24 (22.86 % of base) : 10092.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          22 (3.33 % of base) : 23287.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[System.__Canon]:WaitToReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte]:this (Tier0)
          20 (6.13 % of base) : 2009.dasm - Interop+Winsock:<EnsureInitialized>g__Initialize|57_0() (Tier0)
          20 (6.13 % of base) : 17272.dasm - Interop+Winsock:<EnsureInitialized>g__Initialize|8_0() (Tier0)
          19 (2.96 % of base) : 44527.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Tier0)
          19 (3.18 % of base) : 46088.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):this (Tier0)
          16 (3.33 % of base) : 7334.dasm - System.Text.Json.Utf8JsonWriter:WriteStringMinimized(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Tier0)
          16 (3.70 % of base) : 10830.dasm - System.Text.Json.Utf8JsonWriter:WriteStringMinimized(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):this (Tier0)
          14 (3.84 % of base) : 19576.dasm - System.Text.Json.JsonHelpers:TryCreateDateTimeOffset(System.DateTime,byref,byref):ubyte (Tier0)
          14 (2.33 % of base) : 43947.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyNameIndented(System.ReadOnlySpan`1[ubyte],ubyte):this (Tier0)
          14 (2.55 % of base) : 44969.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyNameIndented(System.ReadOnlySpan`1[ushort],ubyte):this (Tier0)
          14 (8.86 % of base) : 2925.dasm - System.TimeSpan:TimeToTicks(int,int,int):long (Tier0)
          13 (1.71 % of base) : 45768.dasm - System.Array:Sort(System.Array,System.Array,int,int,System.Collections.IComparer) (Tier0)
          12 (2.74 % of base) : 8912.dasm - System.Text.Json.Utf8JsonWriter:WriteLiteralMinimized(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):this (Tier0)
          12 (2.19 % of base) : 23100.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndentedPropertyName(System.ReadOnlySpan`1[ubyte]):this (Tier0)
          12 (2.41 % of base) : 8792.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndentedPropertyName(System.ReadOnlySpan`1[ushort]):this (Tier0)

Top method improvements (bytes):
        -101 (-0.59 % of base) : 35150.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
         -93 (-2.29 % of base) : 16175.dasm - System.Net.Http.Headers.KnownHeaders:GetCandidate[System.Net.Http.Headers.KnownHeaders+StringAccessor](System.Net.Http.Headers.KnownHeaders+StringAccessor):System.Net.Http.Headers.KnownHeader (Tier0)
         -61 (-2.28 % of base) : 12573.dasm - System.Runtime.Serialization.DictionaryGlobals:.cctor() (Tier0)
         -49 (-0.33 % of base) : 16181.dasm - System.Net.Http.Headers.KnownHeaders:.cctor() (Tier0)
         -40 (-1.15 % of base) : 19653.dasm - System.Diagnostics.Tracing.PropertyValue:GetFactory(System.Type):System.Func`2[System.Object,System.Diagnostics.Tracing.PropertyValue] (Tier0)
         -34 (-1.95 % of base) : 9986.dasm - System.Text.RegularExpressions.RegexCompiler+<>c__DisplayClass158_0:<EmitTryMatchAtCurrentPosition>g__EmitIndexOf|30(System.Text.RegularExpressions.RegexNode,ubyte,ubyte):this (Tier0)
         -30 (-1.26 % of base) : 26349.dasm - System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this (Tier0)
         -25 (-0.97 % of base) : 14990.dasm - ProtoBuf.Serializers.RepeatedSerializers:.cctor() (Tier0)
         -23 (-1.73 % of base) : 39009.dasm - Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier0)
         -20 (-0.92 % of base) : 15845.dasm - System.IO.Tests.Perf_RandomAccess_NoBuffering:Setup(long[]):this (Tier0)
         -17 (-1.95 % of base) : 32232.dasm - Neural:.cctor() (Tier0)
         -16 (-0.98 % of base) : 35663.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier0)
         -16 (-0.81 % of base) : 30407.dasm - System.Collections.Tests.DictionarySequentialKeys:Initialize():this (Tier0)
         -14 (-0.12 % of base) : 37919.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Tier0)
         -14 (-0.91 % of base) : 14933.dasm - ProtoBuf.Meta.ValueMember:TryGetCoreSerializer(ProtoBuf.Meta.RuntimeTypeModel,int,int,System.Type,byref,ubyte,ubyte,ubyte,ubyte):ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode (Tier0)
         -13 (-2.03 % of base) : 22860.dasm - System.Uri:TryFormat(System.Span`1[ushort],byref):ubyte:this (Tier0)
         -12 (-1.39 % of base) : 9104.dasm - System.Globalization.CalendarData:.ctor(System.String,ushort,ubyte):this (Tier0)
         -12 (-0.85 % of base) : 17396.dasm - System.IO.Tests.Perf_RandomAccess:Setup(long[]):this (Tier0)
         -11 (-0.25 % of base) : 14282.dasm - System.DateTimeParse:Lex(int,byref,byref,byref,byref,byref,int):ubyte (Tier0)
         -11 (-2.93 % of base) : 11177.dasm - Utf8Json.Resolvers.StandardResolver:.cctor() (Tier0)

Top method regressions (percentages):
          10 (29.41 % of base) : 23388.dasm - System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
           8 (22.86 % of base) : 28234.dasm - Interop+Kernel32+FILE_TIME:ToTicks():long:this (Tier0)
          24 (22.86 % of base) : 10092.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          52 (18.51 % of base) : 3761.dasm - System.TimeSpan:.ctor(int,int,int,int,int,int):this (Tier0)
           8 (18.18 % of base) : 36307.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
          10 (16.39 % of base) : 33217.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
           8 (14.55 % of base) : 4850.dasm - System.Math:BigMul(uint,uint):ulong (Tier0)
           6 (13.04 % of base) : 701.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
           2 (9.52 % of base) : 10490.dasm - System.Diagnostics.Tracing.SessionMask:ToEventKeywords():ulong:this (Tier0)
          11 (9.09 % of base) : 2585.dasm - System.Threading.PortableThreadPool:get_HasForcedMaxThreads():ubyte (Tier0)
          11 (9.09 % of base) : 2584.dasm - System.Threading.PortableThreadPool:get_HasForcedMinThreads():ubyte (Tier0)
          14 (8.86 % of base) : 2925.dasm - System.TimeSpan:TimeToTicks(int,int,int):long (Tier0)
           4 (7.84 % of base) : 1660.dasm - System.Number+BigInteger:Clear(uint):this (Tier0)
           2 (7.41 % of base) : 601.dasm - System.Buffers.Utilities:SelectBucketIndex(int):int (Tier0)
           2 (7.41 % of base) : 30771.dasm - System.Runtime.Serialization.BitFlagsGenerator:GetBitValue(int):ubyte (Tier0)
           6 (7.14 % of base) : 33080.dasm - Benchstone.BenchI.Ackermann:Acker(int,int):int (Tier0)
          75 (6.81 % of base) : 33457.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
           4 (6.67 % of base) : 4949.dasm - Jil.Common.ExtensionMethods+<>c__17`1[System.__Canon]:<GetCustomAttribute>b__17_0(System.Reflection.CustomAttributeData):ubyte:this (Tier0)
           6 (6.59 % of base) : 35212.dasm - System.Reflection.Metadata.Ecma335.TypeDefOrRefTag:ConvertToHandle(uint):System.Reflection.Metadata.EntityHandle (Tier0)
           7 (6.54 % of base) : 45979.dasm - System.Collections.Frozen.OrdinalStringFrozenSet_Full:CheckLengthQuick(System.String):ubyte:this (Tier0)

Top method improvements (percentages):
          -8 (-12.50 % of base) : 31607.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
          -6 (-10.53 % of base) : 29355.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int (Tier0)
          -4 (-8.16 % of base) : 5078.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
          -4 (-8.00 % of base) : 968.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,int):int (Tier0)
          -4 (-6.78 % of base) : 970.dasm - System.PackedSpanHelpers:IndexOfAny(byref,ushort,ushort,ushort,int):int (Tier0)
          -3 (-5.08 % of base) : 260.dasm - System.Globalization.NumberFormatInfo:ValidateParseStyleInteger(int) (Tier0)
          -4 (-4.76 % of base) : 8066.dasm - System.Text.RegularExpressions.Regex:ValidateOptions(int) (Tier0)
          -2 (-4.65 % of base) : 28183.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,int):int (Tier0)
          -2 (-4.65 % of base) : 20585.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (Tier0)
          -2 (-4.65 % of base) : 20761.dasm - System.SpanHelpers:LastIndexOfAnyValueType[short](byref,short,short,int):int (Tier0)
          -3 (-4.62 % of base) : 2714.dasm - System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Tier0)
          -3 (-4.62 % of base) : 16529.dasm - System.Net.Sockets.SocketAsyncEventArgs+MultiConnectSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Tier0)
          -3 (-4.29 % of base) : 2586.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumThreadsGoal(short):this (Tier0)
          -6 (-4.17 % of base) : 2491.dasm - System.HashCode:Initialize(byref,byref,byref,byref) (Tier0)
          -2 (-4.08 % of base) : 20587.dasm - System.PackedSpanHelpers:IndexOfAny(byref,ushort,ushort,int):int (Tier0)
          -2 (-4.08 % of base) : 28184.dasm - System.PackedSpanHelpers:IndexOfAnyExcept(byref,ushort,ushort,int):int (Tier0)
          -2 (-4.08 % of base) : 22328.dasm - System.PackedSpanHelpers:IndexOfAnyExceptInRange(byref,ushort,ushort,int):int (Tier0)
          -2 (-3.92 % of base) : 42313.dasm - Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo:.ctor(int,System.Object[]):this (Tier0)
          -3 (-3.53 % of base) : 2739.dasm - System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[int,System.Net.Security.SslStream+<ReceiveHandshakeFrameAsync>d__159`1[System.Net.Security.AsyncReadWriteAdapter]]:.ctor():this (Tier0)
          -3 (-3.53 % of base) : 16454.dasm - System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[System.__Canon,System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<WaitWithCancellationAsync>d__1[System.__Canon]]:.ctor():this (Tier0)


coreclr_tests.run.windows.x86.checked.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: 305383476 (overridden on cmd)
Total bytes of diff: 305584544 (overridden on cmd)
Total bytes of delta: 201068 (0.07 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
        3527 : 219751.dasm (11.63 % of base)
        3526 : 219710.dasm (11.63 % of base)
        1904 : 5639.dasm (4.33 % of base)
        1890 : 5643.dasm (4.62 % of base)
        1784 : 5650.dasm (4.43 % of base)
        1748 : 256600.dasm (1.18 % of base)
        1748 : 254714.dasm (1.18 % of base)
        1748 : 254755.dasm (1.13 % of base)
        1748 : 256606.dasm (1.13 % of base)
        1746 : 266413.dasm (1.33 % of base)
        1746 : 267424.dasm (1.33 % of base)
        1746 : 266395.dasm (1.40 % of base)
        1746 : 267419.dasm (1.40 % of base)
        1698 : 5532.dasm (3.94 % of base)
        1694 : 5540.dasm (4.27 % of base)
        1588 : 5589.dasm (4.07 % of base)
        1463 : 254545.dasm (1.23 % of base)
        1395 : 254560.dasm (1.11 % of base)
        1395 : 266264.dasm (1.45 % of base)
        1395 : 266275.dasm (1.36 % of base)

Top file improvements (bytes):
        -810 : 288638.dasm (-0.05 % of base)
        -258 : 272180.dasm (-0.44 % of base)
        -258 : 262754.dasm (-0.44 % of base)
        -173 : 271946.dasm (-0.22 % of base)
        -173 : 265513.dasm (-0.22 % of base)
        -160 : 274882.dasm (-0.17 % of base)
        -160 : 274901.dasm (-0.17 % of base)
        -160 : 266812.dasm (-0.17 % of base)
        -160 : 266849.dasm (-0.17 % of base)
        -158 : 255199.dasm (-0.13 % of base)
        -158 : 255167.dasm (-0.13 % of base)
        -112 : 266592.dasm (-0.45 % of base)
        -112 : 266749.dasm (-0.35 % of base)
        -110 : 259579.dasm (-0.12 % of base)
        -108 : 267803.dasm (-0.44 % of base)
        -108 : 267120.dasm (-0.44 % of base)
        -108 : 267127.dasm (-0.44 % of base)
        -108 : 267431.dasm (-0.34 % of base)
        -108 : 265943.dasm (-0.44 % of base)
        -102 : 266225.dasm (-0.39 % of base)

80 total files with Code Size differences (40 improved, 40 regressed), 20 unchanged.

Top method regressions (bytes):
        3527 (11.63 % of base) : 219751.dasm - <Module>:f():int (MinOpts)
        3526 (11.63 % of base) : 219710.dasm - <Module>:f():int (MinOpts)
        1904 (4.33 % of base) : 5639.dasm - lclfldsub:TestEntryPoint():int (MinOpts)
        1890 (4.62 % of base) : 5643.dasm - lclfldsub:TestEntryPoint():int (Tier0)
        1784 (4.43 % of base) : 5650.dasm - lclfldsub:TestEntryPoint():int (Tier0)
        1748 (1.18 % of base) : 254714.dasm - i8div:TestEntryPoint():int (MinOpts)
        1748 (1.13 % of base) : 254755.dasm - i8rem:TestEntryPoint():int (MinOpts)
        1748 (1.18 % of base) : 256600.dasm - u8div:TestEntryPoint():int (MinOpts)
        1748 (1.13 % of base) : 256606.dasm - u8rem:TestEntryPoint():int (MinOpts)
        1746 (1.40 % of base) : 266395.dasm - i8div:TestEntryPoint():int (Tier0)
        1746 (1.33 % of base) : 266413.dasm - i8rem:TestEntryPoint():int (Tier0)
        1746 (1.40 % of base) : 267419.dasm - u8div:TestEntryPoint():int (Tier0)
        1746 (1.33 % of base) : 267424.dasm - u8rem:TestEntryPoint():int (Tier0)
        1698 (3.94 % of base) : 5532.dasm - lclfldadd:TestEntryPoint():int (MinOpts)
        1694 (4.27 % of base) : 5540.dasm - lclfldadd:TestEntryPoint():int (Tier0)
        1588 (4.07 % of base) : 5589.dasm - lclfldadd:TestEntryPoint():int (Tier0)
        1463 (1.23 % of base) : 254545.dasm - i4div:TestEntryPoint():int (MinOpts)
        1395 (1.45 % of base) : 266264.dasm - i4div:TestEntryPoint():int (Tier0)
        1395 (1.11 % of base) : 254560.dasm - i4rem:TestEntryPoint():int (MinOpts)
        1395 (1.36 % of base) : 266275.dasm - i4rem:TestEntryPoint():int (Tier0)

Top method improvements (bytes):
        -810 (-0.05 % of base) : 288638.dasm - NullableTest:And() (MinOpts)
        -258 (-0.44 % of base) : 272180.dasm - Test_10w5d.testout1:.cctor() (Tier0)
        -258 (-0.44 % of base) : 262754.dasm - Test_10w5d.testout1:.cctor() (Tier0)
        -173 (-0.22 % of base) : 271946.dasm - Test_1000w1d.testout1:Func_0():int (Tier0)
        -173 (-0.22 % of base) : 265513.dasm - Test_1000w1d.testout1:Func_0():int (Tier0)
        -160 (-0.17 % of base) : 274882.dasm - overlddiv:TestEntryPoint():int (Tier0)
        -160 (-0.17 % of base) : 266812.dasm - overlddiv:TestEntryPoint():int (Tier0)
        -160 (-0.17 % of base) : 274901.dasm - overldrem:TestEntryPoint():int (Tier0)
        -160 (-0.17 % of base) : 266849.dasm - overldrem:TestEntryPoint():int (Tier0)
        -158 (-0.13 % of base) : 255167.dasm - overlddiv:TestEntryPoint():int (MinOpts)
        -158 (-0.13 % of base) : 255199.dasm - overldrem:TestEntryPoint():int (MinOpts)
        -112 (-0.45 % of base) : 266592.dasm - intMDArrTest:TestEntryPoint():int (Tier0)
        -112 (-0.35 % of base) : 266749.dasm - longMDArrTest:TestEntryPoint():int (Tier0)
        -110 (-0.12 % of base) : 259579.dasm - Test_1000w1d.testout1:Func_0():int (MinOpts)
        -108 (-0.44 % of base) : 265943.dasm - byteMDArrTest:TestEntryPoint():int (Tier0)
        -108 (-0.44 % of base) : 267120.dasm - sbyteMDArrTest:TestEntryPoint():int (Tier0)
        -108 (-0.44 % of base) : 267127.dasm - shortMDArrTest:TestEntryPoint():int (Tier0)
        -108 (-0.34 % of base) : 267431.dasm - ulongMDArrTest:TestEntryPoint():int (Tier0)
        -108 (-0.44 % of base) : 267803.dasm - ushortMDArrTest:TestEntryPoint():int (Tier0)
        -102 (-0.39 % of base) : 266225.dasm - floatMDArrTest:TestEntryPoint():int (Tier0)

Top method regressions (percentages):
          11 (26.83 % of base) : 220125.dasm - Program:TestRet2():ubyte (Tier0)
          24 (22.86 % of base) : 235294.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          10 (22.73 % of base) : 220115.dasm - Program:TestCond3() (Tier0)
          64 (20.19 % of base) : 4695.dasm - CSE1:DoDiv(byref):int (Tier0)
           8 (18.18 % of base) : 226343.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (18.18 % of base) : 225813.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
           5 (17.86 % of base) : 203603.dasm - ModConst:I4_Mod_0(int):int (Tier0)
           9 (17.65 % of base) : 284059.dasm - Runtime_75832:Test(int) (Tier0)
           4 (16.67 % of base) : 281695.dasm - X:G(S):int (Tier0)
           6 (14.63 % of base) : 276733.dasm - System.Collections.Concurrent.ConcurrentDictionaryTypeProps`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:.cctor() (Tier0)
          13 (14.61 % of base) : 364773.dasm - Microsoft.Build.Shared.FileUtilities:IsSlash(ushort):ubyte (Tier0)
          60 (14.49 % of base) : 4686.dasm - CSE1:DoDiv(byref):int (MinOpts)
          18 (14.06 % of base) : 202820.dasm - DivConst:I8_DivPow2Embedded_4(long,long):long (Tier0)
          18 (14.06 % of base) : 203628.dasm - ModConst:I8_ModPow2Embedded_4(long,long):long (Tier0)
          14 (13.86 % of base) : 280239.dasm - AA:Static2(System.String[]):int[] (Tier0)
           7 (13.73 % of base) : 287226.dasm - GitHub_10714:Test():int (Tier0)
         191 (13.67 % of base) : 375238.dasm - Value0:CheckValues():ubyte:this (Tier0)
           4 (13.33 % of base) : 137383.dasm - JIT.HardwareIntrinsics.X86.Avx512Verify:GetTokenResponse(int,int):int (Instrumented Tier0)
           4 (13.33 % of base) : 137343.dasm - JIT.HardwareIntrinsics.X86.Avx512Verify:GetTokenResponse(int,int):int (Tier0)
           6 (13.04 % of base) : 362032.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)

Top method improvements (percentages):
          -4 (-7.27 % of base) : 371257.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Instrumented Tier0)
          -4 (-7.27 % of base) : 338643.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
          -4 (-6.25 % of base) : 255856.dasm - TestApp:test_4_13(short):short (Tier0)
          -4 (-6.25 % of base) : 253891.dasm - TestApp:test_4_13(short):short (Tier0)
          -8 (-6.06 % of base) : 282085.dasm - Runtime_55143:M47(short):int (Tier0)
         -15 (-5.88 % of base) : 179859.dasm - IntelHardwareIntrinsicTest.General.Program:F2_v128i(short):System.Runtime.Intrinsics.Vector128`1[short] (Tier0)
          -4 (-5.56 % of base) : 282540.dasm - NormalizeTest.Program:ShortTest1(short,int):int (Tier0)
          -2 (-5.41 % of base) : 359924.dasm - OVFTest:Test_uint(uint):uint (Tier0)
          -8 (-5.23 % of base) : 189460.dasm - add_ovf:i2():int (Tier0)
         -21 (-4.83 % of base) : 26369.dasm - TestNon2PowerStructs:TestComposite() (Tier0)
          -6 (-4.80 % of base) : 284531.dasm - Runtime_92784:Problem(uint):int (Tier0)
          -2 (-4.76 % of base) : 24604.dasm - Program:I2_BT_reg_reg(short,int):ubyte (Tier0)
          -4 (-4.76 % of base) : 225133.dasm - System.Text.RegularExpressions.Regex:ValidateOptions(int) (Tier0)
          -3 (-4.62 % of base) : 277961.dasm - DefaultNamespace.BNode:.cctor() (Tier0)
          -4 (-4.44 % of base) : 208127.dasm - VectorTest+VectorUnusedTest`1[short]:VectorUnused(short,short):int (Tier0)
          -3 (-4.41 % of base) : 287795.dasm - Program+Test3:Run():int (Tier0)
          -6 (-4.38 % of base) : 189459.dasm - add_ovf:u1():int (Tier0)
          -6 (-4.38 % of base) : 189461.dasm - add_ovf:u2():int (Tier0)
          -2 (-4.35 % of base) : 271303.dasm - Test_r4NaNconv.ConvTest:test2():short (Tier0)
          -2 (-4.35 % of base) : 271360.dasm - Test_r8NaNconv.ConvTest:test2():short (Tier0)


libraries.crossgen2.windows.x86.checked.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: 31679639 (overridden on cmd)
Total bytes of diff: 31679642 (overridden on cmd)
Total bytes of delta: 3 (0.00 % of base)
    diff is a regression.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
           2 : 7026.dasm (1.45 % of base)
           2 : 134321.dasm (1.45 % of base)
           2 : 7031.dasm (1.45 % of base)

Top file improvements (bytes):
          -1 : 21148.dasm (-1.89 % of base)
          -1 : 7030.dasm (-1.08 % of base)
          -1 : 7025.dasm (-1.67 % of base)

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

Top method regressions (bytes):
           2 (1.45 % of base) : 134321.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
           2 (1.45 % of base) : 7026.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
           2 (1.45 % of base) : 7031.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)

Top method improvements (bytes):
          -1 (-1.89 % of base) : 21148.dasm - System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletion():this (MinOpts)
          -1 (-1.67 % of base) : 7025.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
          -1 (-1.08 % of base) : 7030.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)

Top method regressions (percentages):
           2 (1.45 % of base) : 134321.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
           2 (1.45 % of base) : 7026.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
           2 (1.45 % of base) : 7031.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)

Top method improvements (percentages):
          -1 (-1.89 % of base) : 21148.dasm - System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletion():this (MinOpts)
          -1 (-1.67 % of base) : 7025.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
          -1 (-1.08 % of base) : 7030.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)

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


libraries.pmi.windows.x86.checked.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: 48041556 (overridden on cmd)
Total bytes of diff: 48041475 (overridden on cmd)
Total bytes of delta: -81 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
           2 : 284252.dasm (1.45 % of base)

Top file improvements (bytes):
         -83 : 17559.dasm (-0.09 % of base)

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

Top method regressions (bytes):
           2 (1.45 % of base) : 284252.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)

Top method improvements (bytes):
         -83 (-0.09 % of base) : 17559.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)

Top method regressions (percentages):
           2 (1.45 % of base) : 284252.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)

Top method improvements (percentages):
         -83 (-0.09 % of base) : 17559.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)

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


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: 167902249 (overridden on cmd)
Total bytes of diff: 167888314 (overridden on cmd)
Total bytes of delta: -13935 (-0.01 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
        2320 : 434540.dasm (1.28 % of base)
        2314 : 433896.dasm (1.32 % of base)
         645 : 602766.dasm (0.22 % of base)
         471 : 598802.dasm (0.39 % of base)
         465 : 602696.dasm (0.25 % of base)
         443 : 598777.dasm (0.43 % of base)
         371 : 66461.dasm (0.88 % of base)
         198 : 329305.dasm (3.28 % of base)
         184 : 101934.dasm (1.61 % of base)
         184 : 101062.dasm (1.61 % of base)
         184 : 101477.dasm (1.61 % of base)
         184 : 99542.dasm (1.61 % of base)
         184 : 99684.dasm (1.61 % of base)
         184 : 101301.dasm (1.61 % of base)
         160 : 235608.dasm (5.06 % of base)
         160 : 235648.dasm (5.06 % of base)
         160 : 235662.dasm (5.06 % of base)
         160 : 235576.dasm (5.06 % of base)
         160 : 235664.dasm (5.06 % of base)
         160 : 235668.dasm (5.06 % of base)

Top file improvements (bytes):
       -1000 : 534617.dasm (-1.59 % of base)
        -379 : 69602.dasm (-1.69 % of base)
        -230 : 261635.dasm (-0.85 % of base)
        -204 : 449975.dasm (-1.22 % of base)
        -201 : 606958.dasm (-2.34 % of base)
        -201 : 606999.dasm (-2.32 % of base)
        -163 : 449799.dasm (-1.20 % of base)
        -162 : 421290.dasm (-1.44 % of base)
        -150 : 254009.dasm (-0.69 % of base)
        -145 : 249466.dasm (-0.57 % of base)
        -140 : 259882.dasm (-0.68 % of base)
        -140 : 250537.dasm (-0.69 % of base)
        -140 : 255964.dasm (-0.69 % of base)
        -138 : 449987.dasm (-1.02 % of base)
        -133 : 88015.dasm (-0.83 % of base)
        -130 : 252137.dasm (-0.70 % of base)
        -128 : 420986.dasm (-0.53 % of base)
        -104 : 9733.dasm (-0.60 % of base)
        -102 : 256216.dasm (-0.85 % of base)
        -101 : 249726.dasm (-0.57 % of base)

85 total files with Code Size differences (41 improved, 44 regressed), 20 unchanged.

Top method regressions (bytes):
        2320 (1.28 % of base) : 434540.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Instrumented Tier0)
        2314 (1.32 % of base) : 433896.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Tier0)
         645 (0.22 % of base) : 602766.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get2217_921+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         471 (0.39 % of base) : 598802.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex30397_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
         465 (0.25 % of base) : 602696.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get2209_920+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         443 (0.43 % of base) : 598777.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex30389_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
         371 (0.88 % of base) : 66461.dasm - LibraryImportGenerator.UnitTests.CompileFails+<CodeSnippetsToCompile>d__1:MoveNext():ubyte:this (Tier0)
         198 (3.28 % of base) : 329305.dasm - System.Net.Http.QPack.H3StaticTable:.cctor() (Tier0)
         184 (1.61 % of base) : 101934.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
         184 (1.61 % of base) : 101062.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
         184 (1.61 % of base) : 101477.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
         184 (1.61 % of base) : 99542.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
         184 (1.61 % of base) : 99684.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
         184 (1.61 % of base) : 101301.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
         160 (5.06 % of base) : 235608.dasm - System.Diagnostics.Metrics.Tests.MetricsTests:PublishCounterMeasurement[long](System.Diagnostics.Metrics.Counter`1[long],long,System.Collections.Generic.KeyValuePair`2[System.String,System.Object][]):this (Tier0)
         160 (5.06 % of base) : 235576.dasm - System.Diagnostics.Metrics.Tests.MetricsTests:PublishCounterMeasurement[ubyte](System.Diagnostics.Metrics.Counter`1[ubyte],ubyte,System.Collections.Generic.KeyValuePair`2[System.String,System.Object][]):this (Tier0)
         160 (5.06 % of base) : 235668.dasm - System.Diagnostics.Metrics.Tests.MetricsTests:PublishHistogramMeasurement[long](System.Diagnostics.Metrics.Histogram`1[long],long,System.Collections.Generic.KeyValuePair`2[System.String,System.Object][]):this (Tier0)
         160 (5.06 % of base) : 235664.dasm - System.Diagnostics.Metrics.Tests.MetricsTests:PublishHistogramMeasurement[short](System.Diagnostics.Metrics.Histogram`1[short],short,System.Collections.Generic.KeyValuePair`2[System.String,System.Object][]):this (Tier0)
         160 (5.06 % of base) : 235662.dasm - System.Diagnostics.Metrics.Tests.MetricsTests:PublishHistogramMeasurement[ubyte](System.Diagnostics.Metrics.Histogram`1[ubyte],ubyte,System.Collections.Generic.KeyValuePair`2[System.String,System.Object][]):this (Tier0)
         160 (5.06 % of base) : 235648.dasm - System.Diagnostics.Metrics.Tests.MetricsTests:PublishUpDownCounterMeasurement[ubyte](System.Diagnostics.Metrics.UpDownCounter`1[ubyte],ubyte,System.Collections.Generic.KeyValuePair`2[System.String,System.Object][]):this (Tier0)

Top method improvements (bytes):
       -1000 (-1.59 % of base) : 534617.dasm - System.Text.Json.SourceGeneration.Tests.ConstructorTests_Default+ConstructorTestsContext_Default:ClassWithManyConstructorParametersSerializeHandler(System.Text.Json.Utf8JsonWriter,System.Text.Json.Serialization.Tests.ClassWithManyConstructorParameters):this (Tier0)
        -379 (-1.69 % of base) : 69602.dasm - Microsoft.CodeAnalysis.DesktopAssemblyIdentityComparer:.cctor() (Tier0)
        -230 (-0.85 % of base) : 261635.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Methods.Oneclass2methods.literals01.literals01.A:MainMethod():int (Tier0)
        -204 (-1.22 % of base) : 449975.dasm - System.Tests.TimeZoneInfoTests:GetAmbiguousTimeOffsets_Amsterdam() (Tier0)
        -201 (-2.34 % of base) : 606958.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
        -201 (-2.32 % of base) : 606999.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
        -163 (-1.20 % of base) : 449799.dasm - System.Tests.TimeZoneInfoTests:IsInvalidTime() (Tier0)
        -162 (-1.44 % of base) : 421290.dasm - System.IO.Tests.PathTests_Join:.cctor() (Tier0)
        -150 (-0.69 % of base) : 254009.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.conversions.cnst001.cnst001.Test:MainMethod():int (Tier0)
        -145 (-0.57 % of base) : 249466.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum005b.enum005b.Test:MainMethod():int (Tier0)
        -140 (-0.68 % of base) : 259882.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum004.enum004.Test:MainMethod():int (Tier0)
        -140 (-0.69 % of base) : 250537.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum004c.enum004c.Test:MainMethod():int (Tier0)
        -140 (-0.69 % of base) : 255964.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum004e.enum004e.Test:MainMethod():int (Tier0)
        -138 (-1.02 % of base) : 449987.dasm - System.Tests.TimeZoneInfoTests:IsDaylightSavingTime() (Tier0)
        -133 (-0.83 % of base) : 88015.dasm - Microsoft.CSharp.RuntimeBinder.Tests.DefaultParameterTests:MarshalAsOptionalsCorrectDefault():this (Tier0)
        -130 (-0.70 % of base) : 252137.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.conversions.cnst002.cnst002.Test:MainMethod():int (Tier0)
        -128 (-0.53 % of base) : 420986.dasm - System.Tests.ConvertToBase64StringTests+<ConvertToBase64StringTests_TestData>d__5:MoveNext():ubyte:this (Tier0)
        -104 (-0.60 % of base) : 9733.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
        -102 (-0.85 % of base) : 256216.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.generics.derived.ovr003.ovr003.Program:MainMethod():int (Tier0)
        -101 (-0.57 % of base) : 249726.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum005.enum005.Test:MainMethod():int (Tier0)

Top method regressions (percentages):
          13 (31.71 % of base) : 67427.dasm - Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions:get_IsEmpty():ubyte:this (Tier0)
           8 (24.24 % of base) : 432373.dasm - System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Instrumented Tier0)
           8 (24.24 % of base) : 97724.dasm - System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Tier0)
          24 (22.86 % of base) : 381369.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
          24 (22.86 % of base) : 173915.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
           8 (18.18 % of base) : 132100.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (18.18 % of base) : 29987.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (18.18 % of base) : 139962.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (18.18 % of base) : 124968.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
           8 (18.18 % of base) : 137406.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
           8 (18.18 % of base) : 12098.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
          10 (16.39 % of base) : 435086.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Instrumented Tier0)
          10 (16.39 % of base) : 194065.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
           6 (15.79 % of base) : 183216.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Instrumented Tier0)
           6 (15.79 % of base) : 182125.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Tier0)
           6 (14.63 % of base) : 13118.dasm - System.Collections.Concurrent.ConcurrentDictionaryTypeProps`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:.cctor() (Tier0)
           4 (13.79 % of base) : 2688.dasm - ComInterfaceGenerator.Tests.NativeExportsNE+ImplicitThis+INativeObject:.cctor() (Tier0)
           4 (13.79 % of base) : 2717.dasm - ComInterfaceGenerator.Tests.NativeExportsNE+UnmanagedToManagedCustomMarshalling+INativeObject:.cctor() (Tier0)
           4 (13.79 % of base) : 2752.dasm - ComInterfaceGenerator.Tests.NativeExportsNE+UnmanagedToManagedCustomMarshalling+INativeObjectStateful:.cctor() (Tier0)
          14 (13.59 % of base) : 135884.dasm - Microsoft.CodeAnalysis.Collections.Internal.SegmentedArrayHelper+ValueTypeSegmentHelper`1[Microsoft.CodeAnalysis.Collections.SegmentedDictionary`2+Entry[System.__Canon,Roslyn.Utilities.VoidResult]]:.cctor() (Tier0)

Top method improvements (percentages):
          -4 (-8.00 % of base) : 600518.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Instrumented Tier0)
          -4 (-8.00 % of base) : 318214.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Tier0)
          -4 (-8.00 % of base) : 318232.dasm - System.SpanHelpers:LastIndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Tier0)
          -4 (-6.78 % of base) : 318216.dasm - System.PackedSpanHelpers:IndexOfAnyExcept(byref,ushort,ushort,ushort,int):int (Tier0)
          -4 (-6.25 % of base) : 232598.dasm - System.Data.Odbc.OdbcConnection:HandleError(System.Data.Odbc.OdbcHandle,short):this (Tier0)
         -32 (-6.14 % of base) : 72652.dasm - Microsoft.CodeAnalysis.DllImportData:MakeFlags(ubyte,int,ubyte,int,System.Nullable`1[ubyte],System.Nullable`1[ubyte]):short (Instrumented Tier0)
          -2 (-5.88 % of base) : 409972.dasm - System.Reflection.Metadata.BlobBuilder:WriteInt16(short):this (Tier0)
         -18 (-5.81 % of base) : 497973.dasm - System.ServiceModel.Syndication.Tests.XmlDiffDocument:set_Option(int):this (Tier0)
          -2 (-5.41 % of base) : 186456.dasm - System.Collections.Immutable.Tests.ImmutableArrayExtensionsTest+<>c:<SequenceEqualEmptyDefault>b__23_0():this (Tier0)
          -2 (-5.41 % of base) : 186457.dasm - System.Collections.Immutable.Tests.ImmutableArrayExtensionsTest+<>c:<SequenceEqualEmptyDefault>b__23_1():this (Tier0)
          -2 (-5.41 % of base) : 186458.dasm - System.Collections.Immutable.Tests.ImmutableArrayExtensionsTest+<>c:<SequenceEqualEmptyDefault>b__23_2():this (Tier0)
         -12 (-5.17 % of base) : 386260.dasm - System.Xml.XmlDiff.XmlDiffDocument:set_Option(int):this (Instrumented Tier0)
         -12 (-5.17 % of base) : 383647.dasm - System.Xml.XmlDiff.XmlDiffDocument:set_Option(int):this (Tier0)
          -3 (-5.08 % of base) : 339138.dasm - System.Net.Http.WinHttpHandlerUnitTests.APICallHistory:set_RequestProxySettings(System.Net.Http.WinHttpHandlerUnitTests.APICallHistory+ProxyInfo) (Tier0)
          -3 (-5.08 % of base) : 331271.dasm - System.Net.Http.WinHttpHandlerUnitTests.APICallHistory:set_SessionProxySettings(System.Net.Http.WinHttpHandlerUnitTests.APICallHistory+ProxyInfo) (Tier0)
          -3 (-5.08 % of base) : 338841.dasm - System.Net.Http.WinHttpHandlerUnitTests.APICallHistory:set_SessionProxySettings(System.Net.Http.WinHttpHandlerUnitTests.APICallHistory+ProxyInfo) (Tier0)
          -2 (-4.76 % of base) : 429286.dasm - System.Array:BinarySearch[short](short[],int,int,short):int (Tier0)
          -2 (-4.76 % of base) : 431650.dasm - System.Numerics.BigInteger:TryConvertFromSaturating[short](short,byref):ubyte (Tier0)
          -2 (-4.76 % of base) : 431197.dasm - System.Numerics.Complex:TryConvertFrom[short](short,byref):ubyte (Tier0)
          -4 (-4.76 % of base) : 4802.dasm - System.Text.RegularExpressions.Regex:ValidateOptions(int) (Tier0)


librariestestsnotieredcompilation.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: 101249179 (overridden on cmd)
Total bytes of diff: 101252364 (overridden on cmd)
Total bytes of delta: 3185 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
        2314 : 202779.dasm (1.32 % of base)
         645 : 303295.dasm (0.22 % of base)
         471 : 297931.dasm (0.39 % of base)
         465 : 303292.dasm (0.25 % of base)
         443 : 296710.dasm (0.43 % of base)
          30 : 12693.dasm (0.99 % of base)
          25 : 295006.dasm (0.66 % of base)
          20 : 300062.dasm (0.81 % of base)
          20 : 300510.dasm (2.57 % of base)
          19 : 279994.dasm (0.22 % of base)
          18 : 300453.dasm (0.34 % of base)
          16 : 300059.dasm (0.71 % of base)
          15 : 294969.dasm (2.24 % of base)
          14 : 298976.dasm (2.54 % of base)
          14 : 301566.dasm (2.54 % of base)
          12 : 284522.dasm (1.06 % of base)
          11 : 284089.dasm (1.52 % of base)
          11 : 284094.dasm (1.52 % of base)
          11 : 300054.dasm (1.47 % of base)
          10 : 299768.dasm (0.78 % of base)

Top file improvements (bytes):
        -201 : 286801.dasm (-2.32 % of base)
        -201 : 286798.dasm (-2.34 % of base)
         -31 : 3392.dasm (-0.18 % of base)
         -20 : 286792.dasm (-2.14 % of base)
         -20 : 286795.dasm (-2.03 % of base)
         -14 : 12918.dasm (-0.11 % of base)
         -14 : 304431.dasm (-0.99 % of base)
         -13 : 2407.dasm (-0.16 % of base)
          -7 : 5688.dasm (-0.88 % of base)
          -7 : 12836.dasm (-0.09 % of base)
          -4 : 284450.dasm (-0.50 % of base)
          -4 : 64598.dasm (-0.89 % of base)
          -4 : 286797.dasm (-0.91 % of base)
          -4 : 2092.dasm (-1.11 % of base)
          -4 : 2124.dasm (-0.95 % of base)
          -4 : 284427.dasm (-0.50 % of base)
          -4 : 286800.dasm (-0.80 % of base)
          -3 : 2122.dasm (-0.70 % of base)
          -3 : 284447.dasm (-0.37 % of base)
          -3 : 284423.dasm (-0.37 % of base)

69 total files with Code Size differences (32 improved, 37 regressed), 20 unchanged.

Top method regressions (bytes):
        2314 (1.32 % of base) : 202779.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Tier0-MinOpts)
         645 (0.22 % of base) : 303295.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get2217_921+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         471 (0.39 % of base) : 297931.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex30833_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
         465 (0.25 % of base) : 303292.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get2209_920+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         443 (0.43 % of base) : 296710.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex30825_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
          30 (0.99 % of base) : 12693.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:FormatDiagnostics(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.String,Microsoft.CodeAnalysis.Testing.DiagnosticResult[]):System.String (MinOpts)
          25 (0.66 % of base) : 295006.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get72_67+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          20 (2.57 % of base) : 300510.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get235_42+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          20 (0.81 % of base) : 300062.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get930_542+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          19 (0.22 % of base) : 279994.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          18 (0.34 % of base) : 300453.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get169_25+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          16 (0.71 % of base) : 300059.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get929_541+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          15 (2.24 % of base) : 294969.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get64_59+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          14 (2.54 % of base) : 298976.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get251_178+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          14 (2.54 % of base) : 301566.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get851_368+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          12 (1.06 % of base) : 284522.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get715_510+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          11 (1.52 % of base) : 284089.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get530_386+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          11 (1.52 % of base) : 284094.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get531_387+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          11 (1.47 % of base) : 300054.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get928_540+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          10 (0.78 % of base) : 299768.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get789_445+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

Top method improvements (bytes):
        -201 (-2.32 % of base) : 286801.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
        -201 (-2.34 % of base) : 286798.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -31 (-0.18 % of base) : 3392.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+<ResolveCoreAsync>d__50:MoveNext():this (MinOpts)
         -20 (-2.14 % of base) : 286792.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -20 (-2.03 % of base) : 286795.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -14 (-0.11 % of base) : 12918.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<FixAllAnalyerDiagnosticsInScopeAsync>d__54[System.__Canon]:MoveNext():this (MinOpts)
         -14 (-0.99 % of base) : 304431.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+Net:.cctor() (MinOpts)
         -13 (-0.16 % of base) : 2407.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<CreateProjectImplAsync>d__95[System.__Canon]:MoveNext():this (MinOpts)
          -7 (-0.09 % of base) : 12836.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<FixEachAnalyzerDiagnosticAsync>d__50[System.__Canon]:MoveNext():this (MinOpts)
          -7 (-0.88 % of base) : 5688.dasm - Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper:.cctor() (MinOpts)
          -4 (-1.11 % of base) : 2092.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String):this (MinOpts)
          -4 (-0.95 % of base) : 2124.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String,Microsoft.CodeAnalysis.Testing.PackageIdentity,System.String):this (MinOpts)
          -4 (-0.89 % of base) : 64598.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write44_SimpleType(System.String,System.String,SerializationTypes.SimpleType,ubyte,ubyte):this (MinOpts)
          -4 (-0.91 % of base) : 286797.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          -4 (-0.80 % of base) : 286800.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          -4 (-0.50 % of base) : 284427.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get655_479+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          -4 (-0.50 % of base) : 284450.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get663_485+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          -3 (-0.70 % of base) : 2122.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String,Microsoft.CodeAnalysis.AssemblyIdentityComparer,Microsoft.CodeAnalysis.Testing.PackageIdentity,System.String,System.Collections.Immutable.ImmutableArray`1[System.String],System.Collections.Immutable.ImmutableArray`1[System.String],System.Collections.Immutable.ImmutableDictionary`2[System.String,System.Collections.Immutable.ImmutableArray`1[System.String]],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.PackageIdentity],System.String):this (MinOpts)
          -3 (-0.37 % of base) : 284423.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get654_478+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          -3 (-0.37 % of base) : 284447.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get662_484+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

Top method regressions (percentages):
          20 (2.57 % of base) : 300510.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get235_42+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          14 (2.54 % of base) : 298976.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get251_178+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          14 (2.54 % of base) : 301566.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get851_368+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 294744.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get10_7+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 294748.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get11_8+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 295143.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get115_101+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 295156.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get118_104+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 294752.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get12_9+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 294784.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get19_16+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 303159.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get2029_876+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 294799.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get23_20+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 294804.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get24_21+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 294820.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get27_24+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 300620.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get307_77+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 294856.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get35_32+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 294871.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get38_35+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 294915.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get49_45+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 294724.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get5_3+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 294920.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get50_46+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 296419.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get618_516+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

Top method improvements (percentages):
        -201 (-2.34 % of base) : 286798.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
        -201 (-2.32 % of base) : 286801.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -20 (-2.14 % of base) : 286792.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -20 (-2.03 % of base) : 286795.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          -1 (-1.47 % of base) : 12683.dasm - Microsoft.CodeAnalysis.Testing.Extensions.DiagnosticExtensions:IsSuppressed(Microsoft.CodeAnalysis.Diagnostic):ubyte (MinOpts)
          -1 (-1.43 % of base) : 9154.dasm - Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper:get_CompilationDiagnostics():System.Collections.Immutable.ImmutableDictionary`2[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]]:this (MinOpts)
          -1 (-1.43 % of base) : 9160.dasm - Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper:GetAllDiagnostics():System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]:this (MinOpts)
          -1 (-1.43 % of base) : 19759.dasm - Microsoft.CodeAnalysis.Testing.Lightup.SuppressionDescriptorWrapper:get_SuppressedDiagnosticId():System.String:this (MinOpts)
          -2 (-1.41 % of base) : 286780.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:Scan(System.ReadOnlySpan`1[ushort]):this (MinOpts)
          -2 (-1.41 % of base) : 300708.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get359_103+RunnerFactory+Runner:Scan(System.ReadOnlySpan`1[ushort]):this (MinOpts)
          -1 (-1.20 % of base) : 5646.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerOptionsExtensions:AnalyzerConfigOptionsProvider(Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions):System.Object (MinOpts)
          -1 (-1.20 % of base) : 14442.dasm - Microsoft.CodeAnalysis.Testing.CodeActionExtensions:NestedCodeActions(Microsoft.CodeAnalysis.CodeActions.CodeAction):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeActions.CodeAction] (MinOpts)
          -1 (-1.20 % of base) : 9443.dasm - Microsoft.CodeAnalysis.Testing.Extensions.DiagnosticExtensions:Arguments(Microsoft.CodeAnalysis.Diagnostic):System.Collections.Generic.IReadOnlyList`1[System.Object] (MinOpts)
          -1 (-1.20 % of base) : 13487.dasm - Microsoft.CodeAnalysis.Testing.ProjectExtensions:AnalyzerConfigDocuments(Microsoft.CodeAnalysis.Project):System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.TextDocument] (MinOpts)
          -4 (-1.11 % of base) : 2092.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String):this (MinOpts)
          -1 (-1.03 % of base) : 17681.dasm - Microsoft.CodeAnalysis.Testing.Extensions.CompilationWithAnalyzersExtensions:Create(Microsoft.CodeAnalysis.Compilation,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions,System.Threading.CancellationToken):Microsoft.CodeAnalysis.Diagnostics.CompilationWithAnalyzers (MinOpts)
         -14 (-0.99 % of base) : 304431.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+Net:.cctor() (MinOpts)
          -4 (-0.95 % of base) : 2124.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String,Microsoft.CodeAnalysis.Testing.PackageIdentity,System.String):this (MinOpts)
          -1 (-0.93 % of base) : 14443.dasm - Microsoft.CodeAnalysis.Testing.CodeActionExtensions:.cctor() (MinOpts)
          -4 (-0.91 % of base) : 286797.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)


realworld.run.windows.x86.checked.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: 11011414 (overridden on cmd)
Total bytes of diff: 11011428 (overridden on cmd)
Total bytes of delta: 14 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          14 : 4500.dasm (0.01 % of base)

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

Top method regressions (bytes):
          14 (0.01 % of base) : 4500.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)

Top method regressions (percentages):
          14 (0.01 % of base) : 4500.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)

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