Assembly Diffs

linux arm

Diffs are based on 2,232,466 contexts (824,262 MinOpts, 1,408,204 FullOpts).

MISSED contexts: 77,883 (3.37%)

Overall (-852,700 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm.checked.mch 14,172,892 -42
benchmarks.run_pgo.linux.arm.checked.mch 58,450,272 -48,252
benchmarks.run_tiered.linux.arm.checked.mch 17,364,030 -32,012
coreclr_tests.run.linux.arm.checked.mch 321,914,498 -199,178
libraries.crossgen2.linux.arm.checked.mch 37,768,318 +0
libraries.pmi.linux.arm.checked.mch 49,500,180 -280
libraries_tests.run.linux.arm.Release.mch 240,715,714 -533,380
librariestestsnotieredcompilation.run.linux.arm.Release.mch 92,863,410 -24,910
realworld.run.linux.arm.checked.mch 13,608,080 -14,646

MinOpts (-852,700 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm.checked.mch 334,862 -42
benchmarks.run_pgo.linux.arm.checked.mch 11,222,492 -48,252
benchmarks.run_tiered.linux.arm.checked.mch 7,194,320 -32,012
coreclr_tests.run.linux.arm.checked.mch 212,840,102 -199,178
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,210,132 -533,380
librariestestsnotieredcompilation.run.linux.arm.Release.mch 10,081,872 -24,910
realworld.run.linux.arm.checked.mch 449,296 -14,646

Example diffs

benchmarks.run.linux.arm.checked.mch

-8 (-9.30%) : 15134.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%) : 8481.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)

-2 (-2.44%) : 21301.dasm - BenchmarkDotNet.Autogenerated.Runnable87:ForDisassemblyDiagnoser_():int:this (MinOpts)

@@ -24,23 +24,23 @@ G_M2219_IG01:        ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefR
             str     r0, [sp+0x0C]  // [V00 this]
                        ;; size=20 bbWeight=1 PerfScore 8.00
 G_M2219_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ldr     r0, [sp+0x0C]
-            ; gcrRegs +[r0]
-            ldr     r0, [r0+0x30]
-            ; gcrRegs -[r0]
-            cmp     r0, 11
+            ldr     r3, [sp+0x0C]
+            ; gcrRegs +[r3]
+            ldr     r3, [r3+0x30]
+            ; gcrRegs -[r3]
+            cmp     r3, 11
             bne     SHORT G_M2219_IG04
-            ldr     r0, [sp+0x0C]
-            ; gcrRegs +[r0]
-            ldr     r0, [r0+0x20]
-            str     r0, [sp+0x08]  // [V01 loc0]
-            ldr     r0, [sp+0x0C]  // [V00 this]
-            ldr     r0, [r0+0x24]
-            str     r0, [sp+0x04]  // [V02 loc1]
-            ldr     r0, [sp+0x0C]  // [V00 this]
-            ldr     r0, [r0+0x2C]
-            ; gcrRegs -[r0]
-            str     r0, [sp]   // [V03 loc2]
+            ldr     r3, [sp+0x0C]
+            ; gcrRegs +[r3]
+            ldr     r3, [r3+0x20]
+            str     r3, [sp+0x08]  // [V01 loc0]
+            ldr     r3, [sp+0x0C]  // [V00 this]
+            ldr     r3, [r3+0x24]
+            str     r3, [sp+0x04]  // [V02 loc1]
+            ldr     r3, [sp+0x0C]  // [V00 this]
+            ldr     r3, [r3+0x2C]
+            ; gcrRegs -[r3]
+            str     r3, [sp]   // [V03 loc2]
             ldr     r0, [sp+0x0C]  // [V00 this]
             ; gcrRegs +[r0]
             ldr     r1, [sp+0x08]  // [V01 loc0]
@@ -48,12 +48,12 @@ G_M2219_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     r2, [sp+0x04]  // [V02 loc1]
             ; gcrRegs +[r2]
             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-r2]
-                       ;; size=48 bbWeight=1 PerfScore 21.00
+                       ;; size=46 bbWeight=1 PerfScore 21.00
 G_M2219_IG03:        ; bbWeight=1, epilog, nogc, extend
             add     sp, 16
             pop     {r4,r10,r11,pc}
@@ -66,7 +66,7 @@ G_M2219_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=3609f754) for method BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
+; Total bytes of code 80, prolog size 18, PerfScore 34.00, instruction count 34, allocated bytes for code 80 (MethodHash=3609f754) for method BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
 ; ============================================================
 
 Unwind Info:
@@ -78,7 +78,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%) : 44448.dasm - BenchmarkDotNet.Autogenerated.Runnable56:ForDisassemblyDiagnoser_():this (MinOpts)

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

+0 (0.00%) : 44492.dasm - BenchmarkDotNet.Autogenerated.Runnable183:ForDisassemblyDiagnoser_():int:this (MinOpts)

@@ -16,11 +16,11 @@ G_M254_IG01:        ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRe
             str     r0, [sp+0x04]
                        ;; size=10 bbWeight=1 PerfScore 3.00
 G_M254_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_M254_IG04
             ldr     r0, [sp+0x04]
             ; gcrRegs +[r0]

+0 (0.00%) : 44556.dasm - BenchmarkDotNet.Autogenerated.Runnable169:ForDisassemblyDiagnoser_():this (MinOpts)

@@ -16,11 +16,11 @@ G_M1043_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             str     r0, [sp+0x04]
                        ;; size=10 bbWeight=1 PerfScore 3.00
 G_M1043_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_M1043_IG03
             ldr     r0, [sp+0x04]
             ; gcrRegs +[r0]

benchmarks.run_pgo.linux.arm.checked.mch

-8 (-19.05%) : 757.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%) : 12324.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%) : 12684.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%) : 784.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%) : 50042.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%) : 56307.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%) : 684.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%) : 3767.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%) : 3217.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%) : 4982.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%) : 726.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%) : 27311.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%) : 113394.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%) : 211634.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%) : 299042.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 ----

+12 (+24.00%) : 299069.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%) : 144141.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%) : 145015.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
 

libraries.crossgen2.linux.arm.checked.mch

+0 (0.00%) : 6513.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%) : 6517.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%) : 119134.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan1[ubyte],System.ReadOnlySpan1[ubyte]):ubyte (MinOpts)

@@ -57,10 +57,10 @@ G_M16092_IG04:        ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byref
             ldr     r3, [r4]
             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=28 bbWeight=1 PerfScore 12.00
 G_M16092_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -72,10 +72,10 @@ G_M16092_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     r3, [r4]
             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    r4, LOW RELOC 0xD1FFAB1E
             movt    r4, HIGH RELOC 0xD1FFAB1E
@@ -83,24 +83,24 @@ G_M16092_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     r3, [r4]
             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=58 bbWeight=1 PerfScore 25.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

+0 (0.00%) : 6512.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%) : 6516.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%) : 123404.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%) : 182654.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

+0 (0.00%) : 237695.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

libraries_tests.run.linux.arm.Release.mch

-34 (-22.67%) : 9378.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 ----

-34 (-22.67%) : 42170.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 ----

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

@@ -21,19 +21,19 @@ G_M21485_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+0x08]
-            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+0x08]
+            blx     r4     // <unknown method>
+                       ;; size=18 bbWeight=1 PerfScore 9.00
 G_M21485_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=7289ac12) for method System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_5():System.Object:this (Tier0)
+; Total bytes of code 32, prolog size 8, PerfScore 13.00, instruction count 13, allocated bytes for code 32 (MethodHash=7289ac12) for method System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_5():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%) : 202974.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%) : 230582.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%) : 203136.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%) : 289598.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%) : 2247.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%) : 280278.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%) : 8420.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%) : 3441.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%) : 2441.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%) : 1397.dasm - BenchmarkDotNet.Autogenerated.Runnable26:TrickTheJIT_():this (MinOpts)

@@ -47,14 +47,14 @@ G_M4149_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%) : 1433.dasm - BenchmarkDotNet.Autogenerated.Runnable38:ForDisassemblyDiagnoser_():System.ValueTuple`2[BepuPhysics.BodyVelocityWide,BepuPhysics.BodyVelocityWide]:this (MinOpts)

@@ -27,11 +27,11 @@ G_M4092_IG01:        ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefR
             str     r1, [sp+0xC0]
                        ;; size=34 bbWeight=1 PerfScore 12.00
 G_M4092_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ldr     r0, [sp+0xC4]
-            ; gcrRegs +[r0]
-            ldr     r0, [r0+0x1C]
-            ; gcrRegs -[r0]
-            cmp     r0, 11
+            ldr     r3, [sp+0xC4]
+            ; gcrRegs +[r3]
+            ldr     r3, [r3+0x1C]
+            ; gcrRegs -[r3]
+            cmp     r3, 11
             bne     SHORT G_M4092_IG04
             ldr     r0, [sp+0xC4]
             ; gcrRegs +[r0]

+0 (0.00%) : 1449.dasm - BenchmarkDotNet.Autogenerated.Runnable23:TrickTheJIT_():this (MinOpts)

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

+0 (0.00%) : 17456.dasm - BenchmarkDotNet.Autogenerated.Runnable3:ForDisassemblyDiagnoser_():SixLabors.ImageSharp.Size:this (MinOpts)

@@ -23,11 +23,11 @@ G_M2109_IG01:        ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefR
             str     r1, [sp+0x08]
                        ;; size=20 bbWeight=1 PerfScore 8.00
 G_M2109_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ldr     r0, [sp+0x0C]
-            ; gcrRegs +[r0]
-            ldr     r0, [r0+0x30]
-            ; gcrRegs -[r0]
-            cmp     r0, 11
+            ldr     r3, [sp+0x0C]
+            ; gcrRegs +[r3]
+            ldr     r3, [r3+0x30]
+            ; gcrRegs -[r3]
+            cmp     r3, 11
             bne     SHORT G_M2109_IG04
             ldr     r0, [sp+0x0C]
             ; gcrRegs +[r0]

+0 (0.00%) : 17480.dasm - BenchmarkDotNet.Autogenerated.Runnable28:TrickTheJIT_():this (MinOpts)

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

+0 (0.00%) : 17496.dasm - BenchmarkDotNet.Autogenerated.Runnable26:TrickTheJIT_():this (MinOpts)

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

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
benchmarks.run.linux.arm.checked.mch 2,782 18 0 2,764 -42 +0
benchmarks.run_pgo.linux.arm.checked.mch 42,119 10,516 2,348 29,255 -56,576 +8,324
benchmarks.run_tiered.linux.arm.checked.mch 27,185 6,742 1,418 19,025 -36,844 +4,832
coreclr_tests.run.linux.arm.checked.mch 231,733 77,810 35,027 118,896 -367,080 +167,902
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 344,768 115,949 21,556 207,263 -646,362 +112,982
librariestestsnotieredcompilation.run.linux.arm.Release.mch 13,290 4,070 212 9,008 -28,272 +3,362
realworld.run.linux.arm.checked.mch 112 2 0 110 -14,646 +0
662,000 215,108 60,561 386,331 -1,150,102 +297,402

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.linux.arm.checked.mch 43,695 4,600 39,095 1,159 (2.58%) 1,159 (2.58%)
benchmarks.run_pgo.linux.arm.checked.mch 154,675 56,600 98,075 7,244 (4.47%) 7,244 (4.47%)
benchmarks.run_tiered.linux.arm.checked.mch 71,663 38,015 33,648 930 (1.28%) 930 (1.28%)
coreclr_tests.run.linux.arm.checked.mch 472,631 259,411 213,220 7,389 (1.54%) 7,389 (1.54%)
libraries.crossgen2.linux.arm.checked.mch 200,923 14 200,909 0 (0.00%) 0 (0.00%)
libraries.pmi.linux.arm.checked.mch 270,730 6 270,724 7,833 (2.81%) 7,833 (2.81%)
libraries_tests.run.linux.arm.Release.mch 708,188 443,947 264,241 18,613 (2.56%) 18,613 (2.56%)
librariestestsnotieredcompilation.run.linux.arm.Release.mch 273,581 21,522 252,059 33,311 (10.85%) 33,311 (10.85%)
realworld.run.linux.arm.checked.mch 36,380 147 36,233 1,404 (3.72%) 1,404 (3.72%)
2,232,466 824,262 1,408,204 77,883 (3.37%) 77,883 (3.37%)

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: 14172892 (overridden on cmd)
Total bytes of diff: 14172850 (overridden on cmd)
Total bytes of delta: -42 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file improvements (bytes):
          -8 : 15134.dasm (-9.30 % of base)
          -2 : 36105.dasm (-2.44 % of base)
          -2 : 37170.dasm (-2.44 % of base)
          -2 : 37845.dasm (-2.44 % of base)
          -2 : 28761.dasm (-2.44 % of base)
          -2 : 35491.dasm (-2.44 % of base)
          -2 : 37135.dasm (-2.44 % of base)
          -2 : 43959.dasm (-1.89 % of base)
          -2 : 43995.dasm (-2.44 % of base)
          -2 : 8481.dasm (-2.44 % of base)
          -2 : 8907.dasm (-2.44 % of base)
          -2 : 21301.dasm (-2.44 % of base)
          -2 : 30669.dasm (-2.44 % of base)
          -2 : 31377.dasm (-2.44 % of base)
          -2 : 34113.dasm (-2.44 % of base)
          -2 : 35060.dasm (-2.44 % of base)
          -2 : 38575.dasm (-2.44 % of base)
          -2 : 39186.dasm (-2.44 % of base)

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

Top method improvements (bytes):
          -8 (-9.30 % of base) : 15134.dasm - Devirtualization.EqualityComparerFixture`1[System.ValueTuple`3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)
          -2 (-2.44 % of base) : 36105.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 37135.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 39186.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 43995.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String[]:this (MinOpts)
          -2 (-2.44 % of base) : 37170.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 37845.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 8481.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 35060.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 38575.dasm - BenchmarkDotNet.Autogenerated.Runnable_187:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
          -2 (-1.89 % of base) : 43959.dasm - BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():this (MinOpts)
          -2 (-2.44 % of base) : 8907.dasm - BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
          -2 (-2.44 % of base) : 28761.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 35491.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 21301.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 30669.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 31377.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 34113.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)

Top method improvements (percentages):
          -8 (-9.30 % of base) : 15134.dasm - Devirtualization.EqualityComparerFixture`1[System.ValueTuple`3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)
          -2 (-2.44 % of base) : 36105.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 37135.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 39186.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 43995.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String[]:this (MinOpts)
          -2 (-2.44 % of base) : 37170.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 37845.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 8481.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 35060.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
          -2 (-2.44 % of base) : 38575.dasm - BenchmarkDotNet.Autogenerated.Runnable_187:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
          -2 (-2.44 % of base) : 8907.dasm - BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
          -2 (-2.44 % of base) : 28761.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 35491.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 21301.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 30669.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 31377.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-2.44 % of base) : 34113.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
          -2 (-1.89 % of base) : 43959.dasm - BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():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: 58450272 (overridden on cmd)
Total bytes of diff: 58402020 (overridden on cmd)
Total bytes of delta: -48252 (-0.08 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
         320 : 100519.dasm (1.67 % of base)
          56 : 100524.dasm (2.28 % of base)
          48 : 21324.dasm (1.16 % of base)
          46 : 21388.dasm (0.99 % of base)
          32 : 100522.dasm (1.58 % of base)
          32 : 132957.dasm (4.29 % of base)
          32 : 132962.dasm (3.91 % of base)
          30 : 93881.dasm (6.02 % of base)
          30 : 96979.dasm (5.02 % of base)
          26 : 50042.dasm (25.00 % of base)
          26 : 56307.dasm (25.00 % of base)
          24 : 11368.dasm (2.76 % of base)
          22 : 99734.dasm (5.50 % of base)
          22 : 96818.dasm (5.50 % of base)
          20 : 117208.dasm (2.59 % of base)
          18 : 111104.dasm (1.25 % of base)
          18 : 15969.dasm (1.04 % of base)
          18 : 27800.dasm (6.21 % of base)
          18 : 92627.dasm (4.35 % of base)
          16 : 98936.dasm (0.34 % of base)

Top file improvements (bytes):
        -640 : 31628.dasm (-2.52 % of base)
        -406 : 44855.dasm (-3.77 % of base)
        -400 : 45152.dasm (-2.81 % of base)
        -324 : 92417.dasm (-1.30 % of base)
        -308 : 28505.dasm (-1.74 % of base)
        -226 : 23695.dasm (-6.73 % of base)
        -190 : 11490.dasm (-1.15 % of base)
        -172 : 80179.dasm (-5.93 % of base)
        -166 : 14206.dasm (-6.38 % of base)
        -166 : 14247.dasm (-6.38 % of base)
        -156 : 6498.dasm (-5.08 % of base)
        -152 : 30763.dasm (-2.95 % of base)
        -152 : 3150.dasm (-8.84 % of base)
        -150 : 27160.dasm (-2.99 % of base)
        -126 : 131095.dasm (-1.76 % of base)
        -126 : 48286.dasm (-1.76 % of base)
        -114 : 1569.dasm (-1.21 % of base)
        -114 : 92324.dasm (-1.19 % of base)
         -86 : 98930.dasm (-4.33 % of base)
         -86 : 101014.dasm (-4.33 % of base)

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

Top method regressions (bytes):
         320 (1.67 % of base) : 100519.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
          56 (2.28 % of base) : 100524.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldCheckedIntegralBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
          48 (1.16 % of base) : 21324.dasm - Newtonsoft.Json.JsonTextReader:ParseReadNumber(int,ushort,int):this (Tier0)
          46 (0.99 % of base) : 21388.dasm - Newtonsoft.Json.JsonTextReader:ParseReadNumber(int,ushort,int):this (Instrumented Tier0)
          32 (1.58 % of base) : 100522.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNativeIntegerOverflowingBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
          32 (3.91 % of base) : 132962.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Instrumented Tier0)
          32 (4.29 % of base) : 132957.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
          30 (5.02 % of base) : 96979.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) : 93881.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol:CreateUncommonFields():Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+UncommonFields:this (Tier0)
          26 (25.00 % of base) : 56307.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
          26 (25.00 % of base) : 50042.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          24 (2.76 % of base) : 11368.dasm - System.Net.Http.HttpConnectionSettings:CloneAndNormalize():System.Net.Http.HttpConnectionSettings:this (Tier0)
          22 (5.50 % of base) : 99734.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) : 96818.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) : 117208.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) : 92627.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.25 % of base) : 111104.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:GetTypeOrReturnType(Microsoft.CodeAnalysis.CSharp.Symbol,byref,byref,byref) (Instrumented Tier0)
          18 (1.04 % of base) : 15969.dasm - Newtonsoft.Json.JsonSerializer:SerializeInternal(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
          18 (6.21 % of base) : 27800.dasm - Utf8Json.JsonReader:.ctor(ubyte[],int):this (Tier0)
          16 (0.34 % of base) : 98936.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)

Top method improvements (bytes):
        -640 (-2.52 % of base) : 31628.dasm - Jil.Options:.cctor() (Tier0)
        -406 (-3.77 % of base) : 44855.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Tier0)
        -400 (-2.81 % of base) : 45152.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Instrumented Tier0)
        -324 (-1.30 % of base) : 92417.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
        -308 (-1.74 % of base) : 28505.dasm - Product:CreateLists() (Tier0)
        -226 (-6.73 % of base) : 23695.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) : 11490.dasm - System.Net.Http.Headers.KnownHeaders:.cctor() (Tier0)
        -172 (-5.93 % of base) : 80179.dasm - System.Security.Cryptography.CryptoConfig:get_DefaultNameHT():System.Collections.Generic.Dictionary`2[System.String,System.Object] (Tier0)
        -166 (-6.38 % of base) : 14206.dasm - System.Net.Sockets.SocketErrorPal:.cctor() (Tier0)
        -166 (-6.38 % of base) : 14247.dasm - System.Net.Sockets.SocketErrorPal:.cctor() (Tier0)
        -156 (-5.08 % of base) : 6498.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Instrumented Tier0)
        -152 (-2.95 % of base) : 30763.dasm - MessagePack.Internal.BuiltinResolverGetFormatterHelper:.cctor() (Tier0)
        -152 (-8.84 % of base) : 3150.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier0)
        -150 (-2.99 % of base) : 27160.dasm - Utf8Json.Resolvers.BuiltinResolver+BuiltinResolverGetFormatterHelper:.cctor() (Tier0)
        -126 (-1.76 % of base) : 48286.dasm - Jil.Deserialize.Methods:ParseISO8601Date(System.IO.TextReader,ushort[],int,int):System.DateTime (Tier0)
        -126 (-1.76 % of base) : 131095.dasm - Jil.Deserialize.Methods:ParseISO8601DateThunkReader(byref,ushort[],int,int):System.DateTime (Tier0)
        -114 (-1.19 % of base) : 92324.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Instrumented Tier0)
        -114 (-1.21 % of base) : 1569.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier0)
         -86 (-4.33 % of base) : 101014.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:GetRowCounts():System.Collections.Immutable.ImmutableArray`1[int]:this (Instrumented Tier0)
         -86 (-4.33 % of base) : 98930.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:GetRowCounts():System.Collections.Immutable.ImmutableArray`1[int]:this (Tier0)

Top method regressions (percentages):
          26 (25.00 % of base) : 56307.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
          26 (25.00 % of base) : 50042.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          12 (24.00 % of base) : 784.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
          12 (17.14 % of base) : 21036.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
           8 (15.38 % of base) : 94144.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (15.38 % of base) : 93787.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
           8 (14.81 % of base) : 143946.dasm - ProtoBuf.ProtoWriter:Zig(long):ulong (Instrumented Tier0)
           8 (14.81 % of base) : 71567.dasm - ProtoBuf.ProtoWriter:Zig(long):ulong (Tier0)
          12 (14.29 % of base) : 35638.dasm - System.Byte:Equals(System.Object):ubyte:this (Tier0)
          12 (14.29 % of base) : 20290.dasm - System.Char:Equals(System.Object):ubyte:this (Tier0)
           6 (12.00 % of base) : 9572.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Scan(System.ReadOnlySpan`1[ushort]):this (Tier0)
          10 (11.90 % of base) : 29282.dasm - System.Int32:Equals(System.Object):ubyte:this (Tier0)
           8 (11.76 % of base) : 31669.dasm - Jil.Common.ExtensionMethods+<>c__17`1[System.__Canon]:<GetCustomAttribute>b__17_0(System.Reflection.CustomAttributeData):ubyte:this (Tier0)
          16 (10.39 % of base) : 6693.dasm - System.Threading.LowLevelLifoSemaphoreBase+Counts:SetUInt32Value(uint,ubyte):this (Tier0)
          16 (9.88 % of base) : 3430.dasm - System.Threading.PortableThreadPool+ThreadCounts:SetInt16Value(short,ubyte):this (Tier0)
           2 (9.09 % of base) : 91290.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ModeOf(int):int (Instrumented Tier0)
           2 (9.09 % of base) : 91132.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ModeOf(int):int (Tier0)
           2 (9.09 % of base) : 91267.dasm - Roslyn.Utilities.StringTable:LocalIdxFromHash(int):int (Instrumented Tier0)
           2 (9.09 % of base) : 91126.dasm - Roslyn.Utilities.StringTable:LocalIdxFromHash(int):int (Tier0)
           2 (9.09 % of base) : 98247.dasm - System.Reflection.Metadata.Ecma335.MetadataTokens:ToRowId(int):int (Instrumented Tier0)

Top method improvements (percentages):
          -8 (-19.05 % of base) : 757.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
          -8 (-17.39 % of base) : 12684.dasm - System.DateTime:get_InternalKind():ulong:this (Instrumented Tier0)
          -8 (-17.39 % of base) : 12324.dasm - System.DateTime:get_InternalKind():ulong:this (Tier0)
          -8 (-16.67 % of base) : 28881.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) : 15968.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object):this (Tier0)
          -8 (-16.67 % of base) : 5892.dasm - System.DateTime:get_Ticks():long:this (Instrumented Tier0)
          -8 (-16.67 % of base) : 5474.dasm - System.DateTime:get_Ticks():long:this (Tier0)
          -8 (-16.67 % of base) : 8780.dasm - System.DateTime:get_UTicks():ulong:this (Instrumented Tier0)
          -8 (-16.67 % of base) : 8733.dasm - System.DateTime:get_UTicks():ulong:this (Tier0)
          -8 (-16.67 % of base) : 63497.dasm - System.Reflection.PropertyInfo:SetValue(System.Object,System.Object):this (Tier0)
          -8 (-16.67 % of base) : 49495.dasm - System.Type:GetMember(System.String,int):System.Reflection.MemberInfo[]:this (Tier0)
          -8 (-16.67 % of base) : 11831.dasm - System.Uri:get_HostType():ulong:this (Instrumented Tier0)
          -8 (-16.67 % of base) : 9663.dasm - System.Uri:get_HostType():ulong:this (Tier0)
          -8 (-16.67 % of base) : 25465.dasm - System.Xml.XmlWellFormedWriter+ElementScope:WriteEndElement(System.Xml.XmlRawWriter):this (Tier0)
          -8 (-16.67 % of base) : 75452.dasm - System.Xml.XmlWellFormedWriter+ElementScope:WriteFullEndElement(System.Xml.XmlRawWriter):this (Tier0)
          -8 (-16.67 % of base) : 25458.dasm - System.Xml.XmlWriter:WriteStartElement(System.String,System.String):this (Tier0)
          -8 (-16.00 % of base) : 60806.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
          -8 (-16.00 % of base) : 2772.dasm - System.Reflection.Assembly:GetType(System.String,ubyte):System.Type:this (Tier0)
          -8 (-16.00 % of base) : 22006.dasm - System.Reflection.ConstructorInfo:Invoke(System.Object[]):System.Object:this (Tier0)
          -8 (-16.00 % of base) : 34090.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: 17364030 (overridden on cmd)
Total bytes of diff: 17332018 (overridden on cmd)
Total bytes of delta: -32012 (-0.18 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          48 : 10901.dasm (1.16 % of base)
          32 : 62383.dasm (4.29 % of base)
          30 : 46783.dasm (6.02 % of base)
          26 : 27311.dasm (25.00 % of base)
          24 : 7726.dasm (2.76 % of base)
          22 : 49245.dasm (5.50 % of base)
          20 : 58452.dasm (2.59 % of base)
          18 : 17365.dasm (6.21 % of base)
          18 : 19205.dasm (1.04 % of base)
          18 : 45700.dasm (4.35 % of base)
          16 : 2976.dasm (9.88 % of base)
          16 : 7368.dasm (10.39 % of base)
          16 : 50932.dasm (0.34 % of base)
          14 : 31953.dasm (1.58 % of base)
          14 : 36273.dasm (1.58 % of base)
          14 : 36312.dasm (1.56 % of base)
          14 : 18782.dasm (1.39 % of base)
          14 : 32245.dasm (1.18 % of base)
          14 : 13853.dasm (3.21 % of base)
          14 : 65406.dasm (0.95 % of base)

Top file improvements (bytes):
        -640 : 22371.dasm (-2.52 % of base)
        -406 : 29993.dasm (-3.77 % of base)
        -324 : 45456.dasm (-1.30 % of base)
        -308 : 6339.dasm (-1.74 % of base)
        -226 : 18293.dasm (-6.73 % of base)
        -190 : 7845.dasm (-1.15 % of base)
        -172 : 40170.dasm (-5.93 % of base)
        -166 : 10378.dasm (-6.38 % of base)
        -166 : 10345.dasm (-6.38 % of base)
        -152 : 24950.dasm (-2.95 % of base)
        -152 : 2712.dasm (-8.84 % of base)
        -150 : 16684.dasm (-2.99 % of base)
        -126 : 27946.dasm (-1.76 % of base)
        -126 : 61187.dasm (-1.76 % of base)
        -114 : 1411.dasm (-1.21 % of base)
         -86 : 50919.dasm (-4.33 % of base)
         -82 : 4568.dasm (-3.27 % of base)
         -80 : 9409.dasm (-3.40 % of base)
         -76 : 5440.dasm (-0.71 % of base)
         -66 : 14898.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) : 10901.dasm - Newtonsoft.Json.JsonTextReader:ParseReadNumber(int,ushort,int):this (Tier0)
          32 (4.29 % of base) : 62383.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
          30 (6.02 % of base) : 46783.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol:CreateUncommonFields():Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+UncommonFields:this (Tier0)
          26 (25.00 % of base) : 27311.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          24 (2.76 % of base) : 7726.dasm - System.Net.Http.HttpConnectionSettings:CloneAndNormalize():System.Net.Http.HttpConnectionSettings:this (Tier0)
          22 (5.50 % of base) : 49245.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) : 58452.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) : 45700.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) : 19205.dasm - Newtonsoft.Json.JsonSerializer:SerializeInternal(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
          18 (6.21 % of base) : 17365.dasm - Utf8Json.JsonReader:.ctor(ubyte[],int):this (Tier0)
          16 (0.34 % of base) : 50932.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) : 7368.dasm - System.Threading.LowLevelLifoSemaphoreBase+Counts:SetUInt32Value(uint,ubyte):this (Tier0)
          16 (9.88 % of base) : 2976.dasm - System.Threading.PortableThreadPool+ThreadCounts:SetInt16Value(short,ubyte):this (Tier0)
          14 (1.18 % of base) : 32245.dasm - Newtonsoft.Json.JsonSerializer:SetupReader(Newtonsoft.Json.JsonReader,byref,byref,byref,byref,byref,byref):this (Tier0)
          14 (1.56 % of base) : 36312.dasm - System.Formats.Tar.TarEntry+<ExtractAsRegularFileAsync>d__47:MoveNext():this (Tier0)
          14 (1.58 % of base) : 31953.dasm - System.Formats.Tar.TarFile+<CreateFromDirectoryInternalAsync>d__9:MoveNext():this (Tier0)
          14 (1.58 % of base) : 36273.dasm - System.Formats.Tar.TarFile+<ExtractToDirectoryInternalAsync>d__15:MoveNext():this (Tier0)
          14 (0.95 % of base) : 65406.dasm - System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48:MoveNext():this (Tier0)
          14 (3.21 % of base) : 13853.dasm - System.Linq.Enumerable:TryGetSpan[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):ubyte (Tier0)
          14 (1.39 % of base) : 18782.dasm - System.Threading.PortableThreadPool:PerformBlockingAdjustment(ubyte,byref):uint:this (Tier0)

Top method improvements (bytes):
        -640 (-2.52 % of base) : 22371.dasm - Jil.Options:.cctor() (Tier0)
        -406 (-3.77 % of base) : 29993.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Tier0)
        -324 (-1.30 % of base) : 45456.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
        -308 (-1.74 % of base) : 6339.dasm - Product:CreateLists() (Tier0)
        -226 (-6.73 % of base) : 18293.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) : 7845.dasm - System.Net.Http.Headers.KnownHeaders:.cctor() (Tier0)
        -172 (-5.93 % of base) : 40170.dasm - System.Security.Cryptography.CryptoConfig:get_DefaultNameHT():System.Collections.Generic.Dictionary`2[System.String,System.Object] (Tier0)
        -166 (-6.38 % of base) : 10378.dasm - System.Net.Sockets.SocketErrorPal:.cctor() (Tier0)
        -166 (-6.38 % of base) : 10345.dasm - System.Net.Sockets.SocketErrorPal:.cctor() (Tier0)
        -152 (-2.95 % of base) : 24950.dasm - MessagePack.Internal.BuiltinResolverGetFormatterHelper:.cctor() (Tier0)
        -152 (-8.84 % of base) : 2712.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier0)
        -150 (-2.99 % of base) : 16684.dasm - Utf8Json.Resolvers.BuiltinResolver+BuiltinResolverGetFormatterHelper:.cctor() (Tier0)
        -126 (-1.76 % of base) : 27946.dasm - Jil.Deserialize.Methods:ParseISO8601Date(System.IO.TextReader,ushort[],int,int):System.DateTime (Tier0)
        -126 (-1.76 % of base) : 61187.dasm - Jil.Deserialize.Methods:ParseISO8601DateThunkReader(byref,ushort[],int,int):System.DateTime (Tier0)
        -114 (-1.21 % of base) : 1411.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier0)
         -86 (-4.33 % of base) : 50919.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:GetRowCounts():System.Collections.Immutable.ImmutableArray`1[int]:this (Tier0)
         -82 (-3.27 % of base) : 4568.dasm - Newtonsoft.Json.Utilities.ConvertUtils:.cctor() (Tier0)
         -80 (-3.40 % of base) : 9409.dasm - System.Security.Cryptography.Asn1.GeneralNameAsn:DecodeCore(byref,System.ReadOnlyMemory`1[ubyte],byref) (Tier0)
         -76 (-0.71 % of base) : 5440.dasm - System.Text.RegularExpressions.RegexCharClass:.cctor() (Tier0)
         -66 (-3.00 % of base) : 14898.dasm - ProtoBuf.Internal.Serializers.DefaultValueDecorator:EmitBranchIfDefaultValue(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.CodeLabel):this (Tier0)

Top method regressions (percentages):
          26 (25.00 % of base) : 27311.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          12 (24.00 % of base) : 726.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
          12 (17.14 % of base) : 4982.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
           8 (15.38 % of base) : 46699.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
           8 (14.81 % of base) : 37407.dasm - ProtoBuf.ProtoWriter:Zig(long):ulong (Tier0)
          12 (14.29 % of base) : 23619.dasm - System.Byte:Equals(System.Object):ubyte:this (Tier0)
          12 (14.29 % of base) : 20014.dasm - System.Char:Equals(System.Object):ubyte:this (Tier0)
           6 (12.00 % of base) : 4383.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Scan(System.ReadOnlySpan`1[ushort]):this (Tier0)
          10 (11.90 % of base) : 14206.dasm - System.Int32:Equals(System.Object):ubyte:this (Tier0)
           8 (11.76 % of base) : 22412.dasm - Jil.Common.ExtensionMethods+<>c__17`1[System.__Canon]:<GetCustomAttribute>b__17_0(System.Reflection.CustomAttributeData):ubyte:this (Tier0)
          16 (10.39 % of base) : 7368.dasm - System.Threading.LowLevelLifoSemaphoreBase+Counts:SetUInt32Value(uint,ubyte):this (Tier0)
          16 (9.88 % of base) : 2976.dasm - System.Threading.PortableThreadPool+ThreadCounts:SetInt16Value(short,ubyte):this (Tier0)
           2 (9.09 % of base) : 44379.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ModeOf(int):int (Tier0)
           2 (9.09 % of base) : 44373.dasm - Roslyn.Utilities.StringTable:LocalIdxFromHash(int):int (Tier0)
           2 (9.09 % of base) : 4935.dasm - System.Buffers.ReadOnlySequence`1[ubyte]:GetIndex(int):int (Tier0)
           2 (9.09 % of base) : 49758.dasm - System.Reflection.Metadata.Ecma335.MetadataTokens:ToRowId(int):int (Tier0)
           8 (8.51 % of base) : 50936.dasm - System.Reflection.Metadata.Ecma335.MetadataSizes:IsPresent(ubyte):ubyte:this (Tier0)
           2 (8.33 % of base) : 49192.dasm - System.Reflection.Metadata.BlobBuilder:get_Length():int:this (Tier0)
           2 (8.33 % of base) : 46316.dasm - System.Reflection.Metadata.FieldDefinition:get_RowId():int:this (Tier0)
           2 (8.33 % of base) : 20524.dasm - System.Text.Json.JsonDocument+DbRow:get_NumberOfRows():int:this (Tier0)

Top method improvements (percentages):
          -8 (-19.05 % of base) : 684.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
          -8 (-17.39 % of base) : 3767.dasm - System.DateTime:get_InternalKind():ulong:this (Tier0)
          -8 (-16.67 % of base) : 16303.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) : 19204.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object):this (Tier0)
          -8 (-16.67 % of base) : 3217.dasm - System.DateTime:get_Ticks():long:this (Tier0)
          -8 (-16.67 % of base) : 3771.dasm - System.DateTime:get_UTicks():ulong:this (Tier0)
          -8 (-16.67 % of base) : 35516.dasm - System.Reflection.PropertyInfo:SetValue(System.Object,System.Object):this (Tier0)
          -8 (-16.67 % of base) : 27027.dasm - System.Type:GetMember(System.String,int):System.Reflection.MemberInfo[]:this (Tier0)
          -8 (-16.67 % of base) : 8044.dasm - System.Uri:get_HostType():ulong:this (Tier0)
          -8 (-16.67 % of base) : 13103.dasm - System.Xml.XmlWellFormedWriter+ElementScope:WriteEndElement(System.Xml.XmlRawWriter):this (Tier0)
          -8 (-16.67 % of base) : 38473.dasm - System.Xml.XmlWellFormedWriter+ElementScope:WriteFullEndElement(System.Xml.XmlRawWriter):this (Tier0)
          -8 (-16.67 % of base) : 13091.dasm - System.Xml.XmlWriter:WriteStartElement(System.String,System.String):this (Tier0)
          -8 (-16.00 % of base) : 34213.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
          -8 (-16.00 % of base) : 35511.dasm - System.ComponentModel.TypeConverter:ConvertFromString(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String):System.Object:this (Tier0)
          -8 (-16.00 % of base) : 2437.dasm - System.Reflection.Assembly:GetType(System.String,ubyte):System.Type:this (Tier0)
          -8 (-16.00 % of base) : 14731.dasm - System.Reflection.ConstructorInfo:Invoke(System.Object[]):System.Object:this (Tier0)
          -8 (-16.00 % of base) : 21649.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) : 56196.dasm - Microsoft.CodeAnalysis.CSharp.Binder:LookupLocal(Microsoft.CodeAnalysis.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceLocalSymbol:this (Tier0)
          -8 (-15.38 % of base) : 56133.dasm - Microsoft.CodeAnalysis.SyntaxNode:FindToken(int,ubyte):Microsoft.CodeAnalysis.SyntaxToken:this (Tier0)
          -8 (-15.38 % of base) : 5607.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: 321914498 (overridden on cmd)
Total bytes of diff: 321715320 (overridden on cmd)
Total bytes of delta: -199178 (-0.06 % of base)
    diff is an improvement.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
         912 : 181857.dasm (0.75 % of base)
         772 : 6936.dasm (1.44 % of base)
         770 : 6943.dasm (1.46 % of base)
         756 : 185150.dasm (0.73 % of base)
         756 : 194758.dasm (0.73 % of base)
         754 : 6932.dasm (1.30 % of base)
         726 : 6825.dasm (1.26 % of base)
         722 : 6884.dasm (1.41 % of base)
         708 : 6845.dasm (1.36 % of base)
         418 : 176962.dasm (0.21 % of base)
         418 : 178705.dasm (0.21 % of base)
         416 : 6930.dasm (0.62 % of base)
         408 : 6917.dasm (0.57 % of base)
         408 : 6921.dasm (0.60 % of base)
         384 : 176834.dasm (0.23 % of base)
         380 : 176845.dasm (0.22 % of base)
         376 : 186213.dasm (0.21 % of base)
         376 : 187129.dasm (0.21 % of base)
         356 : 186090.dasm (0.23 % of base)
         354 : 186016.dasm (0.24 % of base)

Top file improvements (bytes):
       -2268 : 203600.dasm (-1.37 % of base)
       -2268 : 419876.dasm (-1.37 % of base)
       -1468 : 285479.dasm (-1.90 % of base)
       -1468 : 285450.dasm (-1.90 % of base)
       -1468 : 285454.dasm (-1.90 % of base)
       -1468 : 285472.dasm (-1.90 % of base)
       -1040 : 185701.dasm (-0.39 % of base)
       -1040 : 185714.dasm (-0.39 % of base)
       -1024 : 174956.dasm (-0.35 % of base)
       -1024 : 175024.dasm (-0.35 % of base)
        -512 : 185560.dasm (-5.66 % of base)
        -512 : 182370.dasm (-4.67 % of base)
        -512 : 182374.dasm (-4.90 % of base)
        -512 : 192892.dasm (-5.66 % of base)
        -324 : 147421.dasm (-1.30 % of base)
        -308 : 142191.dasm (-1.74 % of base)
        -288 : 177457.dasm (-0.20 % of base)
        -288 : 177496.dasm (-0.20 % of base)
        -254 : 122151.dasm (-2.27 % of base)
        -254 : 122127.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) : 181857.dasm - Test_1000w1d.testout1:Func_0():int (MinOpts)
         772 (1.44 % of base) : 6936.dasm - lclfldsub:TestEntryPoint():int (Tier0)
         770 (1.46 % of base) : 6943.dasm - lclfldsub:TestEntryPoint():int (Tier0)
         756 (0.73 % of base) : 185150.dasm - Test_1000w1d.testout1:Func_0():int (Tier0)
         756 (0.73 % of base) : 194758.dasm - Test_1000w1d.testout1:Func_0():int (Tier0)
         754 (1.30 % of base) : 6932.dasm - lclfldsub:TestEntryPoint():int (MinOpts)
         726 (1.26 % of base) : 6825.dasm - lclfldadd:TestEntryPoint():int (MinOpts)
         722 (1.41 % of base) : 6884.dasm - lclfldadd:TestEntryPoint():int (Tier0)
         708 (1.36 % of base) : 6845.dasm - lclfldadd:TestEntryPoint():int (Tier0)
         418 (0.21 % of base) : 176962.dasm - i8div:TestEntryPoint():int (MinOpts)
         418 (0.21 % of base) : 178705.dasm - u8div:TestEntryPoint():int (MinOpts)
         416 (0.62 % of base) : 6930.dasm - lclfldrem:TestEntryPoint():int (Tier0)
         408 (0.57 % of base) : 6917.dasm - lclfldrem:TestEntryPoint():int (MinOpts)
         408 (0.60 % of base) : 6921.dasm - lclfldrem:TestEntryPoint():int (Tier0)
         384 (0.23 % of base) : 176834.dasm - i4div:TestEntryPoint():int (MinOpts)
         380 (0.22 % of base) : 176845.dasm - i4rem:TestEntryPoint():int (MinOpts)
         376 (0.21 % of base) : 186213.dasm - i8div:TestEntryPoint():int (Tier0)
         376 (0.21 % of base) : 187129.dasm - u8div:TestEntryPoint():int (Tier0)
         356 (0.23 % of base) : 186090.dasm - i4rem:TestEntryPoint():int (Tier0)
         354 (0.24 % of base) : 186016.dasm - i4div:TestEntryPoint():int (Tier0)

Top method improvements (bytes):
       -2268 (-1.37 % of base) : 203600.dasm - Runtime_64125.Program:TestEntryPoint():int (Tier0)
       -2268 (-1.37 % of base) : 419876.dasm - Runtime_64125.Program:TestEntryPoint():int (Tier0-MinOpts)
       -1468 (-1.90 % of base) : 285479.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
       -1468 (-1.90 % of base) : 285450.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
       -1468 (-1.90 % of base) : 285454.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
       -1468 (-1.90 % of base) : 285472.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
       -1040 (-0.39 % of base) : 185701.dasm - decimaldiv:TestEntryPoint():int (Tier0)
       -1040 (-0.39 % of base) : 185714.dasm - decimalrem:TestEntryPoint():int (Tier0)
       -1024 (-0.35 % of base) : 174956.dasm - decimaldiv:TestEntryPoint():int (MinOpts)
       -1024 (-0.35 % of base) : 175024.dasm - decimalrem:TestEntryPoint():int (MinOpts)
        -512 (-4.67 % of base) : 182370.dasm - JitTest_addsub_unsigned_cs.Test:TestEntryPoint():int (MinOpts)
        -512 (-5.66 % of base) : 185560.dasm - JitTest_addsub_unsigned_cs.Test:TestEntryPoint():int (Tier0)
        -512 (-4.90 % of base) : 182374.dasm - JitTest_addsub_unsigned_il.Test:Main():int (MinOpts)
        -512 (-5.66 % of base) : 192892.dasm - JitTest_addsub_unsigned_il.Test:Main():int (Tier0)
        -324 (-1.30 % of base) : 147421.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
        -308 (-1.74 % of base) : 142191.dasm - Product:CreateLists() (Tier0)
        -288 (-0.20 % of base) : 177457.dasm - r4div:TestEntryPoint():int (MinOpts)
        -288 (-0.20 % of base) : 177496.dasm - r8div:TestEntryPoint():int (MinOpts)
        -254 (-2.27 % of base) : 122127.dasm - Test_struct02:TestEntryPoint():int (Tier0)
        -254 (-2.27 % of base) : 122151.dasm - Test_Struct02:TestEntryPoint():int (Tier0)

Top method regressions (percentages):
          26 (25.00 % of base) : 145015.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
          26 (25.00 % of base) : 144141.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          12 (24.00 % of base) : 299069.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
           8 (22.22 % of base) : 209540.dasm - Test_GitHub_22556:Add(Test_GitHub_22556,int):int (Tier0)
           8 (22.22 % of base) : 209709.dasm - Test_GitHub_27027:Run(Test_GitHub_27027,int):int (Tier0)
          22 (16.18 % of base) : 118638.dasm - DivConst:I8_DivPow2Embedded_4(long,long):long (Tier0)
          22 (16.18 % of base) : 119548.dasm - ModConst:I8_ModPow2Embedded_4(long,long):long (Tier0)
           8 (15.38 % of base) : 149488.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (15.38 % of base) : 149172.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
           4 (15.38 % of base) : 191728.dasm - TestApp:test_0_10(float,AA,AA):float (Tier0)
           6 (15.00 % of base) : 130056.dasm - Test_Inline_Vars:RunTest219():int:this (Tier0)
           6 (15.00 % of base) : 130060.dasm - Test_Inline_Vars:RunTest223():int:this (Tier0)
           6 (15.00 % of base) : 130064.dasm - Test_Inline_Vars:RunTest227():int:this (Tier0)
           6 (15.00 % of base) : 130068.dasm - Test_Inline_Vars:RunTest231():int:this (Tier0)
           6 (15.00 % of base) : 130072.dasm - Test_Inline_Vars:RunTest235():int:this (Tier0)
           6 (15.00 % of base) : 130076.dasm - Test_Inline_Vars:RunTest239():int:this (Tier0)
           6 (15.00 % of base) : 130080.dasm - Test_Inline_Vars:RunTest243():int:this (Tier0)
           6 (15.00 % of base) : 130084.dasm - Test_Inline_Vars:RunTest247():int:this (Tier0)
           6 (15.00 % of base) : 130088.dasm - Test_Inline_Vars:RunTest251():int:this (Tier0)
           6 (15.00 % of base) : 130092.dasm - Test_Inline_Vars:RunTest255():int:this (Tier0)

Top method improvements (percentages):
         -10 (-27.78 % of base) : 113394.dasm - neg_._neg:negi8(long):long (Tier0)
         -32 (-19.75 % of base) : 211634.dasm - TestCase:Main():int (Tier0)
          -8 (-19.05 % of base) : 299042.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
          -8 (-18.18 % of base) : 297597.dasm - Tracing.Tests.Common.IpcClient:Write(System.IO.Stream,ubyte[]) (Tier0)
         -58 (-16.76 % of base) : 387414.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) : 24344.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) : 157860.dasm - System.Dynamic.InvokeMemberBinder:FallbackInvokeMember(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[]):System.Dynamic.DynamicMetaObject:this (Tier0)
        -192 (-16.35 % of base) : 388273.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) : 144483.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
          -8 (-16.00 % of base) : 143930.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) : 385506.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) : 124756.dasm - ClassB:Test(Base,Base,ubyte):int:this (Tier0)
         -12 (-15.38 % of base) : 155322.dasm - Microsoft.CodeAnalysis.CSharp.Binder:LookupLocal(Microsoft.CodeAnalysis.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceLocalSymbol:this (Tier0)
          -8 (-15.38 % of base) : 155164.dasm - Microsoft.CodeAnalysis.SyntaxNode:FindToken(int,ubyte):Microsoft.CodeAnalysis.SyntaxToken:this (Tier0)
          -8 (-15.38 % of base) : 124755.dasm - Program:Test(Base,Base,Base,ubyte):int (Tier0)
        -150 (-14.94 % of base) : 387222.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)
          -8 (-14.29 % of base) : 274102.dasm - Internal.TypeSystem.TypeDesc:GetMethod(System.String,Internal.TypeSystem.MethodSignature):Internal.TypeSystem.MethodDesc:this (Tier0)
          -8 (-14.29 % of base) : 278148.dasm - Internal.TypeSystem.TypeDesc:GetMethod(System.String,Internal.TypeSystem.MethodSignature):Internal.TypeSystem.MethodDesc:this (Tier0)
         -16 (-14.29 % of base) : 206238.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) : 207684.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: 37768318 (overridden on cmd)
Total bytes of diff: 37768318 (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: 49500180 (overridden on cmd)
Total bytes of diff: 49499900 (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 : 4229.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) : 4229.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) : 4229.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: 240715714 (overridden on cmd)
Total bytes of diff: 240182334 (overridden on cmd)
Total bytes of delta: -533380 (-0.22 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
         830 : 685994.dasm (0.73 % of base)
         816 : 690754.dasm (0.32 % of base)
         660 : 686068.dasm (0.49 % of base)
         356 : 456901.dasm (3.95 % of base)
         320 : 439829.dasm (1.89 % of base)
         320 : 81269.dasm (1.67 % of base)
         204 : 453305.dasm (7.75 % of base)
         124 : 437211.dasm (1.48 % of base)
         116 : 593132.dasm (2.51 % of base)
         116 : 607474.dasm (2.50 % of base)
         116 : 630040.dasm (2.51 % of base)
         116 : 635314.dasm (2.50 % of base)
         108 : 592892.dasm (2.78 % of base)
         108 : 629928.dasm (2.78 % of base)
         100 : 452566.dasm (4.07 % of base)
         100 : 452564.dasm (5.12 % of base)
          96 : 265900.dasm (0.81 % of base)
          92 : 629717.dasm (2.78 % of base)
          92 : 607235.dasm (2.78 % of base)
          78 : 654530.dasm (0.67 % of base)

Top file improvements (bytes):
       -4000 : 600024.dasm (-0.46 % of base)
       -4000 : 603214.dasm (-0.46 % of base)
       -2000 : 614775.dasm (-1.98 % of base)
        -858 : 76695.dasm (-2.97 % of base)
        -652 : 533240.dasm (-3.44 % of base)
        -630 : 312149.dasm (-1.19 % of base)
        -630 : 313245.dasm (-1.19 % of base)
        -548 : 111500.dasm (-5.84 % of base)
        -514 : 374903.dasm (-6.68 % of base)
        -514 : 63139.dasm (-6.68 % of base)
        -450 : 145176.dasm (-7.39 % of base)
        -450 : 158494.dasm (-7.39 % of base)
        -432 : 4597.dasm (-6.13 % of base)
        -406 : 296635.dasm (-3.77 % of base)
        -400 : 389057.dasm (-2.81 % of base)
        -398 : 255448.dasm (-1.71 % of base)
        -362 : 262869.dasm (-2.30 % of base)
        -348 : 580801.dasm (-0.61 % of base)
        -348 : 611145.dasm (-0.61 % of base)
        -348 : 609821.dasm (-0.58 % of base)

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

Top method regressions (bytes):
         830 (0.73 % of base) : 685994.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex29833_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
         816 (0.32 % of base) : 690754.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) : 686068.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex29841_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
         356 (3.95 % of base) : 456901.dasm - System.Xml.Tests.TCErrorCondition:V8():int:this (Instrumented Tier0)
         320 (1.67 % of base) : 81269.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
         320 (1.89 % of base) : 439829.dasm - System.Xml.Xsl.Xslt.XsltLoader:.ctor():this (Tier0)
         204 (7.75 % of base) : 453305.dasm - System.Xml.XmlWriterApiTests.TCErrorConditionWriter:var_16(System.Xml.XmlWriterApiTests.XmlWriterUtils):this (Instrumented Tier0)
         124 (1.48 % of base) : 437211.dasm - System.Xml.Xsl.Xslt.KeywordsTable:.ctor(System.Xml.XmlNameTable):this (Instrumented Tier0)
         116 (2.50 % of base) : 607474.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<Number_AsCollectionElement_RoundTrip>d__22:MoveNext():this (Tier0)
         116 (2.50 % of base) : 635314.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<Number_AsCollectionElement_RoundTrip>d__22:MoveNext():this (Tier0)
         116 (2.51 % of base) : 593132.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<Number_AsRootType_RoundTrip>d__7:MoveNext():this (Tier0)
         116 (2.51 % of base) : 630040.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<Number_AsRootType_RoundTrip>d__7:MoveNext():this (Tier0)
         108 (2.78 % of base) : 592892.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<UnsupportedFormats>d__48:MoveNext():this (Tier0)
         108 (2.78 % of base) : 629928.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<UnsupportedFormats>d__48:MoveNext():this (Tier0)
         100 (4.07 % of base) : 452566.dasm - System.Xml.XmlConvertTests.XmlBaseCharConvertTests2:XmlEncodeName5():int:this (Instrumented Tier0)
         100 (5.12 % of base) : 452564.dasm - System.Xml.XmlConvertTests.XmlBaseCharConvertTests2:XmlEncodeName5():int:this (Tier0)
          96 (0.81 % of base) : 265900.dasm - System.Data.Tests.DataRowComparerTests+<Equals_TestData>d__1:MoveNext():ubyte:this (Tier0)
          92 (2.78 % of base) : 629717.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<FloatingPointConstants_IncompatibleNumber>d__46:MoveNext():this (Tier0)
          92 (2.78 % of base) : 607235.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<FloatingPointConstants_IncompatibleNumber>d__46:MoveNext():this (Tier0)
          78 (0.67 % of base) : 654530.dasm - System.Text.Json.Serialization.Tests.CollectionTests+<ImplementsDictionary_DictionaryOfString>d__30:MoveNext():this (Instrumented Tier0)

Top method improvements (bytes):
       -4000 (-0.46 % of base) : 600024.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) : 603214.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) : 614775.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) : 76695.dasm - Microsoft.CodeAnalysis.DesktopAssemblyIdentityComparer:.cctor() (Tier0)
        -652 (-3.44 % of base) : 533240.dasm - System.Tests.TimeZoneInfoTests:GetAmbiguousTimeOffsets_Amsterdam() (Tier0)
        -630 (-1.19 % of base) : 312149.dasm - FileData:.cctor() (Tier0)
        -630 (-1.19 % of base) : 313245.dasm - FileData:.cctor() (Tier0)
        -548 (-5.84 % of base) : 111500.dasm - System.ComponentModel.CultureInfoConverter+CultureInfoMapper:CreateMap():System.Collections.Generic.Dictionary`2[System.String,System.String] (Tier0)
        -514 (-6.68 % of base) : 374903.dasm - System.Net.Http.Unit.Tests.HPack.HuffmanDecodingTests:get_HuffmanData():Xunit.TheoryData`3[int,uint,int] (Tier0)
        -514 (-6.68 % of base) : 63139.dasm - System.Net.Http.Unit.Tests.HPack.HuffmanDecodingTests:get_HuffmanData():Xunit.TheoryData`3[int,uint,int] (Tier0)
        -450 (-7.39 % of base) : 145176.dasm - Microsoft.Extensions.Logging.Generators.DiagnosticDescriptors:.cctor() (Tier0)
        -450 (-7.39 % of base) : 158494.dasm - Microsoft.Extensions.Logging.Generators.DiagnosticDescriptors:.cctor() (Tier0)
        -432 (-6.13 % of base) : 4597.dasm - Microsoft.Interop.GeneratorDiagnostics:.cctor() (Tier0)
        -406 (-3.77 % of base) : 296635.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Tier0)
        -400 (-2.81 % of base) : 389057.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Instrumented Tier0)
        -398 (-1.71 % of base) : 255448.dasm - System.Xml.Schema.XsdBuilder:.cctor() (Tier0)
        -362 (-2.30 % of base) : 262869.dasm - System.Data.Tests.Common.DbConnectionStringBuilderTest:AppendKeyValuePair2_UseOdbcRules_True():this (Tier0)
        -348 (-0.58 % of base) : 609821.dasm - System.Text.Json.SourceGeneration.Tests.ConstructorTests_Metadata+ConstructorTestsContext_Metadata:SimpleTestClassPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Instrumented Tier0)
        -348 (-0.61 % of base) : 580801.dasm - System.Text.Json.SourceGeneration.Tests.PropertyVisibilityTests_Metadata+PropertyVisibilityTestsContext_Metadata:SimpleTestClassPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Tier0)
        -348 (-0.61 % of base) : 611145.dasm - System.Text.Json.SourceGeneration.Tests.ReferenceHandlerTests_Default+ReferenceHandlerTestsContext_Default:SimpleTestClassPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Tier0)

Top method regressions (percentages):
          12 (26.09 % of base) : 203136.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Instrumented Tier0)
          12 (26.09 % of base) : 202974.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Tier0)
          12 (26.09 % of base) : 230582.dasm - System.Collections.Tests.BitArray_GetSetTests+<>c__DisplayClass8_0:<GetEnumerator_Data>b__0(int):ubyte:this (Tier0)
          12 (25.00 % of base) : 14666.dasm - System.Collections.Concurrent.ConcurrentDictionaryTypeProps`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:.cctor() (Tier0)
          26 (25.00 % of base) : 430343.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
          26 (25.00 % of base) : 264316.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          12 (24.00 % of base) : 3713.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
          10 (17.24 % of base) : 342869.dasm - System.Linq.Parallel.Tests.OfTypeTests+<>c__DisplayClass22_0:<OfType_SomeValidNull>b__0(int):System.Object:this (Tier0)
          12 (17.14 % of base) : 490482.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Instrumented Tier0)
          12 (17.14 % of base) : 216363.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
          12 (16.67 % of base) : 326679.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) : 326695.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) : 326685.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) : 326676.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) : 326664.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) : 326661.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) : 326667.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) : 326692.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) : 157039.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (15.38 % of base) : 471771.dasm - System.Reflection.Tests.MethodInfoDefaultParameters+CustomValueType:Equals(System.Object):ubyte:this (Tier0)

Top method improvements (percentages):
         -34 (-22.67 % of base) : 42170.dasm - NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Instrumented Tier0)
         -34 (-22.67 % of base) : 9378.dasm - NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Tier0)
          -8 (-20.00 % of base) : 309378.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_3():System.Object:this (Tier0)
          -8 (-20.00 % of base) : 310835.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_3():System.Object:this (Tier0)
          -8 (-20.00 % of base) : 309379.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_4():System.Object:this (Tier0)
          -8 (-20.00 % of base) : 310836.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_4():System.Object:this (Tier0)
          -8 (-20.00 % of base) : 310837.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_5():System.Object:this (Tier0)
          -8 (-20.00 % of base) : 309380.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_5():System.Object:this (Tier0)
          -8 (-20.00 % of base) : 703857.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase:Complete():this (Tier0)
         -24 (-19.67 % of base) : 491099.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:InternalSerializeReference(System.Runtime.Serialization.XmlWriterDelegator,System.Object,ubyte,ubyte,int,System.RuntimeTypeHandle):this (Tier0)
         -24 (-19.67 % of base) : 703770.dasm - System.Threading.Tasks.Dataflow.JoinBlock`3[int,int,int]:Complete():this (Tier0)
         -24 (-19.67 % of base) : 704898.dasm - System.Threading.Tasks.Dataflow.JoinBlock`3[int,System.__Canon,double]:Complete():this (Tier0)
          -8 (-19.05 % of base) : 168251.dasm - System.ComponentModel.TypeConverter:ConvertFromString(System.String):System.Object:this (Tier0)
          -8 (-19.05 % of base) : 263577.dasm - System.Data.DataTable:Load(System.Data.IDataReader):this (Tier0)
          -8 (-19.05 % of base) : 268538.dasm - System.Diagnostics.DiagnosticListener:<Subscribe>b__6_0(System.String):ubyte:this (Tier0)
          -8 (-19.05 % of base) : 400741.dasm - System.Net.Security.SslStream:AuthenticateAsClientAsync(System.String):System.Threading.Tasks.Task:this (Tier0)
          -8 (-19.05 % of base) : 452815.dasm - System.Xml.XmlWriter:WriteStartAttribute(System.String):this (Tier0)
          -8 (-19.05 % of base) : 247990.dasm - System.Xml.XmlWriter:WriteStartElement(System.String):this (Tier0)
         -16 (-18.18 % of base) : 115907.dasm - Grace.DependencyInjection.Impl.ActivationStrategyCompiler:CompileDelegate(Grace.DependencyInjection.IInjectionScope,Grace.DependencyInjection.IActivationExpressionResult):Grace.DependencyInjection.ActivationStrategyDelegate:this (Tier0)
         -16 (-18.18 % of base) : 704893.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: 92863410 (overridden on cmd)
Total bytes of diff: 92838500 (overridden on cmd)
Total bytes of delta: -24910 (-0.03 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
         830 : 288946.dasm (0.73 % of base)
         816 : 293413.dasm (0.32 % of base)
         660 : 289772.dasm (0.49 % of base)
          40 : 4505.dasm (0.99 % of base)
          34 : 12493.dasm (1.01 % of base)
          32 : 12460.dasm (0.34 % of base)
          30 : 12585.dasm (0.43 % of base)
          24 : 2496.dasm (1.14 % of base)
          20 : 2456.dasm (1.02 % of base)
          18 : 3585.dasm (0.49 % of base)
          14 : 12644.dasm (1.08 % of base)
          14 : 2441.dasm (5.00 % of base)
          12 : 10683.dasm (0.42 % of base)
          12 : 12489.dasm (2.61 % of base)
          12 : 10682.dasm (2.69 % of base)
          12 : 12578.dasm (2.58 % of base)
          12 : 4502.dasm (2.84 % of base)
          12 : 10680.dasm (2.69 % of base)
          12 : 13764.dasm (2.48 % of base)
          12 : 2451.dasm (2.88 % of base)

Top file improvements (bytes):
       -4000 : 249885.dasm (-0.46 % of base)
       -4000 : 247911.dasm (-0.46 % of base)
        -208 : 282841.dasm (-1.06 % of base)
        -116 : 269650.dasm (-0.89 % of base)
        -106 : 293440.dasm (-0.03 % of base)
         -84 : 285915.dasm (-1.01 % of base)
         -84 : 276265.dasm (-1.12 % of base)
         -80 : 13787.dasm (-0.77 % of base)
         -72 : 290906.dasm (-1.06 % of base)
         -62 : 274395.dasm (-4.11 % of base)
         -62 : 273051.dasm (-4.57 % of base)
         -62 : 273054.dasm (-4.11 % of base)
         -62 : 274389.dasm (-4.57 % of base)
         -60 : 2239.dasm (-2.24 % of base)
         -50 : 293373.dasm (-1.37 % of base)
         -44 : 269626.dasm (-1.26 % of base)
         -38 : 280993.dasm (-0.99 % of base)
         -38 : 60640.dasm (-0.01 % of base)
         -34 : 280373.dasm (-1.47 % of base)
         -34 : 280381.dasm (-1.47 % of base)

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

Top method regressions (bytes):
         830 (0.73 % of base) : 288946.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex5027_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
         816 (0.32 % of base) : 293413.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) : 289772.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex5100_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
          40 (0.99 % of base) : 4505.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<GetSortedDiagnosticsAsync>d__83[System.__Canon]:MoveNext():this (MinOpts)
          34 (1.01 % of base) : 12493.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<VerifyFixAsync>d__48[System.__Canon]:MoveNext():this (MinOpts)
          32 (0.34 % of base) : 12460.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<VerifyFixAsync>d__46[System.__Canon]:MoveNext():this (MinOpts)
          30 (0.43 % of base) : 12585.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<FixEachAnalyzerDiagnosticAsync>d__50[System.__Canon]:MoveNext():this (MinOpts)
          24 (1.14 % of base) : 2496.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<CreateSolutionAsync>d__97[System.__Canon]:MoveNext():this (MinOpts)
          20 (1.02 % of base) : 2456.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<GetSortedDiagnosticsAsync>d__82[System.__Canon]:MoveNext():this (MinOpts)
          18 (0.49 % of base) : 3585.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<VerifySourceGeneratorAsync>d__68[System.__Canon]:MoveNext():this (MinOpts)
          14 (1.08 % of base) : 12644.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest`1+<ApplyCodeActionAsync>d__22[System.__Canon]:MoveNext():this (MinOpts)
          14 (5.00 % of base) : 2441.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) : 4502.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) : 2451.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) : 10680.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) : 10682.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) : 10683.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<VerifySuppressionDiagnosticsAsync>d__71[System.__Canon]:MoveNext():this (MinOpts)
          12 (2.48 % of base) : 13764.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) : 12578.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) : 12489.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) : 247911.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) : 249885.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) : 282841.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
        -116 (-0.89 % of base) : 269650.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
        -106 (-0.03 % of base) : 293440.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get2217_921+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -84 (-1.01 % of base) : 285915.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
         -84 (-1.12 % of base) : 276265.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
         -80 (-0.77 % of base) : 13787.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<VerifyProjectAsync>d__49[System.__Canon]:MoveNext():this (MinOpts)
         -72 (-1.06 % of base) : 290906.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) : 274389.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) : 274395.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) : 273051.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) : 273054.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) : 2239.dasm - Microsoft.CodeAnalysis.Testing.TestFileMarkupParser:Parse(System.String,ubyte,byref,byref,byref,byref) (MinOpts)
         -50 (-1.37 % of base) : 293373.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) : 269626.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
         -38 (-0.01 % of base) : 60640.dasm - Microsoft.VisualBasic.CompilerServices.Tests.OperatorsTests+<Compare_Primitives_TestData>d__139:MoveNext():ubyte:this (Tier0-MinOpts)
         -38 (-0.99 % of base) : 280993.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
         -34 (-1.47 % of base) : 280373.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get962_567+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
         -34 (-1.47 % of base) : 280381.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get964_568+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

Top method regressions (percentages):
          14 (5.00 % of base) : 2441.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) : 3441.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) : 8420.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) : 20030.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) : 3431.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) : 3450.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) : 191151.dasm - System.Reflection.Metadata.ApplyUpdate.Test.AsyncMethodChange:TestTaskMethod():System.Threading.Tasks.Task`1[System.String] (MinOpts)
          12 (2.88 % of base) : 2451.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) : 4502.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) : 10680.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) : 10682.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) : 2477.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) : 12489.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) : 2480.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) : 12578.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) : 4476.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) : 2457.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) : 13764.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) : 2442.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) : 12474.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) : 274389.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) : 273051.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) : 274395.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) : 273054.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) : 289598.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) : 2247.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) : 280278.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) : 278860.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) : 291300.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) : 279122.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) : 291580.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) : 273381.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) : 278867.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) : 274857.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) : 291303.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) : 280294.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) : 13749.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) : 279128.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) : 291583.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) : 14083.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: 13608080 (overridden on cmd)
Total bytes of diff: 13593434 (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 : 36646.dasm (-5.88 % of base)
        -608 : 5527.dasm (-0.31 % of base)

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

Top method improvements (bytes):
      -14038 (-5.88 % of base) : 36646.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) : 36646.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,240,380 contexts (789,389 MinOpts, 1,450,991 FullOpts).

MISSED contexts: base: 3,847 (0.17%), diff: 49,158 (2.15%)

Overall (+199,265 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,037,944 +2
benchmarks.run_pgo.windows.x86.checked.mch 43,076,375 +1,814
benchmarks.run_tiered.windows.x86.checked.mch 8,947,008 +247
coreclr_tests.run.windows.x86.checked.mch 305,219,044 +201,221
libraries.crossgen2.windows.x86.checked.mch 31,623,120 +3
libraries.pmi.windows.x86.checked.mch 48,807,890 -81
libraries_tests.run.windows.x86.Release.mch 162,974,883 -7,140
librariestestsnotieredcompilation.run.windows.x86.Release.mch 100,565,179 +3,185
realworld.run.windows.x86.checked.mch 11,349,106 +14

MinOpts (+199,265 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 279 +2
benchmarks.run_pgo.windows.x86.checked.mch 5,966,425 +1,814
benchmarks.run_tiered.windows.x86.checked.mch 3,848,434 +247
coreclr_tests.run.windows.x86.checked.mch 198,156,671 +201,221
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 77,656,212 -7,140
librariestestsnotieredcompilation.run.windows.x86.Release.mch 7,273,446 +3,185
realworld.run.windows.x86.checked.mch 295,700 +14

Example diffs

benchmarks.run.windows.x86.checked.mch

+0 (0.00%) : 14037.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]

+0 (0.00%) : 2103.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]

+2 (+1.45%) : 14740.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%) : 60903.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%) : 52282.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%) : 8446.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%) : 45979.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)
 ; ============================================================
 

+24 (+22.86%) : 4752.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%) : 39350.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%) : 31699.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%) : 28705.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%) : 7560.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%) : 27541.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%) : 14840.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%) : 22274.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%) : 338635.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 (-7.27%) : 371675.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 (-6.25%) : 253879.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%) : 220023.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%) : 235147.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%) : 220033.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%) : 20632.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%) : 6629.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%) : 6634.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%) : 6630.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%) : 6635.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)
 ; ============================================================
 

+2 (+1.45%) : 108635.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)
 ; ============================================================
 

libraries.pmi.windows.x86.checked.mch

+2 (+1.45%) : 282866.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%) : 322078.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%) : 322094.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)
 ; ============================================================
 

-4 (-8.00%) : 584635.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)
 ; ============================================================
 

+8 (+24.24%) : 99908.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)
 ; ============================================================
 

+8 (+24.24%) : 432568.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)
 ; ============================================================
 

+13 (+31.71%) : 68507.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%) : 295752.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%) : 295755.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%) : 12185.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%) : 301165.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%) : 281690.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%) : 300110.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%) : 15498.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%) : 34768.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,962 2,067 1,502 19,393 -4,335 +6,149
benchmarks.run_tiered.windows.x86.checked.mch 14,908 1,427 936 12,545 -2,963 +3,210
coreclr_tests.run.windows.x86.checked.mch 221,805 16,324 13,039 192,442 -47,576 +248,797
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 226,500 21,328 8,786 196,386 -53,514 +46,374
librariestestsnotieredcompilation.run.windows.x86.Release.mch 13,208 3,828 817 8,563 -4,382 +7,567
realworld.run.windows.x86.checked.mch 3 0 1 2 -0 +14
499,399 44,978 25,086 429,335 -112,856 +312,121

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.windows.x86.checked.mch 24,442 4 24,438 4 (0.02%) 4 (0.02%)
benchmarks.run_pgo.windows.x86.checked.mch 117,029 40,333 76,696 1,308 (1.09%) 3,051 (2.54%)
benchmarks.run_tiered.windows.x86.checked.mch 47,028 27,648 19,380 6 (0.01%) 1,061 (2.21%)
coreclr_tests.run.windows.x86.checked.mch 568,663 313,651 255,012 275 (0.05%) 6,367 (1.11%)
libraries.crossgen2.windows.x86.checked.mch 241,815 15 241,800 21 (0.01%) 21 (0.01%)
libraries.pmi.windows.x86.checked.mch 304,108 6 304,102 49 (0.02%) 49 (0.02%)
libraries_tests.run.windows.x86.Release.mch 585,999 386,086 199,913 2,090 (0.33%) 38,327 (6.14%)
librariestestsnotieredcompilation.run.windows.x86.Release.mch 315,324 21,643 293,681 79 (0.03%) 263 (0.08%)
realworld.run.windows.x86.checked.mch 35,972 3 35,969 15 (0.04%) 15 (0.04%)
2,240,380 789,389 1,450,991 3,847 (0.17%) 49,158 (2.15%)

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: 7037944 (overridden on cmd)
Total bytes of diff: 7037946 (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 : 14740.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) : 14740.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) : 14740.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: 43076375 (overridden on cmd)
Total bytes of diff: 43078189 (overridden on cmd)
Total bytes of delta: 1814 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
         939 : 81116.dasm (4.53 % of base)
         160 : 81121.dasm (4.91 % of base)
          75 : 68648.dasm (6.81 % of base)
          74 : 81119.dasm (3.01 % of base)
          59 : 85269.dasm (3.89 % of base)
          52 : 4722.dasm (18.51 % of base)
          46 : 70653.dasm (2.58 % of base)
          30 : 32777.dasm (2.27 % of base)
          24 : 4752.dasm (22.86 % of base)
          22 : 35322.dasm (3.33 % of base)
          20 : 105620.dasm (2.37 % of base)
          20 : 6663.dasm (6.13 % of base)
          20 : 6720.dasm (6.13 % of base)
          19 : 95544.dasm (2.96 % of base)
          19 : 97841.dasm (2.79 % of base)
          19 : 105150.dasm (3.18 % of base)
          18 : 35350.dasm (2.39 % of base)
          18 : 9445.dasm (1.33 % of base)
          16 : 5479.dasm (3.70 % of base)
          16 : 3464.dasm (3.33 % of base)

Top file improvements (bytes):
        -101 : 73263.dasm (-0.59 % of base)
         -94 : 21677.dasm (-2.35 % of base)
         -93 : 21546.dasm (-2.29 % of base)
         -61 : 23250.dasm (-2.28 % of base)
         -49 : 21556.dasm (-0.33 % of base)
         -41 : 85174.dasm (-0.84 % of base)
         -40 : 25458.dasm (-1.15 % of base)
         -34 : 8770.dasm (-1.95 % of base)
         -34 : 17417.dasm (-1.58 % of base)
         -30 : 32774.dasm (-1.26 % of base)
         -25 : 12425.dasm (-0.97 % of base)
         -23 : 79787.dasm (-1.54 % of base)
         -23 : 77887.dasm (-1.73 % of base)
         -20 : 11357.dasm (-0.92 % of base)
         -17 : 65939.dasm (-1.95 % of base)
         -16 : 73832.dasm (-0.98 % of base)
         -16 : 56680.dasm (-0.81 % of base)
         -15 : 40804.dasm (-0.69 % of base)
         -14 : 76765.dasm (-0.12 % of base)
         -14 : 12363.dasm (-0.91 % of base)

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

Top method regressions (bytes):
         939 (4.53 % of base) : 81116.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
         160 (4.91 % of base) : 81121.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldCheckedIntegralBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
          75 (6.81 % of base) : 68648.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
          74 (3.01 % of base) : 81119.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNativeIntegerOverflowingBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
          59 (3.89 % of base) : 85269.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:GetTypeOrReturnType(Microsoft.CodeAnalysis.CSharp.Symbol,byref,byref,byref) (Instrumented Tier0)
          52 (18.51 % of base) : 4722.dasm - System.TimeSpan:.ctor(int,int,int,int,int,int):this (Tier0)
          46 (2.58 % of base) : 70653.dasm - System.Security.Cryptography.X509Certificates.ChainPal:.cctor() (Tier0)
          30 (2.27 % of base) : 32777.dasm - System.Xml.XmlDocument:.cctor() (Tier0)
          24 (22.86 % of base) : 4752.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          22 (3.33 % of base) : 35322.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) : 6663.dasm - Interop+Winsock:<EnsureInitialized>g__Initialize|57_0() (Tier0)
          20 (6.13 % of base) : 6720.dasm - Interop+Winsock:<EnsureInitialized>g__Initialize|8_0() (Tier0)
          20 (2.37 % of base) : 105620.dasm - System.IO.Strategies.AsyncWindowsFileStreamStrategy+<AsyncModeCopyToAsync>d__5:MoveNext():this (Instrumented Tier0)
          19 (2.79 % of base) : 97841.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Instrumented Tier0)
          19 (2.96 % of base) : 95544.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Tier0)
          19 (3.18 % of base) : 105150.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):this (Tier0)
          18 (1.33 % of base) : 9445.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Tier0)
          18 (2.39 % of base) : 35350.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[System.__Canon]:WaitToReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte]:this (Instrumented Tier0)
          16 (3.33 % of base) : 3464.dasm - System.Text.Json.Utf8JsonWriter:WriteStringMinimized(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Tier0)
          16 (3.70 % of base) : 5479.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) : 73263.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
         -94 (-2.35 % of base) : 21677.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) : 21546.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) : 23250.dasm - System.Runtime.Serialization.DictionaryGlobals:.cctor() (Tier0)
         -49 (-0.33 % of base) : 21556.dasm - System.Net.Http.Headers.KnownHeaders:.cctor() (Tier0)
         -41 (-0.84 % of base) : 85174.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:IsWarning(int):ubyte (Instrumented Tier0)
         -40 (-1.15 % of base) : 25458.dasm - System.Diagnostics.Tracing.PropertyValue:GetFactory(System.Type):System.Func`2[System.Object,System.Diagnostics.Tracing.PropertyValue] (Tier0)
         -34 (-1.58 % of base) : 17417.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) : 8770.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) : 32774.dasm - System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this (Tier0)
         -25 (-0.97 % of base) : 12425.dasm - ProtoBuf.Serializers.RepeatedSerializers:.cctor() (Tier0)
         -23 (-1.54 % of base) : 79787.dasm - Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Instrumented Tier0)
         -23 (-1.73 % of base) : 77887.dasm - Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier0)
         -20 (-0.92 % of base) : 11357.dasm - System.IO.Tests.Perf_RandomAccess_NoBuffering:Setup(long[]):this (Tier0)
         -17 (-1.95 % of base) : 65939.dasm - Neural:.cctor() (Tier0)
         -16 (-0.98 % of base) : 73832.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier0)
         -16 (-0.81 % of base) : 56680.dasm - System.Collections.Tests.DictionarySequentialKeys:Initialize():this (Tier0)
         -15 (-0.69 % of base) : 40804.dasm - System.Xml.Serialization.FieldModel:.ctor(System.Reflection.MemberInfo,System.Type,System.Xml.Serialization.TypeDesc):this (Instrumented Tier0)
         -14 (-0.12 % of base) : 76765.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Tier0)
         -14 (-0.91 % of base) : 12363.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) : 39350.dasm - System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
           8 (22.86 % of base) : 45979.dasm - Interop+Kernel32+FILE_TIME:ToTicks():long:this (Instrumented Tier0)
           8 (22.86 % of base) : 45887.dasm - Interop+Kernel32+FILE_TIME:ToTicks():long:this (Tier0)
          24 (22.86 % of base) : 4752.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          52 (18.51 % of base) : 4722.dasm - System.TimeSpan:.ctor(int,int,int,int,int,int):this (Tier0)
           8 (18.18 % of base) : 75105.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (18.18 % of base) : 74664.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
          10 (16.39 % of base) : 69600.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
           8 (14.55 % of base) : 10616.dasm - System.Math:BigMul(uint,uint):ulong (Instrumented Tier0)
           8 (14.55 % of base) : 10347.dasm - System.Math:BigMul(uint,uint):ulong (Tier0)
           6 (13.04 % of base) : 738.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
           2 (9.52 % of base) : 22800.dasm - System.Diagnostics.Tracing.SessionMask:ToEventKeywords():ulong:this (Tier0)
          11 (9.09 % of base) : 2494.dasm - System.Threading.PortableThreadPool:get_HasForcedMaxThreads():ubyte (Tier0)
          11 (9.09 % of base) : 2493.dasm - System.Threading.PortableThreadPool:get_HasForcedMinThreads():ubyte (Tier0)
          14 (8.86 % of base) : 7338.dasm - System.TimeSpan:TimeToTicks(int,int,int):long (Tier0)
           6 (8.33 % of base) : 81216.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2[Microsoft.CodeAnalysis.CSharp.ControlFlowPass+LocalState,System.__Canon]:SetUnreachable():this (Instrumented Tier0)
           6 (7.89 % of base) : 17880.dasm - System.Linq.CachingComparer`2[System.__Canon,int]:SetElement(System.__Canon):this (Instrumented Tier0)
           4 (7.84 % of base) : 3588.dasm - System.Number+BigInteger:Clear(uint):this (Instrumented Tier0)
           4 (7.84 % of base) : 1805.dasm - System.Number+BigInteger:Clear(uint):this (Tier0)
           2 (7.41 % of base) : 57976.dasm - System.Runtime.Serialization.BitFlagsGenerator:GetBitValue(int):ubyte (Instrumented Tier0)

Top method improvements (percentages):
          -8 (-12.50 % of base) : 60903.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
          -6 (-10.53 % of base) : 52282.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int (Tier0)
          -4 (-8.16 % of base) : 8572.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Instrumented Tier0)
          -4 (-8.16 % of base) : 8446.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
          -4 (-8.00 % of base) : 1342.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,int):int (Instrumented Tier0)
          -4 (-8.00 % of base) : 1017.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,int):int (Tier0)
          -4 (-6.78 % of base) : 1344.dasm - System.PackedSpanHelpers:IndexOfAny(byref,ushort,ushort,ushort,int):int (Instrumented Tier0)
          -4 (-6.78 % of base) : 1019.dasm - System.PackedSpanHelpers:IndexOfAny(byref,ushort,ushort,ushort,int):int (Tier0)
          -3 (-5.08 % of base) : 265.dasm - System.Globalization.NumberFormatInfo:ValidateParseStyleInteger(int) (Tier0)
          -4 (-4.76 % of base) : 5586.dasm - System.Text.RegularExpressions.Regex:ValidateOptions(int) (Tier0)
          -2 (-4.65 % of base) : 45836.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,int):int (Tier0)
          -2 (-4.65 % of base) : 63393.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (Instrumented Tier0)
          -2 (-4.65 % of base) : 39381.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (Tier0)
          -2 (-4.65 % of base) : 33932.dasm - System.SpanHelpers:LastIndexOfAnyValueType[short](byref,short,short,int):int (Tier0)
          -3 (-4.62 % of base) : 22354.dasm - System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Instrumented Tier0)
          -3 (-4.62 % of base) : 14435.dasm - System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Tier0)
          -3 (-4.62 % of base) : 21958.dasm - System.Net.Sockets.SocketAsyncEventArgs+MultiConnectSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Tier0)
          -3 (-4.29 % of base) : 2495.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumThreadsGoal(short):this (Tier0)
          -6 (-4.17 % of base) : 3712.dasm - System.HashCode:Initialize(byref,byref,byref,byref) (Tier0)
          -2 (-4.08 % of base) : 45837.dasm - System.PackedSpanHelpers:IndexOfAnyExcept(byref,ushort,ushort,int):int (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: 8947008 (overridden on cmd)
Total bytes of diff: 8947255 (overridden on cmd)
Total bytes of delta: 247 (0.00 % of base)
    diff is an improvement.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          75 : 32959.dasm (6.81 % of base)
          52 : 4646.dasm (18.51 % of base)
          46 : 32818.dasm (2.58 % of base)
          30 : 20271.dasm (2.27 % of base)
          24 : 14840.dasm (22.86 % of base)
          22 : 19976.dasm (3.33 % of base)
          20 : 13255.dasm (6.13 % of base)
          20 : 16997.dasm (6.13 % of base)
          19 : 44474.dasm (2.96 % of base)
          19 : 45848.dasm (3.18 % of base)
          18 : 8998.dasm (1.33 % of base)
          16 : 10218.dasm (3.33 % of base)
          16 : 4303.dasm (3.70 % of base)
          16 : 3672.dasm (4.49 % of base)
          14 : 18488.dasm (3.84 % of base)
          14 : 44916.dasm (2.55 % of base)
          14 : 43515.dasm (2.33 % of base)
          14 : 5934.dasm (8.86 % of base)
          13 : 45375.dasm (1.71 % of base)
          12 : 25412.dasm (2.19 % of base)

Top file improvements (bytes):
        -101 : 34568.dasm (-0.59 % of base)
         -93 : 15900.dasm (-2.29 % of base)
         -61 : 15138.dasm (-2.28 % of base)
         -49 : 15906.dasm (-0.33 % of base)
         -40 : 17511.dasm (-1.15 % of base)
         -34 : 4998.dasm (-1.95 % of base)
         -30 : 20268.dasm (-1.26 % of base)
         -25 : 11292.dasm (-0.97 % of base)
         -23 : 38599.dasm (-1.73 % of base)
         -20 : 13016.dasm (-0.92 % of base)
         -17 : 32230.dasm (-1.95 % of base)
         -16 : 30627.dasm (-0.81 % of base)
         -16 : 35068.dasm (-0.98 % of base)
         -14 : 37462.dasm (-0.12 % of base)
         -14 : 11235.dasm (-0.91 % of base)
         -13 : 22024.dasm (-2.03 % of base)
         -12 : 16865.dasm (-0.85 % of base)
         -12 : 3309.dasm (-1.39 % of base)
         -11 : 4509.dasm (-2.93 % of base)
         -11 : 39665.dasm (-1.81 % of base)

81 total files with Code Size differences (42 improved, 39 regressed), 20 unchanged.

Top method regressions (bytes):
          75 (6.81 % of base) : 32959.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
          52 (18.51 % of base) : 4646.dasm - System.TimeSpan:.ctor(int,int,int,int,int,int):this (Tier0)
          46 (2.58 % of base) : 32818.dasm - System.Security.Cryptography.X509Certificates.ChainPal:.cctor() (Tier0)
          30 (2.27 % of base) : 20271.dasm - System.Xml.XmlDocument:.cctor() (Tier0)
          24 (22.86 % of base) : 14840.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          22 (3.33 % of base) : 19976.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) : 13255.dasm - Interop+Winsock:<EnsureInitialized>g__Initialize|57_0() (Tier0)
          20 (6.13 % of base) : 16997.dasm - Interop+Winsock:<EnsureInitialized>g__Initialize|8_0() (Tier0)
          19 (2.96 % of base) : 44474.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Tier0)
          19 (3.18 % of base) : 45848.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):this (Tier0)
          18 (1.33 % of base) : 8998.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Tier0)
          16 (4.49 % of base) : 3672.dasm - System.Reflection.RuntimeParameterInfo:TryGetDefaultValueInternal(ubyte,byref):ubyte:this (Tier0)
          16 (3.33 % of base) : 10218.dasm - System.Text.Json.Utf8JsonWriter:WriteStringMinimized(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Tier0)
          16 (3.70 % of base) : 4303.dasm - System.Text.Json.Utf8JsonWriter:WriteStringMinimized(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):this (Tier0)
          14 (3.84 % of base) : 18488.dasm - System.Text.Json.JsonHelpers:TryCreateDateTimeOffset(System.DateTime,byref,byref):ubyte (Tier0)
          14 (2.33 % of base) : 43515.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyNameIndented(System.ReadOnlySpan`1[ubyte],ubyte):this (Tier0)
          14 (2.55 % of base) : 44916.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyNameIndented(System.ReadOnlySpan`1[ushort],ubyte):this (Tier0)
          14 (8.86 % of base) : 5934.dasm - System.TimeSpan:TimeToTicks(int,int,int):long (Tier0)
          13 (1.71 % of base) : 45375.dasm - System.Array:Sort(System.Array,System.Array,int,int,System.Collections.IComparer) (Tier0)
          12 (2.19 % of base) : 25412.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndentedPropertyName(System.ReadOnlySpan`1[ubyte]):this (Tier0)

Top method improvements (bytes):
        -101 (-0.59 % of base) : 34568.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
         -93 (-2.29 % of base) : 15900.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) : 15138.dasm - System.Runtime.Serialization.DictionaryGlobals:.cctor() (Tier0)
         -49 (-0.33 % of base) : 15906.dasm - System.Net.Http.Headers.KnownHeaders:.cctor() (Tier0)
         -40 (-1.15 % of base) : 17511.dasm - System.Diagnostics.Tracing.PropertyValue:GetFactory(System.Type):System.Func`2[System.Object,System.Diagnostics.Tracing.PropertyValue] (Tier0)
         -34 (-1.95 % of base) : 4998.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) : 20268.dasm - System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this (Tier0)
         -25 (-0.97 % of base) : 11292.dasm - ProtoBuf.Serializers.RepeatedSerializers:.cctor() (Tier0)
         -23 (-1.73 % of base) : 38599.dasm - Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier0)
         -20 (-0.92 % of base) : 13016.dasm - System.IO.Tests.Perf_RandomAccess_NoBuffering:Setup(long[]):this (Tier0)
         -17 (-1.95 % of base) : 32230.dasm - Neural:.cctor() (Tier0)
         -16 (-0.98 % of base) : 35068.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier0)
         -16 (-0.81 % of base) : 30627.dasm - System.Collections.Tests.DictionarySequentialKeys:Initialize():this (Tier0)
         -14 (-0.12 % of base) : 37462.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Tier0)
         -14 (-0.91 % of base) : 11235.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) : 22024.dasm - System.Uri:TryFormat(System.Span`1[ushort],byref):ubyte:this (Tier0)
         -12 (-1.39 % of base) : 3309.dasm - System.Globalization.CalendarData:.ctor(System.String,ushort,ubyte):this (Tier0)
         -12 (-0.85 % of base) : 16865.dasm - System.IO.Tests.Perf_RandomAccess:Setup(long[]):this (Tier0)
         -11 (-1.81 % of base) : 39665.dasm - Microsoft.Cci.MetadataWriter:GetTypeAttributes(Microsoft.Cci.ITypeDefinition,Microsoft.CodeAnalysis.Emit.EmitContext):int (Tier0)
         -11 (-2.93 % of base) : 4509.dasm - Utf8Json.Resolvers.DynamicObjectResolver:.cctor() (Tier0)

Top method regressions (percentages):
          10 (29.41 % of base) : 22274.dasm - System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
           8 (22.86 % of base) : 27541.dasm - Interop+Kernel32+FILE_TIME:ToTicks():long:this (Tier0)
          24 (22.86 % of base) : 14840.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          52 (18.51 % of base) : 4646.dasm - System.TimeSpan:.ctor(int,int,int,int,int,int):this (Tier0)
           8 (18.18 % of base) : 35803.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
          10 (16.39 % of base) : 32875.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
           8 (14.55 % of base) : 4459.dasm - System.Math:BigMul(uint,uint):ulong (Tier0)
           6 (13.04 % of base) : 697.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
           2 (9.52 % of base) : 4013.dasm - System.Diagnostics.Tracing.SessionMask:ToEventKeywords():ulong:this (Tier0)
          11 (9.09 % of base) : 2183.dasm - System.Threading.PortableThreadPool:get_HasForcedMaxThreads():ubyte (Tier0)
          11 (9.09 % of base) : 2182.dasm - System.Threading.PortableThreadPool:get_HasForcedMinThreads():ubyte (Tier0)
          14 (8.86 % of base) : 5934.dasm - System.TimeSpan:TimeToTicks(int,int,int):long (Tier0)
           4 (7.84 % of base) : 1669.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) : 29397.dasm - System.Runtime.Serialization.BitFlagsGenerator:GetBitValue(int):ubyte (Tier0)
           6 (7.14 % of base) : 32741.dasm - Benchstone.BenchI.Ackermann:Acker(int,int):int (Tier0)
          75 (6.81 % of base) : 32959.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
           4 (6.67 % of base) : 7480.dasm - Jil.Common.ExtensionMethods+<>c__17`1[System.__Canon]:<GetCustomAttribute>b__17_0(System.Reflection.CustomAttributeData):ubyte:this (Tier0)
           6 (6.59 % of base) : 34630.dasm - System.Reflection.Metadata.Ecma335.TypeDefOrRefTag:ConvertToHandle(uint):System.Reflection.Metadata.EntityHandle (Tier0)
           7 (6.54 % of base) : 45816.dasm - System.Collections.Frozen.OrdinalStringFrozenSet_Full:CheckLengthQuick(System.String):ubyte:this (Tier0)

Top method improvements (percentages):
          -8 (-12.50 % of base) : 31699.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
          -6 (-10.53 % of base) : 28705.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int (Tier0)
          -4 (-8.16 % of base) : 7560.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
          -4 (-8.00 % of base) : 963.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,int):int (Tier0)
          -4 (-6.78 % of base) : 965.dasm - System.PackedSpanHelpers:IndexOfAny(byref,ushort,ushort,ushort,int):int (Tier0)
          -3 (-5.08 % of base) : 259.dasm - System.Globalization.NumberFormatInfo:ValidateParseStyleInteger(int) (Tier0)
          -4 (-4.76 % of base) : 4650.dasm - System.Text.RegularExpressions.Regex:ValidateOptions(int) (Tier0)
          -2 (-4.65 % of base) : 27490.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,int):int (Tier0)
          -2 (-4.65 % of base) : 20045.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (Tier0)
          -2 (-4.65 % of base) : 21030.dasm - System.SpanHelpers:LastIndexOfAnyValueType[short](byref,short,short,int):int (Tier0)
          -3 (-4.62 % of base) : 13659.dasm - System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Tier0)
          -3 (-4.62 % of base) : 16281.dasm - System.Net.Sockets.SocketAsyncEventArgs+MultiConnectSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Tier0)
          -3 (-4.29 % of base) : 2184.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumThreadsGoal(short):this (Tier0)
          -6 (-4.17 % of base) : 6267.dasm - System.HashCode:Initialize(byref,byref,byref,byref) (Tier0)
          -2 (-4.08 % of base) : 20047.dasm - System.PackedSpanHelpers:IndexOfAny(byref,ushort,ushort,int):int (Tier0)
          -2 (-4.08 % of base) : 27491.dasm - System.PackedSpanHelpers:IndexOfAnyExcept(byref,ushort,ushort,int):int (Tier0)
          -2 (-4.08 % of base) : 21655.dasm - System.PackedSpanHelpers:IndexOfAnyExceptInRange(byref,ushort,ushort,int):int (Tier0)
          -2 (-3.92 % of base) : 42103.dasm - Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo:.ctor(int,System.Object[]):this (Tier0)
          -3 (-3.53 % of base) : 16218.dasm - System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[System.__Canon,System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<WaitWithCancellationAsync>d__1[System.__Canon]]:.ctor():this (Tier0)
          -3 (-3.53 % of base) : 4651.dasm - System.Text.RegularExpressions.Regex:ValidateMatchTimeout(System.TimeSpan) (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: 305219044 (overridden on cmd)
Total bytes of diff: 305420265 (overridden on cmd)
Total bytes of delta: 201221 (0.07 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
        3527 : 219688.dasm (11.63 % of base)
        3526 : 219655.dasm (11.63 % of base)
        1904 : 5790.dasm (4.33 % of base)
        1890 : 5794.dasm (4.62 % of base)
        1784 : 5801.dasm (4.43 % of base)
        1748 : 254696.dasm (1.18 % of base)
        1748 : 256587.dasm (1.18 % of base)
        1748 : 254734.dasm (1.13 % of base)
        1748 : 256593.dasm (1.13 % of base)
        1746 : 267412.dasm (1.33 % of base)
        1746 : 266417.dasm (1.33 % of base)
        1746 : 267407.dasm (1.40 % of base)
        1746 : 266405.dasm (1.40 % of base)
        1698 : 5684.dasm (3.94 % of base)
        1694 : 5692.dasm (4.27 % of base)
        1588 : 5740.dasm (4.07 % of base)
        1463 : 254529.dasm (1.23 % of base)
        1395 : 254539.dasm (1.11 % of base)
        1395 : 266273.dasm (1.45 % of base)
        1395 : 266284.dasm (1.36 % of base)

Top file improvements (bytes):
        -810 : 288806.dasm (-0.05 % of base)
        -258 : 272265.dasm (-0.44 % of base)
        -258 : 262782.dasm (-0.44 % of base)
        -173 : 265522.dasm (-0.22 % of base)
        -173 : 272031.dasm (-0.22 % of base)
        -160 : 266835.dasm (-0.17 % of base)
        -160 : 274999.dasm (-0.17 % of base)
        -160 : 275005.dasm (-0.17 % of base)
        -160 : 266859.dasm (-0.17 % of base)
        -158 : 255177.dasm (-0.13 % of base)
        -158 : 255233.dasm (-0.13 % of base)
        -112 : 266758.dasm (-0.35 % of base)
        -112 : 266586.dasm (-0.45 % of base)
        -110 : 259578.dasm (-0.12 % of base)
        -108 : 265949.dasm (-0.44 % of base)
        -108 : 267791.dasm (-0.44 % of base)
        -108 : 267419.dasm (-0.34 % of base)
        -108 : 267115.dasm (-0.44 % of base)
        -108 : 267109.dasm (-0.44 % of base)
        -102 : 266098.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) : 219688.dasm - <Module>:f():int (MinOpts)
        3526 (11.63 % of base) : 219655.dasm - <Module>:f():int (MinOpts)
        1904 (4.33 % of base) : 5790.dasm - lclfldsub:TestEntryPoint():int (MinOpts)
        1890 (4.62 % of base) : 5794.dasm - lclfldsub:TestEntryPoint():int (Tier0)
        1784 (4.43 % of base) : 5801.dasm - lclfldsub:TestEntryPoint():int (Tier0)
        1748 (1.18 % of base) : 254696.dasm - i8div:TestEntryPoint():int (MinOpts)
        1748 (1.13 % of base) : 254734.dasm - i8rem:TestEntryPoint():int (MinOpts)
        1748 (1.18 % of base) : 256587.dasm - u8div:TestEntryPoint():int (MinOpts)
        1748 (1.13 % of base) : 256593.dasm - u8rem:TestEntryPoint():int (MinOpts)
        1746 (1.40 % of base) : 266405.dasm - i8div:TestEntryPoint():int (Tier0)
        1746 (1.33 % of base) : 266417.dasm - i8rem:TestEntryPoint():int (Tier0)
        1746 (1.40 % of base) : 267407.dasm - u8div:TestEntryPoint():int (Tier0)
        1746 (1.33 % of base) : 267412.dasm - u8rem:TestEntryPoint():int (Tier0)
        1698 (3.94 % of base) : 5684.dasm - lclfldadd:TestEntryPoint():int (MinOpts)
        1694 (4.27 % of base) : 5692.dasm - lclfldadd:TestEntryPoint():int (Tier0)
        1588 (4.07 % of base) : 5740.dasm - lclfldadd:TestEntryPoint():int (Tier0)
        1463 (1.23 % of base) : 254529.dasm - i4div:TestEntryPoint():int (MinOpts)
        1395 (1.45 % of base) : 266273.dasm - i4div:TestEntryPoint():int (Tier0)
        1395 (1.11 % of base) : 254539.dasm - i4rem:TestEntryPoint():int (MinOpts)
        1395 (1.36 % of base) : 266284.dasm - i4rem:TestEntryPoint():int (Tier0)

Top method improvements (bytes):
        -810 (-0.05 % of base) : 288806.dasm - NullableTest:And() (MinOpts)
        -258 (-0.44 % of base) : 272265.dasm - Test_10w5d.testout1:.cctor() (Tier0)
        -258 (-0.44 % of base) : 262782.dasm - Test_10w5d.testout1:.cctor() (Tier0)
        -173 (-0.22 % of base) : 265522.dasm - Test_1000w1d.testout1:Func_0():int (Tier0)
        -173 (-0.22 % of base) : 272031.dasm - Test_1000w1d.testout1:Func_0():int (Tier0)
        -160 (-0.17 % of base) : 266835.dasm - overlddiv:TestEntryPoint():int (Tier0)
        -160 (-0.17 % of base) : 274999.dasm - overlddiv:TestEntryPoint():int (Tier0)
        -160 (-0.17 % of base) : 275005.dasm - overldrem:TestEntryPoint():int (Tier0)
        -160 (-0.17 % of base) : 266859.dasm - overldrem:TestEntryPoint():int (Tier0)
        -158 (-0.13 % of base) : 255177.dasm - overlddiv:TestEntryPoint():int (MinOpts)
        -158 (-0.13 % of base) : 255233.dasm - overldrem:TestEntryPoint():int (MinOpts)
        -112 (-0.45 % of base) : 266586.dasm - intMDArrTest:TestEntryPoint():int (Tier0)
        -112 (-0.35 % of base) : 266758.dasm - longMDArrTest:TestEntryPoint():int (Tier0)
        -110 (-0.12 % of base) : 259578.dasm - Test_1000w1d.testout1:Func_0():int (MinOpts)
        -108 (-0.44 % of base) : 265949.dasm - byteMDArrTest:TestEntryPoint():int (Tier0)
        -108 (-0.44 % of base) : 267109.dasm - sbyteMDArrTest:TestEntryPoint():int (Tier0)
        -108 (-0.44 % of base) : 267115.dasm - shortMDArrTest:TestEntryPoint():int (Tier0)
        -108 (-0.34 % of base) : 267419.dasm - ulongMDArrTest:TestEntryPoint():int (Tier0)
        -108 (-0.44 % of base) : 267791.dasm - ushortMDArrTest:TestEntryPoint():int (Tier0)
        -102 (-0.39 % of base) : 266098.dasm - doubleMDArrTest:TestEntryPoint():int (Tier0)

Top method regressions (percentages):
          11 (26.83 % of base) : 220033.dasm - Program:TestRet2():ubyte (Tier0)
          24 (22.86 % of base) : 235147.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
          10 (22.73 % of base) : 220023.dasm - Program:TestCond3() (Tier0)
          64 (20.19 % of base) : 4880.dasm - CSE1:DoDiv(byref):int (Tier0)
           8 (18.18 % of base) : 226204.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (18.18 % of base) : 225665.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
           5 (17.86 % of base) : 203527.dasm - ModConst:I4_Mod_0(int):int (Tier0)
           9 (17.65 % of base) : 284140.dasm - Runtime_75832:Test(int) (Tier0)
           4 (16.67 % of base) : 281777.dasm - X:G(S):int (Tier0)
           6 (14.63 % of base) : 276837.dasm - System.Collections.Concurrent.ConcurrentDictionaryTypeProps`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:.cctor() (Tier0)
          13 (14.61 % of base) : 365200.dasm - Microsoft.Build.Shared.FileUtilities:IsSlash(ushort):ubyte (Tier0)
          60 (14.49 % of base) : 4871.dasm - CSE1:DoDiv(byref):int (MinOpts)
          18 (14.06 % of base) : 202685.dasm - DivConst:I8_DivPow2Embedded_4(long,long):long (Tier0)
          18 (14.06 % of base) : 203553.dasm - ModConst:I8_ModPow2Embedded_4(long,long):long (Tier0)
          14 (13.86 % of base) : 280328.dasm - AA:Static2(System.String[]):int[] (Tier0)
           7 (13.73 % of base) : 287408.dasm - GitHub_10714:Test():int (Tier0)
         191 (13.67 % of base) : 375645.dasm - Value0:CheckValues():ubyte:this (Tier0)
           4 (13.33 % of base) : 137313.dasm - JIT.HardwareIntrinsics.X86.Avx512Verify:GetTokenResponse(int,int):int (Instrumented Tier0)
           4 (13.33 % of base) : 137273.dasm - JIT.HardwareIntrinsics.X86.Avx512Verify:GetTokenResponse(int,int):int (Tier0)
           6 (13.04 % of base) : 362324.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)

Top method improvements (percentages):
          -4 (-7.27 % of base) : 371675.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Instrumented Tier0)
          -4 (-7.27 % of base) : 338635.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
          -4 (-6.25 % of base) : 253879.dasm - TestApp:test_4_13(short):short (Tier0)
          -4 (-6.25 % of base) : 255843.dasm - TestApp:test_4_13(short):short (Tier0)
          -8 (-6.06 % of base) : 282169.dasm - Runtime_55143:M47(short):int (Tier0)
         -15 (-5.88 % of base) : 179727.dasm - IntelHardwareIntrinsicTest.General.Program:F2_v128i(short):System.Runtime.Intrinsics.Vector128`1[short] (Tier0)
          -4 (-5.56 % of base) : 282623.dasm - NormalizeTest.Program:ShortTest1(short,int):int (Tier0)
          -2 (-5.41 % of base) : 360137.dasm - OVFTest:Test_uint(uint):uint (Tier0)
          -8 (-5.23 % of base) : 189281.dasm - add_ovf:i2():int (Tier0)
         -21 (-4.83 % of base) : 26522.dasm - TestNon2PowerStructs:TestComposite() (Tier0)
          -6 (-4.80 % of base) : 284623.dasm - Runtime_92784:Problem(uint):int (Tier0)
          -2 (-4.76 % of base) : 24760.dasm - Program:I2_BT_reg_reg(short,int):ubyte (Tier0)
          -4 (-4.76 % of base) : 224990.dasm - System.Text.RegularExpressions.Regex:ValidateOptions(int) (Tier0)
          -3 (-4.62 % of base) : 275513.dasm - DefaultNamespace.BNode:.cctor() (Tier0)
          -4 (-4.44 % of base) : 208064.dasm - VectorTest+VectorUnusedTest`1[short]:VectorUnused(short,short):int (Tier0)
          -3 (-4.41 % of base) : 287973.dasm - Program+Test3:Run():int (Tier0)
          -6 (-4.38 % of base) : 189280.dasm - add_ovf:u1():int (Tier0)
          -6 (-4.38 % of base) : 189282.dasm - add_ovf:u2():int (Tier0)
          -2 (-4.35 % of base) : 271402.dasm - Test_r4NaNconv.ConvTest:test2():short (Tier0)
          -2 (-4.35 % of base) : 271459.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: 31623120 (overridden on cmd)
Total bytes of diff: 31623123 (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 : 6635.dasm (1.45 % of base)
           2 : 6630.dasm (1.45 % of base)
           2 : 108635.dasm (1.45 % of base)

Top file improvements (bytes):
          -1 : 20632.dasm (-1.89 % of base)
          -1 : 6629.dasm (-1.67 % of base)
          -1 : 6634.dasm (-1.08 % of base)

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

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

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

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

Top method improvements (percentages):
          -1 (-1.89 % of base) : 20632.dasm - System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletion():this (MinOpts)
          -1 (-1.67 % of base) : 6629.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
          -1 (-1.08 % of base) : 6634.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: 48807890 (overridden on cmd)
Total bytes of diff: 48807809 (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 : 282866.dasm (1.45 % of base)

Top file improvements (bytes):
         -83 : 18768.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) : 282866.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) : 18768.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) : 282866.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) : 18768.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: 162974883 (overridden on cmd)
Total bytes of diff: 162967743 (overridden on cmd)
Total bytes of delta: -7140 (-0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
        2320 : 435791.dasm (1.28 % of base)
        2314 : 435115.dasm (1.32 % of base)
         939 : 152661.dasm (4.53 % of base)
         645 : 589757.dasm (0.22 % of base)
         471 : 583518.dasm (0.39 % of base)
         465 : 589703.dasm (0.25 % of base)
         443 : 583342.dasm (0.43 % of base)
         371 : 67900.dasm (0.88 % of base)
         198 : 330519.dasm (3.28 % of base)
         184 : 104018.dasm (1.61 % of base)
         184 : 103774.dasm (1.61 % of base)
         184 : 102216.dasm (1.61 % of base)
         184 : 104309.dasm (1.61 % of base)
         184 : 102397.dasm (1.61 % of base)
         184 : 104685.dasm (1.61 % of base)
         171 : 402891.dasm (2.97 % of base)
         167 : 402900.dasm (2.88 % of base)
         160 : 232548.dasm (5.06 % of base)
         160 : 232528.dasm (5.06 % of base)
         160 : 232544.dasm (5.06 % of base)

Top file improvements (bytes):
       -1000 : 530834.dasm (-1.59 % of base)
        -379 : 73519.dasm (-1.69 % of base)
        -230 : 250767.dasm (-0.85 % of base)
        -204 : 454595.dasm (-1.22 % of base)
        -201 : 571452.dasm (-2.34 % of base)
        -201 : 571490.dasm (-2.32 % of base)
        -163 : 454108.dasm (-1.20 % of base)
        -162 : 422635.dasm (-1.44 % of base)
        -150 : 247768.dasm (-0.69 % of base)
        -145 : 257062.dasm (-0.57 % of base)
        -140 : 252789.dasm (-0.69 % of base)
        -140 : 256785.dasm (-0.68 % of base)
        -140 : 250297.dasm (-0.69 % of base)
        -138 : 454727.dasm (-1.02 % of base)
        -133 : 93646.dasm (-0.83 % of base)
        -130 : 254993.dasm (-0.70 % of base)
        -128 : 422144.dasm (-0.53 % of base)
        -104 : 9801.dasm (-0.60 % of base)
        -102 : 256662.dasm (-0.85 % of base)
        -101 : 258377.dasm (-0.57 % of base)

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

Top method regressions (bytes):
        2320 (1.28 % of base) : 435791.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Instrumented Tier0)
        2314 (1.32 % of base) : 435115.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Tier0)
         939 (4.53 % of base) : 152661.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
         645 (0.22 % of base) : 589757.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) : 583518.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3759_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
         465 (0.25 % of base) : 589703.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) : 583342.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3751_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
         371 (0.88 % of base) : 67900.dasm - LibraryImportGenerator.UnitTests.CompileFails+<CodeSnippetsToCompile>d__1:MoveNext():ubyte:this (Tier0)
         198 (3.28 % of base) : 330519.dasm - System.Net.Http.QPack.H3StaticTable:.cctor() (Tier0)
         184 (1.61 % of base) : 104018.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
         184 (1.61 % of base) : 103774.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
         184 (1.61 % of base) : 102216.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
         184 (1.61 % of base) : 104309.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
         184 (1.61 % of base) : 102397.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
         184 (1.61 % of base) : 104685.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
         171 (2.97 % of base) : 402891.dasm - System.Xml.Tests.TCErrorCondition:V8():int:this (Instrumented Tier0)
         167 (2.88 % of base) : 402900.dasm - System.Xml.Tests.TCErrorCondition:V9a():int:this (Instrumented Tier0)
         160 (5.06 % of base) : 232548.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) : 232544.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) : 232528.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) : 530834.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) : 73519.dasm - Microsoft.CodeAnalysis.DesktopAssemblyIdentityComparer:.cctor() (Tier0)
        -230 (-0.85 % of base) : 250767.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Methods.Oneclass2methods.literals01.literals01.A:MainMethod():int (Tier0)
        -204 (-1.22 % of base) : 454595.dasm - System.Tests.TimeZoneInfoTests:GetAmbiguousTimeOffsets_Amsterdam() (Tier0)
        -201 (-2.34 % of base) : 571452.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) : 571490.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) : 454108.dasm - System.Tests.TimeZoneInfoTests:IsInvalidTime() (Tier0)
        -162 (-1.44 % of base) : 422635.dasm - System.IO.Tests.PathTests_Join:.cctor() (Tier0)
        -150 (-0.69 % of base) : 247768.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.conversions.cnst001.cnst001.Test:MainMethod():int (Tier0)
        -145 (-0.57 % of base) : 257062.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum005b.enum005b.Test:MainMethod():int (Tier0)
        -140 (-0.68 % of base) : 256785.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum004.enum004.Test:MainMethod():int (Tier0)
        -140 (-0.69 % of base) : 250297.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum004c.enum004c.Test:MainMethod():int (Tier0)
        -140 (-0.69 % of base) : 252789.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum004e.enum004e.Test:MainMethod():int (Tier0)
        -138 (-1.02 % of base) : 454727.dasm - System.Tests.TimeZoneInfoTests:IsDaylightSavingTime() (Tier0)
        -133 (-0.83 % of base) : 93646.dasm - Microsoft.CSharp.RuntimeBinder.Tests.DefaultParameterTests:MarshalAsOptionalsCorrectDefault():this (Tier0)
        -130 (-0.70 % of base) : 254993.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.conversions.cnst002.cnst002.Test:MainMethod():int (Tier0)
        -128 (-0.53 % of base) : 422144.dasm - System.Tests.ConvertToBase64StringTests+<ConvertToBase64StringTests_TestData>d__5:MoveNext():ubyte:this (Tier0)
        -104 (-0.60 % of base) : 9801.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
        -102 (-0.85 % of base) : 256662.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.generics.derived.ovr003.ovr003.Program:MainMethod():int (Tier0)
        -101 (-0.57 % of base) : 258377.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum005.enum005.Test:MainMethod():int (Tier0)

Top method regressions (percentages):
          13 (31.71 % of base) : 68507.dasm - Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions:get_IsEmpty():ubyte:this (Tier0)
           8 (24.24 % of base) : 432568.dasm - System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Instrumented Tier0)
           8 (24.24 % of base) : 99908.dasm - System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Tier0)
          24 (22.86 % of base) : 377878.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
          24 (22.86 % of base) : 172762.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
           8 (18.18 % of base) : 143227.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (18.18 % of base) : 18918.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
           8 (18.18 % of base) : 127566.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
           8 (18.18 % of base) : 137594.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
           8 (18.18 % of base) : 14052.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
          10 (16.39 % of base) : 532951.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Instrumented Tier0)
          10 (16.39 % of base) : 192471.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
           6 (15.79 % of base) : 182815.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Instrumented Tier0)
           6 (15.79 % of base) : 181961.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Tier0)
          10 (15.62 % of base) : 41025.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol:NumberOfValueTuples(int,byref):int (Instrumented Tier0)
          10 (15.62 % of base) : 23790.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol:NumberOfValueTuples(int,byref):int (Tier0)
           6 (14.63 % of base) : 21767.dasm - System.Collections.Concurrent.ConcurrentDictionaryTypeProps`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:.cctor() (Tier0)
           4 (13.79 % of base) : 2653.dasm - ComInterfaceGenerator.Tests.NativeExportsNE+ImplicitThis+INativeObject:.cctor() (Tier0)
           4 (13.79 % of base) : 3345.dasm - ComInterfaceGenerator.Tests.NativeExportsNE+UnmanagedToManagedCustomMarshalling+INativeObject:.cctor() (Tier0)
           4 (13.79 % of base) : 3359.dasm - ComInterfaceGenerator.Tests.NativeExportsNE+UnmanagedToManagedCustomMarshalling+INativeObjectStateful:.cctor() (Tier0)

Top method improvements (percentages):
          -4 (-8.00 % of base) : 584635.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Instrumented Tier0)
          -4 (-8.00 % of base) : 322078.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Tier0)
          -4 (-8.00 % of base) : 322094.dasm - System.SpanHelpers:LastIndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Tier0)
          -8 (-7.55 % of base) : 234723.dasm - System.Diagnostics.Tests.Helpers+<>c__DisplayClass13_0`1[float]:<RetryOnAllPlatformsWithClosingResources>b__0():this (Instrumented Tier0)
          -4 (-6.78 % of base) : 322080.dasm - System.PackedSpanHelpers:IndexOfAnyExcept(byref,ushort,ushort,ushort,int):int (Tier0)
          -9 (-6.47 % of base) : 491052.dasm - System.Security.Cryptography.Tests.HashAlgorithmTestDriver`1+<>c__DisplayClass47_0[System.__Canon]:<HashData_NotSupported>b__5():System.Object:this (Instrumented Tier0)
          -4 (-6.25 % of base) : 229735.dasm - System.Data.Odbc.OdbcConnection:HandleError(System.Data.Odbc.OdbcHandle,short):this (Tier0)
         -32 (-6.14 % of base) : 73834.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) : 410020.dasm - System.Reflection.Metadata.BlobBuilder:WriteInt16(short):this (Instrumented Tier0)
          -2 (-5.88 % of base) : 159558.dasm - System.Reflection.Metadata.BlobBuilder:WriteInt16(short):this (Tier0)
         -18 (-5.81 % of base) : 496996.dasm - System.ServiceModel.Syndication.Tests.XmlDiffDocument:set_Option(int):this (Tier0)
          -2 (-5.41 % of base) : 188594.dasm - System.Collections.Immutable.Tests.ImmutableArrayExtensionsTest+<>c:<SequenceEqualEmptyDefault>b__23_0():this (Tier0)
          -2 (-5.41 % of base) : 188595.dasm - System.Collections.Immutable.Tests.ImmutableArrayExtensionsTest+<>c:<SequenceEqualEmptyDefault>b__23_1():this (Tier0)
          -2 (-5.41 % of base) : 188596.dasm - System.Collections.Immutable.Tests.ImmutableArrayExtensionsTest+<>c:<SequenceEqualEmptyDefault>b__23_2():this (Tier0)
         -12 (-5.17 % of base) : 383945.dasm - System.Xml.XmlDiff.XmlDiffDocument:set_Option(int):this (Instrumented Tier0)
         -12 (-5.17 % of base) : 382312.dasm - System.Xml.XmlDiff.XmlDiffDocument:set_Option(int):this (Tier0)
          -3 (-5.08 % of base) : 339302.dasm - System.Net.Http.WinHttpHandlerUnitTests.APICallHistory:set_RequestProxySettings(System.Net.Http.WinHttpHandlerUnitTests.APICallHistory+ProxyInfo) (Tier0)
          -3 (-5.08 % of base) : 331299.dasm - System.Net.Http.WinHttpHandlerUnitTests.APICallHistory:set_SessionProxySettings(System.Net.Http.WinHttpHandlerUnitTests.APICallHistory+ProxyInfo) (Tier0)
          -3 (-5.08 % of base) : 338987.dasm - System.Net.Http.WinHttpHandlerUnitTests.APICallHistory:set_SessionProxySettings(System.Net.Http.WinHttpHandlerUnitTests.APICallHistory+ProxyInfo) (Tier0)
          -4 (-4.76 % of base) : 4922.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: 100565179 (overridden on cmd)
Total bytes of diff: 100568364 (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 : 201844.dasm (1.32 % of base)
         645 : 302896.dasm (0.22 % of base)
         471 : 299686.dasm (0.39 % of base)
         465 : 302893.dasm (0.25 % of base)
         443 : 299666.dasm (0.43 % of base)
          30 : 12191.dasm (0.99 % of base)
          25 : 291211.dasm (0.66 % of base)
          20 : 282880.dasm (0.81 % of base)
          20 : 300110.dasm (2.57 % of base)
          19 : 294017.dasm (0.22 % of base)
          18 : 300056.dasm (0.34 % of base)
          16 : 282877.dasm (0.71 % of base)
          15 : 291175.dasm (2.24 % of base)
          14 : 281690.dasm (2.54 % of base)
          14 : 301165.dasm (2.54 % of base)
          12 : 290630.dasm (1.06 % of base)
          11 : 290205.dasm (1.52 % of base)
          11 : 282873.dasm (1.47 % of base)
          11 : 290209.dasm (1.52 % of base)
          10 : 300052.dasm (0.48 % of base)

Top file improvements (bytes):
        -201 : 295758.dasm (-2.34 % of base)
        -201 : 295761.dasm (-2.32 % of base)
         -31 : 3530.dasm (-0.18 % of base)
         -20 : 295752.dasm (-2.14 % of base)
         -20 : 295755.dasm (-2.03 % of base)
         -14 : 12600.dasm (-0.11 % of base)
         -14 : 299053.dasm (-0.99 % of base)
         -13 : 2521.dasm (-0.16 % of base)
          -7 : 5709.dasm (-0.88 % of base)
          -7 : 12529.dasm (-0.09 % of base)
          -4 : 2126.dasm (-0.95 % of base)
          -4 : 290556.dasm (-0.50 % of base)
          -4 : 295757.dasm (-0.91 % of base)
          -4 : 290536.dasm (-0.50 % of base)
          -4 : 64494.dasm (-0.89 % of base)
          -4 : 2080.dasm (-1.11 % of base)
          -4 : 295760.dasm (-0.80 % of base)
          -3 : 290554.dasm (-0.37 % of base)
          -3 : 2124.dasm (-0.70 % of base)
          -3 : 290532.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) : 201844.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Tier0-MinOpts)
         645 (0.22 % of base) : 302896.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) : 299686.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32506_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
         465 (0.25 % of base) : 302893.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) : 299666.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32498_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
          30 (0.99 % of base) : 12191.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) : 291211.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) : 300110.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) : 282880.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) : 294017.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) : 300056.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) : 282877.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) : 291175.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) : 281690.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) : 301165.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) : 290630.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) : 290205.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) : 290209.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) : 282873.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get928_540+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
          10 (0.48 % of base) : 300052.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get162_24+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

Top method improvements (bytes):
        -201 (-2.34 % of base) : 295758.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) : 295761.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) : 3530.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+<ResolveCoreAsync>d__50:MoveNext():this (MinOpts)
         -20 (-2.14 % of base) : 295752.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) : 295755.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) : 12600.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<FixAllAnalyerDiagnosticsInScopeAsync>d__54[System.__Canon]:MoveNext():this (MinOpts)
         -14 (-0.99 % of base) : 299053.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+Net:.cctor() (MinOpts)
         -13 (-0.16 % of base) : 2521.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<CreateProjectImplAsync>d__95[System.__Canon]:MoveNext():this (MinOpts)
          -7 (-0.09 % of base) : 12529.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<FixEachAnalyzerDiagnosticAsync>d__50[System.__Canon]:MoveNext():this (MinOpts)
          -7 (-0.88 % of base) : 5709.dasm - Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper:.cctor() (MinOpts)
          -4 (-1.11 % of base) : 2080.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String):this (MinOpts)
          -4 (-0.95 % of base) : 2126.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String,Microsoft.CodeAnalysis.Testing.PackageIdentity,System.String):this (MinOpts)
          -4 (-0.89 % of base) : 64494.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write44_SimpleType(System.String,System.String,SerializationTypes.SimpleType,ubyte,ubyte):this (MinOpts)
          -4 (-0.91 % of base) : 295757.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) : 295760.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) : 290536.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) : 290556.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) : 2124.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) : 290532.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) : 290554.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) : 300110.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) : 281690.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) : 301165.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) : 291352.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) : 291364.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) : 291371.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get120_106+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 290972.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get16_13+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 302379.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get1633_754+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 290976.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get17_14+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 302760.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) : 291008.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) : 300220.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) : 291060.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) : 291064.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get36_33+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 290916.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get4_2+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 291119.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) : 291124.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) : 290928.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get6_4+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 292524.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get616_514+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
           9 (2.36 % of base) : 291188.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get67_62+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)

Top method improvements (percentages):
        -201 (-2.34 % of base) : 295758.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) : 295761.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) : 295752.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) : 295755.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) : 12185.dasm - Microsoft.CodeAnalysis.Testing.Extensions.DiagnosticExtensions:IsSuppressed(Microsoft.CodeAnalysis.Diagnostic):ubyte (MinOpts)
          -1 (-1.43 % of base) : 9311.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) : 9333.dasm - Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper:GetAllDiagnostics():System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]:this (MinOpts)
          -1 (-1.43 % of base) : 19596.dasm - Microsoft.CodeAnalysis.Testing.Lightup.SuppressionDescriptorWrapper:get_SuppressedDiagnosticId():System.String:this (MinOpts)
          -2 (-1.41 % of base) : 295741.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:Scan(System.ReadOnlySpan`1[ushort]):this (MinOpts)
          -2 (-1.41 % of base) : 300308.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get359_103+RunnerFactory+Runner:Scan(System.ReadOnlySpan`1[ushort]):this (MinOpts)
          -1 (-1.20 % of base) : 5669.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerOptionsExtensions:AnalyzerConfigOptionsProvider(Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions):System.Object (MinOpts)
          -1 (-1.20 % of base) : 12676.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) : 9636.dasm - Microsoft.CodeAnalysis.Testing.Extensions.DiagnosticExtensions:Arguments(Microsoft.CodeAnalysis.Diagnostic):System.Collections.Generic.IReadOnlyList`1[System.Object] (MinOpts)
          -1 (-1.20 % of base) : 13765.dasm - Microsoft.CodeAnalysis.Testing.ProjectExtensions:AnalyzerConfigDocuments(Microsoft.CodeAnalysis.Project):System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.TextDocument] (MinOpts)
          -4 (-1.11 % of base) : 2080.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String):this (MinOpts)
          -1 (-1.03 % of base) : 17652.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) : 299053.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+Net:.cctor() (MinOpts)
          -4 (-0.95 % of base) : 2126.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String,Microsoft.CodeAnalysis.Testing.PackageIdentity,System.String):this (MinOpts)
          -1 (-0.93 % of base) : 12677.dasm - Microsoft.CodeAnalysis.Testing.CodeActionExtensions:.cctor() (MinOpts)
          -4 (-0.91 % of base) : 295757.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: 11349106 (overridden on cmd)
Total bytes of diff: 11349120 (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).